/* Neobrutalist design tokens, aligned with neobrutalism.dev's verified rules:
   2px black borders, 4px hard shadows, 5px radii, one saturated accent. */
:root {
  /* paper + ink (home default is the upstream pale blue) */
  --paper: #dcebfe;
  --paper-2: color-mix(in srgb, var(--paper), #000 7%);
  --surface: #ffffff;
  --surface-2: #f1f5fb;
  --ink: #000000;
  --muted: #4b5563;
  --line: #000000;

  /* accents (black text passes AAA on every one) */
  --yellow: #facc00;
  --cyan: #00c8f0;
  --pink: #fc64ab;
  --green: #05e17a;
  --orange: #ffbf00;
  --red: #ff4d50;
  --blue: #5294ff;

  /* status text (darker, for prose) */
  --good: #067a3a;
  --bad: #c1121f;
  --warn: #8a5a00;
  --focus: #000000;

  /* active exam accent, overridden by [data-exam] */
  --accent: var(--blue);
  --accent-ink: #000000;

  /* structure */
  --border-w: 2px;
  --border: var(--border-w) solid var(--ink);
  --border-thin: 2px solid var(--ink);
  --radius: 5px;
  --radius-sm: 5px;
  --radius-pill: 999px;
  --shadow: 4px 4px 0 0 var(--ink);
  --shadow-sm: 2px 2px 0 0 var(--ink);
  --shadow-lg: 6px 6px 0 0 var(--ink);
  --maxw: 1080px;
  --gap: 16px;

  /* type */
  --font-display: "Archivo Black", "Arial Black", "Helvetica Neue", Impact, sans-serif;
  --font-body: "DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* z */
  --z-nav: 20;
  --z-toast: 60;
  --z-dialog: 50;
}

/* One accent per exam; page tint follows the accent hue. */
[data-exam="secplus"] {
  --paper: #e3f9ea;
  --accent: var(--green);
}
[data-exam="netplus"] {
  --paper: #fff7cc;
  --accent: var(--yellow);
}
[data-exam="cysa"] {
  --paper: #ddf6fb;
  --accent: var(--cyan);
}

@media (max-width: 640px) {
  :root {
    --border-w: 2px;
    --shadow: 3px 3px 0 0 var(--ink);
    --shadow-sm: 2px 2px 0 0 var(--ink);
    --shadow-lg: 4px 4px 0 0 var(--ink);
    --gap: 12px;
  }
}

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