/* Hallmark · route: custom (bespoke) · structure: Setlist — one pinned WebGL opener, hard-cut slabs, a house-lights close · idea: "the scroll is the bow"
 * paper: oklch(15% 0.012 60) · accent: oklch(84% 0.16 86) · display: Big Shoulders Display · body: Switzer · data: IBM Plex Mono
 * axes: dark / display-heavy (condensed) / warm · tone: brutalist · audience: venue bookers + fans · use: book Rooster, see shows
 * pre-emit critique: P5 H4 E4 S5 R4 V5 · gates: 57/58 pass, 38 deviates on purpose (mono carries one role: printed ledger data)
 * contrast: pass (40–41, canvas-resolved, desktop + 390px) · mobile: pass (34, 49, 50–57) · honest: pass (46) · nav: bespoke tab staff · footer: inside the close · studied: no
 */
:root {
  color-scheme: dark;

  /* roadhouse black, bone, neon gold */
  --color-paper:        oklch(15% 0.012 60);
  --color-paper-2:      oklch(19% 0.014 60);
  --color-paper-3:      oklch(23.5% 0.016 62);
  --color-rule:         oklch(36% 0.016 65);
  --color-rule-2:       oklch(27% 0.013 62);
  --color-ink:          oklch(94% 0.02 85);
  --color-ink-2:        oklch(84% 0.022 80);
  --color-muted:        oklch(72% 0.02 75);
  --color-accent:       oklch(84% 0.16 86);
  --color-accent-ink:   oklch(17% 0.02 60);
  --color-focus:        oklch(88% 0.18 92);
  --color-signal:       oklch(68% 0.19 32);      /* tail-light red: "last copy" and the WebGL only */
  --color-shade:        oklch(10% 0.01 60);      /* the density plate under opener copy */
  --shade-plate:        color-mix(in oklab, oklch(10% 0.01 60) 78%, transparent);
  --shade-halo:         color-mix(in oklab, oklch(10% 0.01 60) 85%, transparent);
  --color-bulb:         oklch(84% 0.16 86);      /* the house-light bulbs stay gold on the bone ground */
  /* neon: the accent as light (alpha is a modifier on the one accent, not a new colour) */
  --glow-core: color-mix(in oklab, oklch(90% 0.14 88) 90%, transparent);
  --glow-halo: color-mix(in oklab, oklch(84% 0.16 86) 45%, transparent);
  --glow-far:  color-mix(in oklab, oklch(80% 0.17 80) 16%, transparent);

  /* house lights: the close cuts to bone; one hue, a darker stop for the light ground */
  --color-house:        oklch(93% 0.022 85);
  --color-house-2:      oklch(88% 0.026 82);
  --color-house-ink:    oklch(18% 0.015 60);
  --color-house-muted:  oklch(38% 0.02 62);
  --color-house-accent: oklch(46% 0.11 68);
  --color-house-rule:   oklch(70% 0.02 75);

  --font-display: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --font-body:    "Switzer", "Helvetica Neue", sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, monospace;

  /* type: major third from 16px, with two poster sizes for the openers and the close */
  --text-xs:   0.8rem;
  --text-sm:   0.875rem;
  --text-base: 1.0625rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   clamp(1.75rem, 1.2rem + 1.6vw, 2.4rem);
  --text-2xl:  clamp(2.2rem, 1.4rem + 3vw, 3.6rem);
  --text-display: clamp(3rem, 1.6rem + 5.6vw, 6.5rem);
  --text-mega: clamp(4.4rem, 1rem + 13.5vw, 13.5rem);

  /* 4pt spacing */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;
  --gutter:    clamp(1rem, 0.4rem + 3vw, 3.5rem);
  --slab-pad:  clamp(3.5rem, 2rem + 6vw, 8rem);
  --maxw:      90rem;

  --rule-hair: 1px;
  --rule-bold: 3px;
  --radius-none: 0;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  --staff-h:  3.75rem;
  --ticker-h: 1.875rem;
  --chrome-h: calc(var(--staff-h) + var(--ticker-h));

  /* the engine reads these */
  --sc-canvas:       var(--color-paper);
  --sc-surface:      var(--color-paper-2);
  --sc-ink:          var(--color-ink);
  --sc-ink-soft:     var(--color-muted);
  --sc-accent:       var(--color-accent);
  --sc-accent-ink:   var(--color-accent-ink);
  --sc-font-display: var(--font-display);
  --sc-font-text:    var(--font-body);
  --sc-font-mono:    var(--font-mono);
}
