  /* 页面字体清单见 fonts/home.css（手写维护）。 */
  :root {
    color-scheme: light dark;
    --bg: #FAF8F4;
    --ink: #1F1E1C;
    --sub: #6E6A63;
    --line: #E4E0D8;
    --accent: #FB7299;
    --card-bg: #FFFFFF;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #1B1A18;
      --ink: #E8E3DB;
      --sub: #9C958B;
      --line: #302D28;
      --card-bg: #242220;
    }
    .lang-menu { box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5); }
    .lang-item:hover { background: #2E2228; }
    .afdian-card:hover { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); }
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html {
    scroll-behavior: smooth;
    font-variant-ligatures: common-ligatures no-discretionary-ligatures historical-ligatures contextual;
  }
  body {
    background: var(--bg);
    color: var(--ink);
    font-family: "Em Dash Bridge", "HarmonyOS Sans SC", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    text-autospace: normal;
  }
  html:not([lang="zh-CN"]):not([lang="zh-TW"]):not([lang="ja"]):not([lang="ko"]):not([lang="ar"]):not([lang="th"]):not([lang="lzh"]):not([lang="lzh-S"]):not([lang="la"]):not([lang="ang"]):not([lang="non"]):not([lang="hi"]):not([lang="sa"]):not([lang="he"]):not([lang="bn"]):not([lang="fa"]) body {
    font-family: "Em Dash Bridge", "Th Grotesk", "HarmonyOS Sans SC", "Noto Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  }
  html[lang="la"] body {
    font-family: "Em Dash Bridge", "Gentium Plus", "Noto Serif SC", "Source Han Serif SC", "思源宋体", "Songti SC", "SimSun", "Noto Serif", Georgia, serif;
    font-size: 18px;
    line-height: 1.85;
  }
  html[lang="zh-TW"] body { font-family: "Em Dash Bridge", "HarmonyOS Sans TC", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif; }
  html[lang="ja"] body { font-family: "Em Dash Bridge", "Noto Sans JP", "Noto Sans SC", "Hiragino Sans", sans-serif; }
  html[lang="ko"] body { font-family: "Em Dash Bridge", "Noto Sans KR", "Noto Sans SC", sans-serif; }
  html[lang="ar"] body { font-family: "Em Dash Bridge", "HarmonyOS Sans Arabic", "HarmonyOS Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
  html[lang="th"] body { font-family: "Em Dash Bridge", "Noto Sans Thai", "HarmonyOS Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
  html[lang="lzh"] body {
    font-family: "Em Dash Bridge", "Shanggu Serif", "Noto Serif SC", "Songti SC", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.4;
  }
  html[lang="lzh"] h1,
  html[lang="lzh"] h2,
  html[lang="lzh"] .eyebrow,
  html[lang="lzh"] .kicker,
  html[lang="lzh"] .brand-en,
  html[lang="lzh"] .stats .num,
  html[lang="lzh"] .stats .label,
  html[lang="lzh"] .tag,
  html[lang="lzh"] .scroll-hint,
  html[lang="lzh"] .quote,
  html[lang="lzh"] .card-title,
  html[lang="lzh"] .card-desc,
  html[lang="lzh"] .card-badge,
  html[lang="lzh"] .card-url,
  html[lang="lzh"] .mono,
  html[lang="lzh"] .ai-disclosure,
  html[lang="lzh"] .stats-note,
  html[lang="lzh"] .link-list dt,
  html[lang="lzh"] .link-list dd,
  html[lang="lzh"] footer a,
  html[lang="lzh"] footer span {
    font-family: "Em Dash Bridge", "Shanggu Serif", "Noto Serif SC", "Songti SC", serif;
  }
  html[lang="lzh-S"] body {
    font-family: "Em Dash Bridge", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.4;
  }
  html[lang="lzh"] :is(h1, h2, .eyebrow, .kicker, .brand-en, .stats .num, .stats .label, .tag, .scroll-hint, .quote, .card-title, .card-desc, .card-badge, .card-url, .mono, .ai-disclosure, .stats-note, .link-list dt, .link-list dd, footer a, footer span, #lang-btn, #lang-btn-label) {
    font-family: "Em Dash Bridge", "Shanggu Serif", "Noto Serif SC", "Songti SC", serif;
  }
  html[lang="lzh-S"] :is(h1, h2, .eyebrow, .kicker, .brand-en, .stats .num, .stats .label, .tag, .scroll-hint, .quote, .card-title, .card-desc, .card-badge, .card-url, .mono, .ai-disclosure, .stats-note, .link-list dt, .link-list dd, footer a, footer span, #lang-btn, #lang-btn-label) {
    font-family: "Em Dash Bridge", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
  }
  .lang-wrap { position: fixed; top: 20px; right: 20px; z-index: 100; }
  #lang-btn {
    display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--sub);
    background: var(--card-bg); border: 1px solid var(--line); border-radius: 8px;
    padding: 6px 12px; cursor: pointer; font-family: inherit;
    transition: border-color .25s ease, color .25s ease;
  }
  #lang-btn:hover { border-color: var(--accent); color: var(--ink); }
  .caret { font-size: 10px; opacity: .7; transform: translateY(1px); }
  .lang-menu {
    position: absolute; top: calc(100% + 8px); right: 0; min-width: 190px; max-height: 56vh;
    overflow-y: auto; list-style: none; margin: 0; padding: 6px; background: var(--card-bg);
    border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 32px rgba(31, 30, 28, 0.1);
  }
  .lang-menu[hidden] { display: none; }
  .lang-item {
    display: block; width: 100%; text-align: start; border: none; background: none; padding: 8px 12px;
    font-family: inherit; font-size: 13px; color: var(--sub); border-radius: 6px; cursor: pointer;
    transition: color .2s ease, background .2s ease;
  }
  .lang-item::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: transparent; margin-inline-end: 8px; vertical-align: 1px; }
  .lang-item:hover { color: var(--ink); background: #FBF2F6; }
  .lang-item[aria-checked="true"] { color: var(--accent); font-weight: 600; }
  .lang-item[aria-checked="true"]::before { background: var(--accent); }
  .lang-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 6px; }
  /* 文言语言项本身使用各自正文书体：繁体尙古、简体思源宋体；繁体固定 700 字重，与简体项一眼可分。 */
  html .lang-menu .lang-item[data-lang="lzh"] { font-family: "Em Dash Bridge", "Shanggu Serif", "Noto Serif SC", "Songti SC", serif; font-weight: 700; }
  html .lang-menu .lang-item[data-lang="lzh-S"] { font-family: "Em Dash Bridge", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif; }

  .wrap { max-width: 720px; margin: 0 auto; padding: 0 24px; }
  a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); transition: border-color .25s ease, color .25s ease; }
  a:hover { border-color: var(--accent); color: var(--accent); }
  a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
  .page-jump { color: var(--sub); font-size: 12px; font-weight: 500; letter-spacing: 0.04em; border-bottom: none; transition: color .25s ease; }
  .page-jump:hover { color: var(--accent); border-bottom: none; }
  /* 链接等宽：自托管 JetBrains Mono；拉丁之外的文字回退到本站正文 CJK 字体，不依赖系统默认等宽。 */
  .mono { font-family: "Em Dash Bridge", "JetBrains Mono", "HarmonyOS Sans SC", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", monospace; font-size: 0.85em; letter-spacing: 0.02em; word-break: break-all; }
  html[lang="zh-TW"] .mono { font-family: "Em Dash Bridge", "JetBrains Mono", "HarmonyOS Sans TC", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", monospace; }
  html[lang="ja"] .mono { font-family: "Em Dash Bridge", "JetBrains Mono", "Noto Sans JP", "Noto Sans SC", "Hiragino Sans", monospace; }
  html[lang="ko"] .mono { font-family: "Em Dash Bridge", "JetBrains Mono", "Noto Sans KR", "Noto Sans SC", monospace; }
  header { position: relative; min-height: 100svh; display: flex; align-items: center; padding: 96px 0 72px; }
  header .hero-wrap { position: relative; width: 100%; max-width: 580px; padding-block: 28px 96px; text-align: start; }
  .hero-copy { position: relative; min-width: 0; padding-inline-start: 34px; }
  .hero-copy::before { content: ''; position: absolute; inset-inline-start: 0; top: 4px; width: 2px; height: 58px; background: var(--accent); }
  .eyebrow { font-family: "Em Dash Bridge", "Noto Serif", "Noto Serif SC", serif; font-size: 13px; color: var(--sub); margin-bottom: 16px; letter-spacing: 0.04em; user-select: none; }
  h1 { font-family: "Em Dash Bridge", "Noto Serif SC", "Songti SC", "SimSun", serif; font-size: clamp(56px, 7.4vw, 88px); font-weight: 900; letter-spacing: 0.045em; line-height: 1.1; margin-bottom: 12px; }
  .brand-en { font-family: "Em Dash Bridge", "Noto Serif", Georgia, serif; font-size: 15px; color: var(--accent); letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 28px; }
  .tagline { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 10px; }
  .tag { display: inline-flex; align-items: center; min-height: 30px; padding: 3px 13px; border: 1px solid var(--line); border-radius: 999px; background: color-mix(in srgb, var(--card-bg) 72%, transparent); font-family: "Em Dash Bridge", "Noto Serif", "Noto Serif SC", "Songti SC", serif; font-size: 12px; letter-spacing: 0.12em; color: var(--sub); transition: color .25s ease, border-color .25s ease; }
  .tag::before { content: ''; width: 5px; height: 5px; margin-inline-end: 8px; border-radius: 50%; background: var(--accent); }
  .tag:hover { color: var(--accent); border-color: var(--accent); }
  .quote { max-width: 600px; font-family: "Em Dash Bridge", "Noto Serif", "Noto Serif SC", "Songti SC", serif; font-size: 13px; line-height: 1.9; color: var(--sub); margin-top: 36px; margin-inline-end: auto; padding: 15px 20px; min-height: calc(1.9em + 30px); border-inline-start: 2px solid var(--accent); background: color-mix(in srgb, var(--card-bg) 58%, transparent); transition: opacity .3s ease; }
  .scroll-hint { position: absolute; inset-inline-start: 58px; bottom: 24px; display: block; width: fit-content; color: var(--sub); font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: 0.04em; text-align: start; cursor: pointer; border: none; background: none; padding: 0; font-family: inherit; transition: color .25s ease; user-select: none; }
  .scroll-hint:hover { color: var(--accent); }
  .scroll-hint:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 2px; }
  section { padding: 104px 0; }
  .kicker { font-family: "Em Dash Bridge", "Noto Serif", "Noto Serif SC", serif; font-size: 11px; line-height: 1.4; letter-spacing: 0.3em; color: var(--accent); margin-bottom: 16px; }
  h2 { font-family: "Em Dash Bridge", "Noto Serif SC", "Songti SC", "SimSun", serif; font-size: clamp(28px, 3vw, 34px); font-weight: 700; line-height: 1.35; letter-spacing: 0.04em; margin: 0; }
  html[lang="zh-TW"] h1, html[lang="zh-TW"] h2, html[lang="zh-TW"] .eyebrow, html[lang="zh-TW"] .kicker, html[lang="zh-TW"] .tag, html[lang="zh-TW"] .quote, html[lang="zh-TW"] .scroll-hint { font-family: "Em Dash Bridge", "Noto Serif TC", "Songti TC", "PMingLiU", serif; }
  html[lang="ja"] h2 { font-family: "Em Dash Bridge", "Noto Serif JP", "Noto Serif SC", "Hiragino Mincho ProN", serif; }
  html[lang="ja"] .eyebrow, html[lang="ja"] .kicker, html[lang="ja"] .tag, html[lang="ja"] .quote, html[lang="ja"] .scroll-hint { font-family: "Em Dash Bridge", "Noto Serif JP", "Noto Serif SC", "Hiragino Mincho ProN", serif; }
  html[lang="ko"] h2 { font-family: "Em Dash Bridge", "Noto Serif KR", "Noto Serif SC", "Batang", serif; }
  html[lang="ko"] .eyebrow, html[lang="ko"] .kicker, html[lang="ko"] .tag, html[lang="ko"] .quote, html[lang="ko"] .scroll-hint { font-family: "Em Dash Bridge", "Noto Serif KR", "Noto Serif SC", "Batang", serif; }
  html[lang="ar"] h2 { font-family: "Em Dash Bridge", "HarmonyOS Sans Arabic", "Noto Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
  html[lang="ar"] .eyebrow, html[lang="ar"] .kicker, html[lang="ar"] .tag, html[lang="ar"] .quote, html[lang="ar"] .scroll-hint { font-family: "Em Dash Bridge", "HarmonyOS Sans Arabic", "Noto Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
  html:not([lang="zh-CN"]):not([lang="zh-TW"]):not([lang="ja"]):not([lang="ko"]):not([lang="ar"]):not([lang="th"]):not([lang="lzh"]):not([lang="lzh-S"]):not([lang="la"]):not([lang="hi"]):not([lang="sa"]):not([lang="he"]):not([lang="bn"]):not([lang="fa"]) h2 { font-family: "Em Dash Bridge", "Noto Serif", "Noto Serif SC", "Songti SC", "SimSun", serif; }
  html:not([lang="zh-CN"]):not([lang="zh-TW"]):not([lang="ja"]):not([lang="ko"]):not([lang="ar"]):not([lang="th"]):not([lang="lzh"]):not([lang="lzh-S"]):not([lang="la"]):not([lang="hi"]):not([lang="sa"]):not([lang="he"]):not([lang="bn"]):not([lang="fa"]) .eyebrow,
  html:not([lang="zh-CN"]):not([lang="zh-TW"]):not([lang="ja"]):not([lang="ko"]):not([lang="ar"]):not([lang="th"]):not([lang="lzh"]):not([lang="lzh-S"]):not([lang="la"]):not([lang="hi"]):not([lang="sa"]):not([lang="he"]):not([lang="bn"]):not([lang="fa"]) .kicker { font-family: "Em Dash Bridge", "Noto Serif", "Noto Serif SC", "Songti SC", "SimSun", serif; }
  html[lang="ar"] { direction: rtl; }
  html[lang="ar"] .eyebrow, html[lang="ar"] .kicker, html[lang="ar"] .tag, html[lang="ar"] .scroll-hint, html[lang="ar"] .stats .label, html[lang="ar"] .card-badge, html[lang="ar"] .brand-en { letter-spacing: 0; }
  html[lang="ar"] .brand-en { font-family: "Em Dash Bridge", "HarmonyOS Sans Arabic", "Noto Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
  html[lang="th"] h2 { font-family: "Em Dash Bridge", "Noto Serif Thai", "Noto Serif", "Noto Serif SC", "Songti SC", "SimSun", serif; }
  html[lang="th"] .eyebrow, html[lang="th"] .kicker, html[lang="th"] .tag, html[lang="th"] .quote, html[lang="th"] .scroll-hint { font-family: "Em Dash Bridge", "Noto Serif Thai", "Noto Serif", "Noto Serif SC", "Songti SC", "SimSun", serif; }
  html[lang="hi"] body { font-family: "Em Dash Bridge", "Noto Sans Devanagari", "HarmonyOS Sans SC", "Noto Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
