:root{--ink:#1d1a2b;--paper:#fff1dc;--card:#fff7ea;--red:#ff4d2e;--teal:#00b8a9;--sun:#ffc22e;--blue:#3a5bff;--pink:#ff7bac;--green:#2fbf55;--team:var(--sun);--team-deep:#b88200;--team-soft:#fff0c2;--line:3px solid var(--ink);--shadow:4px 4px 0 var(--ink);--shadow-l:6px 6px 0 var(--ink);--r:18px;--font:"Bricolage Grotesque", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background-image:radial-gradient(#1d1a2b17 1.2px,#0000 1.4px);background-size:18px 18px}#root{min-height:100%}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.05}h2{font-size:1.35rem;font-weight:800}h3{margin:1rem 0 .5rem;font-size:1.05rem;font-weight:800}a{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{appearance:none;border:var(--line);background:var(--card);box-shadow:var(--shadow);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:14px;min-height:48px;padding:.6rem 1rem;font-weight:800;transition:transform 60ms,box-shadow 60ms}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.big{width:100%;min-height:58px;padding:.8rem 1.2rem;font-size:1.15rem}.btn.small{min-height:38px;box-shadow:3px 3px 0 var(--ink);padding:.3rem .7rem;font-size:.9rem}.btn.primary{background:var(--red);color:#fff;text-shadow:0 2px #0000002e}.btn.mega{background:var(--sun);min-height:80px;box-shadow:var(--shadow-l);width:min(100%,420px);padding:1.1rem 2rem;font-size:1.6rem}.btn.ready-on{background:var(--green);color:#fff}.link{cursor:pointer;background:0 0;border:0;padding:.4rem;font-weight:700;text-decoration:underline}.link:disabled{opacity:.4}.link.light{color:inherit;opacity:.8}.link.back{margin-bottom:.5rem;text-decoration:none}.icon-btn{background:var(--card);border:var(--line);cursor:pointer;border-radius:12px;width:44px;height:44px;font-size:1.1rem}.card{background:var(--card);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow-l);padding:1.1rem}.stack{flex-direction:column;gap:.8rem;display:flex}.row{align-items:center;display:flex}.gap-s{gap:.5rem}.grow{flex:1}.eyebrow{text-transform:uppercase;letter-spacing:.12em;opacity:.7;font-size:.75rem;font-weight:800}.hint{opacity:.75;margin:.5rem 0;font-size:.88rem}.err{color:var(--red);margin:.3rem 0 0;font-weight:800}.lead{max-width:34ch;margin:.6rem auto;font-size:1.1rem;font-weight:500}.waiting{opacity:.8;font-weight:700;animation:1.6s ease-in-out infinite breathe}input:not([type]),input[type=text],textarea,select{border:var(--line);background:#fff;border-radius:12px;width:100%;min-height:48px;padding:.65rem .8rem;font-size:1.05rem}select{width:auto;min-height:38px;padding:.3rem .5rem;font-size:.9rem;font-weight:700}.field{flex-direction:column;gap:.3rem;margin-bottom:.8rem;font-weight:800;display:flex}.field span{font-size:.85rem}.tagchip{border:2px solid var(--ink);background:var(--team-soft,#fff);cursor:pointer;border-radius:999px;padding:.35rem .75rem;font-size:.9rem;font-weight:700}.my-words{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.center-page{text-align:center;place-items:center;min-height:100dvh;padding:1rem;display:grid}.center-page .card{width:min(100%,440px)}@keyframes breathe{50%{opacity:.45}}@keyframes bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-5px)rotate(2deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.3)rotate(-10deg)}70%{transform:scale(1.1)rotate(3deg)}to{opacity:1;transform:scale(1)}}@keyframes slam{0%{opacity:0;transform:scale(2.4)}60%{opacity:1;transform:scale(.92)}to{transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.avatar{flex:none;overflow:visible}.avatar.bob{transform-origin:50% 90%;animation:2.4s ease-in-out infinite bob}.avatar .talk{transform-origin:50px 58px;transform-box:view-box;animation:.22s ease-in-out infinite alternate talk}.avatar.mood-happy.bob{animation:.5s ease-in-out infinite hop}.avatar.mood-shock{animation:.15s 3 wiggle}@keyframes talk{to{transform:scaleY(.25)}}@keyframes hop{50%{transform:translateY(-10px)scale(1.04,.96)}}.home{flex-direction:column;gap:1.2rem;max-width:520px;margin:0 auto;padding:1.2rem 1rem 3rem;display:flex}.hero{text-align:center;padding-top:1rem}.marquee{justify-content:center;align-items:center;gap:.2rem;display:flex}.logo{letter-spacing:-.03em;font-size:clamp(2.3rem,11vw,3.6rem);font-weight:800;display:flex}.logo span{color:var(--card);-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink);animation:.5s backwards popIn;display:inline-block}.logo span:nth-child(4n+1){color:var(--red)}.logo span:nth-child(4n+2){color:var(--sun)}.logo span:nth-child(4n+3){color:var(--teal)}.logo span:nth-child(4n){color:var(--blue)}.tag{margin:.6rem 0 0;font-size:1.1rem}.or{text-align:center;opacity:.6;font-size:.9rem;font-weight:800}.join-row{gap:.6rem;display:flex}.join-row .btn{width:auto}.code-input{text-transform:uppercase;letter-spacing:.4em;text-align:center;font-weight:800;font-size:1.6rem!important}.how{gap:.6rem;display:grid}.how div{align-items:center;gap:.8rem;display:flex}.how b{border:var(--line);background:var(--sun);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.how p{margin:0}.foot{text-align:center;font-weight:700}.profile-form{text-align:left;flex-direction:column;gap:.9rem;display:flex}.me-preview{align-items:flex-end;gap:.6rem;display:flex}.me-preview .field{margin:0}.avatar-btn{cursor:pointer;background:0 0;border:0;padding:0;position:relative}.reroll{background:var(--card);border:2px solid var(--ink);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.9rem;display:grid;position:absolute;bottom:2px;right:-4px}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:.35rem;display:grid}.avatar-grid button{background:var(--card);cursor:pointer;border:2px solid #0000;border-radius:12px;place-items:center;min-height:52px;padding:.2rem;display:grid}.avatar-grid button.on{border-color:var(--ink);background:var(--sun);box-shadow:2px 2px 0 var(--ink)}.room{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;padding:.5rem .8rem;padding-top:max(.5rem, env(safe-area-inset-top));background:var(--paper);border-bottom:var(--line);align-items:center;gap:.6rem;display:flex;position:sticky;top:0}.tb-code{letter-spacing:.2em;background:var(--ink);color:var(--paper);border-radius:8px;padding:.2rem .5rem;font-weight:800}.tb-right{gap:.4rem;margin-left:auto;display:flex}.mini-scores{gap:.3rem;display:flex}.mini-scores span{border:2px solid var(--ink);text-align:center;min-width:34px;color:var(--ink);border-radius:8px;padding:.1rem .3rem;font-weight:800}.menu{background:var(--card);border:var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;min-width:220px;display:flex;position:absolute;top:calc(100% + 6px);right:.8rem;overflow:hidden}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #1d1a2b1a;padding:.85rem 1rem;font-weight:700;text-decoration:none}.conn-banner{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:90;background:var(--ink);color:var(--paper);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:700;display:flex;position:fixed;transform:translate(-50%)}.spinner{border:3px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{z-index:95;background:var(--sun);border:var(--line);box-shadow:var(--shadow);border-radius:14px;max-width:90vw;padding:.6rem 1rem;font-weight:800;animation:.3s popIn;position:fixed;top:4.2rem;left:50%;transform:translate(-50%)}.lobby{flex-direction:column;gap:1.1rem;width:100%;max-width:720px;margin:0 auto;padding:1rem 1rem 8.5rem;display:flex}.room-card{background:var(--sun);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow-l);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem;display:flex}.room-code{gap:.35rem;margin-top:.3rem;display:flex}.room-code span{border:var(--line);background:var(--card);width:52px;height:60px;box-shadow:3px 3px 0 var(--ink);border-radius:12px;place-items:center;font-size:2.1rem;font-weight:800;display:grid}.room-code.small{justify-content:center;margin:.4rem 0 1rem}.room-code.small span{width:44px;height:50px;font-size:1.7rem}.room-actions{gap:.5rem;display:flex}.qr-pop{text-align:center;flex-direction:column;align-items:center;gap:.3rem;width:100%;display:flex}.qr-pop p{margin:.2rem 0}.qr{border:var(--line);background:var(--card);border-radius:12px;padding:6px;overflow:hidden}.qr svg{width:100%;height:100%;display:block}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.team-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}@media (width>=640px){.team-grid.n3{grid-template-columns:repeat(3,1fr)}.team-grid.n4{grid-template-columns:repeat(4,1fr)}}.team-col{background:var(--team-soft);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.team-col.mine{box-shadow:6px 6px 0 var(--ink);transform:rotate(-.6deg)}.team-head{background:var(--team);border:0;border-bottom:var(--line);cursor:pointer;width:100%;color:var(--ink);flex-direction:column;padding:.55rem;font-size:1.15rem;font-weight:800;display:flex}.team-head small{opacity:.75;font-size:.7rem;font-weight:700}.team-col ul{flex-direction:column;gap:.25rem;margin:0;padding:.4rem;list-style:none;display:flex}.member{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.4rem;width:100%;padding:.2rem;display:flex}.member:disabled{cursor:default;opacity:1}.member.offline{opacity:.5}.member .name{overflow-wrap:anywhere;flex:1;font-size:.95rem;font-weight:700;line-height:1.1}.member em{opacity:.6;font-size:.8rem;font-style:normal}.host-badge{background:var(--ink);color:var(--paper);vertical-align:middle;border-radius:4px;margin-left:.25rem;padding:.05rem .3rem;font-size:.6rem;display:inline-block}.ready-dot{border:2px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.8rem;font-weight:800;display:grid}.ready-dot.on{background:var(--green);color:#fff;animation:.3s popIn}.team-col .empty{opacity:.6;text-align:center;border:2px dashed #1d1a2b4d;border-radius:10px;padding:.4rem;font-size:.8rem}.jar{background:#fff}.jar-count{background:var(--teal);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:.15rem .6rem;font-weight:800}.jar form .btn{width:auto}.summary{margin:.4rem 0 0}.mode-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.7rem;display:grid}.mode{border:var(--line);background:var(--card);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:.15rem;padding:.6rem .5rem;display:flex}.mode b{font-size:1rem}.mode span{opacity:.75;font-size:.75rem;line-height:1.15}.mode.on{background:var(--sun);box-shadow:3px 3px 0 var(--ink)}.rules{margin:.6rem 0;padding-left:1.2rem;font-size:.9rem}.setting-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:.6rem 0;font-weight:700;display:flex}.seg{border:var(--line);border-radius:12px;display:flex;overflow:hidden}.seg button{border:0;border-right:2px solid var(--ink);background:var(--card);cursor:pointer;min-width:46px;min-height:42px;padding:.45rem .7rem;font-weight:800}.seg button:last-child{border-right:0}.seg button.on{background:var(--ink);color:var(--paper)}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;display:grid}.deck{border:var(--line);background:var(--card);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:.1rem;padding:.6rem;display:flex;position:relative}.deck.on{background:var(--teal);color:#fff;box-shadow:3px 3px 0 var(--ink)}.deck.on:after{content:"✓";font-weight:800;position:absolute;top:6px;right:8px}.deck-emoji{font-size:1.5rem}.deck small{opacity:.85;font-size:.72rem;line-height:1.15}.toggle{align-items:center;gap:.5rem;margin-top:.8rem;font-weight:700;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--ink)}.dock{z-index:15;padding:.8rem 1rem;padding-bottom:max(.8rem, env(safe-area-inset-bottom));background:var(--paper);border-top:var(--line);gap:.6rem;display:flex;position:fixed;bottom:0;left:0;right:0}.dock>*{flex:1}.dock-note{text-align:center;opacity:.8;place-items:center;font-size:.95rem;font-weight:700;display:grid}.turn-ready{text-align:center;background:var(--team);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 1rem 2rem;display:flex}.turn-num{background:var(--ink);color:var(--paper);border-radius:999px;padding:.25rem .8rem;font-size:.85rem;font-weight:800}.shout{color:var(--card);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);text-transform:uppercase;overflow-wrap:anywhere;font-size:clamp(2.4rem,12vw,4.5rem);font-weight:800;line-height:.95;animation:.45s slam}.turn-live{flex-direction:column;flex:1;gap:.7rem;min-height:0;padding:.8rem 1rem 1rem;display:flex;position:relative}.turn-live.watcher{background:var(--team);text-align:center}.turn-live.judge{background:var(--team-soft)}.turn-live.describer{min-height:100dvh;padding-top:max(.8rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));background:var(--team);transition:background .2s}.turn-live.describer.flash-correct{background:var(--green)}.turn-live.describer.flash-skip{background:#b9b2a6}.live-top{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.live-score{flex-direction:column;align-items:flex-end;display:flex}.live-score .pts{color:var(--card);-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink);font-size:2.8rem;font-weight:800;line-height:1}.live-score.small .pts{font-size:2rem}.streak{background:var(--ink);color:var(--sun);border-radius:999px;padding:.1rem .55rem;font-size:.85rem;font-weight:800;animation:.3s popIn}.timer{flex:none;position:relative}.timer svg{filter:drop-shadow(3px 3px 0 var(--ink));display:block}.timer-num{font-weight:800;font-size:calc(var(--s,1) * 1.9rem);font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;inset:0}.timer.urgent{animation:.25s infinite wiggle}.timer.urgent .timer-num{color:var(--red)}.pips{flex-wrap:wrap;flex:1;justify-content:center;gap:5px;display:flex}.pip{border:2.5px solid var(--ink);background:var(--card);border-radius:6px;width:18px;height:18px;transition:background .2s}.pip.current{background:var(--sun);animation:.8s infinite breathe}.pip.correct{background:var(--green);animation:.3s popIn}.pip.skip{background:#8f8a80}.pip.foul{background:var(--red)}.pip.missed{background:repeating-linear-gradient(45deg,#fff 0 4px,#8f8a80 4px 8px)}.word-zone{touch-action:pan-y;flex:1;place-items:center;min-height:0;display:grid}.word-card{background:var(--card);border:4px solid var(--ink);width:100%;max-width:560px;min-height:46vh;box-shadow:8px 8px 0 var(--ink);text-align:center;-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:1.4rem 1rem;animation:.22s cubic-bezier(.2,1.4,.4,1) cardIn;display:flex}.word-card.hidden-card{opacity:.6;font-size:2rem;font-weight:800;animation:none}@keyframes cardIn{0%{opacity:0;transform:translateY(30px)scale(.85)rotate(4deg)}}.secret-tag{text-transform:uppercase;letter-spacing:.08em;background:var(--ink);color:var(--paper);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:800}.word{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.02em;font-weight:800;line-height:1}.word.fit-s{font-size:clamp(3.2rem,18vw,6rem)}.word.fit-m{font-size:clamp(2.6rem,13vw,4.8rem)}.word.fit-l{font-size:clamp(2.1rem,10vw,3.8rem)}.word.fit-xl{font-size:clamp(1.7rem,8vw,3rem)}.nogo{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;font-size:.95rem;display:flex}.nogo span{color:var(--red);font-weight:800}.nogo b{border:2px solid var(--red);color:var(--red);border-radius:8px;padding:.1rem .45rem;text-decoration:line-through}.swipe-hint{opacity:.5;font-size:.8rem;font-weight:700}.mark-row{grid-template-columns:1fr 1.6fr;gap:.8rem;display:grid}.btn.mark{min-height:92px;box-shadow:var(--shadow-l);border-width:4px;flex-direction:column;justify-content:center;align-items:center;font-size:1.7rem;display:flex}.btn.mark small{font-size:.8rem}.btn.mark.skip{background:var(--card)}.btn.mark.correct{background:var(--green);color:#fff;text-shadow:0 2px #00000040}.end-early{align-self:center;font-size:.85rem}.guess-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.4rem;display:flex}.judge{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.8rem;display:flex}.judge-card{min-height:0;box-shadow:var(--shadow-l);padding:1rem}.buzz-btn{background:var(--red);color:#fff;width:min(100%,420px);min-height:110px;box-shadow:0 8px 0 var(--ink);text-shadow:0 3px #00000040;border-width:4px;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;font-size:2.4rem;display:flex}.buzz-btn small{font-size:.85rem}.buzz-btn:active:not(:disabled){box-shadow:0 2px 0 var(--ink);transform:translateY(6px)}.react-bar{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.react-bar button{border:var(--line);background:var(--card);cursor:pointer;width:52px;height:52px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;font-size:1.6rem}.react-bar button:active{transform:scale(1.25)}.countdown{z-index:60;color:var(--sun);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:8px 8px 0 var(--ink);pointer-events:none;background:#1d1a2bd1;place-items:center;font-size:11rem;font-weight:800;animation:.5s slam;display:grid;position:fixed;inset:0}.fx-layer{pointer-events:none;z-index:70;position:fixed;inset:0;overflow:hidden}.floater{font-size:2.6rem;animation:2.2s ease-out forwards floatUp;position:absolute;bottom:12%}.floater.burst{color:var(--green);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink);font-size:3rem;font-weight:800;bottom:45%}.floater.foul{color:var(--red);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:5rem;font-weight:800;animation:.4s slam,2.2s forwards fadeOut;bottom:40%;transform:translate(-50%)}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(.5)}15%{opacity:1;transform:translateY(-20px)scale(1.2)}to{opacity:0;transform:translateY(-50vh)scale(1)rotate(15deg)}}@keyframes fadeOut{70%{opacity:1}to{opacity:0}}.confetti{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.confetti i{border:1.5px solid var(--ink);animation:linear forwards fall;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(110vh)rotate(720deg)}}.review{flex-direction:column;gap:.6rem;width:100%;max-width:640px;margin:0 auto;padding:1rem 1rem 2rem;display:flex}.review-head{background:var(--team);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow-l);align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.big-points{color:var(--card);-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink);font-size:3.4rem;font-weight:800;line-height:1;animation:.5s slam}.sub{font-weight:700}.reveal-title{text-align:center}.reveal-list{grid-template-columns:1fr 1fr;gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.reveal-list li{animation:.35s backwards popIn}.reveal-list li>*{border:var(--line);background:var(--card);cursor:default;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:.4rem;width:100%;min-height:50px;padding:.55rem .7rem;font-weight:800;display:flex}.reveal-list li>button{cursor:pointer}.reveal-list li.correct>*{background:#c9f2d2}.reveal-list li.skip>*{color:#59544c;background:#e4dfd5}.reveal-list li.foul>*{background:#ffd2c8}.reveal-list li.missed>*{background:#fff;border-style:dashed}.reveal-list .w{overflow-wrap:anywhere}.reveal-list .o{flex:none;font-size:.85rem}.final{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:760px;margin:0 auto;padding:1.2rem 1rem 2rem;display:flex;position:relative}.winner-title{color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink);z-index:6;font-size:clamp(2.4rem,11vw,4.6rem);font-weight:800;animation:.6s slam;position:relative}.podium{z-index:6;justify-content:center;align-items:flex-end;gap:.5rem;width:100%;display:flex;position:relative}.step{flex-direction:column;flex:1;align-items:center;max-width:190px;display:flex}.step-avatars{flex-wrap:wrap;justify-content:center;margin-bottom:-6px;display:flex}.step-block{background:var(--team);border:var(--line);width:100%;box-shadow:var(--shadow);transform-origin:bottom;border-radius:14px 14px 0 0;flex-direction:column;align-items:center;padding:.5rem .2rem;animation:.8s cubic-bezier(.2,1.3,.4,1) backwards rise;display:flex}.step.rank0 .step-block{min-height:170px;animation-delay:.6s}.step.rank1 .step-block{min-height:125px;animation-delay:.3s}.step.rank2 .step-block{min-height:95px}.step.rank3 .step-block{min-height:75px}@keyframes rise{0%{transform:scaleY(0)}}.step-rank{font-size:1.6rem}.step-score{color:var(--card);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;font-size:2.4rem;font-weight:800;line-height:1}.step-name{font-size:.9rem;font-weight:800}.awards{z-index:6;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;width:100%;display:grid;position:relative}.award{background:var(--card);border:var(--line);text-align:left;box-shadow:3px 3px 0 var(--ink);border-radius:14px;align-items:center;gap:.6rem;padding:.5rem .7rem;animation:.4s 1s backwards popIn;display:flex}.award b{display:block}.award span{font-size:.85rem}.final-actions{z-index:6;width:100%;position:relative}.studio{flex-direction:column;gap:1rem;max-width:560px;margin:0 auto;padding:1rem 1rem 3rem;display:flex}.studio-title{font-size:2.4rem;font-weight:800}.lead.dark{margin:0}.studio form .btn{flex:none;width:auto}.deck-row{border:var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:.8rem;display:flex}textarea{resize:vertical;font-family:inherit}.display{--ink-bg:#16131f;background:radial-gradient(ellipse at 50% 120%, #2c2440 0%, var(--ink-bg) 60%);min-height:100dvh;color:var(--card);font-size:clamp(14px,1.25vw,26px);position:relative;overflow:hidden}.spotlights{pointer-events:none;position:absolute;inset:0}.spotlights:before,.spotlights:after{content:"";clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform-origin:top;background:linear-gradient(#fff1dc29,#0000 70%);width:40vw;height:140%;animation:7s ease-in-out infinite alternate sweep;position:absolute;top:-20%}.spotlights:before{left:5%}.spotlights:after{animation-delay:-3.5s;right:5%}@keyframes sweep{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.sound-gate{z-index:50;background:var(--sun);color:var(--ink);border:var(--line);cursor:pointer;border-radius:999px;padding:.6rem 1.1rem;font-weight:800;position:absolute;top:1rem;right:1rem;box-shadow:4px 4px #000}.display .eyebrow{color:var(--card)}.d-lobby{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:3vw;min-height:100dvh;padding:4vh 4vw;display:grid;position:relative}.d-join{text-align:center;flex-direction:column;align-items:center;gap:2vh;display:flex}.d-logo{color:var(--sun);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:6px 6px #000;letter-spacing:-.03em;font-size:4.2em;font-weight:800;animation:4s ease-in-out infinite wiggle}.d-join-line{margin:0;font-size:1.5em}.room-code.huge span{width:2.4em;height:2.8em;color:var(--ink);font-size:2.8em;animation:.6s backwards popIn;box-shadow:5px 5px #000}.d-mode{opacity:.8;font-size:1.1em}.d-teams{flex-direction:column;gap:1.5vh;display:flex}.d-team{border:4px solid var(--team);background:#ffffff0a;border-radius:24px;padding:1vh 1.2vw}.d-team h2{color:var(--team);font-size:2em}.d-team-members{flex-wrap:wrap;align-items:flex-end;gap:1vw;min-height:100px;display:flex}.d-member{flex-direction:column;align-items:center;font-size:1.15em;font-weight:800;display:flex}.pop-in{animation:.5s popIn}.d-empty{opacity:.5}.d-status{text-align:center;font-size:1.4em;font-weight:800;animation:2s infinite breathe}.d-turn{flex-direction:column;min-height:100dvh;display:flex;position:relative}.d-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3vh;padding:3vh 3vw;display:flex}.d-turn-label{background:var(--team);color:var(--ink);border:var(--line);border-radius:999px;padding:.3rem 1.4rem;font-size:1.6em;font-weight:700;box-shadow:4px 4px #000}.d-center{grid-template-columns:1fr auto 1fr;align-items:center;gap:4vw;width:100%;display:grid}.d-describer,.d-guessers{flex-direction:column;align-items:center;gap:.5vh;display:flex}.d-guessers{flex-flow:wrap;justify-content:center}.d-guessers .d-role{text-align:center;width:100%}.d-name{color:var(--team);font-size:2.6em;font-weight:800}.d-role{opacity:.85;font-size:1.4em;font-weight:800}.display .timer-num{color:var(--ink);font-size:4.6em}.display .timer svg{filter:drop-shadow(6px 6px #000)}.d-progress{flex-direction:column;align-items:center;gap:1.5vh;display:flex}.display .pip{border-width:4px;border-color:#000;border-radius:12px;width:2.6em;height:2.6em}.display .pips{flex:none;gap:.7em}.d-points{color:var(--team);-webkit-text-stroke:4px #000;paint-order:stroke fill;text-shadow:5px 5px #000;align-items:center;gap:.3em;font-size:4.5em;font-weight:800;animation:.35s slam;display:flex}.d-points .streak{-webkit-text-stroke:0;text-shadow:none;font-size:.3em}.scoreboard{background:#00000059;border-top:4px solid #000;gap:1vw;padding:1.5vh 2vw;display:flex}.sb-team{border:4px solid var(--team);border-radius:18px;flex:1;align-items:center;gap:.8em;padding:.5em 1em;transition:transform .3s;display:flex}.sb-team.active{background:var(--team);color:var(--ink);transform:translateY(-6px);box-shadow:0 6px #000}.sb-name{font-size:1.3em;font-weight:800}.sb-score{font-size:2.4em;font-weight:800;animation:.4s slam}.sb-avatars{margin-left:auto;display:flex}.countdown.d{font-size:22em}.display-pane{flex-direction:column;min-height:100dvh;display:flex}.display-pane .review{flex:1;justify-content:center;max-width:1200px}.review.big{font-size:1.2em}.review.big .review-head{color:var(--ink)}.review.big .big-points{font-size:5em}.review.big .reveal-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.review.big .reveal-list li>*{color:var(--ink);font-size:1.3em}.review.big .reveal-title{color:var(--sun);font-size:2em}.final.big{justify-content:center;max-width:1400px;min-height:100dvh}.final.big .winner-title{font-size:7em}.final.big .step{max-width:320px}.final.big .step-block{color:var(--ink)}.final.big .step.rank0 .step-block{min-height:300px}.final.big .step.rank1 .step-block{min-height:220px}.final.big .step.rank2 .step-block{min-height:160px}.final.big .step-score{font-size:4em}.final.big .award{color:var(--ink);font-size:1.2em}.display .floater{font-size:5em}.display .floater.burst{font-size:6em}.display .conn-banner{font-size:1em}@media (width<=800px){.d-lobby,.d-center{grid-template-columns:1fr}}@media (width<=360px){.room-code span{width:44px;height:52px;font-size:1.8rem}.mode-grid,.reveal-list{grid-template-columns:1fr}}@media (width>=900px){.turn-live.describer{align-items:center}.turn-live.describer>*{width:min(100%,640px)}.dock{justify-content:center}.dock>*{max-width:340px}}.stage-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));justify-items:center;gap:1.1rem .5rem;width:100%;padding:.8rem 0 .4rem;display:grid}.seat{color:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:.25rem;min-width:0;padding:0;display:flex}.seat-ring{border-radius:50%;place-items:center;display:grid;position:relative}.seat-ring:before{content:"";border:4px solid var(--team);opacity:0;border-radius:50%;transition:opacity .15s,transform .15s;position:absolute;inset:-6px;transform:scale(.9)}.seat.speaking .seat-ring:before{opacity:1;box-shadow:0 0 0 4px #fff9, 0 0 22px 4px var(--team);animation:.9s ease-in-out infinite talkPulse;transform:scale(1)}@keyframes talkPulse{50%{transform:scale(1.07)}}.seat.offline .avatar{filter:grayscale(.85);opacity:.6}.seat-name{max-width:calc(var(--size) + 24px);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:800;overflow:hidden}.seat-name em{opacity:.6;font-style:normal;font-weight:600}.sticker{color:var(--ink);border:2px solid var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:140%;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:8px;padding:.12rem .45rem;font-size:.78rem;font-weight:800;animation:.3s popIn;position:absolute;top:8%;left:50%;overflow:hidden;transform:translate(-50%)rotate(-4deg)}.sticker.guessing{transform:translate(-50%)rotate(3deg)}.sticker.judging{background:#e9e1d3}.sticker.word{background:var(--sun);font-size:.95rem;transform:translate(-50%)rotate(-5deg)scale(1.05)}.sticker.ready{background:var(--green);color:#fff}.sticker.away{background:#ccc}.mic{background:var(--card);border:2px solid var(--ink);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8rem;display:grid;position:absolute;bottom:2px;right:-2px}.mic.muted{background:#ddd}.eq{background:var(--ink);border-radius:10px;align-items:flex-end;gap:2px;height:22px;padding:3px 5px;display:flex;position:absolute;bottom:2px;left:-2px}.eq i{background:var(--green);border-radius:2px;width:3px;animation:.5s ease-in-out infinite alternate eq}.eq i:nth-child(2){animation-delay:-.2s}.eq i:nth-child(3){animation-delay:-.35s}@keyframes eq{0%{height:3px}to{height:15px}}.shout.small{margin-top:.3rem;font-size:clamp(2rem,9vw,3.2rem)}.turn-live.watcher .stage-grid{flex:1;align-content:start}.turn-ready .stage-grid{max-width:560px;margin-top:.5rem}.mate-strip{justify-content:center;align-items:center;gap:.6rem;min-height:64px;display:flex}.mate-strip .seat-name{font-size:.75rem}.member.speaking .avatar{filter:drop-shadow(0 0 6px var(--team)) drop-shadow(0 0 2px var(--team))}.mic-badge{background:var(--card);color:var(--ink);border:1.5px solid var(--ink)}.d-member,.d-describer{position:relative}.d-member.speaking .avatar,.d-describer.speaking .avatar{filter:drop-shadow(0 0 14px var(--team)) drop-shadow(0 0 4px #fff);animation:.9s ease-in-out infinite talkPulse}.avatar .halo{animation:2s ease-in-out infinite bob}.avatar .sparkle{animation:1s ease-in-out infinite breathe}.voice-btn{border:var(--line);background:var(--card);cursor:pointer;white-space:nowrap;border-radius:999px;min-height:44px;padding:0 .8rem;font-weight:800}.voice-btn.compact{width:48px;height:48px;padding:0;font-size:1.2rem}.voice-btn.live{background:var(--green);color:#fff}.voice-btn.muted{color:var(--ink);background:#ddd}.voice-btn.leave{width:44px;padding:0}.voice-group{gap:.3rem;display:inline-flex}.tb-right{align-items:center}@media (width<=400px){.topbar .voice-btn span{display:none}}.preview-stage{flex:none;position:relative}.preview-stage .reroll{border:var(--line);background:var(--sun);cursor:pointer;width:38px;height:38px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;font-size:1.1rem;position:absolute;bottom:0;right:-4px}.progress-note{opacity:.7;font-size:.78rem;font-weight:600}.closet{border:var(--line);border-radius:var(--r);background:#fff;overflow:hidden}.tabs{border-bottom:var(--line);grid-template-columns:repeat(4,1fr);display:grid}.tabs button{border:0;border-right:2px solid var(--ink);background:var(--card);cursor:pointer;min-height:46px;padding:.55rem .2rem;font-size:.85rem;font-weight:800}.tabs button:last-child{border-right:0}.tabs button.on{background:var(--ink);color:var(--paper)}.part-row{padding:.6rem .7rem .2rem}.part-label{margin-bottom:.35rem;font-size:.85rem;font-weight:800}.parts{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.4rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.part{background:var(--card);cursor:pointer;scroll-snap-align:start;border:2px solid #0000;border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:.15rem;width:82px;padding:.35rem .2rem;font-size:.72rem;font-weight:700;display:flex;position:relative}.part.on{border-color:var(--ink);background:var(--sun);box-shadow:2px 2px 0 var(--ink)}.part.locked .avatar{filter:grayscale()brightness(1.1);opacity:.45}.part .lock{background:var(--ink);color:var(--paper);white-space:nowrap;border-radius:6px;padding:.1rem .3rem;font-size:.62rem;font-style:normal;position:absolute;top:30%;left:50%;transform:translate(-50%)}.swatches{flex-wrap:wrap;gap:.45rem;padding-bottom:.5rem;display:flex}.swatches button{border:2.5px solid var(--ink);cursor:pointer;border-radius:50%;width:38px;height:38px}.swatches button.on{box-shadow:0 0 0 3px var(--card), 0 0 0 6px var(--ink)}.modal{z-index:80;background:#1d1a2b99;place-items:end center;padding:.5rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{width:min(100%,560px);max-height:92dvh;animation:.25s popIn;overflow-y:auto}@media (width>=700px){.modal{place-items:center}}.part .lock{white-space:normal;text-align:center;line-height:1.1;inset:auto 4px 1.55rem;transform:none}.stage-grid{flex-wrap:wrap;justify-content:center;gap:1.2rem .9rem;max-width:760px;margin:0 auto;display:flex}@media (width<=520px){.topbar .voice-btn span,.topbar .mini-scores{display:none}.topbar .voice-btn{padding:0 .6rem}.topbar .voice-btn.leave{width:38px;min-height:38px}.topbar{gap:.35rem}}.sticker{top:-4%}.host-note{border:2px dashed var(--ink);background:#fff;border-radius:12px;align-self:center;max-width:720px;margin:.8rem 1rem 0;padding:.55rem .8rem;font-size:.85rem;font-weight:700}.anum{font-variant-numeric:tabular-nums;animation:.35s numBump;display:inline-block}@keyframes numBump{30%{transform:scale(1.25)}}.word-zone{position:relative}.word-card.leaving{pointer-events:none;z-index:3;width:100%;max-width:560px;animation:.5s cubic-bezier(.5,0,.75,0) forwards flyRight;position:absolute;inset:auto}.word-card.leaving.skip{animation-name:flyLeft}@keyframes flyRight{0%{transform:none}20%{transform:scale(1.04)rotate(-2deg)}to{opacity:0;transform:translate(120%,-10%)rotate(24deg)}}@keyframes flyLeft{0%{transform:none}20%{transform:scale(.98)}to{opacity:0;transform:translate(-120%,10%)rotate(-20deg)}}.stamp{border:5px solid var(--green);color:var(--green);letter-spacing:.04em;background:#ffffffd9;border-radius:12px;padding:.1rem .8rem;font-size:2.4rem;font-weight:800;animation:.18s ease-out stampIn;position:absolute;top:18%;left:50%;transform:translate(-50%)rotate(-12deg)}.leaving.skip .stamp{color:#6d675e;border-color:#6d675e;transform:translate(-50%)rotate(10deg)}@keyframes stampIn{0%{opacity:0;transform:translate(-50%)rotate(-12deg)scale(2.2)}}.burst{pointer-events:none;z-index:4;width:0;height:0;position:absolute;top:50%;left:50%}.burst i{border:1.5px solid var(--ink);animation:.75s cubic-bezier(.15,.8,.3,1) forwards burst;position:absolute;top:0;left:0}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r)) scale(1);opacity:0}}.d-progress{position:relative}.turn-live.urgent:after{content:"";pointer-events:none;z-index:1;animation:1s ease-in-out infinite vignette;position:fixed;inset:0;box-shadow:inset 0 0 #ff4d2e00}@keyframes vignette{50%{box-shadow:inset 0 0 70px 18px #ff4d2e8c}}.display .d-turn:has(.timer.urgent):after{content:"";pointer-events:none;animation:1s ease-in-out infinite vignette;position:fixed;inset:0}.moment{z-index:85;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.moment.intro{background:#1d1a2bdb;animation:2.1s forwards fadeInOut}@keyframes fadeInOut{0%{opacity:0}8%{opacity:1}85%{opacity:1}to{opacity:0}}.intro-band{background:var(--team);border-block:5px solid var(--ink);text-align:center;box-shadow:0 8px 0 var(--ink);padding:.6rem 0;animation:.5s cubic-bezier(.2,1.3,.4,1) bandIn;position:absolute;top:18%;left:-10%;right:-10%;transform:rotate(-6deg)}.intro-team{color:var(--card);-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;letter-spacing:.04em;font-size:clamp(1.8rem,9vw,3.4rem);font-weight:800}@keyframes bandIn{0%{transform:rotate(-6deg)translate(-110%)}}.intro-hero{flex-direction:column;align-items:center;gap:.6rem;margin-top:18vh;animation:.6s cubic-bezier(.2,1.4,.4,1) .15s backwards heroIn;display:flex}@keyframes heroIn{0%{opacity:0;transform:scale(.2)rotate(-20deg)}}.intro-name{color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:4px 4px #000;text-align:center;padding:0 1rem;font-size:clamp(2rem,10vw,3.6rem);font-weight:800}.moment.intro.big .intro-team,.moment.intro.big .intro-name{font-size:6rem}.moment.time{background:radial-gradient(circle,#1d1a2bbf,#1d1a2beb);animation:1.7s forwards fadeInOut}.time-word{color:var(--red);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:7px 7px #000;text-align:center;font-size:clamp(4rem,22vw,9rem);font-weight:800;line-height:.9;animation:.45s slam,.4s .45s shake}.time-points{color:var(--team);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:5px 5px #000;font-size:clamp(3rem,16vw,6rem);font-weight:800;animation:.5s .35s backwards popIn;position:absolute;top:62%}.moment.time.big .time-word{font-size:16rem}.moment.time.big .time-points{font-size:9rem}@keyframes shake{20%{transform:translate(-8px)rotate(-1deg)}40%{transform:translate(8px)rotate(1deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.moment.fire{place-items:start center;padding-top:22vh}.fire-text{color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:4px 4px #000,0 0 30px #ff7800e6;white-space:nowrap;font-size:clamp(2rem,11vw,4rem);font-weight:800;animation:1.3s forwards fireIn}@keyframes fireIn{0%{opacity:0;transform:scale(.3)rotate(-8deg)}15%{opacity:1;transform:scale(1.15)rotate(3deg)}25%{transform:scale(1)rotate(-2deg)}80%{opacity:1}to{opacity:0;transform:translateY(-40px)scale(.9)}}.moment.fire.big .fire-text{font-size:8rem}.moment.buzz{background:#ff4d2e59;animation:1.1s forwards fadeInOut,.35s shake}.buzz-text{color:var(--red);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:6px 6px #000;font-size:clamp(4rem,20vw,8rem);font-weight:800;animation:.35s slam;transform:rotate(-8deg)}.moment.buzz.big .buzz-text{font-size:14rem}.deck-quick{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}
