:root {
  color-scheme: dark;
  --bg-base: #07070b;
  --bg-soft: #0e1018;
  --bg-card: rgba(20, 22, 31, 0.82);
  --bg-card-strong: rgba(28, 31, 44, 0.94);
  --bg-elevated: rgba(36, 39, 55, 0.96);
  --ink: #f6f1e7;
  --ink-soft: #d7d0c4;
  --ink-muted: #9794a6;
  --line: rgba(234, 218, 180, 0.13);
  --line-strong: rgba(234, 218, 180, 0.28);
  --gold: #9186ff;
  --gold-soft: rgba(145, 134, 255, 0.16);
  --mist: #c8c2ff;
  --mist-soft: rgba(200, 194, 255, 0.16);
  --ink-deep: #171823;
  --success: #98d7ff;
  --warning: #8ea2bd;
  --danger: #9aa7bd;
  --wood: #42c5a6;
  --fire: #d86c5d;
  --earth: #d79c52;
  --metal: #dfe5ea;
  --water: #395981;
  --wood-soft: rgba(66, 197, 166, 0.16);
  --fire-soft: rgba(216, 108, 93, 0.16);
  --earth-soft: rgba(215, 156, 82, 0.18);
  --metal-soft: rgba(223, 229, 234, 0.14);
  --water-soft: rgba(57, 89, 129, 0.26);
  --font-ui: Inter, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-serif: "Noto Serif SC", "LXGW WenKai", "Songti SC", "STSong", Georgia, serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 44px;
  --shadow-soft: 0 18px 60px rgba(0, 0, 0, 0.28);
  --shadow-strong: 0 28px 90px rgba(0, 0, 0, 0.42);
  --transition-fast: 160ms ease;
  --transition-mid: 260ms cubic-bezier(.2, .8, .2, 1);
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg-base: #f7f5ff;
  --bg-soft: #eeebfb;
  --bg-card: rgba(255, 255, 255, 0.86);
  --bg-card-strong: rgba(255, 255, 255, 0.97);
  --bg-elevated: #ffffff;
  --ink: #1d1a30;
  --ink-soft: #4b455f;
  --ink-muted: #78728f;
  --line: rgba(71, 62, 132, 0.13);
  --line-strong: rgba(71, 62, 132, 0.24);
  --gold: #6257eb;
  --gold-soft: rgba(98, 87, 235, 0.11);
  --mist: #9b94ff;
  --mist-soft: rgba(155, 148, 255, 0.13);
  --ink-deep: #fbfaff;
  --shadow-soft: 0 18px 48px rgba(58, 48, 119, 0.12);
  --shadow-strong: 0 28px 76px rgba(58, 48, 119, 0.18);
}
