/* Projector Marquee — generated from tokens.json */
@font-face { font-family: "Big Shoulders Display"; src: url("fonts/BigShouldersDisplay-Variable.woff2") format("woff2"); font-weight: 500 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("fonts/HankenGrotesk-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("fonts/HankenGrotesk-Italic-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
:root, [data-theme="velvet"] {
  --background: oklch(0.17 0.035 18);
  --surface: oklch(0.215 0.042 18);
  --popover: oklch(0.215 0.042 18);
  --muted: oklch(0.265 0.048 18);
  --foreground: oklch(0.95 0.02 85);
  --muted-foreground: oklch(0.76 0.03 45);
  --border: oklch(0.42 0.045 18);
  --primary: oklch(0.81 0.12 82);
  --primary-foreground: oklch(0.18 0.03 18);
  --accent: oklch(0.81 0.12 82);
  --paper: oklch(0.95 0.025 85);
  --ink: oklch(0.2 0.035 18);
  --ink-muted: oklch(0.43 0.03 25);
  --done: oklch(0.8 0.08 150);
  --ready: #27745c;
  --incomplete: #bc6755;
  --error: #d88b7f;
  --toast: #eef3e4;
  --toast-foreground: #23493c;
  --selection: #fac999;
  --mark-tile: var(--primary);
  --mark-ink: var(--primary-foreground);
  --avatar-tp: #adc5b7;
  --avatar-jr: #aebee0;
  --art-night: #1a0f0c;
  --art-ember: #e87939;
  --art-sand: #d99a5a;
  --art-indigo: #3a2620;
  --art-bone: #efe2c6;
  --shadow-toast: 0 8px 35px #00000033;
}
[data-theme="paper"] {
  --background: oklch(0.95 0.025 85);
  --surface: oklch(0.95 0.025 85);
  --popover: oklch(0.95 0.025 85);
  --muted: oklch(0.88 0.03 82);
  --foreground: oklch(0.2 0.035 18);
  --muted-foreground: oklch(0.43 0.03 25);
  --border: oklch(0.78 0.03 80);
  --primary: oklch(0.81 0.12 82);
  --primary-foreground: oklch(0.18 0.03 18);
  --accent: oklch(0.44 0.15 25);
  --paper: oklch(0.95 0.025 85);
  --ink: oklch(0.2 0.035 18);
  --ink-muted: oklch(0.43 0.03 25);
  --done: oklch(0.47 0.1 160);
  --ready: #27745c;
  --incomplete: #bc6755;
  --error: oklch(0.44 0.15 25);
  --toast: #eef3e4;
  --toast-foreground: #23493c;
  --selection: #fac999;
  --mark-tile: var(--primary);
  --mark-ink: var(--primary-foreground);
  --avatar-tp: #adc5b7;
  --avatar-jr: #aebee0;
  --art-night: #1a0f0c;
  --art-ember: #e87939;
  --art-sand: #d99a5a;
  --art-indigo: #3a2620;
  --art-bone: #efe2c6;
  --shadow-toast: 0 8px 35px #00000033;
}
[data-theme="matinee"] {
  --background: oklch(0.955 0.02 88);
  --surface: oklch(0.925 0.025 85);
  --popover: oklch(0.925 0.025 85);
  --muted: oklch(0.885 0.028 85);
  --foreground: oklch(0.19 0.026 285);
  --muted-foreground: oklch(0.43 0.025 285);
  --border: oklch(0.78 0.03 85);
  --primary: oklch(0.45 0.2 265);
  --primary-foreground: oklch(0.97 0.012 88);
  --accent: oklch(0.45 0.2 265);
  --paper: oklch(0.19 0.026 285);
  --ink: oklch(0.95 0.018 88);
  --ink-muted: oklch(0.75 0.025 290);
  --done: oklch(0.47 0.1 160);
  --ready: oklch(0.8 0.08 150);
  --incomplete: oklch(0.5 0.16 28);
  --error: oklch(0.5 0.16 28);
  --toast: #eef3e4;
  --toast-foreground: #23493c;
  --selection: #fac999;
  --mark-tile: var(--primary);
  --mark-ink: var(--primary-foreground);
  --avatar-tp: #adc5b7;
  --avatar-jr: #aebee0;
  --art-night: #1a0f0c;
  --art-ember: #e87939;
  --art-sand: #d99a5a;
  --art-indigo: #3a2620;
  --art-bone: #efe2c6;
  --shadow-toast: 0 8px 35px #00000033;
}
[data-theme="ink"] {
  --background: oklch(0.19 0.026 285);
  --surface: oklch(0.19 0.026 285);
  --popover: oklch(0.19 0.026 285);
  --muted: oklch(0.26 0.035 285);
  --foreground: oklch(0.95 0.018 88);
  --muted-foreground: oklch(0.75 0.025 290);
  --border: oklch(0.4 0.03 285);
  --primary: oklch(0.45 0.2 265);
  --primary-foreground: oklch(0.97 0.012 88);
  --accent: oklch(0.78 0.11 265);
  --paper: oklch(0.19 0.026 285);
  --ink: oklch(0.95 0.018 88);
  --ink-muted: oklch(0.75 0.025 290);
  --done: oklch(0.8 0.08 150);
  --ready: oklch(0.8 0.08 150);
  --incomplete: #bc6755;
  --error: #d88b7f;
  --toast: #eef3e4;
  --toast-foreground: #23493c;
  --selection: #fac999;
  --mark-tile: var(--primary);
  --mark-ink: var(--primary-foreground);
  --avatar-tp: #adc5b7;
  --avatar-jr: #aebee0;
  --art-night: #1a0f0c;
  --art-ember: #e87939;
  --art-sand: #d99a5a;
  --art-indigo: #3a2620;
  --art-bone: #efe2c6;
  --shadow-toast: 0 8px 35px #00000033;
}
:root {
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-28: 28px;
  --space-32: 32px;
  --space-56: 56px;
  --hero-pad: 64px;
  --radius-xs: 2px;
  --radius-sm: 3px;
  --radius: 4px;
  --radius-dialog: 8px;
  --radius-round: 50%;
  --font-display: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --font-body: "Hanken Grotesk", sans-serif;
  --font-timecode: "Space Grotesk", monospace;
}
.display-hero { font-family: var(--font-display); font-size: 132px; line-height: 0.96; font-weight: 800; letter-spacing: -1.5px; }
.display-detail { font-family: var(--font-display); font-size: 140px; line-height: 0.96; font-weight: 800; letter-spacing: -1.5px; }
.section-heading { font-family: var(--font-display); font-size: 62px; line-height: 1; font-weight: 800; letter-spacing: -0.5px; }
.studio-heading { font-family: var(--font-display); font-size: 58px; line-height: 1.1; font-weight: 800; letter-spacing: -0.5px; }
.stat { font-family: var(--font-display); font-size: 48px; line-height: 1.35; font-weight: 700; letter-spacing: -1px; }
.dialog-title { font-family: var(--font-display); font-size: 37px; line-height: 1; font-weight: 800; letter-spacing: -0.3px; }
.ticket-price { font-family: var(--font-display); font-size: 36px; font-weight: 700; letter-spacing: -1px; }
.card-title { font-family: var(--font-display); font-size: 34px; line-height: 1.15; font-weight: 800; letter-spacing: 0px; }
.wordmark { font-family: var(--font-display); font-size: 31px; line-height: 0.95; font-weight: 800; letter-spacing: -0.6px; }
.pull-quote { font-family: var(--font-display); font-size: 22px; line-height: 1.65; font-weight: 400; }
.lead { font-family: var(--font-body); font-size: 18px; line-height: 1.45; font-weight: 400; }
.summary { font-family: var(--font-body); font-size: 17px; line-height: 1.5; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 1.5; font-weight: 400; }
.control { font-family: var(--font-body); font-size: 14px; line-height: 1.4; font-weight: 600; }
.small { font-family: var(--font-body); font-size: 13px; line-height: 1.6; font-weight: 400; }
.label { font-family: var(--font-body); font-size: 12px; line-height: 1.5; font-weight: 500; }
.eyebrow { font-family: var(--font-body); font-size: 11px; line-height: 1.7; font-weight: 500; letter-spacing: 1.6px; }
.meta { font-family: var(--font-body); font-size: 10px; line-height: 1.7; font-weight: 400; letter-spacing: 1px; }
.timecode { font-family: var(--font-timecode); font-size: 11px; line-height: 1.5; font-weight: 400; }
