/* ============================================================
   砺境 · 设计令牌 v1
   ------------------------------------------------------------
   目的：给"审美"一个可执行的下限。
   规则：低于本文件任何一档的值，不允许再出现在样式里。
   校验：node scripts/design-lint.mjs（可挂进 CI）
   ============================================================ */

/* ── 1. 字形 ─────────────────────────────────────────────────
   内容阶梯 7 档：承载正文、标签、标题，是纪律所在。
   展示阶梯 3 档：桌面/移动成对的大标题与印章，是响应式意图，不硬压。 */
:root {
  /* 内容阶梯 */
  --type-meta: 12px;     /* 时间/状态，绝对下限 */
  --type-small: 14px;    /* 次要正文 */
  --type-body: 16px;     /* 正文下限；表单控件也用这一档 */
  --type-subhead: 18px;  /* 小标题 */
  --type-heading: 22px;  /* 卡片标题 */
  --type-title: 28px;    /* 区块标题 */
  --type-display: 36px;  /* 页面标题 */

  /* 展示阶梯 */
  --type-hero: 56px;                          /* 印章、大数字 */
  --type-hero-md: 72px;                       /* 页面级 h1 */
  --type-hero-lg: clamp(88px, 8vw, 116px);    /* 首页/场景巨型标题 */

  --type-input: 16px;    /* 低于 16px 会触发 iOS 聚焦缩放 */
  --lh-display: 1.15;
  --lh-heading: 1.4;
  --lh-body: 1.7;        /* 中文正文行高 */
  --track-meta: .08em;   /* 只有 meta 用字距；原先 .04–.22em 共 13 档已归零 */
}

/* ── 2. 墨底上的文字：4 档，全部通过 4.5:1 ───────────────────── */
:root {
  --ink-1: rgba(238, 234, 224, .92);   /* 12.89:1  标题 */
  --ink-2: rgba(238, 234, 224, .72);   /*  8.25:1  正文 */
  --ink-3: rgba(238, 234, 224, .58);   /*  5.73:1  次要（迁移后的落点）*/
  --ink-4: rgba(238, 234, 224, .55);   /*  5.29:1  绝对下限 */
  --rule-ink: rgba(238, 234, 224, .16);/* 只做描边与分隔 */
}

/* ── 3. 纸面上的文字：4 档，全部通过 4.5:1 ───────────────────── */
:root {
  --paper-1: #1b2528; /* 13.03:1  标题 */
  --paper-2: #33403f; /*  8.98:1  正文 */
  --paper-3: #4a5654; /*  6.36:1  次要 */
  --paper-4: #5c6a6b; /*  4.69:1  绝对下限 */
  --rule-paper: rgba(27, 37, 40, .14);
}

/* ── 3b. 分隔线与水洗底 ──────────────────────────────────────
   原先描边用了 15 种 alpha（.07–.24）、水洗底用了 11 种（.045–.2），
   全是笔误级漂移、没有语义差别。收敛为 3 + 2 档。 */
:root {
  --rule-ink-soft: rgba(238, 234, 224, .12);
  --rule-ink-strong: rgba(238, 234, 224, .22);
  --wash-ink-soft: rgba(238, 234, 224, .06);
  --wash-ink: rgba(238, 234, 224, .12);
}

/* ── 3c. 纸面（半透明底）─────────────────────────────────────
   同一个纸面卡片底原先写了 .86/.9/.92/.94/.95/.96/.97/.98 八个值。
   命名注意：styles.css 里已有 --paper: #eeeae0（实心纸色，用于深底上的浅色文字），
   而 tokens.css 先加载、会被 styles.css 覆盖，所以这里必须另起名字，
   否则这两个语义不同的值会互相顶掉。lint 现在会检查这类重名。 */
:root {
  --surface-paper: rgba(238, 234, 224, .96);
  --surface-paper-muted: rgba(238, 234, 224, .92);
  /* 实心纸面。原先这些容器直接写 background: var(--paper)，但 --paper 同时被
     当作"深底上的浅色文字"用了 88 处。两种角色共用一个变量时，按主题翻转
     极性会把容器一起翻黑。拆开后 --paper 只作前景，这个只作表面。 */
  --surface-card: #eeeae0;
  /* 反色按钮（深底上变浅、纸面上变深）。翻转极性时这一对必须整体互换，
     所以要是一对语义令牌，而不是各写各的 --paper / --ink。 */
  --invert-bg: #eeeae0;
  --invert-fg: #16262c;
  /* 深墨底上的朱红。--red #a94b40 在墨底上只有约 3.4:1，12px 文字不够用。
     .cet-sections__list span 原先引用了一个从未定义的 --red-light，
     声明失效后色值回落到继承的 --ink，正好压在墨底上 —— 实测 1:1。 */
  --red-on-ink: #d98b7d;
}

/* ── 4. 金色按角色拆开 ──────────────────────────────────────── */
/* 原 --gold-light (#e4bd70) 在纸面上只有 1.48:1；
   一旦把纸从"卡片"提升为"底"，深底金色必须换成浅底金色。 */
:root {
  --gold-line: #bd8d43;      /* 只做描边/分隔/图标 */
  --gold-on-ink: #e4bd70;    /* 10.23:1  深底文字 */
  --gold-on-paper: #7d5a1c;  /*  5.22:1  浅底文字 */
}

/* ── 5. 间距：4/8 网格 8 档 ─────────────────────────────────── */
:root {
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
}

/* ── 6. 对齐脊 ────────────────────────────────────────────────
   全站只有一条左基线：顶栏、页面标题、内容面板都贴在它上面。
   此前顶栏左内边距 110px、页面内容 56px、法务文档再居中一次，
   同一屏上出现三个互不相关的垂直轴（58 / 110 / 290），读起来是散的。
   --gutter 按断点重定义，与原先 56 / 40 / 24 / 16 逐一对应，
   所以除顶栏那 54px 的修正外没有其余视觉位移。 */
:root {
  --gutter: 56px;
  --shell-max: 1440px;  /* 与 .page-view 的 max-width 一致 */
  --content-max: 820px; /* 长文阅读栏宽 */
}
@media (max-width: 1180px) { :root { --gutter: 40px; } }
@media (max-width: 980px)  { :root { --gutter: 24px; } }
@media (max-width: 700px)  { :root { --gutter: 16px; } }

/* ── 7. 字体 ──────────────────────────────────────────────────
   自托管子集：霞鹜文楷 LXGW WenKai（SIL OFL 1.1），从 23.6MB 源字体子集到
   站点静态文案实际用到的 993 个字符，产出 197KB woff2；unicode-range 精确声明这 993 个码位——
   声明字体拥有却缺字形的码位会让浏览器不回落而显示豆腐块，所以不能图省事写 U+4E00-9FFF。
   落地前的问题：全部依赖系统字体，品牌字形随访客环境变化——
   Windows 走楷体、macOS 走 STKaiti、Android 没有中文衬线会直接掉到无衬线。
   子集不覆盖用户动态输入（笔记/标题），那部分按下面的栈回落系统字体。
   许可证随字体分发：assets/generated/source/fonts/OFL.txt */
@font-face {
  font-family: "LXGW WenKai Subset";
  src: url("/assets/generated/source/fonts/lxgw-wenkai-subset.77408fcacff2.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0020-U+007E, U+00B7, U+2013-U+2014, U+2018-U+2019, U+201C-U+201D, U+2026, U+3001-U+3002, U+300C-U+300D, U+4E00, U+4E03, U+4E09-U+4E0B, U+4E0D-U+4E0E, U+4E13, U+4E16, U+4E1A, U+4E1C, U+4E22, U+4E24, U+4E2A, U+4E2D, U+4E34, U+4E3A-U+4E3B, U+4E48-U+4E49, U+4E4B, U+4E4E, U+4E5D, U+4E5F-U+4E60, U+4E7E, U+4E86, U+4E89, U+4E8B-U+4E8C, U+4E8E, U+4E91-U+4E92, U+4E94, U+4E9B, U+4EA4, U+4EA7, U+4EAE, U+4EBA, U+4EC0, U+4EC5, U+4EC7, U+4ECA, U+4ECD-U+4ECE, U+4ED4, U+4ED6, U+4ED8, U+4EE3-U+4EE5, U+4EEC, U+4EF6, U+4EFB, U+4EFD, U+4F18, U+4F1A, U+4F20, U+4F24, U+4F2A, U+4F34, U+4F38, U+4F46, U+4F4D-U+4F4F, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F60, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA7, U+4FBF, U+4FDD, U+4FE1, U+4FEE, U+5019, U+501F, U+503C, U+504F, U+505A, U+505C, U+5065, U+50A8, U+50CF, U+513F, U+5141, U+5145, U+5148-U+5149, U+514D, U+5151, U+5165, U+5168, U+516B-U+516D, U+5171, U+5173-U+5174, U+5176-U+5178, U+5185, U+518C-U+518D, U+5192, U+5199, U+51B3, U+51B5, U+51C6, U+51CF, U+51D1, U+51E0, U+51E4, U+51FA-U+51FB, U+51FD, U+5206-U+5207, U+5212, U+5217, U+5219-U+521B, U+521D, U+5220, U+5224, U+5229, U+522B, U+5230, U+5236-U+5237, U+523B, U+524D, U+5269, U+526F, U+529B, U+529F-U+52A1, U+52A8-U+52A9, U+52B1, U+52FE-U+52FF, U+5305, U+5316-U+5317, U+5339-U+533B, U+5341, U+5347, U+534F, U+5355, U+5357, U+5361, U+5366, U+5370-U+5371, U+5373-U+5374, U+5377, U+5386, U+538B, U+539A, U+539F, U+53BB, U+53C2, U+53C8, U+53CA, U+53CD, U+53D1, U+53D6-U+53D8, U+53E3-U+53E6, U+53EA, U+53EF-U+53F0, U+53F2-U+53F3, U+53F7, U+5408, U+540C-U+540E, U+5411, U+5426, U+542B-U+542C, U+542F, U+544A, U+5458, U+5468, U+547D, U+548C, U+54C1, U+54CD, U+54EA, U+552F, U+5546, U+5668, U+56DB, U+56DE, U+56E0, U+56F0, U+56F4, U+56FA, U+56FD-U+56FE, U+5728, U+5730, U+573A, U+5740, U+574E, U+5750, U+5757, U+575A, U+5764, U+578B, U+57DF, U+57FA, U+586B, U+5883, U+589E, U+58A8, U+58F0, U+5904, U+5907, U+590D, U+591A, U+591C, U+591F, U+5927, U+5929-U+592A, U+592E, U+5931, U+5934, U+594F, U+5957, U+597D, U+5982, U+59CB, U+5B50, U+5B57-U+5B58, U+5B66, U+5B83, U+5B88-U+5B89, U+5B8B-U+5B8C, U+5B98, U+5B9A, U+5B9E, U+5BA1-U+5BA2, U+5BAB, U+5BB3, U+5BB9, U+5BBD, U+5BC6, U+5BDF, U+5BF9, U+5BFC, U+5C06, U+5C0F, U+5C11, U+5C1A, U+5C1D, U+5C31, U+5C3D, U+5C40, U+5C42, U+5C55, U+5C5E, U+5C71, U+5CB8, U+5CF0, U+5D16, U+5DE5-U+5DE6, U+5DE8-U+5DE9, U+5DEE, U+5DF1-U+5DF2, U+5DFD, U+5E0C, U+5E26, U+5E2E, U+5E38, U+5E45, U+5E72-U+5E74, U+5E76, U+5E93-U+5E95, U+5EA6-U+5EA7, U+5EB7, U+5EF6, U+5EFA, U+5F00, U+5F03, U+5F0F, U+5F15, U+5F3A, U+5F52-U+5F53, U+5F55, U+5F62, U+5F71, U+5F7C, U+5F80, U+5F84-U+5F85, U+5F88, U+5F8B, U+5F97, U+5FAA, U+5FAE, U+5FB7, U+5FC3, U+5FC5-U+5FC6, U+5FD7-U+5FD8, U+5FEB, U+5FF5, U+6001, U+600E, U+601D, U+6025, U+6027, U+603B, U+6062, U+6068, U+606F, U+6076, U+60A6, U+60AC, U+60C5, U+60F3, U+610F, U+611F, U+6162, U+61C2, U+6210-U+6211, U+6216, U+622A, U+6237, U+6240, U+624B, U+624D, U+6253, U+6258, U+6267, U+6270, U+627E-U+6280, U+6284, U+628A, U+6295, U+6298, U+62A4-U+62A5, U+62B1, U+62B5, U+62C6, U+62CD, U+62DB, U+62E6, U+62E9, U+62FF, U+6301-U+6302, U+6309, U+6362, U+636E, U+6389, U+638C, U+6392, U+63A2, U+63A5, U+63A7-U+63A8, U+63CF-U+63D0, U+63E1, U+641C, U+642C, U+6444, U+6458, U+64CD, U+652F, U+6536, U+6539, U+653B, U+653E-U+653F, U+6545, U+6548, U+654F, U+6559, U+6563, U+6570, U+6574, U+6587, U+6599, U+659C, U+65AD, U+65B0, U+65B9, U+65CF, U+65E0, U+65E5-U+65E7, U+65F6, U+660E, U+6613, U+661F, U+6627-U+6628, U+662F, U+6635, U+663E, U+665A, U+6668, U+666F, U+6682, U+66B4, U+66F4, U+66FF-U+6700, U+6708-U+6709, U+670D, U+671B, U+671F, U+672A-U+672C, U+673A, U+6743, U+6750, U+675C, U+675F, U+6761, U+6765, U+677E-U+677F, U+6781, U+6784, U+6797, U+679A, U+679C, U+67D0, U+67E5, U+6807, U+680F, U+6821, U+6837-U+6839, U+683C, U+6848, U+684C, U+6863, U+68AF, U+68C0, U+695A, U+6977, U+6982, U+6A21, U+6B21-U+6B22, U+6B3E, U+6B62-U+6B66, U+6BB5, U+6BBF, U+6BCF, U+6BD4, U+6C14, U+6C34, U+6C42, U+6C49, U+6C5F, U+6C89, U+6CA1, U+6CB3, U+6CBB, U+6CBF, U+6CD5, U+6CE8, U+6CFD, U+6D1B, U+6D3B, U+6D41, U+6D45, U+6D4B, U+6D4F, U+6D77-U+6D78, U+6D89, U+6D9F, U+6DC0, U+6DC6, U+6DF1, U+6DF7, U+6E05, U+6E20, U+6E56, U+6E90, U+6F02, U+6F14, U+6F2A, U+706B, U+706F, U+7075, U+70B8-U+70B9, U+7126, U+7136, U+7167, U+717D, U+7206, U+7247-U+7248, U+724C, U+725B, U+7269, U+72B6, U+72EC, U+731C, U+7387, U+73AF-U+73B0, U+7406, U+751F, U+7528, U+7531, U+7533, U+7535, U+753B, U+754C, U+7559, U+7565, U+7597, U+75D5, U+767B, U+767D, U+7684, U+7686, U+76CF, U+76D6, U+76D8, U+76EE-U+76EF, U+76F4, U+770B, U+771F, U+773A, U+7740, U+77E5, U+77ED, U+77F3, U+7801, U+7814, U+783A, U+7840, U+786C, U+786E, U+793A, U+7981, U+79BB, U+79C1, U+79CD, U+79D1-U+79D2, U+79EF-U+79F0, U+79FB, U+7A0B, U+7A0D, U+7A33, U+7A3F, U+7A76, U+7A7A, U+7A81, U+7ACB, U+7AD9, U+7ADF-U+7AE0, U+7AE5, U+7AEF, U+7B14, U+7B26, U+7B2C, U+7B49, U+7B54, U+7B56, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BB4, U+7BC7, U+7C7B, U+7C98, U+7CFB, U+7D22, U+7D27, U+7D2F, U+7E41, U+7EA6-U+7EA7, U+7EAA, U+7EB8, U+7EBF, U+7EC3-U+7EC4, U+7EC6, U+7EC8, U+7ECF, U+7ED1, U+7ED3, U+7ED5, U+7ED9, U+7EDC-U+7EDD, U+7EDF, U+7EE7, U+7EE9, U+7EED, U+7F13, U+7F29, U+7F3A, U+7F51, U+7F6E, U+7F8E, U+7FA4, U+7FFB, U+8003, U+8005, U+800C, U+8054, U+805A, U+80B2, U+80CC, U+80FD, U+8109-U+810A, U+811A, U+81EA, U+81F3, U+822A, U+826E, U+8272, U+8282, U+82F1, U+8303, U+8349, U+83B7, U+8425, U+843D, U+85CF, U+884C, U+8861, U+8865, U+8868, U+886C, U+88AB, U+88AD, U+88C5, U+897F, U+8981, U+8986, U+89C1-U+89C2, U+89C4, U+89C6, U+89C8, U+89D2, U+89E3, U+89E6, U+8A00, U+8BA1, U+8BA4, U+8BA9, U+8BAD-U+8BAE, U+8BB0, U+8BB2, U+8BB8, U+8BBA, U+8BBE-U+8BBF, U+8BC1, U+8BC6, U+8BC9-U+8BCA, U+8BCD, U+8BD1, U+8BD5, U+8BDD, U+8BE5-U+8BE6, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFA-U+8BFB, U+8BFE, U+8C03, U+8C22, U+8C27, U+8D1F, U+8D22-U+8D23, U+8D25-U+8D26, U+8D28, U+8D34, U+8D44, U+8D70, U+8D77, U+8D85, U+8DA3, U+8DB3, U+8DC3, U+8DDD, U+8DE8, U+8DEF, U+8E2A, U+8EAB, U+8F68, U+8F6C, U+8F6E, U+8F7D, U+8F83, U+8F93, U+8FB9, U+8FBE, U+8FC1, U+8FC7, U+8FCE, U+8FD0-U+8FD1, U+8FD4, U+8FD8-U+8FD9, U+8FDB-U+8FDC, U+8FDE, U+8FED, U+8FF0, U+8FF7, U+8FF9, U+8FFD, U+9000-U+9001, U+9006, U+9009, U+9010, U+901A, U+901F-U+9020, U+9047, U+904D, U+9053, U+9057, U+9065, U+907F-U+9080, U+90A3, U+90AE, U+90E8, U+90FD, U+914D, U+9192, U+91CA, U+91CC-U+91CD, U+91CF, U+91D1, U+9488, U+949F, U+94A5, U+94FA, U+94FE, U+9500-U+9501, U+9519, U+952E, U+957F, U+95E8, U+95ED-U+95EE, U+95F4, U+9605, U+961F, U+9632-U+9634, U+9636, U+963B, U+9644-U+9645, U+9650, U+9662, U+9664, U+9668-U+966A, U+968F-U+9690, U+9694, U+9699, U+969C, U+96BE, U+96C6, U+96F6-U+96F7, U+96FE, U+9700, U+9707, U+9732, U+9759, U+975E, U+9760, U+9762, U+97F3, U+97F5, U+9875-U+9876, U+9879-U+987B, U+987F, U+9884, U+9886, U+9891, U+9898, U+989D, U+98CE, U+9988, U+9996, U+9A6C, U+9A71, U+9A8C, U+9AA4, U+9AA8, U+9AD8, U+9ED8, U+9F13, U+9F50, U+9F84, U+9F99, U+FF08-U+FF09, U+FF0C, U+FF1A-U+FF1B, U+FF1F;
}

/* 宋体子集：思源宋体 Noto Serif SC（SIL OFL 1.1），同样从字符集切到 993 个字符，227KB woff2。
   用它做正文的原因：楷体横画极细、起收笔有提按，12–18px 抗锯齿后笔画断续，
   连续阅读时字形节奏会抢走注意力；W3C《中文排版需求》的正文惯例
   （五号 / 行高 1.5 倍 / 行长 20–40 汉字）本就是为字面方正的宋体与黑体定的。
   楷体只留给标题、引文与仪式文案——那正是它擅长的地方。
   两份子集的 unicode-range 完全一致（同一份 charset-full.txt 切出，cmap 已校验 993 = 993）。 */
@font-face {
  font-family: "Noto Serif SC Subset";
  src: url("/assets/generated/source/fonts/notoserifsc-subset.4df1fd35dea6.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0020-U+007E, U+00B7, U+2013-U+2014, U+2018-U+2019, U+201C-U+201D, U+2026, U+3001-U+3002, U+300C-U+300D, U+4E00, U+4E03, U+4E09-U+4E0B, U+4E0D-U+4E0E, U+4E13, U+4E16, U+4E1A, U+4E1C, U+4E22, U+4E24, U+4E2A, U+4E2D, U+4E34, U+4E3A-U+4E3B, U+4E48-U+4E49, U+4E4B, U+4E4E, U+4E5D, U+4E5F-U+4E60, U+4E7E, U+4E86, U+4E89, U+4E8B-U+4E8C, U+4E8E, U+4E91-U+4E92, U+4E94, U+4E9B, U+4EA4, U+4EA7, U+4EAE, U+4EBA, U+4EC0, U+4EC5, U+4EC7, U+4ECA, U+4ECD-U+4ECE, U+4ED4, U+4ED6, U+4ED8, U+4EE3-U+4EE5, U+4EEC, U+4EF6, U+4EFB, U+4EFD, U+4F18, U+4F1A, U+4F20, U+4F24, U+4F2A, U+4F34, U+4F38, U+4F46, U+4F4D-U+4F4F, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F60, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA7, U+4FBF, U+4FDD, U+4FE1, U+4FEE, U+5019, U+501F, U+503C, U+504F, U+505A, U+505C, U+5065, U+50A8, U+50CF, U+513F, U+5141, U+5145, U+5148-U+5149, U+514D, U+5151, U+5165, U+5168, U+516B-U+516D, U+5171, U+5173-U+5174, U+5176-U+5178, U+5185, U+518C-U+518D, U+5192, U+5199, U+51B3, U+51B5, U+51C6, U+51CF, U+51D1, U+51E0, U+51E4, U+51FA-U+51FB, U+51FD, U+5206-U+5207, U+5212, U+5217, U+5219-U+521B, U+521D, U+5220, U+5224, U+5229, U+522B, U+5230, U+5236-U+5237, U+523B, U+524D, U+5269, U+526F, U+529B, U+529F-U+52A1, U+52A8-U+52A9, U+52B1, U+52FE-U+52FF, U+5305, U+5316-U+5317, U+5339-U+533B, U+5341, U+5347, U+534F, U+5355, U+5357, U+5361, U+5366, U+5370-U+5371, U+5373-U+5374, U+5377, U+5386, U+538B, U+539A, U+539F, U+53BB, U+53C2, U+53C8, U+53CA, U+53CD, U+53D1, U+53D6-U+53D8, U+53E3-U+53E6, U+53EA, U+53EF-U+53F0, U+53F2-U+53F3, U+53F7, U+5408, U+540C-U+540E, U+5411, U+5426, U+542B-U+542C, U+542F, U+544A, U+5458, U+5468, U+547D, U+548C, U+54C1, U+54CD, U+54EA, U+552F, U+5546, U+5668, U+56DB, U+56DE, U+56E0, U+56F0, U+56F4, U+56FA, U+56FD-U+56FE, U+5728, U+5730, U+573A, U+5740, U+574E, U+5750, U+5757, U+575A, U+5764, U+578B, U+57DF, U+57FA, U+586B, U+5883, U+589E, U+58A8, U+58F0, U+5904, U+5907, U+590D, U+591A, U+591C, U+591F, U+5927, U+5929-U+592A, U+592E, U+5931, U+5934, U+594F, U+5957, U+597D, U+5982, U+59CB, U+5B50, U+5B57-U+5B58, U+5B66, U+5B83, U+5B88-U+5B89, U+5B8B-U+5B8C, U+5B98, U+5B9A, U+5B9E, U+5BA1-U+5BA2, U+5BAB, U+5BB3, U+5BB9, U+5BBD, U+5BC6, U+5BDF, U+5BF9, U+5BFC, U+5C06, U+5C0F, U+5C11, U+5C1A, U+5C1D, U+5C31, U+5C3D, U+5C40, U+5C42, U+5C55, U+5C5E, U+5C71, U+5CB8, U+5CF0, U+5D16, U+5DE5-U+5DE6, U+5DE8-U+5DE9, U+5DEE, U+5DF1-U+5DF2, U+5DFD, U+5E0C, U+5E26, U+5E2E, U+5E38, U+5E45, U+5E72-U+5E74, U+5E76, U+5E93-U+5E95, U+5EA6-U+5EA7, U+5EB7, U+5EF6, U+5EFA, U+5F00, U+5F03, U+5F0F, U+5F15, U+5F3A, U+5F52-U+5F53, U+5F55, U+5F62, U+5F71, U+5F7C, U+5F80, U+5F84-U+5F85, U+5F88, U+5F8B, U+5F97, U+5FAA, U+5FAE, U+5FB7, U+5FC3, U+5FC5-U+5FC6, U+5FD7-U+5FD8, U+5FEB, U+5FF5, U+6001, U+600E, U+601D, U+6025, U+6027, U+603B, U+6062, U+6068, U+606F, U+6076, U+60A6, U+60AC, U+60C5, U+60F3, U+610F, U+611F, U+6162, U+61C2, U+6210-U+6211, U+6216, U+622A, U+6237, U+6240, U+624B, U+624D, U+6253, U+6258, U+6267, U+6270, U+627E-U+6280, U+6284, U+628A, U+6295, U+6298, U+62A4-U+62A5, U+62B1, U+62B5, U+62C6, U+62CD, U+62DB, U+62E6, U+62E9, U+62FF, U+6301-U+6302, U+6309, U+6362, U+636E, U+6389, U+638C, U+6392, U+63A2, U+63A5, U+63A7-U+63A8, U+63CF-U+63D0, U+63E1, U+641C, U+642C, U+6444, U+6458, U+64CD, U+652F, U+6536, U+6539, U+653B, U+653E-U+653F, U+6545, U+6548, U+654F, U+6559, U+6563, U+6570, U+6574, U+6587, U+6599, U+659C, U+65AD, U+65B0, U+65B9, U+65CF, U+65E0, U+65E5-U+65E7, U+65F6, U+660E, U+6613, U+661F, U+6627-U+6628, U+662F, U+6635, U+663E, U+665A, U+6668, U+666F, U+6682, U+66B4, U+66F4, U+66FF-U+6700, U+6708-U+6709, U+670D, U+671B, U+671F, U+672A-U+672C, U+673A, U+6743, U+6750, U+675C, U+675F, U+6761, U+6765, U+677E-U+677F, U+6781, U+6784, U+6797, U+679A, U+679C, U+67D0, U+67E5, U+6807, U+680F, U+6821, U+6837-U+6839, U+683C, U+6848, U+684C, U+6863, U+68AF, U+68C0, U+695A, U+6977, U+6982, U+6A21, U+6B21-U+6B22, U+6B3E, U+6B62-U+6B66, U+6BB5, U+6BBF, U+6BCF, U+6BD4, U+6C14, U+6C34, U+6C42, U+6C49, U+6C5F, U+6C89, U+6CA1, U+6CB3, U+6CBB, U+6CBF, U+6CD5, U+6CE8, U+6CFD, U+6D1B, U+6D3B, U+6D41, U+6D45, U+6D4B, U+6D4F, U+6D77-U+6D78, U+6D89, U+6D9F, U+6DC0, U+6DC6, U+6DF1, U+6DF7, U+6E05, U+6E20, U+6E56, U+6E90, U+6F02, U+6F14, U+6F2A, U+706B, U+706F, U+7075, U+70B8-U+70B9, U+7126, U+7136, U+7167, U+717D, U+7206, U+7247-U+7248, U+724C, U+725B, U+7269, U+72B6, U+72EC, U+731C, U+7387, U+73AF-U+73B0, U+7406, U+751F, U+7528, U+7531, U+7533, U+7535, U+753B, U+754C, U+7559, U+7565, U+7597, U+75D5, U+767B, U+767D, U+7684, U+7686, U+76CF, U+76D6, U+76D8, U+76EE-U+76EF, U+76F4, U+770B, U+771F, U+773A, U+7740, U+77E5, U+77ED, U+77F3, U+7801, U+7814, U+783A, U+7840, U+786C, U+786E, U+793A, U+7981, U+79BB, U+79C1, U+79CD, U+79D1-U+79D2, U+79EF-U+79F0, U+79FB, U+7A0B, U+7A0D, U+7A33, U+7A3F, U+7A76, U+7A7A, U+7A81, U+7ACB, U+7AD9, U+7ADF-U+7AE0, U+7AE5, U+7AEF, U+7B14, U+7B26, U+7B2C, U+7B49, U+7B54, U+7B56, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BB4, U+7BC7, U+7C7B, U+7C98, U+7CFB, U+7D22, U+7D27, U+7D2F, U+7E41, U+7EA6-U+7EA7, U+7EAA, U+7EB8, U+7EBF, U+7EC3-U+7EC4, U+7EC6, U+7EC8, U+7ECF, U+7ED1, U+7ED3, U+7ED5, U+7ED9, U+7EDC-U+7EDD, U+7EDF, U+7EE7, U+7EE9, U+7EED, U+7F13, U+7F29, U+7F3A, U+7F51, U+7F6E, U+7F8E, U+7FA4, U+7FFB, U+8003, U+8005, U+800C, U+8054, U+805A, U+80B2, U+80CC, U+80FD, U+8109-U+810A, U+811A, U+81EA, U+81F3, U+822A, U+826E, U+8272, U+8282, U+82F1, U+8303, U+8349, U+83B7, U+8425, U+843D, U+85CF, U+884C, U+8861, U+8865, U+8868, U+886C, U+88AB, U+88AD, U+88C5, U+897F, U+8981, U+8986, U+89C1-U+89C2, U+89C4, U+89C6, U+89C8, U+89D2, U+89E3, U+89E6, U+8A00, U+8BA1, U+8BA4, U+8BA9, U+8BAD-U+8BAE, U+8BB0, U+8BB2, U+8BB8, U+8BBA, U+8BBE-U+8BBF, U+8BC1, U+8BC6, U+8BC9-U+8BCA, U+8BCD, U+8BD1, U+8BD5, U+8BDD, U+8BE5-U+8BE6, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFA-U+8BFB, U+8BFE, U+8C03, U+8C22, U+8C27, U+8D1F, U+8D22-U+8D23, U+8D25-U+8D26, U+8D28, U+8D34, U+8D44, U+8D70, U+8D77, U+8D85, U+8DA3, U+8DB3, U+8DC3, U+8DDD, U+8DE8, U+8DEF, U+8E2A, U+8EAB, U+8F68, U+8F6C, U+8F6E, U+8F7D, U+8F83, U+8F93, U+8FB9, U+8FBE, U+8FC1, U+8FC7, U+8FCE, U+8FD0-U+8FD1, U+8FD4, U+8FD8-U+8FD9, U+8FDB-U+8FDC, U+8FDE, U+8FED, U+8FF0, U+8FF7, U+8FF9, U+8FFD, U+9000-U+9001, U+9006, U+9009, U+9010, U+901A, U+901F-U+9020, U+9047, U+904D, U+9053, U+9057, U+9065, U+907F-U+9080, U+90A3, U+90AE, U+90E8, U+90FD, U+914D, U+9192, U+91CA, U+91CC-U+91CD, U+91CF, U+91D1, U+9488, U+949F, U+94A5, U+94FA, U+94FE, U+9500-U+9501, U+9519, U+952E, U+957F, U+95E8, U+95ED-U+95EE, U+95F4, U+9605, U+961F, U+9632-U+9634, U+9636, U+963B, U+9644-U+9645, U+9650, U+9662, U+9664, U+9668-U+966A, U+968F-U+9690, U+9694, U+9699, U+969C, U+96BE, U+96C6, U+96F6-U+96F7, U+96FE, U+9700, U+9707, U+9732, U+9759, U+975E, U+9760, U+9762, U+97F3, U+97F5, U+9875-U+9876, U+9879-U+987B, U+987F, U+9884, U+9886, U+9891, U+9898, U+989D, U+98CE, U+9988, U+9996, U+9A6C, U+9A71, U+9A8C, U+9AA4, U+9AA8, U+9AD8, U+9ED8, U+9F13, U+9F50, U+9F84, U+9F99, U+FF08-U+FF09, U+FF0C, U+FF1A-U+FF1B, U+FF1F;
}


:root {
  /* 品牌展示：先用子集保证一致，再逐级回落系统字体。
     注意 2026-10-20 移除了原先栈里的 "FZKai-Z03"（方正楷体）——
     那是需要付费授权的商用字体。在 CSS 里写字体名本身不构成侵权
     （浏览器只会在用户本机已安装时才使用），但公开产品里没必要留这种引用，
     而且它也起不到作用：子集排第一，静态文案 993 个字全部命中，
     方正只在子集外的动态字上才可能被用到。
     现在的回落链全部是开源字体或操作系统自带字体，没有任何商用依赖。 */
  --font-display: "LXGW WenKai Subset", "KaiTi", "STKaiti", "Noto Serif SC", "Songti SC", serif;
  /* 正文衬线：同上。若想保留系统宋体正文，把 "LXGW WenKai Subset" 从这行删掉即可 */
  --font-kai: "LXGW WenKai Subset", "KaiTi", "STKaiti", "Noto Serif SC", "Songti SC", serif;
  /* 印章/栏目标题：宋优先，macOS 回落楷体（保持原设计意图） */
  --font-prose: "Noto Serif SC Subset", "Source Han Serif SC", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  /* 界面与表单：无衬线，保持系统字体（界面字不需要书法气质，且省一次加载） */
  --font-interface: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  /* 代码、数字、坐标 */
  --font-mono: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, monospace;
}
