/*
 * 霞鶩文楷 TC —— 自行 subset 到首頁實際用字（543 字元，其中 CJK 418）。
 *
 * 為什麼自己 subset：完整 CJK 字體 13 MB；jsDelivr 上的 webfont 版有切片但不按字頻
 * 排序，首頁這 250 多個字散落在 46/97 片裡 → 實測單一字重要載 2.5 MB、兩字重 5 MB。
 * 自行 subset 後 135 KB（1/37）。
 *
 * ⚠️ 改動首頁文案後必須重新產生，否則新字會 fallback 到 Noto Serif TC：
 *      npm run fonts:subset
 *    （見 scripts/subset-fonts.sh）
 *
 * 只做 Regular 一個字重：標題靠尺寸與留白建立層級，不靠字重 —— 楷體加粗本來就容易糊。
 */
@font-face {
  font-family: "LXGW WenKai TC";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/wenkai-tc-subset.woff2") format("woff2");
}

/*
 * Latin 字體自架（原本走 Google Fonts）。
 *
 * 為什麼不用 Google Fonts CDN：那會把**每個訪客的 IP 傳給 Google**。這與本產品的
 * 定位直接矛盾 —— 我們為 GDPR 把 CrawlerLog 的 IP 遮蔽加鹽雜湊，卻為了字體把訪客
 * IP 送出去（德國 LG München 2022 判過這違反 GDPR）。自架後隱私政策不需要揭露
 * 任何第三方字體流出，順帶少兩個 origin 的 DNS+TLS 握手與一個 render-blocking CSS。
 *
 * 檔案取自 @fontsource 的 latin subset（四個共 49 KB），非完整字體。
 */
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Martian Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/martian-mono-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Martian Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/martian-mono-latin-600-normal.woff2") format("woff2");
}
