/* ===== fonts.css (REPLACE ALL) ===== */

/* —— Calibre：统一覆盖字体指标，修正“基线偏上 / 行间过大” —— */
/* 说明：这些覆盖写进每个 @font-face 更严谨。若你字重很多，可用编辑器批量替换插入三行覆盖。 */
@font-face {
  font-family: 'Calibre';
  src: url('../fonts/Calibre-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;

  /* 关键三行：覆盖字体指标（现代浏览器支持，Firefox 部分版本尚在推进） */
  ascent-override: 86%;
  descent-override: 14%;
  line-gap-override: 0%;
}
/* 其它字重/斜体请照搬这三行覆盖（100~900 / italic），此处略。 */

/* —— Category：仅拉丁字形，避免“半吊子中文” —— */
@font-face {
  font-family: 'CategoryLatin';
  src: local('Category'), local('Category-Regular'); /* 或你的 webfont 路径 */
  font-weight: 400;
  font-style: normal;
  font-display: swap;

  /* 只包含基本拉丁 + 扩展拉丁（按需可再加） */
  unicode-range:
    U+0000-00FF,           /* Basic Latin + Latin-1 */
    U+0100-024F,           /* Latin Extended-A/B */
    U+1E00-1EFF,           /* Latin Extended Additional */
    U+2000-206F,           /* General Punctuation */
    U+20A0-20CF,           /* Currency Symbols */
    U+2150-218F;           /* Number Forms */
}

/* —— 全局字体栈（英文优先 CategoryLatin → Calibre；中文走苹方 → 微软雅黑） —— */
:root{
  --font-sans: "CategoryLatin", "Calibre",
               -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;

  --font-cn: "PingFang SC", "Microsoft YaHei", "Noto Sans SC",
             "Source Han Sans SC", "WenQuanYi Micro Hei", "Hiragino Sans GB",
             system-ui, sans-serif;
}

/* 不用 :lang(zh)，因为你的 <html lang="zh-CN"> 会把整站都判为中文。
   让浏览器按“字形可用性”自动回退：拉丁先走 CategoryLatin→Calibre；
   中文字形 CategoryLatin/Calibre 不覆盖 → 自然回退到 --font-cn。 */
html { font-family: var(--font-sans), var(--font-cn); }

/* 可选：等宽族 */
code,kbd,samp,pre{ font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Roboto Mono", monospace; }

/* 建议关闭合成粗斜体，减少形态抖动 */
* { font-synthesis-weight: none; font-synthesis-style: none; }