/* ============================================================
   Self-hosted fonts — Inter (variable) + JetBrains Mono
   ============================================================
   Why self-host: 中国大陆用户大概率没装 Inter，浏览器 fallback -apple-system
   后视觉断层。self-host 保证 100% 一致 + 离线可用 + cookieless + no third-party.

   Variable font：单个 woff2 包含所有 weight 100-900。font-weight 在 CSS 里
   直接指定（400/500/600/700），不需要加载多个文件。

   font-display: swap —— 首屏先用系统 fallback 显示文字（FOIT 防止），
   字体加载完后无缝切换（FOUT）。配合 <link rel="preload"> 在 index.html
   让字体尽早开始下载。 */

@font-face {
  font-family: 'Inter';
  src: url('/static/fonts/InterVariable.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  src: url('/static/fonts/InterVariable-Italic.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter Display — for headings/numbers. Same variable file but tighter tracking
   via font-feature-settings applied at usage site, not a separate font file
   (Inter v4 unified Inter and Inter Display into one variable font; "Display"
   is just opsz axis at the high end). */

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
