:root {
  color-scheme: dark;
  --black: #0A0A0B; --ink: #111113; --charcoal: #18181B; --line: #2A2A2E;
  --maroon: #7A212E; --maroon-bright: #B23A4E; --bone: #F2EDE4; --steel: #9A9893; --gold: #D9B45A; --red: #E5686F;
  --display: 'Anton', 'Impact', sans-serif; --body: 'Inter', system-ui, sans-serif; --mono: 'JetBrains Mono', ui-monospace, monospace;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }
body { background: var(--black); color: var(--bone); font-family: var(--body); font-size: 15px; line-height: 1.5; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; line-height: 1.05; }
button, input, select { font: inherit; color: inherit; }
input, select { background: var(--ink); border: 1px solid var(--line); border-radius: 4px; padding: 8px 10px; min-width: 0; }
input:focus, select:focus, button:focus-visible { outline: 2px solid var(--gold); outline-offset: 1px; }
button { background: var(--charcoal); border: 1px solid var(--line); border-radius: 4px; padding: 8px 14px; cursor: pointer; font-weight: 600; white-space: nowrap; }
button:hover:not(:disabled) { border-color: var(--steel); }
button:disabled { opacity: .45; cursor: not-allowed; }
button.primary { background: var(--maroon); border-color: var(--maroon-bright); }
button.primary:hover:not(:disabled) { background: var(--maroon-bright); }
button.small { padding: 3px 9px; font-size: 13px; }
a { color: var(--gold); }
.mono { font-family: var(--mono); }
.muted { color: var(--steel); }
.demo-flag { background: var(--gold); color: #000; font-family: var(--mono); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-align: center; padding: 4px; }
