:root {
  color-scheme: dark;
  --bg: #161826;
  --bg-deep: #0d0f18;
  --surface: #232532;
  --surface-raised: #2a2c3b;
  --surface-night-a: #2b2a55;
  --surface-night-b: #1d1e38;
  --text: #e9e9ed;
  --text-80: rgba(233, 233, 237, .8);
  --text-60: rgba(233, 233, 237, .6);
  --text-45: rgba(233, 233, 237, .45);
  --text-30: rgba(233, 233, 237, .3);
  --border: rgba(233, 233, 237, .08);
  --border-strong: rgba(233, 233, 237, .2);
  --accent: #9184d9;
  --accent-light: #b3a9e6;
  --accent-deep: #6a5bbf;
  --accent-08: rgba(145, 132, 217, .08);
  --accent-12: rgba(145, 132, 217, .12);
  --accent-20: rgba(145, 132, 217, .2);
  --accent-border: rgba(145, 132, 217, .4);
  --focus: #c9c1f4;
  --radius: 12px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --pad: 20px;
  --tap: 44px;
  --shadow-glow: 0 0 28px rgba(145, 132, 217, .25);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; background: var(--bg-deep); color: var(--text); }
body { -webkit-font-smoothing: antialiased; overscroll-behavior: none; }
button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid var(--focus); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}
