:root {
  --board: #0c1422;
  --board-mid: #152033;
  --chalk: #f3ead8;
  --chalk-muted: #b7ab93;
  --amber: #e2b15a;
  --amber-deep: #c9923a;
  --ok: #6fbe8a;
  --danger: #d45c4a;
  --font-display: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;
  --font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;

  --bg: var(--board);
  --bg-gradient: var(--board);
  --text: var(--chalk);
  --text-secondary: var(--chalk-muted);
  --text-muted: #8d826d;
  --accent: var(--amber);
  --accent-hover: #f0c56f;
  --accent-gradient: var(--amber);
  --accent-gradient-2: var(--amber);
  --border: rgba(243, 234, 216, 0.12);
  --border-hover: rgba(226, 177, 90, 0.45);
  --surface: rgba(243, 234, 216, 0.04);
  --surface-hover: rgba(243, 234, 216, 0.08);
  --card-bg: var(--board-mid);
  --card-gradient: var(--board-mid);
  --nav-bg: rgba(12, 20, 34, 0.92);
  --dot-color: rgba(243, 234, 216, 0.06);
  --glow-1: transparent;
  --glow-2: transparent;
  --glow-3: transparent;
  --section-bg: transparent;
  --input-gradient: #101a2b;
  --input-border: rgba(243, 234, 216, 0.16);
  --shadow: none;
  --sidebar-bg: rgba(21, 32, 51, 0.92);
  --sidebar-active: rgba(226, 177, 90, 0.12);
  --btn-bg: rgba(243, 234, 216, 0.06);
  --btn-border: rgba(243, 234, 216, 0.14);
  --btn-text: var(--chalk-muted);
  --option-bg: rgba(243, 234, 216, 0.05);
  --option-hover: rgba(226, 177, 90, 0.12);
  --option-border: rgba(243, 234, 216, 0.16);
  --divider: rgba(243, 234, 216, 0.1);
  --tap: 48px;
}

[data-theme="light"] {
  --board: #f4efe4;
  --board-mid: #fffdf8;
  --chalk: #1c1710;
  --chalk-muted: #5c5346;
  --amber: #b07a1e;
  --amber-deep: #8c5f12;
  --ok: #2f7a4a;
  --danger: #b42318;
  --bg: var(--board);
  --bg-gradient: var(--board);
  --text: var(--chalk);
  --text-secondary: var(--chalk-muted);
  --text-muted: #7a7164;
  --accent: var(--amber);
  --accent-hover: #c48a24;
  --accent-gradient: var(--amber);
  --accent-gradient-2: var(--amber);
  --border: rgba(28, 23, 16, 0.1);
  --border-hover: rgba(176, 122, 30, 0.4);
  --surface: rgba(28, 23, 16, 0.03);
  --surface-hover: rgba(28, 23, 16, 0.06);
  --card-bg: var(--board-mid);
  --card-gradient: var(--board-mid);
  --nav-bg: rgba(244, 239, 228, 0.94);
  --dot-color: rgba(28, 23, 16, 0.05);
  --input-gradient: #fffdf8;
  --input-border: rgba(28, 23, 16, 0.14);
  --sidebar-bg: rgba(255, 253, 248, 0.94);
  --sidebar-active: rgba(176, 122, 30, 0.1);
  --btn-bg: rgba(28, 23, 16, 0.04);
  --btn-border: rgba(28, 23, 16, 0.12);
  --btn-text: var(--chalk-muted);
  --option-bg: rgba(28, 23, 16, 0.04);
  --option-hover: rgba(176, 122, 30, 0.1);
  --option-border: rgba(28, 23, 16, 0.12);
  --divider: rgba(28, 23, 16, 0.1);
}

html { color-scheme: dark; }
[data-theme="light"] { color-scheme: light; }

*:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}
