@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/ibm-plex-sans-400.ttf") format("truetype"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/ibm-plex-sans-500.ttf") format("truetype"); }
@font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/space-grotesk-500.ttf") format("truetype"); }
:root {
  color-scheme: dark;
  font-family: Eurostile, "Eurostile Extended", "Eurostile Next", Microgramma, "Microgramma D Extended", "Square 721", "Bank Gothic", "BankGothic Md BT", Michroma, Rajdhani, "Exo 2", Orbitron, "DIN Condensed", "DIN Alternate", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  --background: #10151e;
  --surface: #171e2a;
  --panel: #1c2533;
  --line: #344155;
  --foreground: #e3e9f2;
  --muted: #aab8cc;
  --accent: #84b6ff;
  --answer: #182f2b;
  --danger: #ffabab;
}
:root[data-theme=light] {
  color-scheme: light;
  --background: #f8f9fc;
  --surface: #ffffff;
  --panel: #f0f3f8;
  --line: #d5dce7;
  --foreground: #313849;
  --muted: #58677d;
  --accent: #265db6;
  --answer: #eaf5f0;
  --danger: #a12838;
}
body { background: var(--background); color: var(--foreground); font-family: inherit; font-size: .9rem; line-height: 1.5; font-weight: 400; }
h1, h2, h3 { font-family: inherit; font-weight: 500; line-height: 1.3; }
strong, b, th, button { font-weight: 500; }
button, input, select, textarea { color: var(--foreground); background: var(--surface); border-color: var(--line); font-family: inherit; }
button { transition: background-color .15s, border-color .15s; }
button:hover:not(:disabled) { background: var(--panel); border-color: var(--accent); }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
header { background: var(--surface); border-bottom: 1px solid var(--line); }
aside, .metric, details, .source-status { background: var(--panel); }
#dashboard, #chat, dialog { background: var(--surface); }
#dashboard-nav [aria-current=page], .metric strong { font-weight: 500; }
#dashboard-nav [aria-current=page] { background: var(--surface); }
.metric h3 { font-family: inherit; font-weight: 500; letter-spacing: .04em; }
.progress-meter { background: color-mix(in srgb,var(--panel) 70%,var(--background)); }
.hint, .timing, #session-id { color: var(--muted); opacity: 1; }
.chart text { font-family: inherit; }
footer { background: var(--surface); }
.live-heading { background: var(--panel); }
#theme-storage-error { color: var(--danger); padding: .75rem 1rem; margin: 0; }
