/* 首屏关键字体（display/body 两族）。
   brush/display-b 等非首屏族见 fonts-extra.css（非阻塞加载）。
   均为站内字形 woff2 子集（scripts/subset-fonts.mjs 生成；重新运行 npm run fonts
   会整体重写本文件，需同步拆分，见 TRACK 备注）。

   R2-L23-1 C2/C3: size-adjust 度量兜底——swap 期间先用本地系统字体渲染，
   webfont 到位后整页回流（graph 页 footer shift、post 页标题跳动的成因之一）。
   以下 @font-face 用真实字体度量（fontTools 实测：两族 upm=1000，
   ascent≈115-116%、descent≈28.6-28.8%，CJK 全角 advance=1em）覆盖同名
   本地字体，使 fallback 与 webfont 行高/字宽一致，swap 时零回流。
   size-adjust=100%：CJK 正文宽度天然一致，无需缩放；关键在 ascent/descent
   对齐（line box 高度由 ascent+descent 决定）。 */
@font-face {
  font-family: "Noto Serif SC Fallback";
  src: local("Source Han Serif SC"), local("Songti SC"), local("SimSun"), local("serif");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  ascent-override: 115.1%;
  descent-override: 28.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Noto Sans SC Fallback";
  src: local("PingFang SC"), local("Microsoft YaHei"), local("sans-serif");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  ascent-override: 116%;
  descent-override: 28.8%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Noto Serif SC";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("/fonts/noto-serif-sc-var.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans SC";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/noto-sans-sc-var.woff2") format("woff2");
}
