@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2) format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff) format("woff")}.tier{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:var(--r-pill);border:2px solid var(--c-ink);font-size:var(--t-body-xs);font-weight:900;background:var(--c-surface);color:var(--c-ink);vertical-align:middle;white-space:nowrap}.tier--gold{background:var(--c-yellow)}.tier--silver{background:#e9ecf5}.tier--bronze{background:#f3d3b5}.tier--big{font-size:var(--t-body-md);padding:4px 12px}.challenge{display:grid;grid-template-columns:72px 1fr;gap:var(--s-3);align-items:center;padding:var(--s-3);margin:0 0 var(--s-3);border-radius:var(--r-lg);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-card);text-align:left}.challenge img{width:72px;height:72px;object-fit:cover;border-radius:var(--r-md);border:2px solid var(--c-ink)}.challenge div{display:grid;gap:4px;min-width:0}.challenge b{font-family:var(--f-display);font-size:var(--t-body-lg);color:var(--c-ink)}.challenge span{font-size:var(--t-body-sm);font-weight:800;color:var(--c-text-dim)}.duel{width:100%;max-width:640px;display:grid;gap:var(--s-3);justify-items:center}.duel__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);width:100%}.duel figure{margin:0;display:grid;gap:6px;opacity:.78;transform:scale(.96);transition:transform .3s var(--e-smooth),opacity .3s}.duel figure.is-win{opacity:1;transform:none}.duel img,.duel__none{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-lg);border:3px solid var(--c-ink);background:var(--c-surface-3);display:grid;place-items:center;font-weight:800;color:var(--c-text-mute)}.duel figure.is-win img{box-shadow:0 0 0 4px var(--c-yellow)}.duel figcaption{display:grid;gap:2px;font-size:var(--t-body-sm)}.duel figcaption b{font-family:var(--f-display);font-size:var(--t-body-lg)}.duel figcaption small{color:var(--c-text-dim);font-weight:700;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.crew{display:grid;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-lg);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-card);text-align:left}.crew--empty{grid-template-columns:1fr auto;align-items:center}.crew--empty>div{display:grid;gap:2px}.crew--empty .crew__note{grid-column:1 / -1}.crew b{font-family:var(--f-display);font-size:var(--t-body-lg);color:var(--c-ink)}.crew__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-2);flex-wrap:wrap}.crew span,.crew small{font-size:var(--t-body-sm);font-weight:800;color:var(--c-text-dim)}.crew__board{list-style:none;margin:0;padding:0;display:grid;gap:4px}.crew__board li{display:grid;grid-template-columns:24px 1fr auto auto;gap:var(--s-2);align-items:center;padding:4px 8px;border-radius:var(--r-md)}.crew__board li.is-me{background:var(--c-surface-2, #F3F6FF)}.crew__rank{font-weight:900;color:var(--c-text-mute)}.crew__name{font-weight:900;color:var(--c-ink);font-size:var(--t-body-sm)}.crew__today{font-weight:900;font-size:var(--t-body-sm);display:inline-flex;gap:6px;align-items:center}.crew__week{font-family:var(--f-display);font-size:var(--t-body-lg);color:var(--c-ink);min-width:36px;text-align:right}.crew__actions{display:flex;gap:var(--s-2)}.crew__note{margin:0;font-size:var(--t-body-sm);font-weight:800;color:var(--c-text-dim)}.duel__kicker{font-size:var(--t-body-xs);font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-dim)}.crew__live{display:grid;gap:2px;padding:8px 12px;border-radius:var(--r-md);background:var(--c-lime);border:2px solid var(--c-ink);color:var(--c-ink);text-decoration:none;box-shadow:0 3px 0 var(--c-ink)}.crew__live b{font-family:var(--f-display);font-size:var(--t-body-md)}.crew__live span{font-size:var(--t-body-xs);font-weight:900;color:var(--c-ink)}.crew__actions{flex-wrap:wrap}:root{--c-sky: #BDE4FF;--c-sky-2: #E3F5FF;--c-grass: #A9EC84;--c-grass-2: #7ED35C;--c-hill: #B9F09A;--c-cloud: #FFFFFF;--c-ink: #2B2540;--c-ink-soft: #4A4466;--c-surface: #FFFFFF;--c-surface-2: #F3F0FF;--c-surface-3: #E8E3FF;--c-line: rgba(43,37,64,.14);--c-text: #2B2540;--c-text-dim: #5A5478;--c-text-mute: #605A78;--c-on-ink: #FFFFFF;--c-pink: #FF7AB0;--c-blue: #6CC1FF;--c-purple: #B48BFF;--c-yellow: #FFD84D;--c-lime: #BDF26E;--c-orange: #FFB15C;--c-gold: #FFC83D;--c-gold-2: #FFF1B8;--c-red: #FF5C5C;--c-success-text: #176C3B;--c-danger-text: #A52336;--c-warning-text: #9C4800;--c-purple-text: #7542BB;--c-green: #3FD37F;--c-paper: #FFFDF6;--c-paper-line: #E9E3D2;--g-stage: linear-gradient(180deg, var(--c-sky) 0%, var(--c-sky-2) 70%, var(--c-sky-2) 100%);--g-neon: linear-gradient(90deg, var(--c-pink) 0%, var(--c-purple) 50%, var(--c-blue) 100%);--g-gold: linear-gradient(180deg, #FFE785 0%, var(--c-gold) 60%, #FFAD33 100%);--g-shine: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.85) 50%, transparent 65%);--g-spot: radial-gradient(closest-side, rgba(255,255,255,.95), rgba(255,255,255,0));--g-card: none;--g-logo: linear-gradient(180deg, #FFE066 0%, #FFB15C 100%);--f-display: "Fredoka", "Nunito", system-ui, sans-serif;--f-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--t-display-xl: clamp(40px, 8vw, 80px);--t-display-lg: clamp(28px, 5vw, 46px);--t-display-md: clamp(21px, 3.2vw, 30px);--t-display-sm: clamp(17px, 2.6vw, 22px);--t-body-lg: 18px;--t-body-md: 16px;--t-body-sm: 14px;--t-body-xs: 12px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-xl: 32px;--r-pill: 999px;--ol: 3px solid var(--c-ink);--ol-w: 3px;--sh-card: 0 6px 0 rgba(43,37,64,.16);--sh-pop: 0 10px 0 rgba(43,37,64,.18), 0 24px 40px rgba(43,37,64,.18);--sh-press: 0 3px 0 var(--c-ink);--sh-btn: 0 5px 0 var(--c-ink);--sh-glow-magenta: 0 0 0 4px rgba(255,122,176,.45);--sh-glow-cyan: 0 0 0 4px rgba(108,193,255,.55);--sh-glow-gold: 0 0 0 4px rgba(255,200,61,.6), 0 0 28px rgba(255,200,61,.6);--sh-glow-red: 0 0 0 4px rgba(255,92,92,.5);--sh-glow-green: 0 0 0 4px rgba(63,211,127,.5);--z-base: 0;--z-scene: 1;--z-tile: 10;--z-rail: 20;--z-overlay: 50;--z-modal: 400;--z-stamp: 150;--z-toast: 200;--z-fx: 300;--d-fast: .16s;--d-base: .32s;--d-dramatic: .9s;--e-snap: cubic-bezier(.2, 0, 0, 1);--e-bounce: cubic-bezier(.34, 1.56, .64, 1);--e-smooth: cubic-bezier(.4, 0, .2, 1);--stagger-sm: 40ms;--stagger-md: 80ms;--stagger-lg: .14s;--tap: 44px;--gutter: 16px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}@media(prefers-reduced-motion:reduce){:root{--d-fast: 80ms;--d-base: .16s;--d-dramatic: .3s;--e-bounce: cubic-bezier(.2, 0, 0, 1);--stagger-sm: 0ms;--stagger-md: 0ms;--stagger-lg: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--c-sky-2);color:var(--c-text);font-family:var(--f-body);font-size:var(--t-body-md);line-height:1.4;font-weight:700;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}h1,h2,h3{margin:0;font-family:var(--f-display);font-weight:700;letter-spacing:.005em;line-height:1.05}p{margin:0}button{font:inherit;color:inherit}input{font:inherit}a{color:var(--c-ink);text-decoration-thickness:2px;text-underline-offset:3px}:focus-visible{outline:3px solid var(--c-blue);outline-offset:3px}[tabindex="-1"]:focus-visible{outline:none}.display-xl{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-xl);line-height:1}.display-lg{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-lg);line-height:1.05}.display-md{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md);line-height:1.1}.display-sm{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);line-height:1.1}.dim{color:var(--c-text-dim)}.mute{color:var(--c-text-mute)}.neon-text{color:var(--c-on-ink);-webkit-text-stroke:0;text-shadow:0 3px 0 var(--c-ink),2px 0 0 var(--c-ink),-2px 0 0 var(--c-ink),0 -2px 0 var(--c-ink),2px 3px 0 var(--c-ink),-2px 3px 0 var(--c-ink)}.gold-text{color:var(--c-yellow);text-shadow:0 3px 0 var(--c-ink),2px 0 0 var(--c-ink),-2px 0 0 var(--c-ink),0 -2px 0 var(--c-ink),2px 3px 0 var(--c-ink),-2px 3px 0 var(--c-ink)}.ink-text{color:var(--c-ink)}.stage-bg{background:var(--g-stage)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@keyframes sk-shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes sk-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes sk-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sk-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes sk-spin{to{transform:rotate(360deg)}}@keyframes sk-flame{0%,to{transform:scaleY(1) rotate(-3deg)}50%{transform:scaleY(1.15) rotate(3deg)}}@keyframes sk-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes sk-fog{0%,to{opacity:.35;transform:translate(-6%)}50%{opacity:.6;transform:translate(6%)}}@keyframes sk-drift{0%{transform:translate(-12%)}to{transform:translate(12%)}}@keyframes sk-wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@media(prefers-reduced-motion:reduce){.rm-still{animation:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:56px;padding:0 var(--s-5);border:var(--ol);border-radius:var(--r-md);font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;box-shadow:var(--sh-btn);transform:translateY(0);transition:transform var(--d-fast) var(--e-snap),box-shadow var(--d-fast) var(--e-snap),opacity var(--d-fast) var(--e-snap);will-change:transform}.btn:not(:disabled):active{transform:translateY(4px);box-shadow:0 1px 0 var(--c-ink)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:0 2px 0 var(--c-ink)}.btn--primary{background:var(--c-ink);color:var(--c-on-ink)}.btn--secondary{background:var(--c-blue);color:var(--c-ink)}.btn--lime{background:var(--c-lime);color:var(--c-ink)}.btn--pink{background:var(--c-pink);color:var(--c-ink)}.btn--ghost{background:var(--c-surface);color:var(--c-ink)}.btn--danger{background:var(--c-red);color:var(--c-ink)}.btn--gold{background:var(--g-gold);color:var(--c-ink)}.btn--sm{min-height:var(--tap);padding:0 var(--s-4);font-size:var(--t-body-md);border-width:2px;box-shadow:0 3px 0 var(--c-ink);border-radius:var(--r-sm)}.btn--sm:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 var(--c-ink)}.btn--lg{min-height:64px;padding:0 var(--s-6);font-size:var(--t-display-md);border-radius:var(--r-lg)}.btn--block{width:100%}.btn--icon{width:var(--tap);min-height:var(--tap);padding:0;border-radius:var(--r-pill);font-family:var(--f-body);font-size:20px;border-width:2px;box-shadow:0 3px 0 var(--c-ink);background:var(--c-surface)}.btn__shine{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--g-shine);transform:translate(-120%);pointer-events:none;opacity:.5}.btn--primary:not(:disabled):hover .btn__shine{animation:sk-shimmer var(--d-dramatic) var(--e-smooth) 1}.card{background:var(--c-surface);border:var(--ol);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:var(--s-4);position:relative;color:var(--c-text)}.card--flat{box-shadow:none;background:var(--c-surface-2);border-width:2px}.card--neon{background:var(--c-pink)}.card--cyan{background:var(--c-blue)}.card--gold{background:var(--g-gold)}.card--pad-lg{padding:var(--s-5)}.card--speech:after{content:"";position:absolute;left:50%;bottom:-16px;width:24px;height:24px;background:var(--c-surface);border-right:var(--ol);border-bottom:var(--ol);transform:translate(-50%) rotate(45deg);border-radius:0 0 6px}.avatar{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:var(--s-1);width:68px;flex:0 0 auto}.avatar--sm{width:44px}.avatar--lg{width:96px}.avatar__disc{width:54px;height:54px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:27px;background:var(--av-color);border:var(--ol);box-shadow:0 4px #2b254033;position:relative;will-change:transform}.avatar--sm .avatar__disc{width:38px;height:38px;font-size:19px;border-width:2px;box-shadow:0 2px #2b254033}.avatar--lg .avatar__disc{width:84px;height:84px;font-size:42px}.avatar--off .avatar__disc{opacity:.4;filter:grayscale(1)}.avatar__name{font-size:var(--t-body-xs);font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);background:var(--c-surface);border:2px solid var(--c-ink);border-radius:var(--r-pill);padding:1px 8px}.avatar--sm .avatar__name{display:none}.avatar__badge{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:12px;font-weight:900;color:var(--c-ink);background:var(--c-lime);border:2px solid var(--c-ink);z-index:1}.avatar__badge--host{background:var(--c-yellow)}.avatar__badge--you{background:var(--c-blue);left:-10px;right:auto;width:auto;padding:0 5px;font-size:9px}.avatar__flame{position:absolute;bottom:-4px;right:-10px;font-size:20px;transform-origin:50% 100%;animation:sk-flame var(--d-dramatic) var(--e-smooth) infinite;z-index:1}.avatar__score{font-family:var(--f-display);font-size:var(--t-body-sm);color:var(--c-ink);background:var(--c-yellow);border:2px solid var(--c-ink);border-radius:var(--r-pill);padding:0 8px;line-height:1.4}.avatar__ring{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:var(--r-pill);box-shadow:0 0 0 3px var(--c-blue);opacity:0}.avatar--active .avatar__ring{opacity:1;animation:sk-pulse var(--d-dramatic) var(--e-smooth) infinite}.timer{display:inline-flex;align-items:center;gap:var(--s-2);padding:4px 14px 4px 4px;border-radius:var(--r-pill);background:var(--c-surface);border:var(--ol);box-shadow:0 4px #2b254029}.timer__clock{width:34px;height:34px;border-radius:var(--r-pill);border:2px solid var(--c-ink);background:var(--c-surface);display:grid;place-items:center;position:relative;flex:0 0 auto}.timer__clock i{position:absolute;left:50%;top:50%;width:2px;height:11px;background:var(--c-ink);transform-origin:50% 100%;border-radius:2px;transform:translate(-50%,-100%) rotate(var(--hand, 0deg))}.timer__clock b{position:absolute;width:5px;height:5px;border-radius:var(--r-pill);background:var(--c-ink)}.timer__digits{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);min-width:2ch;text-align:center;font-variant-numeric:tabular-nums;color:var(--c-ink)}.timer--urgent .timer__digits{color:var(--c-danger-text)}.timer__bar{width:110px;height:14px;border-radius:var(--r-pill);background:var(--c-surface-3);border:2px solid var(--c-ink);overflow:hidden}.timer__fill{height:100%;width:100%;background:var(--c-blue);transform-origin:left center;border-radius:var(--r-pill)}.timer--urgent .timer__fill{background:var(--c-red)}.timer--compact{padding:3px 10px 3px 3px;gap:6px;box-shadow:0 3px #2b254029;border-width:2px}.timer--compact .timer__clock{width:28px;height:28px}.timer--compact .timer__clock i{height:9px}.timer--compact .timer__digits{font-size:var(--t-body-md)}.timer--compact .timer__bar{width:48px;height:10px}.timer--ring{padding:0;background:transparent;box-shadow:none;border:0;width:104px;height:104px;display:grid;place-items:center;position:relative}.timer--ring .timer__digits{position:relative;z-index:1;font-size:var(--t-display-lg)}.ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill)}.ring__track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);background:var(--c-surface);border:var(--ol);box-shadow:0 0 0 8px var(--c-surface-3) inset,0 4px #2b254029}.ring__half{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:var(--r-pill);clip-path:inset(0 50% 0 0)}.ring__half--r{clip-path:inset(0 0 0 50%)}.ring__fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);box-shadow:0 0 0 8px var(--c-blue) inset}.ring__half--l .ring__fill{clip-path:inset(0 0 0 50%);transform-origin:50% 50%}.ring__half--r .ring__fill{clip-path:inset(0 50% 0 0);transform-origin:50% 50%}.timer--urgent .ring__fill{box-shadow:0 0 0 8px var(--c-red) inset}.tile{position:relative;border-radius:var(--r-lg);background:var(--c-paper);aspect-ratio:1;overflow:hidden;border:var(--ol);box-shadow:var(--sh-card);width:100%;will-change:transform}.tile--selectable{cursor:pointer}.tile__layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:cover}.tile__layer--glow.tile__layer--mock{filter:saturate(1.5) contrast(1.12)}.tile__layer--mock{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.9),var(--c-paper) 60%)}.tile__shimmer{position:absolute;top:-40%;right:-20%;bottom:-40%;left:-20%;background:var(--g-shine);transform:translate(-120%);pointer-events:none}.tile--pending .tile__shimmer{animation:sk-shimmer var(--d-dramatic) var(--e-smooth) infinite}.tile__frame{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:calc(var(--r-lg) - var(--ol-w));pointer-events:none}.tile--golden .tile__frame{box-shadow:0 0 0 7px var(--c-gold) inset,var(--sh-glow-gold)}.tile--selected .tile__frame{box-shadow:0 0 0 6px var(--c-blue) inset}.tile--selected{box-shadow:var(--sh-card),var(--sh-glow-cyan)}.tile--dim{opacity:.4}.tile--spot{box-shadow:var(--sh-card),0 0 0 5px var(--c-yellow),0 0 30px var(--c-yellow)}.tile__shine{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:var(--g-shine);transform:translate(-120%) rotate(.001deg);pointer-events:none}.tile--golden .tile__shine{animation:sk-shimmer calc(var(--d-dramatic) * 1.6) var(--e-smooth) 1 both}.tile__name{position:absolute;left:var(--s-2);bottom:var(--s-2);display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:var(--r-pill);background:var(--c-surface);border:2px solid var(--c-ink);color:var(--c-ink);font-size:var(--t-body-xs);font-weight:900;max-width:calc(100% - 16px);z-index:2}.tile__name-dot{width:20px;height:20px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:11px;background:var(--av-color);border:2px solid var(--c-ink)}.tile__name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile__votes{position:absolute;right:var(--s-2);top:var(--s-2);min-width:30px;height:30px;padding:0 8px;border-radius:var(--r-pill);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:var(--t-body-md);background:var(--c-pink);border:2px solid var(--c-ink);color:var(--c-ink);z-index:2}.tile__golden-tag{position:absolute;left:50%;top:var(--s-2);transform:translate(-50%);padding:2px 10px;border-radius:var(--r-pill);background:var(--g-gold);border:2px solid var(--c-ink);color:var(--c-ink);font-family:var(--f-display);font-weight:700;font-size:11px;z-index:2;letter-spacing:.04em;white-space:nowrap}.tile__mock-tag{background:var(--c-surface-2);color:var(--c-text-dim)}.tile__fallback{position:absolute;right:var(--s-2);top:var(--s-2);padding:2px 8px;color:var(--c-text-dim)!important;font-size:11px!important;border-radius:var(--r-pill);background:var(--c-surface);border:2px solid var(--c-ink);color:var(--c-ink);font-size:var(--t-body-xs);font-weight:900;white-space:nowrap;z-index:2}.tile__blank{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--c-paper-line);font-family:var(--f-display);font-size:var(--t-display-sm)}.tile__check{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--c-lime);border:var(--ol);color:var(--c-ink);font-size:34px;font-weight:900;z-index:3}.tile__stamp-slot{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:4;pointer-events:none}.meter{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:var(--s-3);border-radius:var(--r-md);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-card)}.meter__thumb{width:56px;height:56px;border-radius:var(--r-sm);overflow:hidden;background:var(--c-paper);position:relative;border:2px solid var(--c-ink)}.meter__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.meter__name{min-width:0;font-weight:900;font-size:var(--t-body-sm);color:var(--c-text);display:flex;gap:6px;align-items:center}.meter__track{height:16px;border-radius:var(--r-pill);background:var(--c-surface-3);border:2px solid var(--c-ink);overflow:hidden}.meter__fill{height:100%;width:100%;transform-origin:left center;background:var(--c-blue);border-radius:var(--r-pill)}.meter--imposter .meter__fill{background:var(--c-red)}.meter__text{overflow-wrap:anywhere;font-size:var(--t-body-xs);color:var(--c-text-dim);min-height:1.4em}.meter__text b{color:var(--c-ink)}.meter__num{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md);min-width:3.2ch;text-align:right;font-variant-numeric:tabular-nums;color:var(--c-ink)}.meter--imposter .meter__num{color:var(--c-danger-text)}.meter--fog .meter__num{color:var(--c-text-mute);position:relative}.meter__fog{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);background:#ffffffb3;animation:sk-fog var(--d-dramatic) var(--e-smooth) infinite alternate}.meter__tag{padding:1px 7px;border-radius:var(--r-pill);font-size:10px;font-family:var(--f-display);font-weight:700;background:var(--c-red);border:2px solid var(--c-ink);color:var(--c-ink)}.meter__tag--you{background:var(--c-blue)}.toasts{position:fixed;left:50%;bottom:calc(var(--s-5) + var(--safe-b));transform:translate(-50%);display:flex;flex-direction:column;gap:var(--s-2);z-index:var(--z-toast);pointer-events:none;width:min(92vw,420px);align-items:center}.toast{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4) var(--s-2) var(--s-2);border-radius:var(--r-pill);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-card);font-weight:900;font-size:var(--t-body-sm);max-width:100%;color:var(--c-ink)}.toast__icon{width:30px;height:30px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:15px;background:var(--av-color, var(--c-purple));border:2px solid var(--c-ink);color:var(--c-ink);flex:0 0 auto}.toast--golden{background:var(--g-gold)}.toast--streak{background:var(--c-pink)}.toast--host{background:var(--c-yellow)}.toast--fled{background:var(--c-red)}.toast--leave{opacity:.92}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b25408c;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--gutter)}.modal{width:min(100%,520px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--c-surface);border:var(--ol);border-radius:var(--r-xl);padding:var(--s-5);box-shadow:var(--sh-pop)}.stamp{display:inline-block;padding:var(--s-2) var(--s-4);border:5px solid currentColor;border-radius:var(--r-md);font-family:var(--f-display);font-weight:700;font-size:var(--t-display-lg);letter-spacing:.02em;text-transform:uppercase;line-height:1;background:var(--c-surface);transform:rotate(-8deg);will-change:transform;white-space:nowrap;box-shadow:0 6px #2b254040}.stamp--imposter{color:var(--c-danger-text)}.stamp--innocent{color:var(--c-success-text)}.stamp--escaped{color:var(--c-warning-text)}.stamp--stolen{color:var(--c-purple-text)}.stamp--sm{font-size:var(--t-display-sm);letter-spacing:.02em;border-width:3px;padding:3px 8px;box-shadow:0 3px #2b254040}.burst-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-fx)}.burst{position:absolute;left:0;top:0;padding:4px 12px;border-radius:var(--r-pill);font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);color:var(--c-ink);background:var(--c-lime);border:2px solid var(--c-ink);box-shadow:0 3px 0 var(--c-ink);will-change:transform,opacity;white-space:nowrap}.burst--big{background:var(--g-gold)}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-fx)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:var(--c-surface);border:2px solid var(--c-ink);font-weight:900;font-size:var(--t-body-sm);color:var(--c-ink);box-shadow:0 3px #2b254029}.chip--magenta{background:var(--c-pink)}.chip--cyan{background:var(--c-blue)}.chip--red{background:var(--c-red)}.chip--gold{background:var(--g-gold)}.chip--lime{background:var(--c-lime)}.chip--plain{box-shadow:none}.mascot{display:inline-block;width:var(--mascot-size, 96px);height:var(--mascot-size, 96px)}.mascot--float{animation:sk-float calc(var(--d-dramatic) * 3) var(--e-smooth) infinite}.mascot--bob{animation:sk-bob calc(var(--d-dramatic) * 2) var(--e-smooth) infinite;transform-origin:50% 100%}.scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:var(--z-scene)}.scene__cloud{position:absolute;width:140px;height:48px;border-radius:var(--r-pill);background:var(--c-cloud);border:var(--ol);opacity:.55}.scene__cloud:before,.scene__cloud:after{content:"";position:absolute;bottom:14px;background:var(--c-cloud);border:var(--ol);border-bottom:0;border-radius:var(--r-pill) var(--r-pill) 0 0}.scene__cloud:before{left:22px;width:52px;height:44px}.scene__cloud:after{left:64px;width:56px;height:54px}.scene__cloud-mask{position:absolute;left:3px;right:3px;bottom:12px;height:20px;background:var(--c-cloud);border-radius:0}.scene__cloud--drift{animation:sk-drift calc(var(--d-dramatic) * 26) var(--e-smooth) infinite alternate}.scene__hills{position:absolute;left:0;right:0;bottom:0;height:180px}.scene__hills svg{width:100%;height:100%;display:block}.avatar-art{width:88%;height:88%;display:block;flex-shrink:0}.ui-icon{width:var(--s-5);height:var(--s-5)}.award-art{width:var(--s-7);height:var(--s-7);flex:0 0 auto}.avatar__flame .award-art{width:var(--s-5);height:var(--s-5)}.tile__name-dot .avatar-art{width:100%;height:100%}.btn--primary{text-shadow:0 2px 0 var(--c-ink-soft)}.tile{container-type:inline-size}.tile .stamp--sm{font-size:clamp(14px,10cqw,28px);padding:var(--s-1) var(--s-2);border-width:3px;border-radius:var(--r-sm);max-width:82%}.tile__fallback{white-space:normal;text-align:center;width:85%}@media(prefers-reduced-motion:reduce){.mascot--float,.mascot--bob,.scene__cloud--drift,.avatar__flame,.avatar--active .avatar__ring,.tile--pending .tile__shimmer,.tile--golden .tile__shine,.meter__fog{animation:none}.tile--pending .tile__shimmer{opacity:0}}.meter__name{flex-wrap:wrap}.meter__player{min-width:0;display:inline-flex;gap:var(--s-1);align-items:center;max-width:100%}.meter__player .avatar-art{width:20px;height:20px}.meter__player>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.toast__icon .award-art{width:24px;height:24px}.modal__controls{display:flex;justify-content:flex-end;margin-bottom:var(--s-3)}.avatar--sm .avatar__flame{font-size:14px;right:-5px}.toast>span:last-child{min-width:0;overflow-wrap:anywhere}.status-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}.avatar__badge .status-icon{width:14px;height:14px}.tile__check .status-icon{width:34px;height:34px}.tile__inset{position:absolute;right:var(--s-2);bottom:var(--s-2);width:22%;min-width:44px;max-width:96px;aspect-ratio:1;border-radius:var(--r-sm);background:var(--c-paper);border:2px solid var(--c-ink);box-shadow:0 2px #2b254033;overflow:hidden;z-index:3;cursor:zoom-in;transition:transform var(--d-fast) var(--e-snap)}.tile__inset:hover{transform:scale(1.06)}.tile__inset small{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#ffffffd9;color:var(--c-ink)}.tile--pending{border-color:transparent;background:linear-gradient(var(--c-paper),var(--c-paper)) padding-box,conic-gradient(from var(--spin, 0deg),var(--c-pink),var(--c-yellow),var(--c-lime),var(--c-blue),var(--c-purple),var(--c-pink)) border-box;animation:sk-border 2.4s linear infinite}@property --spin{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes sk-border{to{--spin: 360deg}}.tile--pending>.tile__layer{animation:sk-breathe 2.4s ease-in-out infinite}@keyframes sk-breathe{50%{transform:scale(1.025);filter:saturate(1.2)}}.tile__paint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;mix-blend-mode:multiply;opacity:.28;background:linear-gradient(115deg,var(--c-pink),var(--c-yellow),var(--c-lime),var(--c-blue),var(--c-purple),var(--c-pink));background-size:300% 300%;animation:sk-paint 3s linear infinite}@keyframes sk-paint{to{background-position:300% 0}}.tile__scan{position:absolute;left:0;right:0;top:0;height:18%;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,255,255,.85),transparent);animation:sk-scan 1.8s cubic-bezier(.45,0,.55,1) infinite}@keyframes sk-scan{0%{transform:translateY(-100%)}to{transform:translateY(560%)}}.tile__twinkles i{position:absolute;z-index:2;font-style:normal;font-size:18px;color:var(--c-gold);text-shadow:0 0 6px #fff;animation:sk-twinkle 1.85s ease-in-out infinite;pointer-events:none}@keyframes sk-twinkle{0%,to{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.1) rotate(90deg);opacity:1}}.tile__pending{position:absolute;left:50%;bottom:12%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border-radius:var(--r-pill);background:var(--c-surface);border:2px solid var(--c-ink);box-shadow:0 3px #2b25402e;font-weight:900;font-size:var(--t-body-xs);color:var(--c-ink);white-space:nowrap;z-index:3}.tile__pending img{width:30px;height:30px;animation:sk-bob-sm .6s ease-in-out infinite alternate}@keyframes sk-bob-sm{to{transform:translateY(-3px) rotate(-6deg)}}.tile__pending-text{display:grid;gap:3px}.tile__pending-text b{display:block;width:96px;height:6px;border-radius:99px;background:var(--c-surface-3);overflow:hidden}.tile__pending-text em{display:block;height:100%;background:linear-gradient(90deg,var(--c-pink),var(--c-blue));border-radius:99px;animation:sk-progress 14s cubic-bezier(.1,.7,.3,1) forwards}@keyframes sk-progress{0%{width:4%}to{width:92%}}.tile__burst{position:absolute;left:50%;top:50%;z-index:4;pointer-events:none}.tile__burst i{position:absolute;width:10px;height:10px;border-radius:3px;background:var(--c-yellow);border:2px solid var(--c-ink);transform:rotate(var(--a)) translateY(0) scale(0);animation:sk-burst .8s cubic-bezier(.2,0,0,1) forwards}.tile__burst i:nth-child(2n){background:var(--c-pink)}@keyframes sk-burst{40%{transform:rotate(var(--a)) translateY(-90px) scale(1);opacity:1}to{transform:rotate(var(--a)) translateY(-130px) scale(0);opacity:0}}@media(prefers-reduced-motion:reduce){.tile--pending,.tile--pending>.tile__layer,.tile__paint,.tile__scan,.tile__twinkles i,.tile__pending img{animation:none}.tile__scan,.tile__twinkles{display:none}}.tile--selectable{transition:transform var(--d-fast) var(--e-snap),box-shadow var(--d-fast) var(--e-snap)}.tile--selectable:hover,.tile--selectable:focus-visible{transform:translateY(-4px);box-shadow:var(--sh-card),0 0 0 4px var(--c-pink);outline:none}.tile__action{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);padding:8px 22px;border-radius:var(--r-pill);background:var(--c-pink);border:var(--ol);box-shadow:var(--sh-btn);font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);color:var(--c-ink);opacity:0;transition:opacity var(--d-fast) var(--e-snap),transform var(--d-fast) var(--e-snap);z-index:4;pointer-events:none}.tile--selectable:hover .tile__action,.tile--selectable:focus-visible .tile__action{opacity:1;transform:translate(-50%,-50%) scale(1)}@media(hover:none){.tile--selectable .tile__action{opacity:1;transform:translate(-50%,-50%) scale(.8)}}.sound{position:relative}.sound__panel{position:absolute;right:0;top:calc(100% + 8px);width:220px;display:grid;gap:var(--s-3);padding:var(--s-3);background:var(--c-surface);border:var(--ol);border-radius:var(--r-md);box-shadow:var(--sh-pop);z-index:var(--z-modal)}.sound__row{display:grid;gap:4px;font-weight:900;font-size:var(--t-body-sm);color:var(--c-ink)}.sound__row input{width:100%;accent-color:var(--c-ink)}.scene--lively{--px: 0;--py: 0;-webkit-mask-image:none!important;mask-image:none!important}.sky__sun{position:absolute;right:8%;top:-12%;width:46vmin;height:46vmin;border-radius:50%;background:radial-gradient(closest-side,#fff1b8e6,#ffd84d40 55%,#ffd84d00);animation:sk-sun 9s ease-in-out infinite alternate;transform:translate(calc(var(--px) * -10px),calc(var(--py) * -6px))}@keyframes sk-sun{to{opacity:.75;scale:1.06}}.softcloud{position:absolute;left:0;animation-name:sk-cloud-across;animation-timing-function:linear;animation-iteration-count:infinite}.softcloud svg{width:100%;display:block;fill:#fff;filter:drop-shadow(0 6px 0 rgba(43,37,64,.06))}.softcloud--far{filter:blur(.6px)}.softcloud--near svg{filter:drop-shadow(0 8px 0 rgba(43,37,64,.08))}@keyframes sk-cloud-across{0%{transform:translate(-30vw)}to{transform:translate(110vw)}}.spark{position:absolute;color:#fff;text-shadow:0 0 10px rgba(255,216,77,.9),0 0 2px var(--c-gold);animation:sk-spark 4.2s ease-in-out infinite}@keyframes sk-spark{0%,to{opacity:0;transform:translateY(6px) scale(.6) rotate(0)}45%,55%{opacity:.95;transform:translateY(-6px) scale(1) rotate(45deg)}}.lhills{position:absolute;left:-3%;right:-3%;bottom:0;height:240px}.lhills svg{position:absolute;left:0;bottom:0;width:100%;height:100%}.lhills__far{transform:translate(calc(var(--px) * -8px));bottom:40px!important;height:85%!important}.lhills__mid{transform:translate(calc(var(--px) * -16px));bottom:10px!important}.lhills__near{transform:translate(calc(var(--px) * -28px))}.lhills svg{transition:transform .4s cubic-bezier(.2,0,0,1)}.scene--still .softcloud,.scene--still .spark,.scene--still .sky__sun{animation:none}.scene--still .spark{opacity:.7}@media(max-width:720px){.softcloud--near{display:none}.lhills{height:150px}}.modal--wide{width:min(100%,860px)}.luna-chip{display:inline-flex;align-items:center;gap:var(--s-1);padding:4px 12px 4px 4px;background:var(--c-surface);border:2px solid var(--c-ink);border-radius:var(--r-pill);font-size:var(--t-body-xs);font-weight:700;color:var(--c-text);max-width:100%;margin-top:var(--s-1)}.luna-chip img{width:32px;height:32px;flex:none}.luna-chip b{font-weight:900}.main-shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);background:var(--g-stage);overflow:hidden;position:relative}.main-shell__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:calc(var(--s-3) + var(--safe-t)) var(--s-5) var(--s-3);position:relative;z-index:var(--z-rail)}.main-shell__head>*{min-width:0}.main-shell__brand{display:flex;align-items:center;gap:var(--s-3)}.main-shell__code{display:inline-flex;align-items:center;gap:var(--s-2);padding:4px var(--s-4);border-radius:var(--r-md);background:var(--c-surface);border:var(--ol);box-shadow:0 4px #2b254029;font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md);letter-spacing:.12em;color:var(--c-ink)}.main-shell__code small{font-family:var(--f-body);font-size:var(--t-body-xs);letter-spacing:0;color:var(--c-text-mute);font-weight:900}.main-shell__stage{position:relative;padding:var(--s-4) var(--s-5);display:grid;place-items:center;min-height:0;z-index:var(--z-tile)}.main-shell__rail{display:flex;gap:var(--s-4);justify-content:center;flex-wrap:wrap;padding:var(--s-4) var(--s-5) calc(var(--s-4) + var(--safe-b));background:var(--c-grass);border-top:var(--ol);position:relative;z-index:var(--z-rail);min-height:116px;align-items:flex-start}.pips{display:inline-flex;gap:6px}.pip{width:12px;height:12px;border-radius:var(--r-pill);background:var(--c-surface);border:2px solid var(--c-ink)}.pip--done{background:var(--c-blue)}.pip--on{background:var(--c-pink)}.phase>*{min-width:0}.phase h1,.phase h2{overflow-wrap:anywhere}.phase{width:100%;max-width:1100px;margin:0 auto;display:grid;gap:var(--s-4)}.phase--narrow{max-width:560px}.phase__title{text-align:center;color:var(--c-ink)}.phase__sub{text-align:center;color:var(--c-text-dim);font-weight:800;font-size:var(--t-body-lg)}.phase-banner{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:var(--z-stamp)}.phase-banner__card{padding:var(--s-3) var(--s-6);border-radius:var(--r-lg);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-pop);font-family:var(--f-display);font-weight:700;font-size:var(--t-display-lg);color:var(--c-ink)}.phase-banner__card--magenta{background:var(--c-pink)}.phase-banner__card--cyan{background:var(--c-blue)}.phase-banner__card--gold{background:var(--c-yellow)}.phase-banner__card--red{background:var(--c-red)}.gallery{display:grid;gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:720px){.gallery--3,.gallery--4{grid-template-columns:repeat(2,minmax(0,1fr))}}.gallery--phone{grid-template-columns:repeat(2,minmax(0,1fr))}.howto{display:grid;gap:var(--s-4)}.howto__steps{display:grid;gap:var(--s-3);list-style:none;padding:0;margin:0}.howto__note{font-size:var(--t-body-sm);font-weight:700}.howto__step{display:grid;grid-template-columns:72px 1fr;gap:var(--s-3);align-items:center;padding:var(--s-3);border-radius:var(--r-md);background:var(--c-surface-2);border:2px solid var(--c-ink)}.howto__pic{width:72px;height:72px;border-radius:var(--r-md);object-fit:cover;border:var(--ol);box-shadow:0 4px #2b254029}.howto__pic--1{background:var(--c-pink)}.howto__pic--2{background:var(--c-blue)}.howto__pic--3{background:var(--c-lime)}.howto__step h3{font-size:var(--t-display-sm);margin-bottom:4px;color:var(--c-ink)}.howto__step p{color:var(--c-text-dim);font-size:var(--t-body-sm);font-weight:700}.lobby{display:grid;gap:var(--s-5);justify-items:center;text-align:center}.lobby__code{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-xl);letter-spacing:.16em;line-height:1;color:var(--c-ink)}.lobby__url{font-weight:900;color:var(--c-text-dim);font-size:var(--t-body-lg)}.lobby__url b{color:var(--c-ink)}.lobby__cast{display:flex;gap:var(--s-4);flex-wrap:wrap;justify-content:center;align-items:flex-start;min-height:100px}.lobby__cast>div{display:flex;flex-direction:column;align-items:center;gap:6px}.lobby__cast>div>button{font-size:13px;min-height:30px;padding:2px 12px}.lobby__slot{width:68px;height:54px;border-radius:var(--r-pill);border:3px dashed var(--c-line);display:grid;place-items:center;font-size:22px;opacity:.55}.lobby__join{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);align-items:center;text-align:left}.lobby__qr{width:132px;height:132px;border-radius:var(--r-md);border:var(--ol);background:var(--c-surface);padding:6px;display:block}@media(max-width:560px){.lobby__join{grid-template-columns:1fr;justify-items:center;text-align:center}}.prompt-card{text-align:center;display:grid;gap:var(--s-3);justify-items:center;padding:var(--s-6) var(--s-4)}.prompt-card__label{font-family:var(--f-display);font-weight:700;font-size:var(--t-body-sm);letter-spacing:.14em;color:var(--c-text-mute)}.prompt-card__text{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-lg);color:var(--c-ink)}.prompt-card--imposter{background:var(--c-surface);box-shadow:var(--sh-card),0 0 0 6px var(--c-red)}.prompt-card__banner{padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--c-red);border:var(--ol);color:var(--c-ink);font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm)}.theme-word{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-xl);text-align:center}.draw-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.draw-prompt{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);line-height:1.15;color:var(--c-ink)}.draw-prompt--imposter{color:var(--c-danger-text)}.spotlight{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-overlay)}.spotlight__beam{position:absolute;left:0;top:0;width:42vmin;height:42vmin;border-radius:var(--r-pill);background:var(--g-spot);opacity:0;will-change:transform,opacity;mix-blend-mode:screen}.unmask-wrap{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.unmask-wrap--shake{animation:sk-shake var(--d-base) var(--e-snap) 2}@keyframes sk-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px) rotate(-.5deg)}75%{transform:translate(6px) rotate(.5deg)}}.steal{display:grid;gap:var(--s-4);justify-items:center}.steal__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);width:100%;max-width:640px;perspective:1200px}.steal-card{position:relative;min-height:100px;border-radius:var(--r-md);transform-style:preserve-3d;will-change:transform;cursor:pointer;background:transparent;border:0;padding:0}.steal-card__face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-md);display:grid;place-items:center;padding:var(--s-3);text-align:center;font-weight:900;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:var(--ol);box-shadow:0 4px #2b254029;color:var(--c-ink)}.steal-card__face--back{background:var(--c-purple);font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md)}.steal-card__face--front{background:var(--c-surface);transform:rotateY(180deg)}.steal-card--picked .steal-card__face--front{background:var(--c-blue)}.steal-card--right .steal-card__face--front{background:var(--c-lime)}.steal-card--wrong .steal-card__face--front{background:var(--c-red)}.steal-card--disabled{cursor:default}.judge{display:flex;gap:var(--s-3);align-items:center;justify-content:center}.scores{display:grid;gap:var(--s-3);width:100%;max-width:640px}.score-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-card)}.score-row>*{min-width:0}.score-row--me{background:var(--c-surface-2)}.score-row__name{overflow-wrap:anywhere;font-weight:900;display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--c-ink)}.score-row__total{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md);min-width:3ch;text-align:right;color:var(--c-ink)}.score-row__reason{font-size:var(--t-body-xs);color:var(--c-text-mute);font-weight:800}.score-row__delta{font-family:var(--f-display);font-weight:700;color:var(--c-success-text);font-size:var(--t-body-md)}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2);align-items:end;width:100%;max-width:560px;margin:0 auto}.podium__col{display:grid;justify-items:center;gap:var(--s-2)}.podium__block{width:100%;border-radius:var(--r-md) var(--r-md) 0 0;display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md);color:var(--c-ink);transform-origin:bottom center;border:var(--ol);border-bottom:0}.podium__block--1{height:120px;background:var(--c-yellow)}.podium__block--2{height:88px;background:var(--c-blue)}.podium__block--3{height:64px;background:var(--c-pink)}.awards{display:grid;gap:var(--s-2);width:100%;max-width:560px;margin:0 auto}.award{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-3);border-radius:var(--r-md);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-card)}.award>div{min-width:0;overflow-wrap:anywhere}.award__title{font-family:var(--f-display);font-weight:700;font-size:var(--t-body-lg);color:var(--c-ink)}.award__detail{font-size:var(--t-body-xs);color:var(--c-text-mute);font-weight:800}.status-strip{display:flex;gap:var(--s-4);justify-content:center;flex-wrap:wrap}.landing{min-height:100dvh;background:var(--g-stage);display:grid;place-items:center;padding:var(--s-5) var(--gutter) calc(var(--s-6) + var(--safe-b));position:relative;overflow:hidden}.landing__inner{width:min(100%,440px);display:grid;gap:var(--s-3);justify-items:stretch;text-align:center;position:relative;z-index:var(--z-tile)}.landing__logo{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-xl);line-height:.95;letter-spacing:.02em}.landing__tag{font-weight:900;font-size:var(--t-body-lg);color:var(--c-ink)}.landing__hero{display:grid;place-items:center;margin-bottom:calc(var(--s-2) * -1)}.field{width:100%;min-height:56px;padding:0 var(--s-4);border-radius:var(--r-md);border:var(--ol);background:var(--c-surface);color:var(--c-ink);font-weight:900;font-size:var(--t-body-lg);box-shadow:0 4px #2b25401f inset}.field--code{text-align:center;font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md);letter-spacing:.3em;text-transform:uppercase}.field::placeholder{color:var(--c-text-mute);font-weight:700;letter-spacing:normal;font-family:var(--f-body);font-size:var(--t-body-md)}.level-chip{display:inline-flex;gap:var(--s-2);align-items:center;justify-content:center;padding:var(--s-2) var(--s-3);border-radius:var(--r-pill);background:var(--c-surface);border:2px solid var(--c-ink);box-shadow:0 3px #2b254029;font-weight:900;font-size:var(--t-body-sm);cursor:pointer;color:var(--c-ink)}.level-bar{width:80px;height:10px;border-radius:var(--r-pill);background:var(--c-surface-3);border:2px solid var(--c-ink);overflow:hidden}.level-bar i{display:block;height:100%;background:var(--c-blue);transform-origin:left}.err{color:var(--c-danger-text);font-weight:900;min-height:1.4em}.offline{position:fixed;top:calc(var(--s-2) + var(--safe-t));left:50%;transform:translate(-50%);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--c-red);border:var(--ol);color:var(--c-ink);font-weight:900;z-index:var(--z-toast)}.studio{min-height:100dvh;background:var(--g-stage);padding:var(--s-5) var(--gutter);display:grid;gap:var(--s-4);max-width:900px;margin:0 auto}.studio__grid{display:grid;grid-template-columns:1fr;gap:var(--s-4)}@media(min-width:800px){.studio__grid{grid-template-columns:1fr 1fr}}.studio__list{display:grid;gap:6px;max-height:60vh;overflow:auto}.studio__row{min-height:var(--tap);text-align:left;align-items:center;display:flex;justify-content:space-between;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--c-surface-2);border:2px solid transparent;font-size:var(--t-body-sm);font-weight:700;cursor:pointer}.studio__row--on{border-color:var(--c-ink);background:var(--c-blue)}.mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2)}.mini-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);background:var(--c-paper);border:2px solid var(--c-ink)}.mini-gallery__item{position:relative}.mini-gallery__item--golden img{box-shadow:0 0 0 3px var(--c-gold)}.scene{-webkit-mask-image:linear-gradient(90deg,black 0%,transparent 24%,transparent 76%,black 100%);mask-image:linear-gradient(90deg,black 0%,transparent 24%,transparent 76%,black 100%)}.landing .scene{-webkit-mask-image:none;mask-image:none}.landing .scene__cloud{opacity:.35}.podium__col{gap:var(--s-4)}.phase{gap:var(--s-5)}.demo-mode{font-size:var(--t-body-xs);color:var(--c-text-dim);font-weight:800;text-align:center}.demo-mode--playing{padding-bottom:var(--s-3)}.landing__scene{display:grid;gap:var(--s-4);justify-items:center}.landing__eyebrow{font-size:var(--t-body-xs);letter-spacing:.12em;font-weight:900;color:var(--c-text-dim)}.landing__menu{display:grid;gap:var(--s-4)}.landing__menu-title{font-family:var(--f-display);font-size:var(--t-display-sm)}.landing__samples{display:flex;gap:var(--s-3);justify-content:center;width:100%;padding:var(--s-2) 0 var(--s-4)}.landing__sample{width:28%;max-width:140px;aspect-ratio:1;border:var(--ol);border-radius:var(--r-md);box-shadow:var(--sh-card);background:var(--c-paper);transform:rotate(-7deg);position:relative}.landing__sample:nth-child(2){transform:rotate(4deg) translateY(var(--s-2))}.landing__sample--sus{transform:rotate(10deg);border-color:var(--c-ink)}.landing__sample img{width:100%;height:100%;border-radius:calc(var(--r-md) - var(--ol-w));object-fit:cover}.landing__sample span{position:absolute;bottom:calc(-1 * var(--s-2));left:50%;transform:translate(-50%) rotate(-8deg);padding:var(--s-1) var(--s-2);border:2px solid var(--c-ink);background:var(--c-pink);border-radius:var(--r-sm);font-family:var(--f-display);font-size:var(--t-body-xs);white-space:nowrap}.landing__home-grid{gap:var(--s-5)}@media(min-width:900px){.landing__home-grid{width:min(100%,1100px);grid-template-columns:minmax(0,1fr) 380px;gap:var(--s-8);align-items:center}.landing__menu{background:var(--c-surface);border:var(--ol);border-radius:var(--r-xl);box-shadow:var(--sh-pop);padding:var(--s-6) var(--s-5);transform:rotate(1deg)}.landing__scene .mascot{width:180px;height:180px}.landing__samples{gap:var(--s-5)}}@media(max-width:430px){.landing--home{padding-top:var(--s-4)}.landing__scene{gap:var(--s-3)}.landing__scene .mascot{width:100px;height:100px}.landing__samples{padding-bottom:var(--s-3)}}.studio__row>span:first-child{min-width:0;overflow-wrap:anywhere}.studio__row>span:last-child{flex-shrink:0}.phase__sub,.lobby__url{overflow-wrap:anywhere}.recap-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.recap-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recap-art figure{margin:0;min-width:0}.recap-art figcaption{margin-top:8px;font-weight:800;font-size:13px}.discussion{width:100%}.discussion__messages{max-height:180px;overflow:auto;padding:0;list-style:none;overflow-wrap:anywhere}.discussion__messages li{padding:6px 0}.discussion form{display:flex;gap:8px}.discussion input{min-width:0;flex:1}.final-ranks{list-style:none;padding:0;width:100%}.final-ranks li{display:flex;justify-content:space-between;gap:16px;padding:10px;border-bottom:2px solid var(--c-ink);overflow-wrap:anywhere}.final-ranks b{flex-shrink:0}@media(max-width:360px){.recap-art{grid-template-columns:1fr}}.mini-gallery__item[data-expired]:after{content:attr(data-expired);position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:800;font-size:12px;background:var(--c-surface)}@media(max-width:899px){.landing--home{padding-bottom:150px}.landing--home .scene__hills{height:100px}}.phone-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;background:var(--g-stage);position:relative;overflow-x:clip}.phone-shell__head{grid-column:1 / -1;display:flex;align-items:center;gap:var(--s-3);padding:calc(var(--s-2) + var(--safe-t)) var(--gutter) var(--s-2);position:sticky;top:0;z-index:var(--z-rail);background:color-mix(in srgb,var(--c-sky) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--c-line);min-width:0}.phone-shell__me{display:flex;align-items:center;gap:var(--s-2);min-width:0;flex:1 1 auto}.phone-shell__me .chip{min-width:0;flex:0 1 auto}.phone-shell__me .chip>.avatar-art{width:22px;height:22px;flex:0 0 auto}.chip__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:3ch}.phone-shell__logo{display:none;font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1;margin-right:var(--s-2)}.phone-shell__round{padding:3px 10px;border:2px solid var(--c-ink);border-radius:var(--r-pill);background:var(--c-yellow);font-family:var(--f-display);font-weight:700;font-size:var(--t-body-sm);color:var(--c-ink);white-space:nowrap}.phone-shell__time{display:flex;align-items:center;gap:var(--s-2);color:var(--c-text-dim);font-size:var(--t-body-xs);font-weight:900;white-space:nowrap}.phone-shell__ctl{display:flex;align-items:center;gap:6px;flex:0 0 auto}.phone-shell__body{padding:var(--s-4) var(--gutter) var(--s-5);min-width:0;position:relative;z-index:var(--z-tile)}.phone-shell .phase{gap:var(--s-3)}@media(max-width:1023px){.phone-shell__head{flex-wrap:wrap;row-gap:6px}.phone-shell__time{order:3;width:100%;justify-content:space-between}.phone-shell__round{font-size:var(--t-body-xs)}}.side{display:none;gap:var(--s-3);padding:0 var(--gutter) calc(var(--s-5) + var(--safe-b));position:relative;z-index:var(--z-tile);min-width:0}.side--chat{display:grid}.side--chat>.side__card:first-child{display:none}.side__card{background:var(--c-surface);border:2px solid var(--c-ink);border-radius:var(--r-md);box-shadow:0 4px #2b25401f;padding:var(--s-3);min-width:0}.side__title{font-family:var(--f-display);font-weight:700;font-size:var(--t-body-lg);color:var(--c-ink);margin-bottom:var(--s-2)}.side__players{list-style:none;padding:0;margin:0;display:grid;gap:6px}.side__players li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:var(--s-2);align-items:center;padding:4px 6px;border-radius:var(--r-sm)}.side__players li.is-me{background:var(--c-surface-2)}.side__av{width:30px;height:30px;border-radius:var(--r-pill);background:var(--av-color);border:2px solid var(--c-ink);display:grid;place-items:center;overflow:hidden}.side__av .avatar-art{width:24px;height:24px}.side__name{font-weight:900;font-size:var(--t-body-sm);color:var(--c-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side__name small{color:var(--c-text-mute);font-weight:800}.side__status{font-size:var(--t-body-xs);font-weight:800;color:var(--c-text-mute);white-space:nowrap}.side__status--done{color:var(--c-success-text)}.side__chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.side__messages{list-style:none;padding:0;margin:0;overflow-y:auto;max-height:220px;display:grid;align-content:start;gap:6px;overflow-wrap:anywhere;font-size:var(--t-body-sm);font-weight:700;color:var(--c-text)}.side__messages b{color:var(--c-ink);border-bottom:3px solid var(--av-color);margin-right:4px}.side__empty{color:var(--c-text-mute);font-weight:700}.side__form{display:flex;gap:var(--s-2);margin-top:var(--s-2)}.side__form .field{min-height:44px;font-size:var(--t-body-md)}@media(min-width:1024px){.phone-shell{height:100dvh;min-height:0;overflow:hidden}.phone-shell__logo{display:inline}.phone-shell__head{padding:var(--s-3) var(--s-5)}.phone-shell__body{overflow-y:auto;padding:var(--s-4) var(--s-5)}.phone-shell--side{grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr)}.phone-shell--side .phone-shell__body{grid-column:1;grid-row:2}.side{display:grid;grid-column:2;grid-row:2;grid-template-rows:auto minmax(0,1fr);padding:var(--s-4) var(--s-4) var(--s-4) 0;min-height:0}.side--chat>.side__card:first-child{display:block}.side__messages{max-height:none}.phone-shell .phase--narrow{max-width:1000px}}.gallery-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-3)}.gallery-head h2{color:var(--c-ink);line-height:1.1}.gallery-head__sub{margin-top:4px;color:var(--c-text-dim);font-weight:800;font-size:var(--t-body-md);max-width:70ch}.gallery-head__tag{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:var(--r-pill);background:var(--c-red);border:2px solid var(--c-ink);font-weight:900;font-size:var(--t-body-xs);color:var(--c-ink)}.verdict{display:grid;gap:var(--s-4);width:100%;max-width:1100px;margin:0 auto}.verdict__head{display:flex;gap:var(--s-4);align-items:center}.verdict__head h2{color:var(--c-ink);line-height:1.15}.verdict__prompts{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.verdict__prompt{display:inline-grid;padding:6px 14px;border-radius:var(--r-md);background:var(--c-surface);border:2px solid var(--c-ink);font-family:var(--f-display);font-weight:700;font-size:var(--t-body-lg);color:var(--c-ink)}.verdict__prompt small{font-family:var(--f-body);font-size:var(--t-body-xs);font-weight:900;color:var(--c-text-mute);text-transform:uppercase;letter-spacing:.06em}.verdict__prompt--imp{background:#ffe3e3}.verdict__grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.result{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-content:start;padding:var(--s-2);border-radius:var(--r-lg);background:var(--c-surface);border:2px solid var(--c-ink);box-shadow:var(--sh-card);min-width:0}.result--imp{box-shadow:var(--sh-card),0 0 0 4px var(--c-red)}.result .tile{width:min(100%,30dvh);margin:0 auto;border-width:2px}.result__who{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:0 4px}.result__who b{min-width:0;font-weight:900;color:var(--c-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result__role{flex:0 0 auto;padding:1px 8px;border-radius:var(--r-pill);border:2px solid var(--c-ink);background:var(--c-lime);font-size:11px;font-weight:900;color:var(--c-ink)}.result__role--imp{background:var(--c-red)}.result__votes{padding:0 4px;font-size:var(--t-body-xs);font-weight:900;color:var(--c-text-dim)}.result__score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:0 4px}.result__score span{grid-column:1 / -1;font-size:11px;font-weight:800;color:var(--c-text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result__score b{font-family:var(--f-display);font-size:var(--t-body-md);color:var(--c-ink)}.result__bar{height:10px;border-radius:var(--r-pill);background:var(--c-surface-3);border:2px solid var(--c-ink);overflow:hidden}.result__bar i{display:block;height:100%;background:var(--c-blue);transform-origin:left;transition:transform 1.2s var(--e-snap) .3s}.result--imp .result__bar i{background:var(--c-red)}.result__note{padding:0 4px 4px;font-size:var(--t-body-xs);font-weight:700;color:var(--c-text-dim)}.verdict__foot{display:flex;gap:var(--s-4);align-items:center;justify-content:space-between;flex-wrap:wrap}.verdict__foot .dim{font-size:var(--t-body-xs);max-width:60ch}@media(max-width:560px){.verdict__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verdict__head .mascot{display:none}.verdict__foot .btn{width:100%}}.phone-shell .howto{max-width:760px;margin:0 auto}.side__hint{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:8px;border-radius:var(--r-sm);background:var(--c-gold-2);border:2px solid var(--c-ink)}.side__hint b{display:block;border:0;font-family:var(--f-display)}.corner-sound{position:absolute;top:calc(var(--s-3) + var(--safe-t));right:var(--gutter);z-index:var(--z-modal)}.route{animation:sk-route-in .32s cubic-bezier(.2,0,0,1) both}@keyframes sk-route-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.route{animation-duration:.01s}}.loading{min-height:100dvh;display:grid;place-items:center;background:var(--g-stage)}.loading__in{display:grid;justify-items:center;gap:var(--s-3);text-align:center}.loading__in p{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);color:var(--c-ink)}.loading__dots{display:flex;gap:8px}.loading__dots i{width:10px;height:10px;border-radius:50%;background:var(--c-ink);opacity:.25;animation:sk-dot 1.2s ease-in-out infinite}.loading__dots i:nth-child(2){animation-delay:.15s}.loading__dots i:nth-child(3){animation-delay:.3s}@keyframes sk-dot{40%{opacity:1;transform:translateY(-4px)}}.coach{display:grid;gap:8px;margin:0 auto var(--s-3);max-width:1000px}.coach__steps{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}.coach__steps li{flex:1 1 0;min-width:52px;text-align:center;padding:3px 6px;border-radius:var(--r-pill);font-size:11px;font-weight:900;letter-spacing:.02em;color:var(--c-text-mute);background:#ffffff8c;border:2px solid transparent}.coach__steps li.is-done{color:var(--c-success-text);background:#bdf26e73}.coach__steps li.is-on{color:var(--c-ink);background:var(--c-yellow);border-color:var(--c-ink)}.coach__line{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:var(--r-md);background:var(--c-surface);border:2px solid var(--c-ink);box-shadow:0 3px #2b25401f;font-weight:800;font-size:var(--t-body-md);color:var(--c-ink);animation:sk-coach-in .35s cubic-bezier(.2,0,0,1) both}.coach__line img{flex:0 0 auto;width:36px;height:36px}.coach--imp .coach__line{background:#ffe3e3}@keyframes sk-coach-in{0%{opacity:0;transform:translateY(-4px)}}@media(max-width:560px){.coach__steps li{font-size:10px;min-width:0;padding:2px 4px}.coach__line{font-size:var(--t-body-sm)}}.howto__solo{padding:10px 14px;border-radius:var(--r-md);background:var(--c-gold-2);border:2px solid var(--c-ink);font-weight:800;color:var(--c-ink)}.howto__more summary{cursor:pointer;font-weight:900;color:var(--c-ink)}.howto__more ul{margin:8px 0 0;padding-left:20px;display:grid;gap:4px;font-size:var(--t-body-sm);font-weight:700;color:var(--c-text-dim)}.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-3);width:100%}.modes__opt{display:grid;gap:4px;text-align:left;padding:12px 14px;border-radius:var(--r-md);border:2px solid var(--c-ink);background:var(--c-surface);color:var(--c-text-dim);font-size:var(--t-body-sm);font-weight:700;cursor:pointer;box-shadow:0 3px #2b25401f}.modes__opt b{font-family:var(--f-display);font-size:var(--t-body-lg);color:var(--c-ink)}.modes__opt.is-on{background:var(--c-yellow);box-shadow:0 3px 0 var(--c-ink)}.modes__opt:disabled{cursor:default}.modes__opt:disabled:not(.is-on){opacity:.55}.livedemo{width:min(100%,520px);margin:0 auto;display:grid;gap:10px;padding:14px;border-radius:var(--r-xl);background:#ffffffbf;border:var(--ol);box-shadow:var(--sh-pop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.livedemo__pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.livedemo__card{position:relative;margin:0;display:grid;gap:6px;perspective:800px}.livedemo__card img,.livedemo__wait{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-md);border:3px solid var(--c-ink);background:var(--c-paper);display:block}.livedemo__card.is-imp img{border-color:var(--c-red);box-shadow:0 0 0 4px #ff5c5c59}.livedemo__card figcaption{text-align:center;font-size:var(--t-body-xs);font-weight:900;color:var(--c-text-dim)}.livedemo__card.is-imp figcaption{color:var(--c-danger-text)}.livedemo__arrow{font-family:var(--f-display);font-size:30px;color:var(--c-ink)}.livedemo__wait{display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(110deg,var(--c-paper) 30%,#fff 50%,var(--c-paper) 70%) 0 0 / 300% 100%;animation:sk-skel 1.4s linear infinite}.livedemo__wait i{width:8px;height:8px;border-radius:50%;background:var(--c-ink);opacity:.3;animation:sk-dot 1.2s ease-in-out infinite}.livedemo__wait i:nth-child(2){animation-delay:.15s}.livedemo__wait i:nth-child(3){animation-delay:.3s}.livedemo__score{position:absolute;right:8px;top:8px;padding:1px 10px;border-radius:var(--r-pill);border:2px solid var(--c-ink);background:var(--c-yellow);font-family:var(--f-display);font-weight:700;color:var(--c-ink)}.livedemo__prompt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:var(--r-md);border:2px solid var(--c-ink);background:var(--c-surface);text-align:left;min-height:64px}.livedemo__label{padding:2px 10px;border-radius:var(--r-pill);background:var(--c-ink);color:var(--c-on-ink);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.livedemo__text{font-weight:800;font-size:var(--t-body-sm);color:var(--c-ink);line-height:1.35}.livedemo__caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--c-ink);animation:sk-caret .8s steps(1) infinite}@keyframes sk-caret{50%{opacity:0}}.livedemo__note{font-size:var(--t-body-sm);font-weight:800;color:var(--c-text-dim);text-align:center;min-height:2.6em}@keyframes sk-skel{to{background-position:-300% 0}}@media(prefers-reduced-motion:reduce){.livedemo__wait,.livedemo__wait i,.livedemo__caret{animation:none}}.landing__left{display:grid;gap:var(--s-4);justify-items:center;text-align:center;min-width:0}.landing__brand{display:flex;align-items:center;justify-content:center;gap:var(--s-3)}.landing__brand .landing__logo{margin:0}.landing__left .landing__menu{width:100%;max-width:440px}.landing__right{width:100%;min-width:0;display:grid;place-items:center}.landing__right .livedemo{width:min(100%,560px)}@media(min-width:900px){.landing__home-grid{width:min(100%,1180px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-7);align-items:center}.landing__left .landing__menu{padding:var(--s-5);transform:rotate(-.6deg)}.landing__left .landing__menu .btn--lg{min-height:58px}.landing__brand .mascot{width:112px;height:112px}.landing__right .livedemo{transform:rotate(.8deg)}}@media(max-width:899px){.landing__brand .mascot{width:84px;height:84px}.landing__brand .landing__logo{font-size:clamp(40px,13vw,64px)}}.home-logo{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-family:var(--f-display);font-weight:700;line-height:1}.phone-shell__logo .home-logo{font-size:26px}.home-btn{gap:6px}.home-btn span{font-size:18px;line-height:1}.leave{display:grid;justify-items:center;gap:var(--s-3);text-align:center}.leave h2{color:var(--c-ink)}.leave .dim{font-weight:700;max-width:36ch}.leave__actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);width:100%;margin-top:var(--s-2)}@media(max-width:520px){.home-btn{padding:0 10px}}.entry{place-items:center}.entry__inner{width:min(100%,460px);display:grid;gap:var(--s-4);justify-items:center;position:relative;z-index:var(--z-tile)}.entry .landing__brand .mascot{width:96px;height:96px}.entry .landing__logo{font-size:clamp(44px,9vw,72px)}.entry__card{width:100%;display:grid;gap:10px;padding:var(--s-5);border-radius:var(--r-xl);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-pop);text-align:center}.entry__title{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-md);color:var(--c-ink)}.entry__sub{font-weight:800;font-size:var(--t-body-sm);color:var(--c-text-dim);margin-bottom:4px}.entry__label{justify-self:center;font-size:var(--t-body-xs);font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-mute);margin-top:4px}.entry__badge{justify-self:center;padding:3px 12px;border-radius:var(--r-pill);background:var(--c-gold-2);border:2px solid var(--c-ink);font-size:var(--t-body-xs);font-weight:900;color:var(--c-ink)}.entry__back{font-weight:900;color:var(--c-ink);text-decoration:none;padding:6px 14px;border-radius:var(--r-pill);background:#ffffffb3;border:2px solid var(--c-ink)}.entry__back:hover{background:var(--c-surface)}.entry .err{min-height:0}.field--code{letter-spacing:.3em;text-indent:.3em}.field--code::placeholder{letter-spacing:.3em;font-family:var(--f-display);font-size:var(--t-display-md);color:#c9c3dd}.field--center{text-align:center}.lobby--host{width:min(100%,820px);margin:0 auto;padding:var(--s-5);border-radius:var(--r-xl);background:#ffffffd1;border:var(--ol);box-shadow:var(--sh-pop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:var(--s-4)}.lobby__title{margin-bottom:2px}.lobby--host .lobby__join{box-shadow:none;background:var(--c-surface-2)}.loading{position:relative;overflow:hidden}.loading__in{position:relative;z-index:var(--z-tile)}.btn--icon,.home-btn,.sound{flex-shrink:0}.main-shell__brand{min-width:0;overflow:hidden}@media(max-width:760px){.home-btn__text{display:none}.home-btn{width:var(--tap);padding:0;justify-content:center}.main-shell__code small{display:none}.main-shell__code{font-size:var(--t-display-sm);padding:2px 10px}}.install{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:center;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--c-surface);border:2px solid var(--c-ink);font-size:var(--t-body-sm);font-weight:800;color:var(--c-ink);position:relative}.install__x{position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:var(--r-pill);border:2px solid var(--c-ink);background:var(--c-surface);font-weight:900;cursor:pointer;line-height:1}.settings{display:grid;gap:var(--s-2);width:100%}.setting{display:grid;gap:4px}.setting__label{font-size:var(--t-body-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--c-text-mute)}.setting__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.setting__opt{display:grid;gap:1px;text-align:left;padding:8px 10px;border-radius:var(--r-sm);border:2px solid var(--c-ink);background:var(--c-surface);color:var(--c-text-dim);cursor:pointer;box-shadow:0 3px #2b25401f;min-height:var(--tap)}.setting__opt b{font-family:var(--f-display);font-size:var(--t-body-md);color:var(--c-ink)}.setting__opt small{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.setting__opt small{white-space:normal;line-height:1.25}.setting__opt{padding:8px}}.setting__opt.is-on{background:var(--c-blue);box-shadow:0 3px 0 var(--c-ink)}.setting__opt:disabled{cursor:default}.daily{display:grid;grid-template-columns:84px 1fr;gap:var(--s-3);align-items:center;padding:var(--s-3);border-radius:var(--r-lg);background:var(--c-surface);border:var(--ol);box-shadow:var(--sh-card);text-align:left}.daily img{width:84px;height:84px;object-fit:cover;border-radius:var(--r-md);border:2px solid var(--c-ink)}.daily__body{display:grid;gap:4px;min-width:0}.daily__title{font-family:var(--f-display);font-weight:700;font-size:var(--t-display-sm);color:var(--c-ink);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.daily__streak{padding:1px 8px;border-radius:var(--r-pill);background:var(--c-yellow);border:2px solid var(--c-ink);font-size:var(--t-body-xs);font-weight:900}.daily__sub{font-size:var(--t-body-sm);font-weight:800;color:var(--c-text-dim)}.entry__daily{width:120px;height:120px;object-fit:cover;border-radius:var(--r-md);border:var(--ol);justify-self:center}@media(max-width:560px){.phone-shell__head{gap:var(--s-2)}.phone-shell__me{flex:1 1 0}.phone-shell__ctl{gap:4px}.phone-shell__ctl .btn{width:40px;height:40px;min-width:40px;padding:0}}.cast-pick__title{margin:0 0 var(--s-1);font-weight:700;font-size:var(--t-body-sm)}.cast-pick__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-1)}.cast-pick__opt{display:grid;justify-items:center;gap:2px;padding:6px 4px;background:var(--c-surface-2);border:2px solid transparent;border-radius:14px;font:inherit;font-size:var(--t-body-xs);font-weight:900;color:var(--c-text);cursor:pointer;min-width:0;transition:transform .12s var(--e-smooth),border-color .12s}.cast-pick__opt .avatar-art{width:100%;max-width:72px;aspect-ratio:1;height:auto}.cast-pick__opt span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cast-pick__opt:hover:not(:disabled){transform:translateY(-2px)}.cast-pick__opt.is-on{border-color:var(--c-ink);background:var(--c-yellow)}.cast-pick__opt:disabled{opacity:.4;filter:grayscale(1);cursor:not-allowed}.lobby__luna{display:flex;align-items:center;gap:var(--s-1);margin-top:var(--s-1);padding:4px 12px 4px 4px;border:2px dashed var(--c-ink-soft);border-radius:var(--r-pill);background:var(--c-surface)}.lobby__luna img{width:44px;height:44px}.lobby__luna b{display:block;font-size:var(--t-body-sm)}.lobby__luna small{color:var(--c-text-dim);font-weight:700}.landing__right{gap:var(--s-3)}.hero{margin:0;width:min(100%,560px);border:var(--ol);border-radius:22px;overflow:hidden;background:var(--c-surface);box-shadow:0 6px #2b25402e;transform:rotate(-.6deg)}.hero>img{display:block;width:100%;height:auto;max-height:40vh;object-fit:cover;object-position:50% 40%}.hero figcaption{display:flex;align-items:center;gap:var(--s-1);padding:6px 12px 6px 6px;font-size:var(--t-body-xs);font-weight:700;color:var(--c-text);border-top:2px solid var(--c-ink)}.hero figcaption img{width:34px;height:34px;flex:none}@media(prefers-reduced-motion:reduce){.hero{transform:none}}@media(min-width:900px){.hero{width:min(100%,500px)}.hero>img{max-height:32vh}.landing__right .livedemo{width:min(100%,460px)}}
