/* Headliner design tokens — generated from tokens.json. Themes: stage, poster (default: stage).
   Switch theme with <html data-theme="poster">. */
:root, [data-theme="stage"] {
  --stage: #131013;
  --stage-raised: #1f1a1e;
  --stage-sunk: #0b090b;
  --rule: #3d353b;
  --ink: #f6efe2;
  --ink-soft: #b3a9a3;
  --riot: #ff4632;
  --riot-edge: #8f170c;
  --riot-text: #ff7d6b;
  --flare: #e6ff3b;
  --wash: #3ab8ff;
  --go: #34d880;
  --paper: #fbf7ee;
  --ink-fixed: #161213;
  --ink-fixed-soft: #5a504a;
  --drop: #000000;
  --focus: #e6ff3b;
  --scrim: rgba(5, 3, 5, 0.8);
  --shadow-chassis: 0 6px 0 #000000;
  --shadow-chassis-press: 0 1px 0 #000000;
  --shadow-paste: 0 1px 0 #ffffff12, 0 18px 32px -14px #000000d9;
  --shadow-lift: 0 1px 0 #ffffff14, 0 26px 40px -16px #000000f2;
  --shadow-plate: 6px 5px 0 #ff4632;
  --shadow-float: 0 20px 40px -12px #000000e6;
  color-scheme: dark;
}
[data-theme="poster"] {
  --stage: #ece4d3;
  --stage-raised: #f8f3e8;
  --stage-sunk: #ddd3bf;
  --rule: #c3b69f;
  --ink: #161213;
  --ink-soft: #594f48;
  --riot: #ff4632;
  --riot-edge: #9e1d0f;
  --riot-text: #b5210f;
  --flare: #e6ff3b;
  --wash: #3ab8ff;
  --go: #34d880;
  --paper: #fbf7ee;
  --ink-fixed: #161213;
  --ink-fixed-soft: #5a504a;
  --drop: #161213;
  --focus: #161213;
  --scrim: rgba(22, 18, 19, 0.6);
  --shadow-chassis: 0 6px 0 #161213;
  --shadow-chassis-press: 0 1px 0 #161213;
  --shadow-paste: 0 1px 0 #ffffffb3, 0 16px 28px -16px #3a2a1a73;
  --shadow-lift: 0 1px 0 #ffffffb3, 0 24px 34px -16px #3a2a1a8c;
  --shadow-plate: 6px 5px 0 #ff4632;
  --shadow-float: 0 18px 34px -12px #2a1d148c;
  color-scheme: light;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-xs: 2px;
  --radius-sm: 6px;
  --radius-ticket: 14px;
  --radius-pill: 999px;
  --dur-stomp: 70ms;
  --dur-hover: 160ms;
  --dur-release: 260ms;
  --dur-strike: 380ms;
  --dur-snap: 520ms;
  --dur-tear: 560ms;
  --dur-roll: 640ms;
  --dur-sweep: 2200ms;
  --ease-stomp: cubic-bezier(.6, 0, .9, .45);
  --ease-release: cubic-bezier(.2, 1.7, .45, 1);
  --ease-snap: cubic-bezier(.18, 1.5, .32, 1);
  --ease-roll: cubic-bezier(.14, .82, .22, 1);
  --ease-sweep: cubic-bezier(.62, 0, .3, 1);
  --ease-exit: cubic-bezier(.5, 0, .85, .3);
  --font-display: "Anton", "Impact", "Haettenschweiler", "Arial Narrow Bold", sans-serif;
  --font-body: "Geologica", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --type-poster-family: var(--font-display);
  --type-poster-size: 120px;
  --type-poster-line: 104px;
  --type-poster-weight: 400;
  --type-poster-tracking: 0.005em;
  --type-headline-family: var(--font-display);
  --type-headline-size: 64px;
  --type-headline-line: 60px;
  --type-headline-weight: 400;
  --type-headline-tracking: 0.01em;
  --type-title-family: var(--font-display);
  --type-title-size: 36px;
  --type-title-line: 38px;
  --type-title-weight: 400;
  --type-title-tracking: 0.015em;
  --type-heading-family: var(--font-display);
  --type-heading-size: 22px;
  --type-heading-line: 26px;
  --type-heading-weight: 400;
  --type-heading-tracking: 0.03em;
  --type-lead-family: var(--font-body);
  --type-lead-size: 19px;
  --type-lead-line: 28px;
  --type-lead-weight: 300;
  --type-body-family: var(--font-body);
  --type-body-size: 16px;
  --type-body-line: 24px;
  --type-body-weight: 400;
  --type-small-family: var(--font-body);
  --type-small-size: 14px;
  --type-small-line: 20px;
  --type-small-weight: 400;
  --type-label-family: var(--font-body);
  --type-label-size: 12px;
  --type-label-line: 16px;
  --type-label-weight: 700;
  --type-label-tracking: 0.14em;
}
/* Type styles as utility classes (optional) */
.type-poster { font-family: var(--type-poster-family); font-size: var(--type-poster-size); line-height: var(--type-poster-line); font-weight: var(--type-poster-weight); letter-spacing: var(--type-poster-tracking); }
.type-headline { font-family: var(--type-headline-family); font-size: var(--type-headline-size); line-height: var(--type-headline-line); font-weight: var(--type-headline-weight); letter-spacing: var(--type-headline-tracking); }
.type-title { font-family: var(--type-title-family); font-size: var(--type-title-size); line-height: var(--type-title-line); font-weight: var(--type-title-weight); letter-spacing: var(--type-title-tracking); }
.type-heading { font-family: var(--type-heading-family); font-size: var(--type-heading-size); line-height: var(--type-heading-line); font-weight: var(--type-heading-weight); letter-spacing: var(--type-heading-tracking); }
.type-lead { font-family: var(--type-lead-family); font-size: var(--type-lead-size); line-height: var(--type-lead-line); font-weight: var(--type-lead-weight); }
.type-body { font-family: var(--type-body-family); font-size: var(--type-body-size); line-height: var(--type-body-line); font-weight: var(--type-body-weight); }
.type-small { font-family: var(--type-small-family); font-size: var(--type-small-size); line-height: var(--type-small-line); font-weight: var(--type-small-weight); }
.type-label { font-family: var(--type-label-family); font-size: var(--type-label-size); line-height: var(--type-label-line); font-weight: var(--type-label-weight); letter-spacing: var(--type-label-tracking); }
