/* ===== 全站统一字体系统 =====
   圆体标题（ZCOOL KuaiLe）+ Sora 正文 + Space Grotesk 数字/代码；
   英文模式自动切换 Baloo 2（标题）/ Quicksand（正文）。
   字体已本地自托管（原来走 Google Fonts 外链，国内不可达会退化成系统字体）；
   @font-face 声明与 woff2 文件见 fonts-face.css 与 assets/fonts/。 */
@import url('fonts-face.css');

:root {
  --font-display: 'ZCOOL KuaiLe', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-ui: 'Sora', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-mono: 'Space Grotesk', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

html, body {
  font-family: var(--font-ui);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 标题 / 品牌 / 按钮：统一圆体 */
.brand, .camp-title, .panel-title, .section-header, .section-title,
.card-label, .card-sub, .sub-label, .planet-name, .planet-tag, .ptab-name,
.lesson-title, .main-title, .complete-title, .heading, .heading-main,
.nav-tab, .top-settings, .start-btn, .btn-play, .new-char, .char-title,
.nav-btn, .complete-btn, .tool-btn, .more-menu a, .back-btn, .btn-back,
.course-card, .sub-card, .lm-head h3, .prof-char, .plan-name,
.diff-label, .stage-name, .card-mode, .env-title, .env-pill,
.learn-hint-bottom, .instruction, .pnav-label, .shop-item h4,
.stat-box .k, .panel-stat .k, .hud-stat, .wc-btn,
.statusbar, .hint-keys, .learn-hint, .learn-count {
  font-family: var(--font-display);
}

/* 数字 / 代码 / 键帽：统一等宽 */
.key, .text-line, .flow-line, .learn-key, .key-badge, .rank-wpm,
.wc-word, .hud-stat b, .stat-box .value, .stats-card .big, .score,
.panel-score, .final-score, .rank-no, .plan-no {
  font-family: var(--font-mono);
}

/* 英文模式：标题 Baloo 2、正文 Quicksand（跟随 i18n 的 lang-en 类） */
html.lang-en {
  --font-display: 'Baloo 2', 'Quicksand', 'ZCOOL KuaiLe', sans-serif;
  --font-ui: 'Quicksand', 'Sora', -apple-system, sans-serif;
  --font-mono: 'Space Grotesk', ui-monospace, monospace;
}
