:root{--color-bg:#20251f;--color-paper:#f3efe5;--color-ink:#34382f;--color-ink-muted:#858677;--color-hud:#222820db;--color-hud-solid:#222820f5;--color-hud-see:#2228208c;--color-hud-border:#e3d3b326;--color-glass-clear:#10201929;--color-glass-edge:#fafdff47;--color-text:#eee8d8;--color-text-muted:#b9c5c0;--color-gold:#f2d19b;--color-focus:#f2dca8;--color-dialog:#1a2829c4;--color-dialog-ink:#f1f5f4;--color-dialog-muted:#b9c5c0;--color-dialog-line:#f1f8f21c;--color-scrim:#10171173;--color-accent:#a38d5f;--color-accent-fill:#aa946e24;--color-accent-text:#fffdf4;--color-chip:#1d302569;--color-success:#8fbf8f;--color-warning:#e7c27a;--color-danger:#e08b78;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Be Vietnam Pro", Roboto, sans-serif;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:17px;--text-xl:20px;--text-2xl:26px;--text-3xl:29px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:10px;--radius-card:18px;--radius-toast:24px;--radius-pill:28px;--radius-dialog:30px;--shadow-hud:0 4px 24px #10150e21;--shadow-glass:0 6px 20px #05150e17, inset 0 1px #ffffff38, inset 0 -1px #ffffff0f;--shadow-dialog:0 20px 60px #06171036, inset 0 1px #fff6, inset 0 -1px #ffffff17;--blur-hud:16px;--blur-glass:7px;--ease:cubic-bezier(.22, 1, .36, 1);--hud-gap:max(16px, env(safe-area-inset-left));--z-hud:10;--z-toast:20;--z-overlay:30;--z-dialog:40}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.5;overflow:hidden}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}svg{display:block}.overlay{z-index:var(--z-overlay);padding:var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.overlay--paper{color:#4d5144;background:#eeece3}.overlay h1{letter-spacing:5px;margin:0;padding-left:5px;font-size:27px;font-weight:500}.overlay p{color:#838677;max-width:32ch;font-size:var(--text-sm);margin:0;line-height:1.7}.overlay .mark{color:#8a8068}.mark svg{width:32px;height:32px}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;color:var(--color-accent-text);font-size:var(--text-md);background:#5d6550;border:0;border-radius:25px;padding:12px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:#4d5444}.btn--link{min-height:44px;color:inherit;text-underline-offset:3px;background:0 0;border:0;align-items:center;padding:0 6px;font-weight:400;text-decoration:underline;display:inline-flex}.btn--link:hover{background:0 0}.boot-retry{bottom:max(24px, env(safe-area-inset-bottom));visibility:hidden;opacity:0;animation:.4s 15s forwards boot-retry-in;position:absolute}@keyframes boot-retry-in{to{visibility:visible;opacity:1}}@media (prefers-reduced-motion:reduce){.boot-retry{animation-duration:0s}}.boot{color:#f3d98a;background:radial-gradient(at 50% 35%,#2b1850 0%,#120a22 70%)}.boot h1{color:#f6dc8c;letter-spacing:6px;text-shadow:0 0 18px #f5c54273;padding-left:6px;font-size:24px}.boot p{color:#b6a8d6}.boot-scene{filter:drop-shadow(0 12px 28px #00000080);width:min(100vw - 32px,520px);height:auto}.bs-guest{opacity:0}.bs-coins circle{opacity:.9}.bs-marquee{stroke-dashoffset:0}.boot .boot-enter{color:#2a1646;letter-spacing:2px;background:linear-gradient(#f6dc8c,#d9a521);min-width:160px;box-shadow:0 0 22px #f5c54273}.boot .boot-enter:hover{background:linear-gradient(#ffe7a6,#e8b42c)}.boot--ready .boot-retry{display:none}@media (prefers-reduced-motion:no-preference){.bs-limo{animation:1.8s cubic-bezier(.25,.7,.3,1) both bs-limo-arrive}.bs-door{animation:1.6s ease-in-out infinite alternate bs-door-wait}.bs-marquee{animation:1s linear infinite bs-marquee}.bs-coins circle{opacity:0}.boot--entering .bs-limo-door{transform-box:fill-box;transform-origin:0;animation:.35s ease-out forwards bs-limo-door}.boot--entering .bs-guest{animation:1.6s linear .3s both bs-guest}.boot--entering .bs-door{animation:1.9s ease-in forwards bs-door-flare}.boot--entering .bs-rays{animation:1.9s ease-in forwards bs-rays}.boot--entering .bs-coins circle{animation:1.9s ease-out forwards bs-coin}.boot--entering .bs-coins .c2{animation-delay:.12s}.boot--entering .bs-coins .c3{animation-delay:.24s}.boot--entering .bs-coins .c4{animation-delay:60ms}}@keyframes bs-limo-arrive{0%{transform:translate(-260px)}to{transform:translate(0)}}@keyframes bs-limo-door{to{transform:scaleX(.35)}}@keyframes bs-guest{0%{opacity:0;transform:translate(0)scale(1)}12%{opacity:1;transform:translate(0)scale(1)}88%{opacity:1;transform:translate(84px,-72px)scale(.62)}to{opacity:0;transform:translate(86px,-74px)scale(.6)}}@keyframes bs-door-wait{0%{opacity:.45}to{opacity:.7}}@keyframes bs-door-flare{0%{opacity:.6}75%,to{opacity:1}}@keyframes bs-rays{0%{opacity:.06}75%,to{opacity:.24}}@keyframes bs-marquee{to{stroke-dashoffset:-10px}}@keyframes bs-coin{0%,70%{opacity:0;transform:translateY(8px)}80%{opacity:1}to{opacity:0;transform:translateY(-34px)}}.scene-canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.debug-overlay{left:var(--space-2);bottom:var(--space-2);z-index:var(--z-toast);padding:var(--space-1) var(--space-2);color:#d8f0d8;pointer-events:none;background:#0000008c;border-radius:6px;margin:0;font:11px/1.4 ui-monospace,Menlo,monospace;position:fixed}
