/* Shared design tokens. Games override --accent and may override anything. */
:root {
  color-scheme: dark;
  --bg: #0b0d14;
  --surface: #151a26;
  --surface-2: #1f2637;
  --ink: #eef1f8;
  --ink-2: #9aa3b8;
  --line: #2b3347;
  --ok: #3fdc8a;
  --warn: #ffc83d;
  --bad: #ff5e6c;
  --info: #5cb3ff;
  --accent: #5cb3ff;
  --accent-ink: #ffffff;

  --font-display: "Orbitron", "Rajdhani", ui-sans-serif, system-ui, sans-serif;
  --font-ui: "Inter", ui-sans-serif, system-ui, sans-serif;

  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px;
  --r-sm: 6px; --r-md: 12px; --r-lg: 20px; --r-pill: 999px;
  --shadow-1: 0 1px 2px rgb(31 27 22 / .08), 0 2px 6px rgb(31 27 22 / .06);
  --shadow-2: 0 1px 2px rgb(31 27 22 / .08), 0 8px 24px rgb(31 27 22 / .10);
  --shadow-3: 0 2px 4px rgb(31 27 22 / .10), 0 20px 48px rgb(31 27 22 / .16);

  --ease-out: cubic-bezier(.2,.8,.2,1);
  --ease-in: cubic-bezier(.4,0,1,1);
  --ease-spring: cubic-bezier(.34,1.56,.64,1);
  --t-fast: 120ms; --t-base: 220ms; --t-slow: 420ms;

  --gutter: 16px;
  --hud-h: 48px;
  --bp-md: 640px;
  --bp-lg: 960px;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f2f4fa; --surface: #ffffff; --surface-2: #e6eaf3;
  --ink: #141826; --ink-2: #5b6478; --line: #cfd6e4;
  --ok: #1f9d5f; --warn: #c78d00; --bad: #d63d4b; --info: #2a7fd6;
  --shadow-1: 0 1px 2px rgb(20 24 38 / .08), 0 2px 6px rgb(20 24 38 / .06);
}
:root[data-colorblind="1"] { --ok: #e69f00; --warn: #56b4e9; --bad: #8f8f8f; }
:root[data-contrast="1"] { --line: color-mix(in oklab, var(--ink) 40%, transparent); --ink-2: var(--ink); }
@media (prefers-reduced-motion: reduce) { :root { --t-fast: 1ms; --t-base: 80ms; --t-slow: 120ms; } }
:root[data-motion="reduced"] { --t-fast: 1ms; --t-base: 80ms; --t-slow: 120ms; }
