:root {
  --bg: #0d0f14;
  --panel: #151922;
  --panel-2: #1b2030;
  --ink: #e9ecf3;
  --muted: #8a93a6;
  --line: #262c3b;
  --accent: #7c9cff;
  --good: #4fd18b;
  --warn: #ffb547;
  --bad: #ff6b6b;
  --chosen: #ffd166;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); }
body { font: 15px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: var(--accent); }
button, input, textarea, select { font: inherit; color: inherit; }
code, .mono { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 0.88em; }
.btn { border: 1px solid var(--line); background: var(--panel-2); border-radius: 8px; padding: 7px 14px; font-weight: 600; cursor: pointer; }
.btn:hover { border-color: var(--muted); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: #0b1020; }
.btn:disabled { opacity: 0.45; cursor: default; }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.hidden { display: none !important; }
