/* Hallmark · genre: atmospheric · macrostructure: Marquee Hero · theme: custom (vibe: "brand-blue instrument room, agentic night ops")
 * paper oklch(13.5% 0.02 258) dark / display geometric-sans (Geist 600) / accent cool blue (H 263, brand #2563EB)
 * nav: N1b (always-solid) · footer: Ft5 Statement · enrichment: Tier-B hand-built territory-map diagram
 * designed-as-app · design-system: design.md · v2 (2026-08-19): brand blue, sentence case, interactive storm player
 */
:root {
  /* colour · dark navy canvas, brand blue accent */
  --color-paper:      oklch(13.5% 0.02 258);
  --color-paper-2:    oklch(16.5% 0.022 258);
  --color-paper-3:    oklch(20% 0.024 258);
  --color-ink:        oklch(96% 0.008 255);
  --color-ink-2:      oklch(87% 0.01 255);
  --color-muted:      oklch(68% 0.016 255);
  --color-rule:       oklch(27% 0.02 258);
  --color-rule-2:     oklch(34% 0.022 258);
  --rule-blueprint:   oklch(96% 0.008 255 / 0.045);
  --rule-map:         oklch(96% 0.008 255 / 0.07);
  --fill-parcel:      oklch(96% 0.008 255 / 0.05);
  --color-accent:     oklch(55% 0.21 263);      /* brand blue, #2563EB */
  --color-accent-fill-hover: oklch(60% 0.19 262);
  --color-accent-ink: oklch(98% 0.005 255);     /* text on blue fills */
  --color-accent-2:   oklch(71% 0.13 253);      /* bright blue, #60A5FA: lines, glow, text accents */
  --color-glow:       oklch(71% 0.13 253 / 0.4);
  --color-glow-2:     oklch(71% 0.13 253 / 0.15);
  --color-paper-emit: oklch(60% 0.17 260 / 0.06);
  --color-emit-hover: oklch(60% 0.17 260 / 0.13);
  --color-spotlight:  oklch(71% 0.13 253 / 0.07);
  --color-swath-fill: oklch(60% 0.17 260 / 0.14);
  --color-scrim:      oklch(8% 0.015 258 / 0.6);
  --color-focus:      oklch(71% 0.13 253);
  --color-error:      oklch(72% 0.17 25);
  --color-ok:         oklch(78% 0.13 150);

  /* type · Geist carries display and body; JetBrains Mono is the label register */
  --font-display: "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-label:   "JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;

  --text-xs:   0.8rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.1875rem;
  --text-lg:   1.375rem;
  --text-xl:   1.625rem;
  --text-2xl:  2.0625rem;
  --text-stat: clamp(2.5rem, 4vw + 1rem, 4.25rem);
  --text-display-s: clamp(2rem, 2.8vw + 1rem, 3.2rem);
  --text-display:   clamp(2.6rem, 4.6vw + 1rem, 4.9rem);

  --tracking-display: -0.028em;
  --tracking-micro:   0.10em;

  /* space · 4pt */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  /* page */
  --page-max:    72rem;
  --page-gutter: clamp(1rem, 4vw, 2.5rem);

  /* motion */
  --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;
  --dur-pulse: 2.6s;

  /* shape */
  --radius-card:  14px;
  --radius-btn:   10px;
  --radius-input: 9px;
  --radius-pill:  999px;
  --rule-hair: 1px;

  /* z */
  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
  --z-tooltip:  600;
}
