/* 字体本地化（2026-09-10）：原 Google Fonts CDN 在大陆被墙，且该 <link> 位于 <head>
   属 render-blocking，会导致大陆访客长时间白屏。现改为同源分发，仅保留 latin 子集。
   来源：fonts.googleapis.com/css2?family=Barlow+Condensed:700;800;900
        &family=Plus+Jakarta+Sans:500;700;800&family=Space+Grotesk:700&display=swap

   2026-09-16 补充：Noto Serif SC（中文衬线）原走 Google Fonts 外链，属 render-blocking
   同样会导致大陆白屏。现下载完整 OTF 后按页面实际用字子集化（pyftsubset，
   约 485 字符 → 133KB/字重），同源分发。脚本：scripts/subset-noto-serif-sc.py，
   数据新增汉字后需重跑（接入 build-release.cjs）。 */

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/noto-serif-sc-cjk-700.woff2?v=__RELEASE_VERSION__) format('woff2');
  unicode-range: U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+2E80-2EFF, U+3000-303F, U+FF00-FFEF, U+20000-2FA1F;
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/fonts/noto-serif-sc-cjk-900.woff2?v=__RELEASE_VERSION__) format('woff2');
  unicode-range: U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+2E80-2EFF, U+3000-303F, U+FF00-FFEF, U+20000-2FA1F;
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-latin-700.woff2?v=__RELEASE_VERSION__) 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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-latin-800.woff2?v=__RELEASE_VERSION__) 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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-latin-900.woff2?v=__RELEASE_VERSION__) 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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/plus-jakarta-sans-latin-500.woff2?v=__RELEASE_VERSION__) 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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/plus-jakarta-sans-latin-700.woff2?v=__RELEASE_VERSION__) 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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/plus-jakarta-sans-latin-800.woff2?v=__RELEASE_VERSION__) 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: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/space-grotesk-latin-700.woff2?v=__RELEASE_VERSION__) 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;
}
