/* ==========================================================================
   全站字体
   —— 正文/标题用系统字体（快），**数字统一用等宽字体**（和地图库的「地图代码」一致）
   ========================================================================== */

/* --------------------------------------------------------------------------
   数字等宽字体
   需求：让「程序里所有出现数字的地方」都用等宽字体（道具 ID、地图代码、倒计时、
   数量统计、分页页码、活动时间……），这样数字上下对齐、不会因为字宽不同而跳动。

   做法：用 @font-face + unicode-range，**只接管数字和几个数字相关符号的字形**，
        其余字符照常走后面的字体 —— 不用给每个元素单独加 class。

        而且 src 全部用 local()，引用系统里已有的等宽字体：
        **不会产生任何网络请求**，也不影响性能。

   unicode-range 里放的是：
     U+0030-0039  0-9
     U+002E       .        （小数、版本号）
     U+0025       %        （百分比）
     U+003A       :        （时间 17:19）
     U+002D       -        （日期 2026-09-16）
     U+002F       /        （日期 09/16）
   -------------------------------------------------------------------------- */
@font-face {
  font-family: "NumMono";
  src: local("SF Mono"), local("SFMono-Regular"), local("Menlo"),
       local("Consolas"), local("Roboto Mono"), local("DejaVu Sans Mono"),
       local("Liberation Mono"), local("Courier New");
  unicode-range: U+0030-0039, U+002E, U+0025, U+003A, U+002D, U+002F;
  font-weight: 100 900;
  font-style: normal;
}

/* 数字之外一律走后面的系统字体 —— 英文、中文都不受影响 */

:root {
  /* 正文字体栈：系统字体 + 数字走等宽 */
  --font-sans: "NumMono", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Roboto, Helvetica, Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji";

  /* 大标题：微软雅黑优先（macOS/iOS 没有微软雅黑，自动回退苹方），数字同样等宽 */
  --font-title: "NumMono", "Microsoft YaHei", "微软雅黑", -apple-system, BlinkMacSystemFont,
    "PingFang SC", "Hiragino Sans GB", "Heiti SC", Roboto, Helvetica, Arial,
    sans-serif;

  /* 需要强制纯等宽的地方（地图代码、道具 ID 这类整串都是数字的） */
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "DejaVu Sans Mono", "Liberation Mono", "Courier New", monospace;
}
