/* ══════════════════════════════════════════════════════════════════
   fonts.css ─ 自我託管字型（v0.10）
   ------------------------------------------------------------------
   為什麼要自己託管：站要上線了，不能依賴訪客電腦剛好裝了這些字。
   （你自己的電腦有 Noto Serif/Sans TC，但手機和大部分訪客沒有。）

   中文字怎麼來的：從你電腦裡的 Noto 可變字型，只切出「本站真的用到
   的 1404 個字」，再壓成 woff2。完整字型好幾 MB，切完剩幾百 KB。
   等寬字（IBM Plex Mono）從 Google Fonts 下載，只取拉丁字母。

   ⚠️ 改了大量文案之後要重跑：
        python build_fonts.py
      （腳本在專案根目錄。沒重跑也不會壞——沒切到的字會自動用系統字
        顯示，只是那幾個字長得不太一樣。）

   font-display:swap ＝ 字還沒載完就先用系統字顯示，不會出現空白畫面。
   ══════════════════════════════════════════════════════════════════ */

/* ── 中文：標題用襯線、內文用黑體 ── */
@font-face{
  font-family:'Noto Serif TC';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/noto-serif-tc-700.woff2') format('woff2');
}
@font-face{
  font-family:'Noto Serif TC';font-style:normal;font-weight:900;font-display:swap;
  src:url('../fonts/noto-serif-tc-900.woff2') format('woff2');
}
@font-face{
  font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/noto-sans-tc-400.woff2') format('woff2');
}
@font-face{
  font-family:'Noto Sans TC';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/noto-sans-tc-600.woff2') format('woff2');
}

/* ── 等寬：頻道標籤、代碼、讀數 ── */
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/ibm-plex-mono-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/ibm-plex-mono-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/ibm-plex-mono-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/ibm-plex-mono-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
