:root {
  /* Color: quiz-show energy, kept disciplined outside the TV screen */
  --ink: #14171f;
  --ink-soft: #2b2f3a;
  --paper: #f7f7f5;
  --paper-raised: #ffffff;
  --line: #e2e1dc;
  --line-strong: #c9c8c1;
  --navy: #1e2a4a;
  --navy-deep: #131b30;
  --signal: #f2b705;
  --signal-ink: #3a2c00;
  --correct: #2f9e5b;
  --incorrect: #d64545;
  --muted: #5b6270;
  --muted-on-navy: #a9b2c9;

  /* Answer option colors (kahoot-like but restrained) */
  --opt-a: #d6473f;
  --opt-b: #2469b3;
  --opt-c: #dc9a11;
  --opt-d: #2f9e5b;

  /* Type */
  --font-display: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Scale */
  --radius-sm: 4px;
  --radius-md: 8px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  --shadow-card: 0 1px 2px rgba(20, 23, 31, 0.06);
  --max-content: 1120px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #14171f;
    --paper-raised: #1b1f29;
    --ink: #f3f2ee;
    --ink-soft: #d7d6d1;
    --line: #2b2f3a;
    --line-strong: #3a3f4c;
    --muted: #9298a6;
  }
}

* { box-sizing: border-box; }

html {
  scroll-padding-top: env(safe-area-inset-top, 0px);
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 var(--space-3);
}

p { line-height: 1.6; color: var(--ink-soft); margin: 0 0 var(--space-3); }

a { color: inherit; }

button {
  font-family: var(--font-body);
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

.visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

:focus-visible {
  outline: 3px solid var(--signal);
  outline-offset: 2px;
}
