/* ============================================
   TYPOGRAPHY · 字体与排版
   Claude 官网编辑级风格 · 克制 · 层级通过字重与字号而非颜色
   ============================================ */

:root {
  /* 字体族 */
  --font-sans: "Styrene B", "Inter", "PingFang SC", "Helvetica Neue",
               -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-serif: "Copernicus", "Tiempos Text", "Georgia", serif;
  --font-mono: "JetBrains Mono", "SF Mono", "Menlo", "Consolas", monospace;
}

/* 默认标题 */
h1, h2, h3, h4, h5 {
  font-family: var(--font-sans);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}

h1 { font-size: var(--text-h1); font-weight: 500; letter-spacing: -0.02em; }
h2 { font-size: var(--text-h2); font-weight: 500; }
h3 { font-size: var(--text-h3); font-weight: 500; }
h4 { font-size: var(--text-h4); font-weight: 500; }

/* 超大号 */
.text-hero {
  font-size: var(--text-hero);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.028em;
}

.text-display {
  font-size: var(--text-display);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

/* 正文层级 */
.text-body { font-size: var(--text-body); line-height: 1.55; color: var(--text-secondary); }
.text-lg { font-size: var(--text-lg); line-height: 1.45; }
.text-md { font-size: var(--text-md); line-height: 1.45; }
.text-sm { font-size: var(--text-sm); line-height: 1.5; color: var(--text-muted); }
.text-xs { font-size: var(--text-xs); line-height: 1.45; color: var(--text-muted); }

/* 中文排版 */
:lang(zh), [lang="zh"], .zh {
  font-family: "PingFang SC", "HarmonyOS Sans SC", "Noto Sans SC", var(--font-sans);
  letter-spacing: 0.015em;
}

/* 数字（只用在真正需要 tabular 的地方） */
.num-mega {
  font-size: var(--num-mega);
  font-weight: 500;
  line-height: 0.88;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
}

.num-huge {
  font-size: var(--num-huge);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.028em;
  font-variant-numeric: tabular-nums;
}

.num-big {
  font-size: var(--num-big);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

/* 仅用于代号、代码片段、Elo 原始分等需要等宽的场景 */
.mono {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

/* 高亮（全局唯一强调色，克制使用）*/
.highlight { color: var(--accent); }

/* 信息分级标签（一级/二级）*/
.info-primary {
  font-size: var(--text-h3);
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.35;
}

.info-secondary {
  font-size: var(--text-sm);
  font-weight: 400;
  color: var(--text-secondary);
  line-height: 1.6;
  letter-spacing: 0.01em;
}

/* 小标签（章节级才用，eyebrow）*/
.eyebrow {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--text-muted);
  letter-spacing: 0.08em;
}

/* 数据可视化：三档颜色 */
.data-leading { color: var(--data-leading); }
.data-neutral { color: var(--data-neutral); }
.data-lagging { color: var(--data-lagging); }
