/* ==========================================================================
   fonts.css — 自托管 Inter（可变字重 100–900）
   --------------------------------------------------------------------------
   为什么自托管：
     · 全站数字密集（金额、天数、员工号、统计卡），Inter 的数字比例与
       开口大小在 13–24px 区间比系统字体（-apple-system / Segoe UI）更整齐，
       配合 `font-variant-numeric: tabular-nums` 后金额列能上下对齐成一条线。
     · 内部系统不能依赖 Google Fonts —— 外网不通时字体整个挂掉。
  只包含 latin / latin-ext 两个子集（约 133KB）：
    汉字不在 unicode-range 内，浏览器会自动回落到 PingFang SC / 苹方，
    所以中文排版完全不受影响，代价只有两个小文件。
  --------------------------------------------------------------------------
   为什么是 font-display: optional（2026-10-05 改，原为 swap）
   --------------------------------------------------------------------------
   `swap` 保证字体没到时立刻用回退字体画，代价是**字体到位后整页文字重排一次**。
   实测（2Mbps + 250ms 往返）：首帧与字体就绪后的画面差 36% 像素，
   差分图显示**每一行文字**都在变——刷新时看到的就是这一下闪动。
   `optional` 的语义是「字体赶不上首帧就本次不用、且中途不换」，
   从根上消除重排；代价只是首次访问可能用系统字体，第二次（已缓存）就一致。
   单靠 optional 还不够——133KB 字体要等本文件解析完才开始下载，
   必须在各页 <head> 里 `preload`（见 login.html 等 11 个页面），
   让它与 CSS 并行下载，才能既无闪烁又首访即用 Inter。
   ========================================================================== */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  src: url("fonts/inter-latin.woff2?v=20261005a") 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: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  src: url("fonts/inter-latin-ext.woff2?v=20261005a") 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;
}
