/* 美股io — Design Tokens v1.1 · 精修版 */
:root {
  /* Ink: 比纯黑更暖一丝,贴近真实油墨 (RGB 偏红棕) */
  --ink: #1A1612; --ink-soft: #2E2823;
  /* Paper: 暖米纸,三档递进 */
  --paper: #F8F5EF; --paper-bright: #FEFCF7;
  --paper-alt: #EFEAE0; --paper-deep: #E6E0D2;
  /* Accent: 酒红 · 单一强调 */
  --accent: #B8292C; --accent-ink: #8B1F22;
  /* Muted: 中性灰暖调 */
  --muted: #756E63; --muted-soft: #8E8A82;
  /* Rule: 纸张暗影 */
  --rule: #D9D3C5; --rule-soft: #E8E3D5; --rule-ink: #1A1612;
  /* 图表灰阶 (暖调, 与 ink 家族同源) */
  --chart-1: #1A1612; --chart-2: #4A4038; --chart-3: #8E8A82;
  --chart-4: #BDB5A2; --chart-5: #D9D3C5;
  /* 字体栈 */
  --font-serif-cn: "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif;
  --font-sans-cn: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-serif-en: "IBM Plex Serif", Georgia, serif;
  --font-mono: "IBM Plex Mono", Menlo, monospace;
  /* 尺寸 */
  --container: 1120px; --prose: 720px;
  /* 节奏基线 (可选辅助) */
  --baseline: 8px;
}
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: var(--paper); color: var(--ink);
  font-family: var(--font-serif-cn); font-size: 16px; line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "palt" 1;
  font-variant-numeric: proportional-nums;
}
/* 数字/代码/表格: tabular figures + slashed zero */
.num, .mono, time, [data-num], code, kbd, pre, .hero-meta .value, .hero-meta .label,
.sub .sub-input input, .db-stats .n, .db-stats .l {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums slashed-zero;
  font-feature-settings: "tnum" 1, "zero" 1;
}
/* 中文显示字号使用 palt 压紧标点空隙 */
h1, h2, h3, h4 { font-feature-settings: "palt" 1, "kern" 1; }
/* 选中态 */
::selection { background: var(--accent); color: var(--paper-bright); text-shadow: none; }
::-moz-selection { background: var(--accent); color: var(--paper-bright); text-shadow: none; }
a { color: inherit; text-decoration: none; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
/* Hairline helper — 编辑部标准 0.5px 细线 */
.hairline { border-bottom: 1px solid var(--rule); }
.hairline-ink { border-bottom: 1px solid var(--ink); }
/* 打印样式 — article 导出 PDF 用 */
@media print {
  html, body { background: white; color: black; font-size: 11pt; }
  nav, .nav, footer, .foot, .sub, .strip { display: none !important; }
  a::after { content: " [" attr(href) "]"; font-size: 9pt; color: #666; }
  h1, h2, h3, h4 { page-break-after: avoid; }
  p, blockquote { orphans: 3; widows: 3; }
}
