/* ===================================================================
   CARRIER — shared design tokens
   -------------------------------------------------------------------
   Single source of truth for colour and type across every page.
   Change a value here and it updates the homepage and all four rules
   pages at once.

   Deliberately tokens-only. The rules pages use a bespoke fixed-
   viewport pager layout and the homepage uses a normal scrolling
   layout, so their structural CSS is genuinely different and stays
   inline on each page.

   Link it before the page's own <style> block:
     <link rel="stylesheet" href="styles.css">          (root pages)
     <link rel="stylesheet" href="../../styles.css">    (rules pages)
   =================================================================== */

:root{
  /* --- surfaces ---
     True #000, not a near-black: the key art across the site carries its own
     pure-black margins, so any lighter base shows up as grey bars beside a
     letterboxed image. Safe here because body copy is --white (#eee8dc) and
     --grey, never pure #fff — the halation that makes #fff-on-#000 tiring to
     read never occurs. The body's CRT scanline lifts the rendered page to
     roughly #010101 anyway.
     --panel / --panel2 stay lifted: they are what makes a card read as
     raised, and they separate slightly better against #000. */
  --black:#000000;
  /* --band is the alternating section surface. Kept close enough to --black
     that the boundary is felt rather than seen — sections fade in and out of
     it instead of meeting at a hard rule. */
  --band:#131313;
  --panel:#161616;
  --panel2:#1c1c1c;

  /* --- brand reds --- */
  --red:#c81d1d;
  --brightred:#e8341f;
  --darkred:#6e1010;

  /* --- accents --- */
  --yellow:#f2c14e;
  --green:#3f8f5f;
  --grey:#9a9a9a;
  --white:#f5f2ea;

  /* --- structural lines ---
     Neutral by default: red reads as an accent, not as the page's
     default border colour. */
  --line:#2b2b2b;
  --border:#2a2a2a;

  /* --- role palette (rules pages) --- */
  --role-green:#3fae4a;
  --role-blue:#3f8cd4;
  --role-orange:#d97a2b;
  --role-olive:#8f9c3f;
  --role-gold:#d9a72b;
  --role-purple:#7c4fb0;

  /* --- type ---
     body  : readable at paragraph length, keeps the terminal feel
     display: headings, labels, stats, UI chrome
     accent : pull quotes and decorative numerals */
  --font-body:'JetBrains Mono','SFMono-Regular',Consolas,'Courier New',monospace;
  --font-display:'DotGothic16',monospace;
  --font-read:'Inter',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-accent:'VT323',monospace;
}

/* Respect the visitor's OS-level motion preference across every page:
   kills marquees, flicker, CRT pulse and transitions. */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .crt-overlay{ display:none; }
}
