:root {
  /* 色板：米白纸感 + 墨黑 + 暖灰 + 低饱和传统色 */
  --paper: #f2ecdf;
  --paper-light: #faf6ec;
  --paper-deep: #e8dfcb;
  --paper-mist: #ddd2bb;
  --ink: #22241e;
  --ink-soft: #3c3e35;
  --ink-muted: #6e6a5e;
  --ink-faint: #98917f;
  --line: #d9cdb6;
  --line-strong: #b8aa8e;
  --cinnabar: #9d4030;
  --cinnabar-deep: #7d3125;
  --cinnabar-soft: #f0ded4;
  --jade: #4c6b58;
  --jade-soft: #dde5d8;
  --gold: #a8843f;
  --gold-soft: #efe3c3;
  --cloud: #c9cdc2;

  /* 字体 */
  --font-serif: "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", "SimSun", serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;

  /* 字号（固定值，不随视口缩放） */
  --text-display: 30px;
  --text-title: 24px;
  --text-heading: 19px;
  --text-body: 15px;
  --text-small: 13px;
  --text-micro: 11px;

  /* 间距 */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 28px;
  --space-7: 36px;

  /* 结构 */
  --shell-max: 520px;
  --nav-height: 66px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --shadow-soft: 0 1px 2px rgba(34, 36, 30, 0.05), 0 8px 24px rgba(34, 36, 30, 0.06);
  --shadow-float: 0 10px 28px rgba(34, 36, 30, 0.14);

  /* Reusable travel-archive glass: paper-led, low-gloss, cool and translucent. */
  --glass-paper-rgb: 243, 241, 230;
  --glass-mist-rgb: 221, 230, 214;
  --glass-jade-rgb: 122, 147, 135;
  --glass-deep-rgb: 74, 100, 96;
  --glass-surface-card: linear-gradient(145deg, rgba(var(--glass-paper-rgb), 0.44), rgba(var(--glass-mist-rgb), 0.28));
  --glass-surface-control: rgba(var(--glass-paper-rgb), 0.28);
  --glass-surface-primary: linear-gradient(135deg, rgba(var(--glass-jade-rgb), 0.68), rgba(var(--glass-deep-rgb), 0.56));
  --glass-border: rgba(232, 239, 232, 0.28);
  --glass-border-soft: rgba(221, 232, 224, 0.18);
  --glass-highlight: rgba(255, 255, 255, 0.22);
  --glass-ink-strong: #2f423d;
  --glass-ink: #405650;
  --glass-ink-muted: #596b65;
  --glass-ink-faint: #687a74;
  --glass-text-shadow: 0 1px 1px rgba(243, 241, 230, 0.2);
  --glass-progress-track: rgba(47, 66, 61, 0.2);
  --glass-progress-fill: linear-gradient(90deg, rgba(74, 100, 96, 0.92), rgba(112, 135, 127, 0.86));
  --glass-cinnabar: #89584d;
  --glass-cinnabar-soft: rgba(137, 88, 77, 0.12);
  --glass-shadow: 0 6px 18px rgba(35, 52, 48, 0.055);
  --glass-blur-card: 24px;
  --glass-blur-control: 12px;
}

@media (min-width: 420px) {
  :root {
    --text-display: 32px;
    --text-title: 25px;
  }
}
