/* FIDO, the Federal Identification of Democratic Orientation — design tokens
   Fonts: <link href="https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Courier+Prime:wght@400;700&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Barlow+Condensed:wght@600;700&display=swap" rel="stylesheet"> */

:root {
  /* Colour */
  --navy-800: #1b2a44;      /* primary, buttons, headings. Parchment on it 12.6:1 */
  --navy-950: #0f1830;      /* agency dark, band ground */
  --parchment: #f3eee2;     /* page ground */
  --paper-50: #fbf8f0;      /* raised paper: forms, inputs, notices */
  --gold-500: #b38b3f;      /* rules, frames, seal. DECORATIVE ONLY (2.7:1 on parchment) */
  --gold-300: #e3c27a;      /* gold text on navy */
  --yellow: #f2c230;        /* agency yellow: FIDO lettering on navy, scan marks (9.8:1 on navy) */
  --red-700: #9e2a2b;       /* alarm red: stamps, alerts (6.9:1 on parchment) */
  --red-500: #c8102e;       /* LIVE bug only */
  --blue-600: #234a86;      /* Democrat blue, focus ring (8.1:1) */
  --grey-600: #55565c;      /* undecided grey (6.6:1) */
  --ink-900: #1c1d22;       /* body text */
  --ink-700: #2a2b31;       /* long-form text */
  --ink-600: #4a4a52;       /* labels, secondary text (8:1) */
  --line-200: #d6cdb6;      /* paper borders */
  --line-100: #e6dfcd;      /* track / faint dividers */

  /* Sides of the aisle */
  --dem: #234a86;
  --rep: #9e2a2b;
  --even: #55565c;

  /* Type */
  --font-display: 'Libre Caslon Text', Georgia, serif;
  --font-body: 'Public Sans', system-ui, sans-serif;
  --font-label: 'Courier Prime', 'Courier New', monospace;
  --font-chyron: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --label-tracking: .16em; /* labels are ALL CAPS */

  --fs-display-xl: 42px;  /* desktop: clamp(52px, 6vw, 84px) */
  --fs-display-l: 30px;
  --fs-display-m: 24px;   /* section heads */
  --fs-body-l: 16px;      /* desktop 18px */
  --fs-body-s: 14px;      /* desktop 15px */
  --fs-button: 18px;      /* weight 700 */
  --fs-label: 11px;       /* desktop 12px */

  /* Spacing */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-7: 32px; --space-8: 48px; --space-9: 64px;
  --gutter: var(--space-5);
  --hit-min: 44px;

  /* Radius */
  --radius-0: 0;
  --radius-1: 6px;        /* buttons, fields */
  --radius-pill: 999px;   /* chips */
  --radius-sheet: 18px;   /* bottom sheet top corners */

  /* Lines & depth */
  --rule: 1px solid var(--gold-500);
  --btn-inset: inset 0 0 0 2px var(--gold-500);
  --shadow-1: 0 6px 16px rgba(15,24,48,.18);
  --shadow-2: 0 10px 26px rgba(15,24,48,.28);
  --focus: 3px solid var(--blue-600);

  /* Motion */
  --ease-stamp: cubic-bezier(.2,.9,.3,1.25);
  --ease-sweep: cubic-bezier(.45,0,.55,1);
}

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

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: 150ms !important; }
}
