/* GENERATED by scripts/compile-theme.mjs from theme "precision-tork" v0.1.0 — do not edit; edit the theme and re-assemble. */

/* ---- palette ---- */
:root {
  --navy: #194479;
  --signal: #19A48F;
  --white: #FFFFFF;
  --signal-hover: #1CBAA2;
  --signal-pressed: #158978;
  --signal-wash: rgba(25,164,143,0.07);
  --correct: #035731;
  --incorrect: #9A1616;
  --correct-wash: rgba(3,87,49,0.08);
  --incorrect-wash: rgba(154,22,22,0.07);
  --page: #F4F6F8;
  --border: #C9D5DD;
  --muted: #8A93A3;
  --secondary: #5E6D79;
  --ink: #243343;
  --bar-deep: #14263B;
  --disabled-fill: #C3CAD6;
  --disabled-btn: #B7C0CE;
  --illus-yellow: #F5C400;
  --illus-black: #1A1A1A;
  --illus-red: #E5463E;
  --illus-royal: #4169E1;
  --on-navy-rule: rgba(255,255,255,0.22);
  --on-navy-track: rgba(255,255,255,0.14);
  --on-navy-border: rgba(255,255,255,0.50);
  --surface-page: var(--page);
  --surface-card: var(--white);
  --surface-chrome: var(--navy);
  --surface-stage: var(--navy-l3);
  --surface-card-a94: rgba(255,255,255,0.94);
  --surface-card-a85: rgba(255,255,255,0.85);
  --text-body: var(--ink);
  --text-secondary: var(--secondary);
  --text-muted: var(--muted);
  --text-on-navy: var(--white);
  --text-on-accent: var(--white);
  --text-on-bubble: var(--ink);
  --text-heading: var(--navy);
  --text-on-signal: var(--bar-deep);
  --text-prose: var(--ink);
  --text-heading-soft: var(--navy-l2);
  --text-on-navy-soft: var(--grey-9);
  --text-on-disabled: var(--page);
  --accent: var(--signal);
  --accent-hover: var(--signal-hover);
  --divider: var(--border);
  --blue: var(--signal);
  --surface-deep: var(--bar-deep);
  --line: var(--border);
  --font-head: var(--font-sans);
  --font-display: 'Archivo', sans-serif;
  --radius-lg: var(--radius-card);
  --radius-btn: 999px;
  --mc-rail-w: 480px;
  --black: #000000;
  --ink-deep: #080C1A;
  --play-hover: var(--signal-hover);
  --continue-hover: var(--signal-hover);
  --signal-text: #137C6C;
  --signal-deep: #168E7C;
  --signal-light: #1FCCB2;
  --signal-pale: #8DEEDF;
  --signal-wash-2: rgba(25,164,143,0.06);
  --signal-wash-3: rgba(25,164,143,0.08);
  --correct-text: #035731;
  --correct-light: #07D276;
  --correct-wash-2: rgba(3,87,49,0.10);
  --correct-wash-3: rgba(3,87,49,0.12);
  --incorrect-text: #9A1616;
  --incorrect-deep: #7F1212;
  --incorrect-vivid: #C71C1C;
  --incorrect-light: #F2A4A4;
  --incorrect-pale: #FFB4AE;
  --incorrect-pink: #FF6B86;
  --incorrect-wine: #A63244;
  --incorrect-maroon: #7F1D1D;
  --incorrect-wash-2: rgba(154,22,22,0.08);
  --orange: #D97757;
  --orange-deep: #C96442;
  --orange-deeper: #B5563A;
  --marker-yellow: #FFD23F;
  --navy-bright: #3079D4;
  --certificate-watermark: #D0021B;
  --navy-l1: #20589C;
  --navy-l2: #235FA8;
  --navy-l3: #1D508E;
  --navy-l4: #1C4D89;
  --navy-l5: #194377;
  --navy-d1: #184275;
  --navy-d2: #13345C;
  --navy-d3: #14365F;
  --navy-d4: #123157;
  --navy-d5: #123055;
  --navy-d6: #123056;
  --navy-d7: #123056;
  --navy-d8: #0F2949;
  --navy-d9: #112E51;
  --navy-d10: #0F2846;
  --navy-d11: #123157;
  --navy-d12: #102A4B;
  --navy-d13: #102B4D;
  --navy-d14: #0F2846;
  --navy-d16: #0F2847;
  --grey-1: #F7F9FC;
  --grey-2: #F4F6FA;
  --grey-3: #F1F4F9;
  --grey-4: #F1F4F8;
  --grey-5: #F2F1EF;
  --grey-6: #E7EBF1;
  --grey-7: #E4EAF2;
  --grey-8: #E4E9F0;
  --grey-9: #E8E8E8;
  --grey-10: #D5DCE8;
  --grey-11: #C7CEDA;
  --grey-12: #6E6C66;
  --black-l1: #2A2A2A;
  --black-l2: #242424;
  --black-l3: #1F1F1F;
  --black-l4: #141414;
  --black-l5: #161616;
  --white-a04: rgba(255,255,255,0.04);
  --white-a06: rgba(255,255,255,0.06);
  --white-a08: rgba(255,255,255,0.08);
  --white-a10: rgba(255,255,255,0.10);
  --white-a12: rgba(255,255,255,0.12);
  --white-a13: rgba(255,255,255,0.13);
  --white-a15: rgba(255,255,255,0.15);
  --white-a16: rgba(255,255,255,0.16);
  --white-a18: rgba(255,255,255,0.18);
  --white-a20: rgba(255,255,255,0.20);
  --white-a25: rgba(255,255,255,0.25);
  --white-a28: rgba(255,255,255,0.28);
  --white-a30: rgba(255,255,255,0.30);
  --white-a35: rgba(255,255,255,0.35);
  --white-a42: rgba(255,255,255,0.42);
  --white-a45: rgba(255,255,255,0.45);
  --white-a55: rgba(255,255,255,0.55);
  --white-a60: rgba(255,255,255,0.60);
  --white-a62: rgba(255,255,255,0.62);
  --white-a65: rgba(255,255,255,0.65);
  --white-a66: rgba(255,255,255,0.66);
  --white-a70: rgba(255,255,255,0.70);
  --white-a72: rgba(255,255,255,0.72);
  --white-a75: rgba(255,255,255,0.75);
  --white-a80: rgba(255,255,255,0.80);
  --white-a82: rgba(255,255,255,0.82);
  --white-a85: rgba(255,255,255,0.85);
  --white-a88: rgba(255,255,255,0.88);
  --white-a90: rgba(255,255,255,0.90);
  --white-a92: rgba(255,255,255,0.92);
  --white-a94: rgba(255,255,255,0.94);
  --white-a95: rgba(255,255,255,0.95);
  --signal-a06: rgba(25,164,143,0.06);
  --signal-a08: rgba(25,164,143,0.08);
  --signal-a10: rgba(25,164,143,0.10);
  --signal-a12: rgba(25,164,143,0.12);
  --signal-a14: rgba(25,164,143,0.14);
  --signal-a15: rgba(25,164,143,0.15);
  --signal-a16: rgba(25,164,143,0.16);
  --signal-a18: rgba(25,164,143,0.18);
  --signal-a20: rgba(25,164,143,0.20);
  --signal-a22: rgba(25,164,143,0.22);
  --signal-a25: rgba(25,164,143,0.25);
  --signal-a28: rgba(25,164,143,0.28);
  --signal-a30: rgba(25,164,143,0.30);
  --signal-a35: rgba(25,164,143,0.35);
  --signal-a40: rgba(25,164,143,0.40);
  --signal-a45: rgba(25,164,143,0.45);
  --signal-a50: rgba(25,164,143,0.50);
  --signal-a55: rgba(25,164,143,0.55);
  --signal-a60: rgba(25,164,143,0.60);
  --signal-a70: rgba(25,164,143,0.70);
  --signal-a85: rgba(25,164,143,0.85);
  --signal-a90: rgba(25,164,143,0.90);
  --signal-a95: rgba(25,164,143,0.95);
  --black-a00: rgba(0,0,0,0.00);
  --black-a04: rgba(0,0,0,0.04);
  --black-a05: rgba(0,0,0,0.05);
  --black-a06: rgba(0,0,0,0.06);
  --black-a15: rgba(0,0,0,0.15);
  --black-a18: rgba(0,0,0,0.18);
  --black-a20: rgba(0,0,0,0.20);
  --black-a25: rgba(0,0,0,0.25);
  --black-a28: rgba(0,0,0,0.28);
  --black-a30: rgba(0,0,0,0.30);
  --black-a32: rgba(0,0,0,0.32);
  --black-a35: rgba(0,0,0,0.35);
  --black-a40: rgba(0,0,0,0.40);
  --black-a45: rgba(0,0,0,0.45);
  --black-a50: rgba(0,0,0,0.50);
  --black-a55: rgba(0,0,0,0.55);
  --black-a65: rgba(0,0,0,0.65);
  --black-a75: rgba(0,0,0,0.75);
  --black-a80: rgba(0,0,0,0.80);
  --bar-deep-a00: rgba(20,38,59,0.00);
  --bar-deep-a50: rgba(20,38,59,0.50);
  --bar-deep-a55: rgba(20,38,59,0.55);
  --bar-deep-a72: rgba(20,38,59,0.72);
  --bar-deep-a78: rgba(20,38,59,0.78);
  --bar-deep-a80: rgba(20,38,59,0.80);
  --bar-deep-a86: rgba(20,38,59,0.86);
  --bar-deep-a92: rgba(20,38,59,0.92);
  --bar-deep-a98: rgba(20,38,59,0.98);
  --navy-a04: rgba(25,68,121,0.04);
  --navy-a05: rgba(25,68,121,0.05);
  --navy-a06: rgba(25,68,121,0.06);
  --navy-a14: rgba(25,68,121,0.14);
  --navy-a24: rgba(25,68,121,0.24);
  --navy-a35: rgba(25,68,121,0.35);
  --navy-a82: rgba(25,68,121,0.82);
  --navy-a92: rgba(25,68,121,0.92);
  --ink-deep-a30: rgba(8,12,26,0.30);
  --ink-deep-a35: rgba(8,12,26,0.35);
  --ink-deep-a40: rgba(8,12,26,0.40);
  --ink-deep-a45: rgba(8,12,26,0.45);
  --ink-deep-a55: rgba(8,12,26,0.55);
  --ink-deep-a80: rgba(8,12,26,0.80);
  --correct-a10: rgba(3,87,49,0.10);
  --correct-a12: rgba(3,87,49,0.12);
  --correct-a14: rgba(3,87,49,0.14);
  --correct-a40: rgba(3,87,49,0.40);
  --correct-a45: rgba(3,87,49,0.45);
  --correct-a90: rgba(3,87,49,0.90);
  --incorrect-a05: rgba(154,22,22,0.05);
  --incorrect-a09: rgba(154,22,22,0.09);
  --incorrect-a12: rgba(154,22,22,0.12);
  --incorrect-a15: rgba(154,22,22,0.15);
  --incorrect-a40: rgba(154,22,22,0.40);
  --incorrect-a45: rgba(154,22,22,0.45);
  --navy-d8-a35: rgba(15,41,73,0.35);
  --navy-d8-a42: rgba(15,41,73,0.42);
  --navy-d8-a50: rgba(15,41,73,0.50);
  --navy-d9-a55: rgba(17,46,81,0.55);
  --navy-d9-a86: rgba(17,46,81,0.86);
  --navy-d9-a90: rgba(17,46,81,0.90);
  --orange-a18: rgba(217,119,87,0.18);
  --orange-a25: rgba(217,119,87,0.25);
  --orange-a65: rgba(217,119,87,0.65);
  --navy-d14-a00: rgba(15,40,70,0.00);
  --navy-d14-a92: rgba(15,40,70,0.92);
  --incorrect-wine-a18: rgba(166,50,68,0.18);
  --incorrect-wine-a30: rgba(166,50,68,0.30);
  --navy-d10-a72: rgba(15,40,70,0.72);
  --incorrect-maroon-a14: rgba(127,29,29,0.14);
  --navy-d11-a18: rgba(18,49,87,0.18);
  --navy-d12-a35: rgba(16,42,75,0.35);
  --navy-d13-a35: rgba(16,43,77,0.35);
  --navy-d5-a55: rgba(18,48,85,0.55);
  --navy-bright-a28: rgba(48,121,212,0.28);
  --orange-deep-a10: rgba(201,100,66,0.10);
  --navy-d16-a90: rgba(15,40,71,0.90);
  --black-l5-a94: rgba(22,22,22,0.94);
  --black-a60: rgba(0,0,0,0.60);
  --black-a85: rgba(0,0,0,0.85);
  --white-a07: rgba(255,255,255,0.07);
  --white-a09: rgba(255,255,255,0.09);
  --white-a11: rgba(255,255,255,0.11);
  --white-a14: rgba(255,255,255,0.14);
  --white-a22: rgba(255,255,255,0.22);
  --white-a24: rgba(255,255,255,0.24);
  --white-a26: rgba(255,255,255,0.26);
  --white-a34: rgba(255,255,255,0.34);
  --white-a40: rgba(255,255,255,0.40);
  --white-a50: rgba(255,255,255,0.50);
  --white-a52: rgba(255,255,255,0.52);
  --black-a10: rgba(0,0,0,0.10);
  --black-a22: rgba(0,0,0,0.22);
  --black-a26: rgba(0,0,0,0.26);
  --black-a34: rgba(0,0,0,0.34);
  --black-a62: rgba(0,0,0,0.62);
  --black-a70: rgba(0,0,0,0.70);
  --black-a90: rgba(0,0,0,0.90);
  --black-a95: rgba(0,0,0,0.95);
  --black-a72: rgba(0,0,0,0.72);
  --black-a02: rgba(0,0,0,0.02);
  --black-a14: rgba(0,0,0,0.14);
  --white-a05: rgba(255,255,255,0.05);
  --lens-cur-hi: var(--correct-light);
  --lens-cur-mid: var(--correct);
  --lens-cur-lo: var(--correct-text);
  --lens-cur-glow: rgba(3,87,49,0.40);
  --lens-seen-hi: var(--marker-yellow);
  --lens-seen-mid: var(--illus-yellow);
  --lens-seen-lo: var(--orange-deep);
  --lens-seen-glow: rgba(217,119,87,0.38);
  --lens-un-hi: var(--incorrect-light);
  --lens-un-mid: var(--incorrect);
  --lens-un-lo: var(--incorrect-deep);
  --lens-un-glow: rgba(154,22,22,0.34);
  --lens-ink: var(--ink);
  --face-open-hi: var(--correct-light);
  --face-open-lo: var(--correct);
  --face-open-glow: rgba(3,87,49,0.75);
  --face-shut-hi: var(--marker-yellow);
  --face-shut-lo: var(--illus-yellow);
  --face-shut-glow: rgba(217,119,87,0.75);
  --led-on: var(--correct);
  --led-on-glow: rgba(3,87,49,0.90);
  --led-on-dim: rgba(3,87,49,0.20);
  --led-off: var(--incorrect);
  --led-off-glow: rgba(154,22,22,0.85);
  --led-off-dim: rgba(154,22,22,0.20);
  --knob-hi: var(--navy-l1);
  --knob-lo: var(--navy-d8);
  --disc-hi: var(--navy-l1);
  --disc-lo: var(--navy-d8);
  --paddle-hi: var(--grey-6);
  --paddle-lo: var(--muted);
  --pointer-hi: var(--grey-1);
  --pointer-lo: var(--grey-10);
  --pointer-mark: var(--navy);
  --housing-hi: var(--navy-l2);
  --housing-lo: var(--navy-d3);
  --well-hi: var(--navy-d8);
  --well-lo: var(--navy-d1);
  --legend-lit: var(--white);
  --legend-dim: var(--muted);
  --cap-green: var(--correct);
  --cap-red: var(--incorrect);
  --cap-gold: var(--illus-yellow);
  --cap-dark: var(--navy-l1);
  --cap-steel-1: var(--grey-1);
  --cap-steel-2: var(--grey-10);
  --cap-steel-3: var(--secondary);
  --cap-steel-4: var(--grey-6);
  --cap-steel-5: var(--muted);
  --cap-steel-6: var(--grey-2);
  --cap-steel-7: var(--secondary);
  --cap-steel-8: var(--grey-10);
  --cap-machined-hi: var(--navy-l1);
  --cap-machined-lo: var(--navy-d8);
  --cap-bore-1: var(--grey-11);
  --cap-bore-2: var(--muted);
  --cap-bore-3: var(--secondary);
  --cap-bore-4: var(--navy-l1);
  --cap-bore-5: var(--navy-d8);
  --cap-bore-6: var(--ink-deep);
  --cap-glass: var(--ink-deep);
  --cap-collar: var(--navy-l1);
  --bezel-hi: var(--navy-l1);
  --bezel-mid: var(--navy-d1);
  --bezel-lo: var(--navy-d3);
  --keycap-hi: var(--navy-l1);
  --keycap-mid: var(--navy-d3);
  --keycap-lo: var(--navy-d9);
  --keycap-off-hi: var(--navy-d1);
  --keycap-off-mid: var(--navy-d5);
  --step-off-face: var(--navy-d8);
  --step-off-ink: var(--navy-l1);
  --step-ink: var(--ink);
  --chip-hi: var(--correct-light);
  --chip-mid: var(--correct);
  --chip-lo: var(--correct-text);
  --chip-ink: var(--ink);
  --vfd-hi: var(--navy-d3);
  --vfd-lo: var(--navy-d9);
  --vfd-ink: var(--marker-yellow);
  --vfd-glow: rgba(217,119,87,0.65);
  --slide-housing-hi: var(--navy-l2);
  --slide-housing-lo: var(--navy-d3);
  --slide-track: var(--navy-d9);
  --slide-track-edge: var(--navy-d8);
  --slide-on-hi: var(--correct-light);
  --slide-on-lo: var(--correct-text);
  --slide-on-ink: var(--ink);
  --slide-off-hi: var(--incorrect-light);
  --slide-off-lo: var(--incorrect-deep);
  --slide-off-ink: var(--ink);
  --lamp-ring: var(--muted);
  --lamp-base: var(--navy-d8);
  --lamp-green-hi: var(--correct-light);
  --lamp-green-glow: rgba(3,87,49,0.85);
  --lamp-green-dim: rgba(3,87,49,0.20);
  --lamp-red-hi: var(--incorrect-vivid);
  --lamp-red-glow: rgba(154,22,22,0.80);
  --lamp-red-dim: rgba(154,22,22,0.20);
  --ann-on: var(--white);
  --ann-on-glow: rgba(255,255,255,0.42);
  --ann-drain: var(--muted);
  --plate-hi: var(--navy-l1);
  --plate-mid: var(--navy-d1);
  --plate-lo: var(--navy-d9);
  --tab-ink: var(--ink);
  --drawer-card-hi: var(--navy-d1);
  --drawer-card-lo: var(--navy-d8);
  --drawer-edge: var(--navy-l1);
  --rail-hi: var(--navy-l1);
  --rail-lo: var(--navy-d3);
  --rail-slot: var(--navy-d8);
  --rail-slot-line: var(--navy-l1);
  --screw-hi: var(--muted);
  --screw-lo: var(--navy-l1);
  --drawer-box: var(--navy-d9);
  --drawer-box-edge: var(--navy-l2);
  --live: var(--correct);
  --live-glow: rgba(3,87,49,0.90);
  --chip-hover-hi: var(--correct-wash-2);
  --chip-hover-mid: var(--correct-light);
  --chip-hover-lo: var(--correct-text);
  --key-drop: var(--ink-deep);
  --cap-edge: var(--ink-deep);
  --lens-off-hi: var(--navy-l1);
  --lens-off-mid: var(--navy-d3);
  --lens-off-lo: var(--navy-d9);
  --lens-off-ink: var(--muted);
  --crt-hi: var(--navy-d3);
  --crt-lo: var(--navy-d10);
  --crt-glow: rgba(3,87,49,0.10);
  --crt-ink: var(--correct-light);
  --crt-ink-glow: rgba(3,87,49,0.55);
  --crt-active: var(--correct-wash-2);
  --crt-active-glow: rgba(3,87,49,0.90);
  --crt-unseen: var(--correct-text);
  --crt-dim: var(--correct-text);
  --crt-hover: rgba(3,87,49,0.14);
  --crt-rule-glow: rgba(3,87,49,0.50);
  --crt-line: rgba(3,87,49,0.22);
  --crt-cursor-glow: rgba(3,87,49,0.60);
  --crt-edge: var(--black-l4);
  --crt-edge-in: var(--navy-d9);
  --crt-reticle: var(--correct-light);
  --boot-ink: var(--correct-light);
  --boot-ground: var(--navy-d10);
  --boot-ground-2: var(--navy-d9);
  --boot-inv-ink: var(--navy-d10);
  --boot-hi: var(--correct-light);
  --boot-hi-ground: var(--navy-d9);
  --boot-sub: var(--correct-text);
  --film-shell-hi: var(--navy-l1);
  --film-shell-mid: var(--navy-d2);
  --film-shell-lo: var(--navy-d5);
  --film-shell-edge: var(--navy-l1);
  --film-hood: var(--navy-d2);
  --film-glass: var(--navy-d10);
  --film-halogen: rgba(255,210,63,0.30);
  --film-amber: rgba(255,210,63,0.86);
  --film-sprocket: var(--illus-yellow);
  --film-tint: rgba(255,210,63,0.10);
  --zoom-backdrop: rgba(20,38,59,0.86);
  --panel-face: var(--navy-d2);
  --panel-ink: var(--white);
  --panel-dead-ink: var(--muted);
  --stepwell-hi: var(--navy-d2);
  --stepwell-lo: var(--navy-d10);
  --stepbtn-hi: var(--marker-yellow);
  --stepbtn-mid: var(--illus-yellow);
  --stepbtn-lo: var(--orange-deep);
  --stepbtn-edge: var(--navy-d3);
  --stepbtn-ink: var(--ink);
  --stepbtn-shade: rgba(181,86,58,0.40);
  --nixie-lit: var(--orange);
  --nixie-glow: rgba(217,119,87,0.90);
  --nixie-glow-2: rgba(201,100,66,0.60);
  --nixie-ion: rgba(25,164,143,0.35);
  --nixie-unlit: var(--orange-deeper);
  --nixie-mesh: var(--navy-d10);
  --nixie-glass-hi: rgba(255,255,255,0.07);
  --nixie-glass-lo: rgba(0,0,0,0.88);
  --nixie-glass-edge: rgba(255,255,255,0.16);
  --steel-hi: var(--grey-10);
  --steel-lo: var(--muted);
  --bracket-hi: var(--muted);
  --bracket-mid: var(--secondary);
  --bracket-lo: var(--navy-l1);
  --bracket-edge: var(--navy-l1);
  --bracket-hole: var(--navy-d10);
  --bracket-hole-ring: var(--grey-8);
  --arm-rod: var(--navy-l1);
  --scrim: rgba(20,38,59,0.62);
  --scrim-panel: rgba(20,38,59,0.55);
  --lamp-unpowered-ring: var(--muted);
  --lamp-dark-hi: var(--navy-l1);
  --lamp-dark-mid: var(--navy-d3);
  --lamp-dark-lo: var(--navy-d10);
  --lamp-test-glow: rgba(3,87,49,0.75);
  --lamp-visited-glow: rgba(217,119,87,0.70);
  --lamp-green-b1: var(--correct-light);
  --lamp-green-b2: var(--correct);
  --lamp-green-b3: var(--correct-text);
  --lamp-green-b4: var(--navy-d3);
  --lamp-red-off: var(--incorrect-maroon);
  --lamp-red-drawer-hi: var(--incorrect);
  --lamp-red-drawer-lo: var(--incorrect-maroon);
  --lamp-green-drawer-hi: var(--correct);
  --lamp-green-drawer-lo: var(--correct-text);
  --plate-face-hi: var(--navy-d1);
  --plate-face-mid: var(--navy-d3);
  --plate-face-lo: var(--navy-d5);
  --plate-ink: var(--grey-10);
  --ann-hi: var(--navy-d5);
  --ann-lo: var(--navy-d10);
  --ann-out-hi: var(--navy-d1);
  --ann-out-lo: var(--navy-d10);
  --ann-green-glow: rgba(3,87,49,0.45);
  --ann-amber-glow: rgba(217,119,87,0.40);
  --slide-on-glow: rgba(3,87,49,0.50);
  --slide-off-glow: rgba(154,22,22,0.40);
  --paddle-dim: var(--muted);
  --slot-hi: var(--navy-d9);
  --slot-lo: var(--navy-d3);
  --lamptest-hi: var(--navy-l3);
  --lamptest-lo: var(--navy-d3);
  --lamptest-held-lo: var(--navy-d1);
  --lamptest-ink: var(--grey-10);
  --lamptest-held-glow: rgba(217,119,87,0.60);
  --silk-ink: var(--secondary);
  --head-title-ink: var(--white);
  --cap-ring-t1: var(--grey-10);
  --cap-ring-t2: var(--muted);
  --cap-ring-t3: var(--secondary);
  --cap-ring-t4: var(--navy-l1);
  --cap-ring-c1: var(--grey-8);
  --cap-ring-c2: var(--grey-10);
  --cap-ring-c3: var(--muted);
  --cap-ring-c4: var(--secondary);
  --cap-ring-c5: var(--navy-l1);
  --cap-two-part: var(--navy-l1);
  --gold: var(--illus-yellow);
  --green: var(--correct);
  --light: var(--page);
  --grad-floor: linear-gradient(to bottom, var(--navy-d5) 0%, var(--navy-l5) 55%, var(--navy-l3) 100%);
  --grad-room-wall: linear-gradient(to bottom, var(--navy-bright-a28) 0%, var(--navy-l2) 55%, var(--navy-l5) 100%);
  --grad-room-wall-float: linear-gradient(to bottom, var(--navy-bright-a28) 0%, var(--navy-l2) 58%, var(--navy-d1) 100%);
  --grad-caption-plate: linear-gradient(to bottom, var(--bar-deep-a00) 0%, var(--bar-deep-a72) 38%, var(--bar-deep-a92) 100%);
  --grad-caption-scrim: linear-gradient(to top, var(--navy-d14-a92), var(--navy-d14-a00));
  --grad-halftone: radial-gradient(var(--white-a16) 1.5px, transparent 1.7px);
  --grad-halftone-fine: radial-gradient(var(--white-a18) 1.1px, transparent 1.3px);
  --grad-comic-plate: radial-gradient(130% 95% at 50% 120%, var(--signal-deep) 0%, var(--signal) 55%, var(--signal-light) 100%);
  --grad-comic-disc: radial-gradient(circle at 50% 40%, var(--navy-l4) 0%, var(--navy-d6) 100%);
  --grad-comic-disc-av: radial-gradient(circle at 50% 35%, var(--navy-l4) 0%, var(--navy-d6) 100%);
  --grad-hatch-locked: repeating-linear-gradient(45deg, var(--white-a06) 0 4px, var(--white-a16) 4px 8px);
  --grad-hatch-locked-transport: repeating-linear-gradient(45deg, var(--white-a06) 0 4px, var(--white-a18) 4px 8px);
}

/* ---- type ---- */
:root {
  --font-serif: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-sans: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, monospace;
  --font-wordmark: var(--font-sans);
  --font-ui: var(--font-sans);
  --font-sans-system: 'Archivo', system-ui, sans-serif;
  --font-serif-short: var(--font-sans);
  --font-label: var(--font-ui);
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;
  --fw-bubble: 650;
  --type-scenario-title: 44px;
  --type-wordmark: 32px;
  --type-doc-h2: 40px;
  --type-dialogue: 20px;
  --type-instruction: 22px;
  --type-body: 16px;
  --type-min-screen: 15px;
  --type-min-frame: 24px;
  --type-display-score: 96px;
  --type-mark-xl: 44px;
  --type-glyph-close: 40px;
  --type-h1-lg: 34px;
  --type-h1: 30px;
  --type-stat: 28px;
  --type-h2: 26px;
  --type-h3: 24px;
  --type-lead-lg: 23px;
  --type-h4: 22px;
  --type-h5: 21px;
  --type-lead: 20px;
  --type-body-lg: 19px;
  --type-body-md: 18px;
  --type-copy: 17px;
  --type-small: 15px;
  --type-caption: 14px;
  --type-label: 13px;
  --type-micro: 12px;
  --type-nano: 11px;
  --type-cm-hint: 12.5px;
  --type-cm-meta: 13.5px;
  --type-cm-cat: 14.5px;
  --type-cm-item: 15.5px;
  --type-gate-hint: .82em;
  --type-cover-title: clamp(34px, 5.5vw, 72px);
  --type-cover-badge: clamp(18px, 2.4vw, 28px);
  --type-cover-eyebrow: clamp(14px, 1.6vw, 18px);
  --type-wel-title: clamp(24px, 8cqw, 56px);
  --type-wel-subtitle: clamp(15px, 5.4cqw, 34px);
  --type-wel-eyebrow: clamp(14px, 4.8cqw, 30px);
  --type-comic-name: clamp(10px, 2.4vw, 14px);
  --type-comic-bubble: clamp(12px, 2.9vw, 16px);
  --type-comic-say: clamp(13px, 3.5vw, 16px);
  --type-comic-th-bubble: clamp(12px, 3vw, 15px);
  --type-comic-th-name: clamp(9px, 2.3vw, 12px);
  --type-comic-play: clamp(13px, 3.4vw, 15px);
  --type-comic-caption: clamp(13px, 3.4vw, 17px);
  --type-comic-decision-head: clamp(11px, 2.8vw, 14px);
  --type-obs-side-label: clamp(15px, 1.4vw, 18px);
  --type-obs-side-name: clamp(11px, 1vw, 14px);
  --type-obs-side-speech: clamp(14px, 1.4vw, 17px);
  --type-obs-transcript: clamp(16px, 1.5vw, 20px);
  --type-obs-gate-text: clamp(16px, 1.8vw, 20px);
  --type-obs-hist-line: clamp(13px, 1vw, 16px);
  --type-fc-band: clamp(17px, 1.6vw, 21px);
  --type-gs-title: clamp(26px,3.4vw,38px);
  --type-gs-subtitle: clamp(17px,1.7vw,20px);
  --type-vid-title: clamp(22px, 2.6vw, 34px);
  --type-vid-eyebrow: clamp(12px, 1.2vw, 14px);
  --type-vid-caption: clamp(13px, 1.1vw, 15px);
  --track-title: 0.5px;
  --track-dialogue: 0.3px;
  --track-eyebrow: 1.5px;
  --track-tight: -1px;
  --track-score: -2px;
  --track-heading: -0.5px;
  --track-heading-sm: -0.4px;
  --track-drawer-title: -0.3px;
  --track-question: -0.2px;
  --track-wel-title: -0.01em;
  --track-tab: 0.02em;
  --track-wel-eyebrow: 0.06em;
  --track-label: 0.2px;
  --track-caption: 0.4px;
  --track-hint: 0.6px;
  --track-cm: 0.8px;
  --track-badge: 1px;
  --track-speaker: 1.2px;
  --track-hotspot: 1.3px;
  --track-intro-eyebrow: 1.4px;
  --track-cover-eyebrow: 3px;
  --track-cover-badge: 4px;
  --lh-tight: 1.05;
  --lh-snug: 1.25;
  --lh-body: 1.55;
  --lh-solid: 1;
  --lh-compact: 1.1;
  --lh-heading: 1.15;
  --lh-title: 1.2;
  --lh-bubble-th: 1.28;
  --lh-text-tight: 1.3;
  --lh-subtitle: 1.32;
  --lh-bubble: 1.35;
  --lh-text: 1.4;
  --lh-text-loose: 1.45;
  --lh-prose: 1.5;
  --lh-prose-loose: 1.6;
  --lh-done-mark: 56px;
}

/* ---- geometry ---- */
:root {
  --frame-w: 1920px;
  --frame-h: 1080px;
  --frame-margin: 64px;
  --grid-cols: 12;
  --grid-gutter: 32px;
  --zone-header: 156px;
  --zone-canvas: 756px;
  --zone-footer: 168px;
  --bp-tablet: 1024px;
  --bp-phone: 600px;
  --bp-phone-grid: 640px;
  --bp-stepper-wrap: 540px;
  --chrome-header-h: 108px;
  --chrome-footer-h: 151px;
  --chrome-stage-h: 821px;
  --chrome-stage-ratio: 1920 / 821;
  --chrome-pad-x: 48px;
  --chrome-header-gap: 22px;
  --chrome-footer-gap: 28px;
  --chrome-progress-h: 3px;
  --chrome-scrub-strip: 14px;
  --chrome-scrub-offset: 0px;
  --chrome-scrub-track: 5px;
  --chrome-pill-h: 52px;
  --chrome-icon-btn: 46px;
  --chrome-drawer-w: 560px;
  --chrome-flow-header-h: 56px;
  --chrome-flow-footer-h: 96px;
  --size-p2: 2px;
  --size-p3: 3px;
  --size-p6: 6px;
  --size-p7: 7px;
  --size-p8: 8px;
  --size-p9: 9px;
  --size-p10: 10px;
  --size-p11: 11px;
  --size-p13: 13px;
  --size-p14: 14px;
  --size-p15: 15px;
  --size-p18: 18px;
  --size-p20: 20px;
  --size-p22: 22px;
  --size-p24: 24px;
  --size-p26: 26px;
  --size-p28: 28px;
  --size-p30: 30px;
  --size-p32: 32px;
  --size-p34: 34px;
  --size-p38: 38px;
  --size-p40: 40px;
  --size-p42: 42px;
  --size-p46: 46px;
  --size-p48: 48px;
  --size-p50: 50px;
  --size-p56: 56px;
  --size-p64: 64px;
  --size-p68: 68px;
  --size-p70: 70px;
  --size-p78: 78px;
  --size-p82: 82px;
  --size-p84: 84px;
  --size-p96: 96px;
  --size-p104: 104px;
  --size-p152: 152px;
  --size-p160: 160px;
  --size-p172: 172px;
  --size-p180: 180px;
  --size-p200: 200px;
  --size-p220: 220px;
  --size-p230: 230px;
  --size-p300: 300px;
  --size-p420: 420px;
  --size-p460: 460px;
  --size-p480: 480px;
  --size-p520: 520px;
  --size-p560: 560px;
  --size-p620: 620px;
  --size-p640: 640px;
  --size-p720: 720px;
  --size-p760: 760px;
  --size-p860: 860px;
  --size-p1180: 1180px;
  --size-p1360: 1360px;
  --size-p1426: 1426px;
  --text-safe: 48px;
}

/* ---- spacing ---- */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-n44: -44px;
  --space-n40: -40px;
  --space-n16: -16px;
  --space-n15: -15px;
  --space-n12: -12px;
  --space-n11: -11px;
  --space-n10: -10px;
  --space-n8: -8px;
  --space-n4: -4px;
  --space-p1: 1px;
  --space-p2: 2px;
  --space-p3: 3px;
  --space-p4: 4px;
  --space-p5: 5px;
  --space-p6: 6px;
  --space-p7: 7px;
  --space-p8: 8px;
  --space-p9: 9px;
  --space-p10: 10px;
  --space-p11: 11px;
  --space-p12: 12px;
  --space-p13: 13px;
  --space-p14: 14px;
  --space-p15: 15px;
  --space-p16: 16px;
  --space-p18: 18px;
  --space-p20: 20px;
  --space-p21: 21px;
  --space-p22: 22px;
  --space-p24: 24px;
  --space-p26: 26px;
  --space-p28: 28px;
  --space-p30: 30px;
  --space-p32: 32px;
  --space-p34: 34px;
  --space-p36: 36px;
  --space-p37: 37px;
  --space-p40: 40px;
  --space-p42: 42px;
  --space-p44: 44px;
  --space-p46: 46px;
  --space-p48: 48px;
  --space-p52: 52px;
  --space-p56: 56px;
  --space-p64: 64px;
  --space-p72: 72px;
  --space-p84: 84px;
}

/* ---- shape ---- */
:root {
  --radius-card: 16px;
  --radius-option: 12px;
  --radius-button: 10px;
  --radius-bubble: 18px;
  --radius-pill: 100px;
  --radius-sm: 8px;
  --radius-badge: 6px;
  --radius-circle: 50%;
  --radius-r14: 14px;
  --radius-r15: 15px;
  --radius-r2: 2px;
  --radius-r4: 4px;
  --radius-r20: 20px;
  --radius-r3: 3px;
  --radius-r-10-0-0-10: 10px 0 0 10px;
  --radius-r-0-3-3-0: 0 3px 3px 0;
  --radius-r999: 999px;
  --radius-r13: 13px;
  --radius-r22: 22px;
  --radius-r-10-10-0-0: 10px 10px 0 0;
  --radius-r-12-12-0-0: 12px 12px 0 0;
  --radius-r-12-0-0-12: 12px 0 0 12px;
  --radius-r-0-14-14-14: 0 14px 14px 14px;
  --radius-r5: 5px;
  --radius-r7: 7px;
  --radius-face: 1px;
  --radius-pointer: 8px;
  --radius-slide: 4px;
  --radius-glass: 18px;
  --radius-bezel: 12px;
  --radius-hood: 10px;
  --radius-drum: 6px;
  --radius-r11: 11px;
  --radius-r16: 16px;
  --border-hairline: 1px;
  --border-control: 1.5px;
  --border-active: 2px;
  --border-focus: 3px;
  --border-comic: 3px;
  --border-w1-5: 1.5px;
  --border-w2: 2px;
  --border-w2-4: 2.4px;
  --border-w3: 3px;
  --border-w4: 4px;
  --border-w5: 5px;
}

/* ---- elevation ---- */
:root {
  --shadow-card: 0 1px 2px rgba(19,37,84,0.04);
  --shadow-nav: 0 2px 20px rgba(19,37,84,0.25);
  --shadow-frame: 0 30px 60px rgba(0,0,0,0.35);
  --shadow-well: var(--shadow-card);
  --shadow-desk: var(--shadow-card);
  --focus-ring: 0 0 0 3px rgba(0,163,221,0.55);
  --z-drag-ghost: 99999;
  --z-skip-link: 9999;
  --z-pending-blocker: 400;
  --z-reveal-overlay: 80;
  --z-header: 70;
  --z-drawer: 60;
  --z-captions: 50;
  --z-footer: 50;
  --z-feedback: 50;
  --z-modal: 40;
  --z-transcript: 40;
  --z-settings-panel: 40;
  --z-template-drawer: 40;
  --z-template-drawer-scrim: 39;
  --z-carousel-stack: 30;
  --z-tooltip: 30;
  --z-conversation: 30;
  --z-submit: 20;
  --z-stage-play: 8;
  --z-stage-ui: 6;
  --z-stage-overlay: 5;
  --z-stage-character: 3;
  --z-stage-prop-behind: 2;
  --z-carousel-shadow: 3;
  --z-screen-front: 2;
  --z-screen-departing: 1;
  --z-l0: 0;
  --z-l1: 1;
  --z-l2: 2;
  --z-l3: 3;
  --z-l5: 5;
  --z-l6: 6;
  --alpha-25: 0.25;
  --alpha-32: 0.32;
  --alpha-35: 0.35;
  --alpha-40: 0.4;
  --alpha-42: 0.42;
  --alpha-45: 0.45;
  --alpha-55: 0.55;
  --alpha-65: 0.65;
  --alpha-70: 0.7;
  --alpha-72: 0.72;
  --alpha-75: 0.75;
  --alpha-82: 0.82;
  --alpha-85: 0.85;
  --alpha-90: 0.9;
  --alpha-92: 0.92;
}

/* ---- motion ---- */
:root {
  --dur-fast: 120ms;
  --dur-base: 220ms;
  --dur-pop: 320ms;
  --dur-t0: 0ms;
  --dur-t90: 90ms;
  --dur-t130: 130ms;
  --dur-t140: 140ms;
  --dur-t160: 160ms;
  --dur-t175: 175ms;
  --dur-t180: 180ms;
  --dur-t200: 200ms;
  --dur-t206: 206ms;
  --dur-t220: 220ms;
  --dur-t240: 240ms;
  --dur-t250: 250ms;
  --dur-t260: 260ms;
  --dur-t300: 300ms;
  --dur-t333: 333ms;
  --dur-t340: 340ms;
  --dur-phase: 370ms;
  --dur-t400: 400ms;
  --dur-t450: 450ms;
  --dur-t460: 460ms;
  --dur-t480: 480ms;
  --dur-flip-delay: 520ms;
  --dur-t750: 750ms;
  --dur-t1000: 1s;
  --dur-t1600: 1.6s;
  --dur-pulse: 1.8s;
  --dur-t1900: 1.9s;
  --dur-t2000: 2s;
  --dur-t2544: 2544ms;
  --dur-carousel: 2750ms;
  --dur-t2800: 2.8s;
  --dur-t3000: 3s;
  --dur-t4000: 4s;
  --dur-t5600: 5.6s;
  --dur-t6000: 6s;
  --dur-t7200: 7.2s;
  --dur-carousel-seat: 1719ms;
  --dur-carousel-fallback: 2950ms;
  --dur-continue-beat: 500ms;
  --dur-overlay-hide: 1800ms;
  --dur-lamp-pulse: 2400ms;
  --dur-lamp-breathe: 2200ms;
  --dur-t3400: 3400ms;
  --dur-t60: 60ms;
  --dur-t150: 150ms;
  --dur-t350: 350ms;
  --dur-t380: 380ms;
  --dur-t500: 500ms;
  --dur-t600: 600ms;
  --dur-t620: 620ms;
  --dur-t700: 700ms;
  --dur-t760: 760ms;
  --dur-t1100: 1100ms;
  --dur-t1400: 1400ms;
  --dur-t7000: 7000ms;
  --dur-duck: 120ms;
  --dur-press-min: 90ms;
  --dur-press-max: 1200ms;
  --dur-tray-open-fallback: 760ms;
  --dur-tray-close-fallback: 380ms;
  --dur-tray-min: 120ms;
  --dur-tray-max: 4000ms;
  --dur-hover-gap: 90ms;
  --dur-door-lead: 400ms;
  --dur-door-fallback: 740ms;
  --dur-copied: 1400ms;
  --dur-status-flash: 2400ms;
  --dur-type-reveal: 720ms;
  --dur-type-guard: 900ms;
  --dur-autotype-char: 22ms;
  --dur-cmd-focus: 340ms;
  --dur-settle: 1100ms;
  --dur-carriage: 250ms;
  --dur-ac-dip: 360ms;
  --dur-ac-dip-deep: 500ms;
  --dur-film-step: 420ms;
  --dur-drum-step: 260ms;
  --dur-chan-cycle: 5200ms;
  --dur-chan-lock: 6000ms;
  --dur-card-exit: 200ms;
  --dur-card-swap: 190ms;
  --dur-card-idle: 220ms;
  --dur-skip-hold: 220ms;
  --dur-handoff: 380ms;
  --dur-boot-fade: 1000ms;
  --dur-cascade: 60ms;
  --dur-chip-cascade: 90ms;
  --dur-nixie-cascade: 70ms;
  --dur-power-warmup: 900ms;
  --dur-launch-lead: 170ms;
  --dur-ign-grace: 60ms;
  --dur-ign-bloom: 300ms;
  --dur-ign-filament: 150ms;
  --dur-ign-strike: 250ms;
  --dur-ign-preheat: 400ms;
  --dur-ign-stutter: 600ms;
  --dur-ign-sweep: 500ms;
  --dur-ign-buzz: 350ms;
  --dur-flare-rise: 180ms;
  --dur-flare-hold: 400ms;
  --dur-power-on-fallback: 1032ms;
  --dur-t800: 800ms;
  --dur-video-drift: 300ms;
  --dur-cc-step: 45ms;
  --dur-cc-hold: 2000ms;
  --dur-ss-wrong: 2400ms;
  --dur-pd-jog-tick: 60ms;
  --dur-retry-lead: 750ms;
  --dur-retry-fade: 1250ms;
  --dur-reduced-hold: 400ms;
  --ease-standard: cubic-bezier(.2,.7,.3,1);
  --ease-overshoot: cubic-bezier(.34,1.56,.64,1);
  --ease-carousel-peek: cubic-bezier(.15,.5,.3,1);
  --ease-carousel-travel: cubic-bezier(.55,.05,.25,1);
  --ease-carousel-tail: cubic-bezier(.65,.05,.85,.35);
  --ease-retry-fade: ease-in;
  --ease-default: ease;
  --ease-in-out: ease-in-out;
  --ease-out: ease-out;
  --ease-b-3-7-3-1: cubic-bezier(.3,.7,.3,1);
  --ease-film: linear(0, .06 8%, .42 31%, .85 59%, 1.018 77%, .995 88%, 1);
  --ease-drawer-open: linear(0, .13 6%, .135 26%, .40 46%, .74 68%, .95 86%, 1);
  --ease-drawer-close: linear(0, .10 24%, .40 46%, 1);
  --ease-carriage-out: cubic-bezier(.42,0,.76,.42);
  --ease-carriage-in: cubic-bezier(.24,.72,.4,1);
  --ease-door: cubic-bezier(.3,.02,.3,1);
  --ease-seat: cubic-bezier(.35,.02,.45,.82);
  --ease-warmup: cubic-bezier(.33,0,.2,1);
  --ease-drum: cubic-bezier(.22,.61,.36,1);
  --ease-step: steps(1, end);
  --dur-sound-projector-min: 2750ms;
  --dur-sound-projector-max: 2750ms;
  --dur-sound-projector-mean: 2750ms;
  --dur-sound-key-min: 135ms;
  --dur-sound-key-max: 190ms;
  --dur-sound-key-mean: 156ms;
  --dur-sound-advance-min: 720ms;
  --dur-sound-advance-max: 780ms;
  --dur-sound-advance-mean: 738ms;
  --dur-sound-flip: 967ms;
  --mo-menu-drawer-open-travel: var(--dur-t260);
  --mo-menu-drawer-open-scrim: var(--dur-t220);
  --mo-menu-drawer-open-curve: var(--ease-standard);
  --mo-menu-drawer-close-travel: var(--dur-t260);
  --mo-menu-drawer-close-scrim: var(--dur-t220);
  --mo-menu-drawer-close-curve: var(--ease-standard);
  --mo-resources-drawer-open-travel: var(--dur-t260);
  --mo-resources-drawer-open-scrim: var(--dur-t220);
  --mo-resources-drawer-open-curve: var(--ease-standard);
  --mo-resources-drawer-close-travel: var(--dur-t260);
  --mo-resources-drawer-close-scrim: var(--dur-t220);
  --mo-resources-drawer-close-curve: var(--ease-standard);
  --mo-settings-panel-open-travel: var(--dur-t130);
  --mo-settings-panel-open-curve: ease;
  --mo-settings-panel-close-travel: var(--dur-t130);
  --mo-settings-panel-close-curve: ease;
  --mo-screen-advance-travel: var(--dur-carousel);
  --mo-screen-advance-seat: var(--dur-carousel-seat);
  --mo-screen-advance-fallback: var(--dur-carousel-fallback);
}

/* ---- interaction ---- */
:root {
  --hit-target: 44px;
}
