/* ══════════════════════════════════════════════════════════════════════
   site/assets/fonts.css · 2026-09-25 · design-director
   派单 dispatch-2026-09-25-0006-HQ-上线包-meta字体robots404.md §二 1

   这份件替掉七页原来那条 `<link rel="stylesheet" href="../inputs/plex-fontface.css">`。
   🔴 换的是两件事,⛔ 只是路径:
     ① 原来那条 link 指到 `site/` **外面** ⇒ 只打包 site/ 就七页字体全断;
     ② 原件 6 个 `src` 指 `fonts.gstatic.com` ⇒ 那是「省了一次 CSS 请求」,**⛔ 是字体本地化**
        (inputs/plex-fontface.css 头注 :10 自己就写着这句话,挂了两周)。本件把它兑现:src 全改成相对路径。
   🔒 `inputs/plex-fontface.css` **留着不动**(它是 inputs,是那次取字节的凭证)。

   🔒 逐字搬来、**一个字没动**的:`font-family` · `font-style` · `font-weight`(含 Sans 那个区间 `400 700`)·
      `font-stretch` · `font-display:swap` · `unicode-range`。**只有 6 个 url 换了。**
      理由:换挡⛔ 许连带改首帧行为 —— FOUT 是肉眼看得见的回归。

   ⚠️⚠️ **本件当刻引的 6 个 woff2 ⛔ 在盘上**(HQ 打包时放进 assets/fonts/)⇒ **我⛔ 能验证这 6 条 url 真指得到东西**。
      这一步我产不出对照读数,所以判别器写在这里,给拿得到字节的那一方跑:
      ① **六个文件名 ↔ unicode-range 的配对⛔ 许弄反**:`-latin` 那个必须是覆盖 `U+0000-00FF` 的那份,`-latin-ext` 是覆盖 `U+0100-02BA…` 的那份。
         源头对照(gstatic 原 url 的指纹,留着可回查):Mono400 ext=`…1iEq131nj-otFQ` / latin=`…1i8q131nj-o`;
         Mono500 ext=`…3twJwl5FgsAXHNlYzg` / latin=`…3twJwlBFgsAXHNk`;Sans ext=`…syxQKYbSB4ZhRNU` / latin=`…syxeKYbSB4Zh`。
      ② **配反了⛔ 会报错**:英文站命中的几乎全是 latin 段 ⇒ 配反 = 整站静默回落到系统 sans,
         **而「回落」和「字体正常」在缩略图上外观极像**(= skills 里那条 Helvetica→Noto 的坑)。
      ③ **便宜判别器**:开页看两个字符 —— `A`(latin,必须是 Plex)+ `ā`(latin-ext,必须是 Plex)。
         两个都对 ⇒ 两块都真接上了;只 `A` 对 ⇒ latin-ext 那块有问题(站上英文⛔ 会暴露它,所以要专门看)。
      ④ 顺手把 2026-09-22 那笔旧账一起清:`font-weight:400 700` 里的 **700 在 latin-ext 那块从未被独立验证过**(黑度实验只跑在 latin 文件上)⇒ 验 `ā` 时顺便看它的 700。
   ══════════════════════════════════════════════════════════════════════ */

/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/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;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/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;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/plex-mono-500-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;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/plex-mono-500-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;
}
/* latin-ext · Sans 可变字体一块,覆盖 400–700 */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/plex-sans-var-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;
}
/* latin · Sans 可变字体一块,覆盖 400–700 */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/plex-sans-var-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;
}
