/* Shared visual tokens. All fonts and assets stay local to the application. */
:root {
  color-scheme: dark;
  --canvas: #0d141a;
  --surface: #141e26;
  --surface-raised: #1b2832;
  --surface-hover: #23343f;
  --line: #2b3c48;
  --text: #eef3f5;
  --muted: #acbac4;
  --subtle: #8b9da9;
  --accent: #8edccb;
  --accent-hover: #b1eadf;
  --accent-ink: #102d29;
  --danger: #f3b4b3;
  --cyan: var(--accent);
  --warm: #e2c28e;
  --radius: 12px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); background: var(--canvas); }
button, input, textarea, select { font: inherit; }
button, summary, select, input[type="checkbox"] { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled, select:disabled { opacity: .45; cursor: not-allowed; }
:is(button, a, input, textarea, select, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
button, a, input, select, summary { transition: background-color .16s, border-color .16s, color .16s; }
button svg, .mark svg { width: 20px; height: 20px; flex: none; }
svg { display: block; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
::selection { background: #426b65; color: #fff; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
