/* Festive Batface Halloween — generated from tokens.json */

:root, [data-theme="gathering"] {
  --night-950: #0d0718;
  --night-900: #160c2e;
  --night-800: #22143a;
  --night-700: #2c1a4a;
  --plum-700: #3a2266;
  --violet-500: #6a3fb0;
  --lilac-300: #b07cff;
  --pumpkin-500: #ff7a18;
  --pumpkin-600: #e8650a;
  --amber-400: #ffb444;
  --candle-300: #ffd24a;
  --gold-400: #ffcf3a;
  --silver-300: #c9c9d6;
  --bronze-400: #cd7f32;
  --slime-400: #7cff9e;
  --slime-700: #1f9d3f;
  --bone-50: #f4f1ea;
  --mist-300: #c9bfe0;
  --blood-400: #ff4d6d;
  --bloodmoon: #c3122f;
  --batface-violet: #845ce4;
  --ecto-200: #e0bdfa;
  --ghost-eye: #1a1430;
  --parchment: #f7ad63;
  --moon: #e3b9dd;
  --act-wash: rgba(255,122,24,0);
  --bg: var(--night-900);
  --surface: var(--night-800);
  --surface-2: var(--night-700);
  --line: var(--plum-700);
  --text: var(--bone-50);
  --text-2: var(--mist-300);
  --accent: var(--pumpkin-500);
  --accent-hover: var(--amber-400);
  --on-accent: var(--night-950);
  --live: var(--slime-400);
  --danger: var(--blood-400);
  --focus: var(--slime-400);
  --you: var(--pumpkin-500);
  --reward: var(--gold-400);
  --plate: rgba(13,7,24,.72);
  --plate-solid: rgba(13,7,24,.94);
  --plate-line: rgba(176,124,255,.25);
  --live-line: rgba(124,255,158,.45);
  --you-wash: rgba(255,122,24,.14);
  --reward-wash: rgba(255,207,58,.16);
  --bloodmoon-wash: rgba(195,18,47,.3);
  --scrim: rgba(13,7,24,.6);
  --backdrop: rgba(13,7,24,.55);
  --shroud: rgba(13,7,24,.88);
  --shadow-1: 0 4px 12px rgba(0,0,0,.35);
  --shadow-2: 0 10px 28px rgba(0,0,0,.55);
  --shadow-sheet: 0 -12px 40px rgba(0,0,0,.6);
  --glow-candle: 0 0 18px rgba(255,122,24,.55);
  --glow-spectral: 0 0 16px rgba(124,255,158,.5);
  --glow-moon: 0 0 14px rgba(176,124,255,.45);
  --glow-gold: 0 0 18px rgba(255,207,58,.6);
  --glow-blood: 0 0 12px rgba(255,77,109,.85);
  --shadow-pinned: 0 -10px 18px #22143a;
  --text-on-art: 0 1px 0 #000, 0 0 12px #0d0718;
  --text-drop: 0 2px 0 #000;
}

[data-theme="gates-open"] {
  --moon: #eeb071;
  --act-wash: rgba(255,122,24,.4);
  --bg: var(--night-900);
  --surface: var(--night-800);
  --surface-2: var(--night-700);
  --line: var(--plum-700);
  --text: var(--bone-50);
  --text-2: var(--mist-300);
  --accent: var(--pumpkin-500);
  --accent-hover: var(--amber-400);
  --on-accent: var(--night-950);
  --live: var(--slime-400);
  --danger: var(--blood-400);
  --focus: var(--slime-400);
  --you: var(--pumpkin-500);
  --reward: var(--gold-400);
  --glow-moon: 0 0 14px rgba(238,176,113,.45);
}

[data-theme="morning-after"] {
  --moon: #fdf1b0;
  --act-wash: rgba(255,154,107,.33);
  --bg: var(--night-900);
  --surface: var(--night-800);
  --surface-2: var(--night-700);
  --line: var(--plum-700);
  --text: var(--bone-50);
  --text-2: var(--mist-300);
  --accent: var(--pumpkin-500);
  --accent-hover: var(--amber-400);
  --on-accent: var(--night-950);
  --live: var(--slime-400);
  --danger: var(--blood-400);
  --focus: var(--slime-400);
  --you: var(--pumpkin-500);
  --reward: var(--gold-400);
  --glow-moon: 0 0 14px rgba(253,241,176,.45);
}

:root {
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-12: 48px;
  --gutter: 16px;
  --r-chip: 999px;
  --r-btn: 16px;
  --r-row: 12px;
  --r-card: 20px;
  --r-sheet: 24px;
  --r-tick: 2px;
  --hit: 44px;
  --topbar-h: 44px;
  --dock-h: 56px;
  --cta-h: 56px;
  --chip-h: 40px;
  --hud-h: 52px;
  --ghost-ambient: 64px;
  --ghost-hit-pad: 12px;
  --hit-game: 80px;
  --pill-h: 32px;
  --meter-xs: 3px;
  --content-w: min(100% - 32px,448px);
  --cta-w: min(311px,100% - 32px);
  --dialog-w: min(100% - 24px,440px);
  --sheet-w: min(100%,560px);
  --drawer-w: 420px;
  --rail-w: 64px;
  --sat: env(safe-area-inset-top,0px);
  --sar: env(safe-area-inset-right,0px);
  --sab: env(safe-area-inset-bottom,0px);
  --sal: env(safe-area-inset-left,0px);
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-15: 15px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-24: 24px;
  --fs-32: 32px;
  --fs-36: 36px;
  --fs-44: 44px;
  --fs-64: 64px;
  --fs-120: clamp(72px,30vw,120px);
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-solid: 1;
  --lh-tight: 1.05;
  --lh-btn: 1.2;
  --lh-heading: 1.25;
  --lh-ui: 1.3;
  --lh-body: 1.45;
  --lh-16: 16px;
  --lh-18: 18px;
  --lh-20: 20px;
  --lh-22: 22px;
  --track-display: .01em;
  --track-tag: .06em;
  --track-caps: .14em;
  --dur-press: 120ms;
  --dur-fast: 180ms;
  --dur-ui: 240ms;
  --dur-rise: 280ms;
  --dur-sheet: 320ms;
  --dur-title: 400ms;
  --dur-reveal: 600ms;
  --dur-gate: 900ms;
  --dur-peek: 900ms;
  --dur-pulse: 1.6s;
  --dur-fog: 60s;
  --ease-out: cubic-bezier(.2,.8,.2,1);
  --ease-rise: cubic-bezier(.34,1.56,.64,1);
  --ease-in: cubic-bezier(.4,0,1,1);
  --ease-spook: cubic-bezier(.7,-.2,.3,1.4);
  --ease-linear: linear;
  --ease-loop: ease-in-out;
  --z-art: 0;
  --z-fx: 10;
  --z-ambient: 20;
  --z-content: 30;
  --z-chrome: 40;
  --z-takeover: 50;
  --z-toast: 60;
  --z-dialog: 70;
  --opacity-disabled: .6;
  --opacity-skeleton: .45;
  --opacity-pulse: .35;
  --opacity-faint: .2;
  --opacity-peek: .12;
  --hairline: 1px;
  --stroke-bold: 2px;
  --ring: 3px;
  --ring-offset: 3px;
  --font-display: "Creepster", "Trebuchet MS", cursive;
  --font-ui: "Fredoka", "FredokaFallback", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.t-numeral-xl { font-family:var(--font-display); font-size:120px; line-height:1; font-weight:400; letter-spacing:.01em }
.t-score { font-family:var(--font-display); font-size:64px; line-height:1; font-weight:400; letter-spacing:.01em }
.t-numeral { font-family:var(--font-display); font-size:44px; line-height:50px; font-weight:400; letter-spacing:.01em }
.t-callout { font-family:var(--font-display); font-size:44px; line-height:1.05; font-weight:400; letter-spacing:.01em }
.t-title { font-family:var(--font-display); font-size:36px; line-height:40px; font-weight:400; letter-spacing:.01em }
.t-live { font-family:var(--font-display); font-size:32px; line-height:36px; font-weight:400; letter-spacing:.01em }
.t-tile { font-family:var(--font-display); font-size:24px; line-height:1; font-weight:400; letter-spacing:.01em }
.t-heading { font-family:var(--font-ui); font-size:20px; line-height:1.25; font-weight:700 }
.t-lead { font-family:var(--font-ui); font-size:18px; line-height:1.3; font-weight:600 }
.t-button-lg { font-family:var(--font-ui); font-size:18px; line-height:22px; font-weight:700 }
.t-subheading { font-family:var(--font-ui); font-size:16px; line-height:1.3; font-weight:700 }
.t-body { font-family:var(--font-ui); font-size:16px; line-height:1.45; font-weight:500 }
.t-button { font-family:var(--font-ui); font-size:16px; line-height:1.2; font-weight:600 }
.t-body-sm { font-family:var(--font-ui); font-size:15px; line-height:20px; font-weight:500 }
.t-label { font-family:var(--font-ui); font-size:14px; line-height:18px; font-weight:600 }
.t-note { font-family:var(--font-ui); font-size:14px; line-height:20px; font-weight:500 }
.t-kicker { font-family:var(--font-ui); font-size:13px; line-height:18px; font-weight:700; letter-spacing:.14em }
.t-micro { font-family:var(--font-ui); font-size:13px; line-height:16px; font-weight:600 }
.t-tag { font-family:var(--font-ui); font-size:12px; line-height:1; font-weight:700; letter-spacing:.06em }
