/* ============================================================
   内嵌字体声明（独立文件，异步加载）
   ============================================================
   为什么单独放一个文件、由 index.html 异步引入：

   字体放在主 CSS 里时，浏览器会把它当成**渲染阻塞资源**——
   字体没下完，window 的 load 事件就不触发。
   实测本项目两份内嵌字体合计 590KB（龙藏体 397KB + 思源宋体 192KB），
   把 load 事件从 0.9 秒拖到 4.7 秒。

   而微信等分享卡片抓取器有 3~5 秒的硬超时：抓不到 load 就放弃解析，
   分享出来只能是一个光秃秃的网址，没有缩略图小卡片。

   改成异步加载（index.html 里用 media="print" onload 技巧）后：
   · load 事件立刻触发，爬虫能在超时前拿到 <title>/og:* 元信息；
   · 首屏先用系统字体渲染，字体到位后由 font-display: swap 平滑替换；
   · 真机上字体切换仅一次轻微重排，代价远小于丢分享卡片。

   ⚠️ 改动提示：这里的字符集由 scripts/collect-chars.cjs 扫描 src/ 与
   index.html 得出，把本文件放在 public/ 下不影响扫描范围。
   ============================================================ */

/* ---------- 标题书法体：龙藏体 Long Cang ----------
 *
 * unicode-range 刻意**排除汉字**（U+4E00-9FFF）：
 *   · 汉字 → 使用本字体（子集化的 woff2）
 *   · 拉丁字母、数字、常见符号 → 交给系统字体渲染
 * 书法体的拉丁字形很弱，数字尤其潦草；让位给系统字体更清晰，
 * 同时也让 `&`、间隔号等排版符号表现得更规范。
 *
 * 方向注意：区间是「排除汉字」，不是「只让汉字用内嵌字体」。
 * 误删会导致汉字回退到宋体，姓名等大字失去书法质感。
 */
@font-face {
  font-family: 'Long Cang';
  src: url('/fonts/longcang-subset.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0020-007F, U+00B7, U+2000-206F, U+2190-21FF, U+25A0-25FF, U+2600-26FF;
}

/* ---------- 正文字体：思源宋体 Noto Serif SC ----------
 *
 * 这是解决跨端差异的关键：无论设备有没有系统宋体，
 * 汉字都用这一份内嵌字体渲染，视觉完全一致。
 *
 * unicode-range 同样**只覆盖中文与中文标点**，
 * 数字与拉丁字母仍交给系统字体 —— 宋体的数字辨识度不如黑体，
 * 倒计时和日期交给系统字体更清晰。
 */
@font-face {
  font-family: 'Noto Serif SC Subset';
  src: url('/fonts/notoserif-subset.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  /* 只声明中文相关码位：汉字 + 中文标点 + 省略号/全角符号 */
  unicode-range: U+3000-303F, U+4E00-9FFF, U+FF00-FFEF, U+2018-201D, U+2026;
}
