*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--body-font, "Quicksand", sans-serif);background:#141019;color:#fbf7ef;-webkit-font-smoothing:antialiased;overflow:hidden}.surface{width:100%;height:100%;background:var(--bg);color:var(--text);font-family:var(--body-font);overflow:hidden;position:relative;display:flex;flex-direction:column;isolation:isolate}.surface:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.surface>*{position:relative;z-index:2}h1,h2,h3,.display{font-family:var(--display-font)}button{font-family:inherit;cursor:pointer;border:none}.kicker{font-family:var(--body-font);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.22em;opacity:.85}.bg-doodles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.bg-blob{position:absolute;border-radius:50%}.blob-a{width:60vw;height:60vw;top:-22vw;left:-16vw;background:radial-gradient(circle,#ff5a3629,#ff5a3600 65%);animation:blob-drift-a 34s ease-in-out infinite alternate}.blob-b{width:55vw;height:55vw;bottom:-20vw;right:-14vw;background:radial-gradient(circle,#0fa3a026,#0fa3a000 65%);animation:blob-drift-b 42s ease-in-out infinite alternate}.blob-c{width:34vw;height:34vw;top:30%;left:38%;background:radial-gradient(circle,#ffc53d24,#ffc53d00 65%);animation:blob-drift-c 28s ease-in-out infinite alternate}@keyframes blob-drift-a{to{transform:translate(10vw,9vh) scale(1.18)}}@keyframes blob-drift-b{to{transform:translate(-9vw,-8vh) scale(1.12)}}@keyframes blob-drift-c{to{transform:translate(-7vw,10vh) scale(.85)}}.doodle-pos{position:absolute}.doodle-pos.back .doodle{opacity:.13}.doodle{display:block;opacity:.3;animation:floaty 14s ease-in-out infinite}.doodle.d-ring{width:90px;height:90px;border:14px solid #FF5A36;border-radius:50%}.doodle.d-square{width:70px;height:70px;background:#0fa3a0;border-radius:16px}.doodle.d-dot{width:34px;height:34px;background:#ffc53d;border-radius:50%}.doodle.d-tri{width:0;height:0;border-left:42px solid transparent;border-right:42px solid transparent;border-bottom:74px solid #FF8FA3}.doodle.d-plus{width:64px;height:64px;background:linear-gradient(#5ac26a,#5ac26a) center/100% 22% no-repeat,linear-gradient(#5ac26a,#5ac26a) center/22% 100% no-repeat}.doodle.d-squig{width:110px;height:30px;background:radial-gradient(circle at 25% 100%,transparent 62%,#FF8C42 66%,#FF8C42 78%,transparent 82%) 0 0/36px 30px repeat-x}@keyframes floaty{0%,to{transform:translate(0) rotate(-6deg)}33%{transform:translate(9px,-24px) rotate(5deg)}66%{transform:translate(-11px,-10px) rotate(-2deg)}}@keyframes gentle-bob{0%,to{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-1.8deg) translateY(-7px)}}.card{background:var(--surface);border:var(--outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:24px}.big-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:68px;padding:16px 28px;font-size:21px;font-weight:800;font-family:var(--display-font);letter-spacing:.03em;color:var(--ink, #141019);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 82%,#fff) 0%,var(--accent) 45%);border:3px solid rgba(0,0,0,.85);border-radius:var(--radius-pill);box-shadow:0 6px #0000008c,0 10px 24px #00000040;transition:transform .3s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9)),box-shadow .3s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9));touch-action:manipulation}.big-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px #0000008c,0 14px 28px #0000004d}.big-btn:active{transform:translateY(5px) scale(1.06,.88);box-shadow:0 1px #0000008c;transition-duration:.05s}.big-btn:disabled{opacity:.45;transform:none}.big-btn.secondary{background:var(--chip-bg);color:var(--text)}.big-btn.danger{background:linear-gradient(180deg,#ff6b6b,var(--danger));color:#fff}.timer-bar{position:relative;height:18px;border-radius:var(--radius-pill);background:#00000059;border:2px solid rgba(0,0,0,.6);overflow:hidden}.timer-fill{height:100%;background:var(--accent);transition:width .1s linear}.timer-bar.urgent .timer-fill{background:var(--danger)}.timer-num{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-weight:800;font-size:13px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.screen-root{font-size:clamp(16px,1.8vw,28px)}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 36px}.screen-title{font-size:1.6em;letter-spacing:.02em;text-shadow:3px 3px 0 rgba(0,0,0,.35)}.screen-code-chip{font-family:var(--display-font);font-size:1.2em;background:var(--chip-bg);border:2px solid var(--chip-border);padding:8px 20px;border-radius:var(--radius-pill);letter-spacing:.25em}.screen-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 48px 32px;gap:28px;text-align:center;min-height:0}.screen-footer{padding:0 36px 24px}.splash{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;background:var(--bg);cursor:pointer}.splash .hint{font-size:1.4em;opacity:.85;animation:pulse 1.6s ease-in-out infinite;font-weight:700}@keyframes pulse{50%{opacity:.4}}.wordmark{font-family:Bagel Fat One,"Baloo 2",sans-serif;font-weight:400;line-height:.98;transform:rotate(-2.5deg);text-align:center;animation:gentle-bob 5.5s ease-in-out infinite}.wordmark .wm-line{display:block}.wordmark .wm-top{font-size:1em;color:#ff5a36;text-shadow:.04em .04em 0 #FFC53D,.085em .085em 0 rgba(38,32,58,.22)}.wordmark .wm-bottom{font-size:.55em;color:#26203a;letter-spacing:.52em;margin-left:.52em;text-shadow:.05em .05em 0 #FFC53D,.1em .1em 0 rgba(38,32,58,.16);margin-top:.02em}.room-banner{display:flex;align-items:center;gap:48px;background:var(--chip-bg);border:var(--outline);border-radius:var(--radius-lg);box-shadow:8px 8px 0 var(--shadow-tint);padding:28px 48px;transform:rotate(-.6deg)}.room-banner .join-label{font-size:1em;opacity:.85}.room-banner .join-url{font-size:1.5em;font-weight:800;color:var(--accent-2, #42D4F4)}.code-tiles{display:flex;gap:.18em;margin-top:6px;animation:tiles-sway 4.2s ease-in-out 1s infinite}@keyframes tiles-sway{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(.6deg)}}.code-tile{font-family:var(--display-font);font-size:3.6em;line-height:1;color:var(--ink, #141019);background:var(--accent);border:4px solid rgba(0,0,0,.85);border-radius:.18em;box-shadow:.09em .09em #0006;padding:.12em .18em;animation:tile-pop .5s var(--ease-spring) backwards}.code-tile:nth-child(2){animation-delay:.08s;transform:rotate(2deg)}.code-tile:nth-child(3){animation-delay:.16s;transform:rotate(-2deg)}.code-tile:nth-child(4){animation-delay:.24s;transform:rotate(1.5deg)}@keyframes tile-pop{0%{transform:scale(.3) rotate(-12deg);opacity:0}}.room-banner img.qr{border-radius:12px;border:4px solid #fff;width:8.5em;height:8.5em;box-shadow:var(--shadow-pop)}.roster{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;max-width:80vw}.roster-chip{display:flex;align-items:center;gap:10px;background:var(--chip-bg);border:2px solid var(--chip-border);box-shadow:2px 2px 0 var(--shadow-tint);border-radius:var(--radius-pill);padding:8px 20px 8px 10px;font-weight:700;animation:pop-in .4s var(--ease-spring)}.roster-chip.disconnected{opacity:.35}.roster-chip .host-star{color:var(--gold)}@keyframes pop-in{0%{transform:scale(.6);opacity:0}}.player-name{font-weight:800;text-shadow:0 0 3px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.9)}.prompt-card{font-size:1.7em;line-height:1.35;max-width:26em;background:var(--surface);border:var(--outline);border-radius:var(--radius-lg);box-shadow:8px 8px #00000059;padding:36px 44px;transform:rotate(-.4deg);animation:pop-in .5s var(--ease-spring)}.phase-label{font-family:var(--display-font);font-size:1.1em;text-transform:uppercase;letter-spacing:.2em;opacity:.85;text-shadow:2px 2px 0 rgba(0,0,0,.3)}.ready-dots{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.ready-dot{position:relative;opacity:.45;transition:opacity .3s}.ready-dot.done{opacity:1}.ready-dot .check{position:absolute;right:-6px;bottom:-6px;background:var(--success);color:#fff;border-radius:50%;width:22px;height:22px;font-size:14px;line-height:22px;font-weight:800}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(90vw,60em)}.option-card{background:var(--surface);border:var(--outline);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:22px 26px;font-size:1.25em;font-weight:700;position:relative;animation:pop-in .45s var(--ease-spring) backwards}.option-card:nth-child(odd){transform:rotate(-.5deg)}.option-card:nth-child(2n){transform:rotate(.5deg)}.option-card.truth{outline:6px solid var(--success)}.option-card .vote-avatars{display:flex;gap:4px;margin-top:10px;flex-wrap:wrap}.option-card .owner-tag{font-size:.75em;opacity:.85;margin-top:8px}.leaderboard{width:min(90vw,46em);display:flex;flex-direction:column;gap:12px}.lb-row{display:flex;align-items:center;gap:14px;font-size:1.15em}.lb-rank{width:1.4em;font-family:var(--display-font);font-size:1.2em}.lb-bar-wrap{flex:1;height:16px;background:#0000004d;border-radius:8px;overflow:hidden}.lb-bar{height:100%;border-radius:8px;transition:width .8s var(--ease-spring)}.lb-score{min-width:2.5em;text-align:right;font-weight:800}.confetti-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}.stroke-canvas{width:100%;aspect-ratio:1;border-radius:var(--radius-md);border:var(--outline);background:#fffdf5;display:block;box-shadow:var(--shadow-pop)}.filmstrip{display:flex;gap:20px;align-items:center;overflow-x:auto;max-width:92vw;padding:12px}.filmstrip .frame{flex:0 0 auto;width:15em;text-align:center}.filmstrip .frame:nth-child(odd){transform:rotate(-1deg)}.filmstrip .frame:nth-child(2n){transform:rotate(1deg)}.filmstrip .frame .guess-bubble{background:#fff;color:#2b2b2b;border:var(--outline);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:14px;font-weight:700;font-size:1.05em}.web-lines{width:min(80vw,40em)}.spectrum-bar{position:relative;width:min(85vw,50em);height:5em;background:linear-gradient(90deg,var(--accent-2),var(--accent));border:var(--outline);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop)}.spectrum-dot{position:absolute;top:50%;transform:translate(-50%,-50%);transition:left .6s var(--ease-spring)}.spectrum-avg{position:absolute;top:-18%;bottom:-18%;width:6px;background:#fff;border:2px solid rgba(0,0,0,.7);border-radius:3px;transform:translate(-50%)}.consensus-meter{display:flex;align-items:center;gap:12px;font-weight:700;font-size:.95em}.consensus-track{width:14em;height:12px;background:#00000059;border-radius:6px;overflow:hidden}.consensus-fill{height:100%;background:linear-gradient(90deg,var(--danger),var(--gold),var(--success))}.needle-track{position:relative;width:min(80vw,40em);height:3em;background:#00000059;border:var(--outline);border-radius:var(--radius-pill)}.needle-target{position:absolute;left:50%;top:0;bottom:0;width:14%;transform:translate(-50%);background:#22c55e8c;border-radius:8px}.needle{position:absolute;top:-12%;bottom:-12%;width:10px;background:#fff;border:2px solid rgba(0,0,0,.8);border-radius:5px}.play-root{max-width:520px;margin:0 auto;padding:20px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;height:100%;overflow-y:auto;width:100%}.play-root>*{flex-shrink:0}.play-root h1{font-size:30px}.play-root h2{font-size:22px}.join-card{background:var(--chip-bg);border:var(--outline);border-radius:var(--radius-lg);box-shadow:8px 8px 0 var(--shadow-tint);padding:26px 22px;display:flex;flex-direction:column;gap:16px;margin-top:4vh}.field-label{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.14em;opacity:.85}.text-input{width:100%;min-height:60px;font-size:22px;font-weight:700;font-family:inherit;padding:14px 18px;border:var(--outline);border-radius:var(--radius-md);background:#fbf7ef;color:#141019;box-shadow:inset 0 3px #0000001f}.text-input:focus{outline:4px solid var(--accent)}.text-input.code{text-transform:uppercase;letter-spacing:.45em;text-indent:.45em;text-align:center;font-size:34px;font-family:var(--display-font);background-image:linear-gradient(90deg,rgba(0,0,0,.08) 1px,transparent 1px)}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice-tile{min-height:110px;border:var(--outline);border-radius:var(--radius-md);box-shadow:0 5px #00000080;font-size:18px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;transition:transform .3s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9)),box-shadow .3s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9))}.choice-tile:active{transform:translateY(4px) scale(1.04,.9);box-shadow:0 1px #00000080;transition-duration:.05s}.choice-tile.selected{outline:6px solid #fff}.choice-tile .shape{font-size:30px}.choice-tile.full{grid-column:1 / -1;min-height:72px}.slider-wrap{display:flex;flex-direction:column;gap:10px}.slider-value{text-align:center;font-family:var(--display-font);font-size:44px;text-shadow:3px 3px 0 rgba(0,0,0,.3)}input[type=range].big-slider{width:100%;height:56px;-webkit-appearance:none;appearance:none;background:transparent}input[type=range].big-slider::-webkit-slider-runnable-track{height:20px;border-radius:10px;background:#0006;border:2px solid rgba(0,0,0,.7)}input[type=range].big-slider::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:44px;margin-top:-14px;border-radius:50%;background:var(--accent);border:4px solid rgba(0,0,0,.85);box-shadow:var(--shadow-pop)}.draw-canvas-wrap{position:relative}.draw-canvas{width:100%;aspect-ratio:1;touch-action:none;border:var(--outline);border-radius:var(--radius-md);background:#fffdf5;display:block;box-shadow:var(--shadow-pop)}.draw-tools{display:flex;gap:10px;margin-top:10px;align-items:center;flex-wrap:wrap}.swatch{width:40px;height:40px;border-radius:50%;border:3px solid rgba(0,0,0,.8);box-shadow:0 3px #0006}.swatch.selected{outline:4px solid #fff}.tool-btn{padding:10px 16px;border-radius:var(--radius-pill);border:var(--outline);background:#fbf7ef;color:#141019;font-weight:800;box-shadow:0 3px #00000073}.tool-btn:active{transform:translateY(2px);box-shadow:0 1px #00000073}.status-banner{text-align:center;padding:14px;border-radius:var(--radius-md);background:var(--chip-bg);border:2px solid var(--chip-border);font-weight:700}.status-banner.waiting{animation:pulse 1.8s ease-in-out infinite}.game-card{display:flex;align-items:center;gap:14px;padding:0;border:var(--outline);border-radius:var(--radius-md);box-shadow:0 5px #00000073;background:var(--surface);color:var(--text);text-align:left;width:100%;overflow:hidden;transition:transform .3s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9))}.game-card:active{transform:translateY(3px) scale(1.02,.94);box-shadow:0 2px #00000073;transition-duration:.05s}.game-card .gc-stripe{align-self:stretch;width:12px;flex:0 0 12px}.game-card .gc-body{padding:14px 4px 14px 2px;flex:1}.game-card .gc-title{font-family:var(--display-font);font-size:20px}.game-card .gc-tag{font-size:13px;opacity:.85}.game-card .lock{margin:0 14px;font-size:22px}.game-card.selected{outline:5px solid var(--accent)}.paywall-sheet{position:fixed;inset:0;z-index:60;background:#000000bf;display:flex;align-items:flex-end;justify-content:center}.paywall-inner{width:100%;max-width:520px;background:var(--surface, #241a4f);border-radius:24px 24px 0 0;padding:24px 20px 40px;display:flex;flex-direction:column;gap:12px;border-top:var(--outline)}.tier-btn{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;border:var(--outline);border-radius:var(--radius-md);background:#fbf7ef;color:#141019;font-weight:700;width:100%;box-shadow:0 4px #00000073}.tier-btn:active{transform:translateY(3px);box-shadow:0 1px #00000073}.tier-btn .price{font-family:var(--display-font);font-size:22px}.link-btn{background:none;border:none;color:var(--accent);font-weight:800;font-size:15px;padding:6px 0;text-align:center;text-decoration:underline;text-underline-offset:3px}.error-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--danger);color:#fff;font-weight:700;padding:12px 22px;border-radius:var(--radius-pill);z-index:70;box-shadow:var(--shadow-pop);max-width:90vw}.landing{height:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;padding:0 20px 64px;gap:0;text-align:center;position:relative}.landing-hero{display:flex;flex-direction:column;align-items:center;gap:26px;padding:9vh 0 42px}.landing .wordmark{font-size:clamp(56px,11vw,118px)}.hero-line{font-family:"Baloo 2",var(--display-font);font-weight:800;font-size:clamp(20px,3.4vw,30px);max-width:24em;line-height:1.3}.hero-line em{font-style:normal;color:#ff5a36;text-decoration:underline wavy #FFC53D 3px;text-underline-offset:5px}.hero-chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.hero-chip{font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;background:var(--chip-bg);border:2px solid var(--chip-border);padding:8px 16px;border-radius:var(--radius-pill);box-shadow:2px 2px 0 var(--shadow-tint)}.landing .tagline{font-size:clamp(17px,2.6vw,23px);max-width:30em;opacity:.95;line-height:1.5}.landing .cta-row{display:flex;flex-direction:column;gap:14px;width:min(92vw,400px);margin-top:6px}.ticker{flex:0 0 auto;width:108vw;overflow:hidden;white-space:nowrap;background:#26203a;color:#f8efdb;border-top:3px solid rgba(0,0,0,.85);border-bottom:3px solid rgba(0,0,0,.85);padding:16px 0 18px;margin:10px 0 44px;transform:rotate(-1.2deg)}.ticker-track{display:inline-block;line-height:1.6;animation:ticker-scroll 26s linear infinite}.ticker-track span{font-family:var(--display-font);font-size:20px;letter-spacing:.06em;margin:0 18px;text-transform:uppercase;vertical-align:middle}.ticker-track .tk-star{color:#ffc53d}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.games-row{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;max-width:1100px;margin-bottom:48px}.game-poster{width:190px;border:var(--outline);border-radius:var(--radius-md);box-shadow:7px 7px 0 var(--shadow-tint);overflow:hidden;text-align:left;background:#fff;color:#26203a;transition:transform .18s var(--ease-spring)}.game-poster:nth-child(odd){transform:rotate(-1.6deg)}.game-poster:nth-child(2n){transform:rotate(1.4deg)}.game-poster:hover{transform:rotate(0) translateY(-6px) scale(1.03)}.game-poster .gp-art{height:150px;display:flex;align-items:center;justify-content:center;font-size:42px;border-bottom:3px solid rgba(0,0,0,.85);overflow:hidden}.game-poster .gp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}.game-poster .gp-body{padding:12px 14px 14px}.game-poster .gp-title{font-family:var(--display-font);font-size:17px;line-height:1.15}.game-poster .gp-tag{font-size:12px;opacity:.85;margin-top:6px;line-height:1.4}.game-poster .gp-meta{font-size:11px;font-weight:800;letter-spacing:.08em;opacity:.7;margin-top:8px;text-transform:uppercase}.gp-badge,.gc-badge{font-family:"Baloo 2",sans-serif;font-weight:800;font-size:10px;letter-spacing:.08em;padding:3px 9px;border-radius:var(--radius-pill);border:2px solid rgba(0,0,0,.85);white-space:nowrap}.badge-free{background:#ffc53d;color:#26203a;box-shadow:2px 2px #26203a4d}.badge-lock{background:#26203a;color:#f8efdb}.gp-badge{position:absolute;top:8px;left:8px}.gc-badge{display:inline-block;margin-left:8px;vertical-align:1px}.game-poster .gp-art{position:relative}.game-poster.poster-locked .gp-art{filter:saturate(.45)}.game-poster.poster-locked{opacity:.92}.game-card.locked{opacity:1}.game-card.locked .gc-stripe{filter:saturate(.2)}.game-card.locked .gc-title{opacity:.6}.game-card.locked .gc-tag{opacity:.5}.gc-unlock-hint{margin-top:6px;font-size:13px;font-weight:800;color:var(--accent)}.landing .steps{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;max-width:62em;margin-bottom:40px}.landing .step{flex:1 1 210px;max-width:280px;text-align:left;background:var(--chip-bg);border:var(--outline);border-radius:var(--radius-lg);box-shadow:5px 5px 0 var(--shadow-tint);padding:20px}.landing .step:nth-child(1){transform:rotate(-1deg)}.landing .step:nth-child(3){transform:rotate(1deg)}.landing .step .num{font-family:var(--display-font);font-size:30px;color:var(--ink);background:var(--gold);border:3px solid rgba(0,0,0,.85);border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px #0006;margin-bottom:12px}.landing .step b{font-size:18px;display:block;margin-bottom:6px}.landing .fineprint{opacity:.75;font-size:14px;max-width:40em;line-height:1.6}.avatar-sticker{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:3px solid;overflow:hidden;flex:0 0 auto;line-height:1;user-select:none}.avatar-sticker img{width:122%;height:122%;object-fit:contain}.name-row{display:flex;gap:8px;align-items:stretch}.name-row .text-input{flex:1;min-width:0}.dice-btn{font-size:22px;padding:0 14px}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.avatar-pick{display:flex;align-items:center;justify-content:center;padding:2px;border-radius:var(--radius-md);border:3px solid transparent;background:var(--chip-bg);transition:transform .3s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9))}.avatar-pick:active{transform:scale(.88);transition-duration:.05s}.avatar-pick.picked{border-color:#000000d9;background:var(--surface);box-shadow:3px 3px 0 var(--shadow-tint, rgba(0,0,0,.35));transform:scale(1.08) rotate(-3deg)}.admin-root{overflow-y:auto}.admin-wrap{position:relative;z-index:2;width:min(760px,100% - 32px);margin:0 auto;padding:28px 0 60px;display:flex;flex-direction:column;gap:18px}.admin-form{display:grid;grid-template-columns:minmax(200px,1fr) auto auto auto;gap:10px;align-items:stretch}@media (max-width: 640px){.admin-form{grid-template-columns:1fr}}.admin-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--chip-border, rgba(0,0,0,.25));border-radius:var(--radius-md);background:var(--chip-bg);margin-top:10px;flex-wrap:wrap}.admin-row.expired{opacity:.55}.admin-email{font-weight:700;flex:1 1 200px;overflow-wrap:anywhere}.admin-chip{font-size:13.5px;font-weight:700;padding:4px 12px;border-radius:var(--radius-pill);border:2px solid rgba(0,0,0,.5);background:var(--surface);white-space:nowrap}.emote-layer{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:75}.emote-bar{position:fixed;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;background:var(--surface);border:var(--outline);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop);z-index:40}.emote-btn{font-size:26px;line-height:1;padding:8px 10px;border-radius:50%;background:transparent;transition:transform .3s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9))}.emote-btn:active{transform:scale(1.5) rotate(-10deg);transition-duration:.05s}.doodle-emoji{position:absolute;font-size:clamp(26px,3.4vw,46px);opacity:.75;animation:floaty 12s ease-in-out infinite;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.12))}.coin-overlay{position:fixed;inset:0;z-index:65;pointer-events:none}.coin-overlay .hero-canvas{width:100%;height:100%}.frame.frame-hero{width:min(46vh,420px)}.frame.frame-hero canvas{width:100%;aspect-ratio:1}.hero-canvas{position:relative}.hero-canvas canvas{display:block;width:100%;height:100%}.hero-podium{width:min(92vw,1100px);height:min(56vh,560px)}.hero-wheel{width:min(80vw,820px);height:min(62vh,620px)}.vault-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0e101a8c;animation:vault-fade-in .25s ease-out}.vault-overlay .hero-canvas{width:min(70vmin,640px);height:min(70vmin,640px)}@keyframes vault-fade-in{0%{opacity:0}to{opacity:1}}.island-hero{width:min(78vw,900px);height:min(44vh,420px);border:var(--outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden;background:linear-gradient(180deg,#2b1e5e,#93326e 38%,#ff7847 68%,#ffc53d)}.island-hero .hero-canvas{width:100%;height:100%}.hero-lobby{position:absolute;inset:0;z-index:0;pointer-events:none}.option-card.facedown{opacity:.45;filter:saturate(.4);transform:scale(.96);transition:none}.option-card.flipped{opacity:1;filter:none;animation:card-flip-up .5s var(--ease-spring)}@keyframes card-flip-up{0%{transform:scale(.96) rotateX(70deg);opacity:.45}60%{transform:scale(1.05) rotateX(-8deg);opacity:1}to{transform:scale(1) rotateX(0)}}.prompt-card.drumroll{animation:drumroll-pulse .55s ease-in-out infinite}@keyframes drumroll-pulse{0%,to{transform:scale(1) rotate(-.3deg)}50%{transform:scale(1.025) rotate(.3deg)}}.vfx-stamp-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:80}.vfx-stamp{font-family:var(--display-font);font-weight:900;font-size:clamp(64px,12vw,180px);letter-spacing:.02em;-webkit-text-stroke:4px rgba(0,0,0,.9);paint-order:stroke fill;text-shadow:0 6px 0 rgba(0,0,0,.55),0 14px 32px rgba(0,0,0,.35);transform:rotate(-6deg);animation:stamp-slam 1.7s cubic-bezier(.2,1.4,.3,1) forwards;will-change:transform,opacity}@keyframes stamp-slam{0%{transform:rotate(14deg) scale(3.2);opacity:0}12%{transform:rotate(-8deg) scale(.92);opacity:1}20%{transform:rotate(-5deg) scale(1.08)}28%{transform:rotate(-6deg) scale(1)}82%{transform:rotate(-6deg) scale(1);opacity:1}to{transform:rotate(-6deg) scale(1.12);opacity:0}}.vfx-shake{animation:vfx-shake .5s linear}@keyframes vfx-shake{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-14px,6px) rotate(-.5deg)}30%{transform:translate(12px,-8px) rotate(.4deg)}45%{transform:translate(-10px,4px) rotate(-.3deg)}60%{transform:translate(8px,-4px) rotate(.25deg)}75%{transform:translate(-5px,2px) rotate(-.15deg)}90%{transform:translate(3px,-1px) rotate(.1deg)}}.host-popup{position:absolute;bottom:-6px;z-index:70;display:flex;flex-direction:column;gap:6px;max-width:min(34vw,460px);pointer-events:none;animation:host-spring .55s cubic-bezier(.25,1.9,.4,.95) backwards;will-change:transform}.host-popup.left{left:24px;align-items:flex-start}.host-popup.right{right:24px;align-items:flex-end}.host-popup.leaving{animation:host-drop .45s cubic-bezier(.5,-.4,.8,.6) forwards}@keyframes host-spring{0%{transform:translateY(115%) rotate(4deg)}60%{transform:translateY(-6%) rotate(-2deg)}80%{transform:translateY(2%) rotate(1deg)}to{transform:translateY(0) rotate(0)}}@keyframes host-drop{0%{transform:translateY(0)}25%{transform:translateY(-6%) rotate(-2deg)}to{transform:translateY(120%) rotate(5deg)}}.host-img{width:clamp(130px,15vw,230px);height:clamp(130px,15vw,230px);object-fit:contain;filter:drop-shadow(0 8px 0 rgba(0,0,0,.3));animation:host-talk .9s ease-in-out .5s infinite;transform-origin:50% 95%}.host-popup.right .host-img{transform:scaleX(-1)}@keyframes host-talk{0%,to{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-5px)}}.host-popup.right .host-img{animation-name:host-talk-flip}@keyframes host-talk-flip{0%,to{transform:scaleX(-1) rotate(1.5deg) translateY(0)}50%{transform:scaleX(-1) rotate(-1.5deg) translateY(-5px)}}.host-bubble{background:#fffdf6;color:#26203a;border:3px solid rgba(0,0,0,.85);border-radius:18px;box-shadow:4px 4px #00000059;padding:12px 18px;font-family:var(--display-font);font-weight:700;font-size:clamp(15px,1.4vw,22px);line-height:1.3;position:relative;margin-bottom:8px}.host-bubble:after{content:"";position:absolute;bottom:-14px;width:0;height:0;border:12px solid transparent;border-top-color:#000000d9;border-bottom:none}.host-popup.left .host-bubble:after{left:34px}.host-popup.right .host-bubble:after{right:34px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.vfx-stamp-wrap{display:none}}.howto{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%}.howto-beats{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;width:min(94vw,1180px)}.howto-beat{flex:1 1 260px;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 16px 20px;border:var(--outline, 3px solid rgba(0,0,0,.85));border-radius:18px;background:#ffffff14;opacity:.35;transform:scale(.96);transition:opacity .35s ease,transform .35s var(--ease-spring, ease)}.howto-beat.is-done{opacity:.6}.howto-beat.is-active{opacity:1;transform:scale(1.04);box-shadow:8px 8px #00000073}.howto-art{width:100%;aspect-ratio:1 / 1;max-height:26vh;display:flex;align-items:center;justify-content:center}.howto-art img{width:100%;height:100%;object-fit:contain}.howto-label{font-family:var(--display-font);font-size:1.25em;line-height:1.1;text-align:center}.howto-say{font-size:.95em;text-align:center;opacity:.92;line-height:1.4}.caption-bar{position:fixed;left:50%;bottom:3.2vh;transform:translate(-50%);max-width:min(88vw,1100px);z-index:60;pointer-events:none;display:flex;justify-content:center}.caption-text{background:#08060edb;color:#fdf6e3;padding:10px 20px;border-radius:12px;font-size:clamp(18px,2.1vw,30px);line-height:1.3;text-align:center;text-wrap:balance}.caption-toggle{position:fixed;right:16px;bottom:16px;z-index:61;font-family:var(--display-font);font-weight:800;font-size:15px;letter-spacing:.06em;padding:6px 11px;border-radius:9px;cursor:pointer;border:2px solid currentColor;background:#00000059;color:#ffffff8c}.caption-toggle[aria-pressed=true]{color:#fff;background:#0009}.caption-toggle:focus-visible{outline:3px solid var(--gold, #FFC53D);outline-offset:2px}.awards-row{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:6px}.award-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:190px;padding:12px 12px 14px;border:var(--outline, 3px solid rgba(0,0,0,.85));border-radius:16px;background:#ffffff1a}.award-badge{width:74px;height:74px;object-fit:contain}.award-title{font-family:var(--display-font);font-size:1.05em;text-align:center;line-height:1.1}.award-who{font-size:1em;font-weight:800}.award-blurb{font-size:.78em;opacity:.85;text-align:center;line-height:1.35}.phone-hint{font-size:13px;opacity:.75;line-height:1.4;padding:8px 12px;margin-bottom:10px;border-left:3px solid var(--accent, #FF5A36);border-radius:0 8px 8px 0;background:#0000000f}.cast-backdrop{position:fixed;inset:0;z-index:80;background:#0c091499;display:flex;align-items:center;justify-content:center;padding:20px;animation:cast-fade .18s ease-out}@keyframes cast-fade{0%{opacity:0}to{opacity:1}}.cast-sheet{position:relative;width:min(94vw,460px);max-height:88vh;overflow-y:auto;background:var(--surface, #FBF7EF);color:var(--ink, #26203A);border:var(--outline, 3px solid rgba(0,0,0,.85));border-radius:var(--radius-lg, 22px);box-shadow:9px 9px #00000080;padding:26px 24px 24px;display:flex;flex-direction:column;gap:14px;animation:cast-pop .26s var(--ease-boing, cubic-bezier(.3, 2.6, .45, .9))}@keyframes cast-pop{0%{transform:translateY(14px) scale(.96)}to{transform:none}}.cast-sheet h2{font-size:26px;line-height:1.1;margin:0;padding-right:40px}.cast-sheet p{margin:0;font-size:15px;line-height:1.5}.cast-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border-radius:50%;background:transparent;color:inherit;font-size:16px;line-height:1;opacity:.6}.cast-close:hover{opacity:1}.cast-close:focus-visible{outline:3px solid var(--accent, #FF5A36);outline-offset:2px}.cast-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.45}.cast-steps li::marker{font-weight:800;color:var(--accent, #FF5A36)}.cast-note{font-size:13px;opacity:.72}@media (prefers-reduced-motion: reduce){.cast-backdrop,.cast-sheet{animation:none}}.cast-route{border-left:4px solid var(--accent, #FF5A36);background:color-mix(in srgb,var(--accent, #FF5A36) 8%,transparent);border-radius:0 10px 10px 0;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.cast-route h3{font-family:var(--display-font);font-size:16px;margin:0;line-height:1.2}.cast-route .cast-steps{font-size:14px;gap:7px}.cast-sheet .link-btn{background:none;color:inherit;opacity:.72;font-size:14px;text-decoration:underline;text-underline-offset:3px;padding:4px;align-self:center}.cast-sheet .link-btn:hover{opacity:1}.cast-steps .cast-step{display:flex;align-items:center;gap:12px;list-style:none;margin-left:-22px}.cast-step-pic{width:62px;height:62px;flex:0 0 auto;object-fit:contain;border-radius:12px;background:color-mix(in srgb,var(--ink, #26203A) 5%,transparent)}.cc-tile{width:62px;height:62px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:color-mix(in srgb,var(--ink, #26203A) 82%,transparent);color:#fff}.cast-step svg{vertical-align:-.24em;margin:0 1px}.rotate-hint{position:fixed;inset:0;z-index:90;background:var(--bg, #141019);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 26px;text-align:center}.rotate-hint h2{font-size:clamp(22px,6vw,32px);margin:0;text-wrap:balance}.rotate-hint p{margin:0;max-width:26em;opacity:.82;font-size:15px;line-height:1.45}.rotate-hint .link-btn{background:none;color:inherit;opacity:.6;text-decoration:underline;text-underline-offset:3px;font-size:14px;padding:6px}.rotate-hint .link-btn:hover{opacity:1}.rotate-phone{color:var(--accent, #FF5A36)}.rotate-phone-body{transform-origin:60px 53px;animation:phone-turn 3.2s cubic-bezier(.6,0,.2,1) infinite}@keyframes phone-turn{0%,22%{transform:rotate(0)}42%,74%{transform:rotate(-90deg)}94%,to{transform:rotate(0)}}.rotate-phone-arrow{animation:phone-arrow 3.2s ease-in-out infinite}@keyframes phone-arrow{0%,18%{opacity:.25}30%,70%{opacity:.9}86%,to{opacity:.25}}@media (prefers-reduced-motion: reduce){.rotate-phone-body{animation:none;transform:rotate(-90deg)}.rotate-phone-arrow{animation:none}}@media (max-height: 520px){.screen-root{font-size:clamp(12px,3.2vh,18px)}.screen-header{padding:8px 18px}.screen-main{padding:0 22px 8px;gap:10px}.screen-footer{padding:0 18px 8px}.screen-code-chip{padding:5px 14px;letter-spacing:.16em}.howto{gap:10px}.howto-beats{gap:12px;width:96vw}.howto-beat{flex-basis:190px;padding:8px 10px 10px;gap:5px;border-radius:14px}.howto-art{max-height:17vh}.howto-label{font-size:1.02em}.howto-say{font-size:.82em;line-height:1.3}.caption-bar{bottom:40px}.caption-text{font-size:clamp(13px,3.4vh,22px);padding:5px 14px}.caption-toggle{bottom:8px;right:8px;padding:3px 7px;font-size:12px}.join-panel{gap:12px}.qr{width:min(22vh,150px);height:auto}.code-tiles{gap:6px}.code-tile{font-size:clamp(26px,9vh,60px);padding:2px 10px}.awards-row{gap:10px}.award-card{width:150px;padding:8px}.award-badge{width:46px;height:46px}}.cast-step-pic.rotate-step{display:inline-flex;align-items:center;justify-content:center;color:var(--accent, #FF5A36)}.rotate-escape{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:10px;animation:rotate-escape-in .4s ease-out}@keyframes rotate-escape-in{0%{opacity:0}to{opacity:1}}.rotate-lock{font-size:13px;opacity:.6;max-width:28em}@media (prefers-reduced-motion: reduce){.rotate-escape{animation:none}}@media (max-height: 420px){.screen-root{font-size:clamp(11px,3.6vh,16px)}.screen-header{padding:4px 14px}.screen-title{font-size:1.05em}.screen-main{padding:0 14px 4px;gap:6px}.screen-footer{padding:0 14px 5px}.room-banner{padding:10px 16px;gap:16px}.join-label{font-size:.78em}.join-url{font-size:1.15em}.join-label+.code-tiles,.code-tiles{margin-top:2px;gap:5px}.code-tile{font-size:clamp(22px,13vh,52px);padding:1px 9px}.qr{width:min(30vh,128px)}.roster-chip{padding:3px 9px;gap:6px}.lobby-extra:not(.lobby-games){display:none}.lobby-games{gap:8px;font-size:.78em}.rotate-hint{gap:10px;padding:14px}.rotate-hint p{font-size:13px}}@media (max-height: 520px) and (pointer: coarse){.screen-root{overflow-y:auto;-webkit-overflow-scrolling:touch}.screen-main{justify-content:flex-start;padding-top:6px}}.lobby-games{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;opacity:.9;font-size:.85em}.fullscreen-toggle{position:fixed;left:16px;bottom:16px;z-index:61;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;cursor:pointer;border:2px solid currentColor;background:#00000059;color:#ffffff8c}.fullscreen-toggle:hover,.fullscreen-toggle[aria-pressed=true]{color:#fff;background:#0009}.fullscreen-toggle:focus-visible{outline:3px solid var(--gold, #FFC53D);outline-offset:2px}@media (max-height: 520px){.fullscreen-toggle{left:8px;bottom:8px;width:32px;height:32px}}.a2hs-tip{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;border-left:4px solid var(--accent, #FF5A36);background:color-mix(in srgb,var(--accent, #FF5A36) 9%,transparent);font-size:14px;line-height:1.45;text-align:left}.a2hs-tip b{font-weight:800}.a2hs-steps{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.a2hs-steps li{display:flex;align-items:center;gap:9px}.a2hs-steps svg{flex:0 0 auto;opacity:.9}.a2hs-foot{opacity:.75;font-size:.92em}.rotate-hint{height:100dvh;max-height:100dvh;overflow-y:auto;gap:14px;padding:24px 20px;justify-content:safe center}.rotate-hint>*{flex:0 0 auto;max-width:min(92vw,420px)}.rotate-hint h2{font-size:clamp(19px,4.6vw,27px)}.rotate-hint p{font-size:clamp(13px,3.4vw,15px)}.rotate-hint .rotate-phone{width:clamp(84px,24vw,132px);height:auto}.a2hs-tip{font-size:clamp(12.5px,3.2vw,14px);padding:11px 13px}.game-poster.poster-locked{cursor:pointer}.game-poster.poster-locked:hover .gp-unlock{background:var(--accent, #FF5A36);color:#fff}.gp-unlock{width:100%;margin-top:10px;font-family:var(--display-font);font-weight:800;font-size:13px;padding:8px 10px;border-radius:var(--radius-pill, 999px);border:2px solid rgba(0,0,0,.85);background:var(--gold, #FFC53D);color:#2a2010;cursor:pointer;transition:transform .16s var(--ease-spring, ease),background .16s ease,color .16s ease}.gp-unlock:active{transform:scale(.96)}.gp-unlock:focus-visible{outline:3px solid var(--teal, #0FA3A0);outline-offset:2px}.game-poster.poster-locked .gp-unlock{filter:none}.end-options{display:flex;flex-direction:column;gap:10px;width:100%}.end-note{font-size:13px;opacity:.7;text-align:center;margin-top:2px}.end-banner{font-size:.95em;opacity:.92;padding:8px 16px;border-radius:var(--radius-pill, 999px);background:var(--chip-bg);border:2px solid var(--chip-border)}.end-count{font-family:var(--display-font);font-size:1.15em}@media (max-height: 520px){.end-banner{font-size:.85em;padding:5px 12px}}.end-banner-new{background:color-mix(in srgb,var(--gold, #FFC53D) 26%,var(--chip-bg));border-color:var(--gold, #FFC53D)}
