:root{--coral: #ff5a5a;--coral-600: #f24747;--coral-100: #fff0f0;--coral-050: #fff7f7;--yellow: #ffd93d;--yellow-soft: #fce38a;--ink: #191919;--ink-60: #6b6b6b;--ink-40: #9a9a9a;--line: #ececec;--white: #ffffff;--radius-card: 28px;--radius-lg: 20px;--radius-pill: 999px;--shadow-card: 0 18px 40px -22px rgba(0, 0, 0, .25);--shadow-soft: 0 8px 24px -14px rgba(0, 0, 0, .25);--font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--team-a: #ff5a5a;--team-b: #ff8f8f}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}#app{height:100vh;width:100vw;position:relative}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}.bubbles{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}.bubble{position:absolute;border-radius:50%;opacity:.95;will-change:transform;animation:floaty var(--float, 9s) ease-in-out var(--fdelay, 0s) infinite}.bubble.y{background:var(--yellow)}.bubble.c{background:var(--coral)}@keyframes floaty{0%,to{transform:translate(0) scale(1)}33%{transform:translate(var(--fx, 14px),-18px) scale(1.03)}66%{transform:translate(calc(var(--fx, 14px) * -.6),12px) scale(.98)}}.wipe{position:fixed;z-index:200;left:50%;top:50%;width:64px;height:64px;margin:-32px;border-radius:50%;background:var(--coral);pointer-events:none;transform:scale(0);transition:transform .36s cubic-bezier(.45,0,.55,1)}.wipe.cover{transform:scale(62)}.wipe.open{transform:scale(0);transition:transform .44s cubic-bezier(.3,0,.2,1)}.scene-enter{animation:sceneIn .55s cubic-bezier(.2,.9,.3,1.15) both}@keyframes sceneIn{0%{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}.emoji-grid .emoji-cell{animation:popIn .4s cubic-bezier(.2,.9,.3,1.3) both}.word-choices .word-choice{animation:popIn .4s cubic-bezier(.2,.9,.3,1.4) both}.emoji-grid .emoji-cell:nth-child(n){animation-delay:calc(var(--i, 0) * 18ms)}.word-choices .word-choice:nth-child(1){animation-delay:0ms}.word-choices .word-choice:nth-child(2){animation-delay:80ms}.word-choices .word-choice:nth-child(3){animation-delay:.16s}.player-list .player-row:nth-child(1){animation-delay:0ms}.player-list .player-row:nth-child(2){animation-delay:60ms}.player-list .player-row:nth-child(3){animation-delay:.12s}.player-list .player-row:nth-child(4){animation-delay:.18s}.setting:nth-child(1){animation-delay:0ms}.setting:nth-child(2){animation-delay:40ms}.setting:nth-child(3){animation-delay:80ms}.setting:nth-child(4){animation-delay:.12s}.setting:nth-child(5){animation-delay:.16s}.setting:nth-child(6){animation-delay:.2s}.setting:nth-child(7){animation-delay:.24s}.setting:nth-child(8){animation-delay:.28s}.setting:nth-child(9){animation-delay:.32s}@media (prefers-reduced-motion: reduce){.bubble,.scene-enter,.emoji-cell,.word-choice,.player-row,.setting{animation:none!important}.wipe{display:none}}.brand-xl{animation:brandPop .9s cubic-bezier(.2,.9,.25,1.35) both}@keyframes brandPop{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:none}}.bubbles.boot-in .bubble{animation:floaty var(--float, 9s) ease-in-out var(--fdelay, 0s) infinite,fadeBubble 1s ease both}@keyframes fadeBubble{0%{opacity:0}to{opacity:.95}}.onboard-c{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;padding:5vh 6vw;height:100%}.onboard-heading{font-size:clamp(26px,3.4vw,40px);font-weight:600;line-height:1.12}.onboard-sub{color:var(--ink-60);font-size:16px;margin-top:-10px}.onboard-body{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.onboard-nav{display:flex;gap:14px;align-items:center;justify-content:center}.step-dots{display:flex;gap:8px;margin-top:2px}.step-dot{width:11px;height:11px;border-radius:50%;background:var(--coral-100);transition:background .2s,transform .2s}.step-dot.on{background:var(--coral);transform:scale(1.15)}.code-card,.onboard-c .name-set{padding:4px 18px;width:min(460px,92vw);min-height:unset}.code-input,.name-input{border:none;outline:none;text-align:center;width:100%;padding:16px 8px;font-weight:600;color:var(--ink);background:transparent}.code-input{font-size:clamp(26px,4vw,36px);letter-spacing:8px;text-transform:uppercase}.name-input{font-size:clamp(24px,3.6vw,34px)}.code-input::placeholder,.name-input::placeholder{color:var(--ink-40);font-weight:400;letter-spacing:2px}.create-btn{margin-top:2px}.emoji-row-wrap{width:min(780px,94vw)}.emoji-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:10px;max-height:46vh;overflow-y:auto}.emoji-row .emoji-cell{flex:0 0 auto;width:62px;height:62px;font-size:30px;background:var(--coral-050);border-radius:50%;display:grid;place-items:center;animation:popIn .4s cubic-bezier(.2,.9,.3,1.3) both}.emoji-row .emoji-cell:hover{transform:scale(1.1);background:var(--coral-100)}.emoji-row .emoji-cell.sel{background:var(--coral);box-shadow:0 0 0 4px var(--coral-100);transform:scale(1.06)}.slackmoji{display:block;object-fit:cover}.av .slackmoji,.welcome-avatar .slackmoji,.podium .av .slackmoji,.av-emoji.slackmoji{width:100%;height:100%;border-radius:50%}.who-av.slackmoji{width:18px;height:18px;border-radius:5px;display:inline-block;vertical-align:-4px;margin-right:2px}.inline-av.slackmoji{width:22px;height:22px;border-radius:5px;display:inline-block;vertical-align:-5px;margin-right:4px}.mini-profile .av .slackmoji{width:100%;height:100%;border-radius:50%}.pick-body{width:min(760px,94vw)}.pick-tabs{display:flex;gap:8px;justify-content:center}.pick-tab{padding:8px 18px;border-radius:var(--radius-pill);border:2px solid var(--line);font-weight:600;background:#fff;font-size:14px}.pick-tab.on{background:var(--coral);color:#fff;border-color:var(--coral)}.pick-scroll{width:100%;max-height:42vh;overflow-y:auto;padding:16px}.emoji-grid-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:10px}.emoji-grid-pick .emoji-cell{aspect-ratio:1;border-radius:12px;display:grid;place-items:center;font-size:30px;background:var(--coral-050);cursor:pointer;transition:background .12s,transform .1s;animation:none;overflow:hidden}.emoji-grid-pick .emoji-cell:hover{background:var(--coral-100);transform:scale(1.06)}.emoji-grid-pick .emoji-cell.sel{outline:3px solid var(--coral);background:var(--coral-100)}.slack-cell .slackmoji{width:42px;height:42px;border-radius:8px;object-fit:contain}.pe-name{width:100%;text-align:center;font-size:22px;font-weight:600;padding:12px 16px;border:2px solid var(--line);border-radius:var(--radius-lg);outline:none}.pe-name:focus{border-color:var(--coral)}.pe-name::placeholder{color:var(--ink-40);font-weight:400}.msg-lines{display:flex;flex-direction:column;gap:2px}.stage-overlay{background:#fff6f680;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:fadeIn .28s ease both;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay-card{background:#fff;border:3px solid var(--coral);border-radius:var(--radius-card);padding:26px 34px;box-shadow:var(--shadow-card);max-width:94%;max-height:94%;overflow:auto;text-align:center;animation:popIn .45s cubic-bezier(.2,.9,.3,1.2) both}.overlay-card h2{font-size:clamp(24px,3vw,34px);font-weight:700}.overlay-card p{color:var(--ink-60);font-size:17px;margin-top:4px}.summary-list{margin-top:14px;min-width:min(320px,70vw)}.summary-list .score-row{display:flex;justify-content:space-between;gap:20px;padding:8px 4px;border-bottom:1px solid var(--line);font-size:16px}.summary-list .pts{font-weight:700;color:#22a06b}.summary-list .pts.zero{color:var(--ink-40)}@media (max-width: 1200px){.game{grid-template-columns:110px 1fr 300px;gap:14px;padding:16px}.word-blanks{font-size:24px;letter-spacing:5px}.toolbar{padding:10px 8px;gap:8px}.swatch{width:22px;height:22px}}@media (max-width: 1000px){.onboard{flex-direction:column;gap:24px;padding:4vh 6vw;overflow-y:auto}.onboard-left{flex:none}.onboard-title{font-size:clamp(28px,6vw,44px)}.onboard-nav{position:static;justify-content:flex-end;margin-top:8px}.lobby-body{grid-template-columns:1fr;overflow-y:auto}.game{grid-template-columns:84px 1fr 260px}.game-logo{font-size:22px}.draw-info .label{font-size:18px}.draw-info .label span{font-size:15px}}@media (max-width: 760px){html,body{overflow:auto}.scene{min-height:100vh;height:auto}.game{grid-template-columns:1fr;grid-template-rows:auto auto minmax(320px,52vh) auto;height:auto;min-height:100vh}.game-header{flex-wrap:wrap;gap:12px 18px}.word-blanks{order:3;width:100%;font-size:22px}.topic-labels{font-size:20px}.leaderboard{order:0;height:96px}.bars{flex-direction:row;align-items:flex-end}.bar{min-height:40px}.bar .av{width:34px;height:34px;font-size:18px}.stage{order:1;min-height:320px}.chat{order:2;height:280px}.chat-input input{padding:14px 18px}.toolbar{top:8px;right:8px}.brush-sizes{flex-direction:row}.swatches{display:grid;grid-template-columns:repeat(4,1fr)}.emoji-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding:18px}.emoji-cell{font-size:26px}.onboard-cols{flex-direction:column}.name-set{min-height:200px}.name-set input{font-size:30px}.lobby{padding:3vh 5vw}.home .brand-xl{font-size:15vw}.join-row{flex-direction:column;align-items:stretch}.join-row input{width:100%}.podium .plinth{width:68px}.draw-info{left:12px;bottom:10px}.draw-info .label{font-size:15px}}@media (max-width: 420px){.emoji-grid{grid-template-columns:repeat(4,1fr);gap:7px;padding:12px}.emoji-cell{font-size:22px}.word-blanks{font-size:18px;letter-spacing:3px}.fab{width:54px;height:54px;font-size:22px}}.scene{position:relative;z-index:1;height:100%;width:100%;display:flex}.hidden{display:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:var(--radius-pill);font-weight:600;font-size:16px;background:var(--coral);color:#fff;transition:transform .08s ease,filter .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-soft)}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px) scale(.99)}.btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--line);box-shadow:none}.btn.ghost:hover{border-color:var(--coral);color:var(--coral)}.btn.yellow{background:var(--yellow);color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.lg{padding:18px 40px;font-size:20px}.fab{width:64px;height:64px;border-radius:50%;background:var(--coral);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:26px;box-shadow:var(--shadow-soft);transition:transform .1s ease,filter .15s ease}.fab:hover{filter:brightness(1.05)}.fab:active{transform:scale(.94)}.fab.small{width:48px;height:48px;font-size:20px}.card{background:#fff;border:3px solid var(--coral);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.centered{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.brand-xl{font-size:clamp(48px,8vw,118px);font-weight:700;letter-spacing:-2px}.brand-splash{display:inline-flex;font-weight:300;letter-spacing:2px;color:var(--ink);font-size:clamp(46px,8vw,104px)}.brand-letter{display:inline-block;white-space:pre;opacity:0;transform:translateY(30px) scale(.7);animation:letterIn .62s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d, 0ms)}@keyframes letterIn{to{opacity:1;transform:none}}.welcome-scene{background:#fff;gap:14px;transition:opacity .5s ease}.welcome-scene.fade-out{opacity:0}.welcome-avatar{width:128px;height:128px;border-radius:50%;background:var(--coral-050);display:grid;place-items:center;font-size:64px;box-shadow:var(--shadow-card);animation:popIn .6s cubic-bezier(.2,.9,.3,1.5) both}.welcome-avatar span{transform:translateY(2px)}.welcome-hi{font-size:clamp(18px,2.2vw,26px);color:var(--ink-40);font-weight:600;letter-spacing:4px;text-transform:uppercase;animation:sceneIn .5s ease both .14s}.welcome-name{font-size:clamp(40px,6vw,76px);font-weight:500;color:var(--coral);animation:sceneIn .55s cubic-bezier(.2,.9,.3,1.15) both .2s}.loading-line{margin-top:8vh}.loading-line b{display:block;font-size:26px;font-weight:600}.loading-line span{font-size:17px;color:var(--ink-60)}.loading-sub{display:inline-block;transition:opacity .26s ease}.dotdot:after{content:"";animation:dots 1.4s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.onboard{padding:6vh 6vw;gap:5vw;width:100%}.onboard-left{flex:0 0 300px}.onboard-title{font-size:clamp(34px,4.2vw,60px);font-weight:700;line-height:1.05}.onboard-cols{display:flex;gap:60px;flex:1;align-items:flex-start}.step{flex:1;max-width:520px}.step-head{display:flex;align-items:center;gap:18px;margin-bottom:22px}.step-num{width:74px;height:74px;flex:none;border-radius:50%;background:var(--coral-100);color:var(--coral);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:600}.step-head h2{font-size:30px;font-weight:600}.step-head p{font-size:16px;color:var(--ink-60)}.emoji-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:26px}.emoji-cell{aspect-ratio:1;border-radius:50%;background:var(--coral-050);display:flex;align-items:center;justify-content:center;font-size:34px;transition:transform .1s ease,background .15s ease,box-shadow .15s ease}.emoji-cell:hover{transform:scale(1.08);background:var(--coral-100)}.emoji-cell.sel{background:var(--coral);box-shadow:0 0 0 4px var(--coral-100);transform:scale(1.05)}.name-set{min-height:420px;display:flex;align-items:center;justify-content:center;padding:30px}.name-set input{width:100%;text-align:center;font-size:40px;font-weight:600;border:none;outline:none;color:var(--ink)}.name-set input::placeholder{color:var(--ink-40);font-weight:400}.namegen{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;padding:30px}.slots{display:flex;gap:22px;align-items:center;justify-content:center;font-weight:700}.slot{position:relative;height:96px;width:190px;overflow:hidden}.slot-track{display:flex;flex-direction:column;will-change:transform}.slot-item{height:96px;display:flex;align-items:center;justify-content:center;font-size:clamp(30px,3.4vw,52px);color:var(--ink-40);white-space:nowrap}.slot.active .slot-track>.slot-item:last-child{color:var(--ink)}.slot-dot{width:12px;height:12px;border-radius:50%;background:var(--coral);position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.home{flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:5vh}.home .brand-xl{margin-bottom:6px}.home-sub{color:var(--ink-60);font-size:18px;margin-bottom:10px}.home-actions{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.join-row{display:flex;gap:12px}.join-row input{padding:14px 20px;border:2px solid var(--line);border-radius:var(--radius-pill);font-size:16px;width:220px;text-transform:uppercase;letter-spacing:2px;text-align:center;outline:none}.join-row input:focus{border-color:var(--coral)}.mini-profile{display:inline-flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--line);border-radius:var(--radius-pill);padding:8px 18px 8px 8px;font-weight:600}.mini-profile .av{width:38px;height:38px;border-radius:50%;background:var(--coral-050);display:grid;place-items:center;font-size:20px}.lobby{flex-direction:column;padding:3vh 5vw;gap:16px;width:100%;align-items:stretch}.lobby-top{display:flex;align-items:center;gap:20px;justify-content:space-between}.lobby-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.lobby-actions .lock-note{margin:0;font-size:15px;color:var(--ink-40);font-weight:600}.lobby-code{font-size:20px;color:var(--ink-60)}.lobby-code b{color:var(--coral);letter-spacing:3px;font-size:26px}.lobby-body{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;flex:1;min-height:0}.players-panel{padding:26px;overflow-y:auto}.settings-panel{padding:16px 22px;overflow:hidden;display:flex;flex-direction:column}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;align-content:start}.panel-title{font-size:20px;font-weight:600;margin-bottom:12px}.settings-panel .panel-title{margin-bottom:10px}.player-list{display:flex;flex-direction:column;gap:12px}.player-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius-lg);background:var(--coral-050)}.player-row .av{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:24px;box-shadow:var(--shadow-soft)}.player-row .nm{font-weight:600;flex:1}.player-row .host-badge{font-size:12px;font-weight:700;color:var(--coral);background:var(--coral-100);padding:4px 10px;border-radius:var(--radius-pill)}.player-row .you-badge{font-size:12px;color:var(--ink-40)}.setting{margin-bottom:0}.setting label{display:block;font-weight:600;margin-bottom:3px;font-size:12.5px}.setting .val{color:var(--coral);font-weight:700}.setting select,.setting input[type=text]{width:100%;padding:8px 12px;border:2px solid var(--line);border-radius:12px;font-size:14px;outline:none;background:#fff}.setting select:focus{border-color:var(--coral)}.setting input[type=range]{width:100%;accent-color:var(--coral);height:18px}.seg{display:flex;gap:5px;flex-wrap:wrap}.seg button{padding:5px 11px;border-radius:var(--radius-pill);border:2px solid var(--line);font-weight:600;font-size:12px}.seg button.on{background:var(--coral);color:#fff;border-color:var(--coral)}.settings-locked{opacity:.55;pointer-events:none}.lock-note{font-size:13px;color:var(--ink-40);margin-top:6px}.game{display:grid;grid-template-columns:150px 1fr 320px;grid-template-rows:auto 1fr;gap:20px;padding:20px 26px;width:100%;height:100%}.game-header{grid-column:1 / -1;display:flex;align-items:center;gap:34px}.game-logo{font-size:30px;font-weight:500}.word-blanks{font-size:30px;letter-spacing:8px;font-weight:400;flex:1;display:flex;gap:22px;flex-wrap:wrap}.word-blanks .wb-word{display:inline-flex;gap:6px}.word-blanks .wb-word.b{color:var(--coral)}.blank{display:inline-block;min-width:20px;border-bottom:3px solid currentColor;text-align:center}.blank.space{border:none;min-width:16px}.reactions{display:flex;gap:4px;align-items:center}.react-btn{width:40px;height:40px;border-radius:50%;font-size:20px;line-height:1;background:var(--coral-050);display:grid;place-items:center;transition:transform .1s,background .15s}.react-btn:hover{background:var(--coral-100);transform:translateY(-2px) scale(1.08)}.react-btn.pulse{animation:reactPulse .35s ease}@keyframes reactPulse{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}.round-clock{font-weight:700;font-size:26px;display:flex;align-items:center;gap:8px}.round-clock .ring{width:20px;height:20px;border-radius:50%;border:4px solid var(--coral)}.round-clock.idle .ring{display:none}.round-clock.urgent{color:var(--coral);animation:clockPulse .5s ease-in-out infinite}@keyframes clockPulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.topic-labels{display:flex;gap:16px;font-size:26px;font-weight:600}.topic-labels .a{color:var(--ink-60)}.topic-labels .b{color:var(--coral)}.leaderboard{position:relative}.bars{display:flex;align-items:flex-end;gap:10px;height:100%;padding:8px}.bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar{position:relative;border-radius:var(--radius-pill);width:100%;max-width:46px;transition:height .8s cubic-bezier(.2,.8,.2,1);min-height:52px;display:flex;align-items:flex-start;justify-content:center}.bar .av{position:relative;width:100%;max-width:46px;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;margin-top:-6px;box-shadow:var(--shadow-soft);border:3px solid #fff}.bar .av-emoji{font-size:clamp(13px,2.4vw,22px);line-height:1;display:block;transform:translateY(1px)}.bar-tip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-6px);background:var(--ink);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;padding:5px 9px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .12s;z-index:20}.bar:hover .bar-tip{opacity:1}.leaderboard,.bars{overflow:visible}.bar-check{position:absolute;top:-5px;right:-5px;width:20px;height:20px;border-radius:50%;background:#1f9d57;color:#fff;font-size:12px;font-weight:800;display:none;place-items:center;box-shadow:0 2px 6px #00000040;border:2px solid #fff}.bar .av.has-check .bar-check{display:grid;animation:popIn .35s cubic-bezier(.2,.9,.3,1.5) both}.bar .av.has-check{outline:2px solid #1f9d57;outline-offset:1px}.bar .sc{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#fff;font-weight:700;font-size:13px}.bar.me{outline:3px solid var(--yellow);outline-offset:2px}.bar.guessed{animation:pop .5s ease}@keyframes pop{0%,to{transform:none}40%{transform:translateY(-8px) scale(1.04)}}.stage{position:relative;border:3px solid var(--coral);border-radius:var(--radius-card);overflow:hidden;background:#fff;min-height:0}.stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.stage.locked canvas{cursor:default}.stage-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#ffffffdb;text-align:center;gap:10px;z-index:5}.stage-overlay h2{font-size:34px;font-weight:700}.stage-overlay p{color:var(--ink-60);font-size:18px}.word-choices{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.word-choice{padding:16px 26px;border:3px solid var(--coral);border-radius:var(--radius-lg);font-size:22px;font-weight:600;background:#fff;transition:transform .1s ease,background .15s}.word-choice:hover{background:var(--coral);color:#fff;transform:translateY(-3px)}.toolbar{position:absolute;top:14px;right:14px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:2px solid var(--line);border-radius:18px;padding:10px 8px;box-shadow:var(--shadow-soft);max-height:calc(100% - 28px);overflow-y:auto}.brush-sizes{display:flex;flex-direction:column;gap:6px;align-items:center}.brush-size{border-radius:50%;background:#333;transition:transform .1s}.brush-size:hover{transform:scale(1.15)}.brush-size.on{outline:3px solid var(--coral);outline-offset:2px}.swatches{display:flex;flex-direction:column;gap:5px}.swatch{width:24px;height:24px;border-radius:50%;transition:transform .1s;box-shadow:inset 0 0 0 1px #00000014}.swatch:hover{transform:scale(1.2)}.swatch.on{outline:3px solid var(--ink);outline-offset:1px}.tool-btns{display:flex;flex-direction:column;gap:6px}.tool-btn{width:32px;height:32px;border-radius:50%;background:var(--coral-050);color:var(--ink);display:grid;place-items:center;transition:background .15s,color .15s}.tool-btn:hover{background:var(--coral-100);color:var(--coral)}.tool-btn svg{display:block}.draw-info{position:absolute;bottom:18px;left:26px;z-index:6}.draw-info .label{font-size:26px;font-weight:700}.draw-info .label span{color:var(--ink-60);font-size:20px;margin-left:14px}.draw-info .label span.anti{color:var(--coral)}.chat{display:flex;flex-direction:column;gap:14px;min-height:0}.chat-log{flex:1;border:3px solid var(--yellow-soft);border-radius:var(--radius-card);padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.msg .who{font-weight:700;font-size:14px}.msg .body{font-size:15px;color:var(--ink);display:flex;justify-content:space-between;gap:8px}.msg .body .t{color:var(--ink-40);font-size:11px;white-space:nowrap}.msg.correct .body{color:#22a06b;font-weight:600}.msg.correct .who{color:#22a06b}.msg.anti .body{color:var(--coral);font-weight:600}.msg.system{color:var(--coral);font-weight:600;font-size:14px;text-align:left}.msg.system.correct{color:#1f9d57}.msg.correct{color:#1f9d57;font-weight:600}.msg.close{color:#d9a300}.chat-input{display:flex}.chat-input input{flex:1;padding:18px 22px;border:3px solid var(--coral-100);border-radius:var(--radius-pill);font-size:16px;outline:none}.chat-input input:focus{border-color:var(--coral)}.chat-input input:disabled{background:#fafafa;color:var(--ink-40)}.summary{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#ffffffe6}.summary .card{padding:40px 56px;text-align:center;min-width:420px;max-width:90vw}.summary h2{font-size:32px;margin-bottom:6px}.summary .reveal{font-size:22px;color:var(--coral);font-weight:700;margin-bottom:22px}.summary .score-row{display:flex;justify-content:space-between;padding:10px 4px;border-bottom:1px solid var(--line);font-size:17px}.summary .score-row .pts{font-weight:700;color:#22a06b}.summary .score-row .pts.zero{color:var(--ink-40)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:20px;margin:30px 0}.podium .col{display:flex;flex-direction:column;align-items:center;gap:10px}.podium .plinth{width:100px;border-radius:14px 14px 0 0;background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:800;font-size:28px}.podium .col .av{width:60px;height:60px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:30px;box-shadow:var(--shadow-soft)}.stats-scene{overflow-y:auto;display:block}.stats-wrap{max-width:980px;margin:0 auto;padding:5vh 24px 80px;position:relative;z-index:1}.stats-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px}.stats-title{font-size:clamp(32px,5vw,52px);font-weight:600}.stats-sub{color:var(--ink-60);font-size:16px;margin-top:2px}.stats-link{display:inline-block;margin-top:6px;color:var(--ink-60);font-weight:600;text-decoration:none}.stats-link:hover{color:var(--coral)}.stats-loading,.stats-empty{text-align:center;color:var(--ink-60);padding:60px 0;font-size:18px}.stats-empty a,.stats-head a{color:var(--coral)}.stats-section{margin-bottom:40px}.stats-section h2{font-size:22px;font-weight:600;margin-bottom:16px}.metric-toggle{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.seg-btn{padding:8px 16px;border-radius:var(--radius-pill);border:2px solid var(--line);font-weight:600;font-size:14px;background:#fff}.seg-btn.on{background:var(--coral);color:#fff;border-color:var(--coral)}.chart-box{background:#fff;border:2px solid var(--line);border-radius:var(--radius-card);padding:18px}.chart{width:100%;height:auto;display:block}.chart-lbl{font-size:11px;fill:var(--ink-40)}.chart-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px}.chart-legend .leg{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-60);font-weight:600}.chart-legend .leg i{width:12px;height:12px;border-radius:3px;display:inline-block}.table-scroll{overflow-x:auto;border:2px solid var(--line);border-radius:var(--radius-card)}.stats-table{width:100%;border-collapse:collapse;min-width:720px}.stats-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-40);padding:14px 12px;border-bottom:2px solid var(--line);font-weight:700}.stats-table td{padding:12px;border-bottom:1px solid var(--line);font-size:15px}.stats-table tr:last-child td{border-bottom:none}.stats-table .rank{color:var(--ink-40);font-weight:700}.stats-table .pl{display:flex;align-items:center;gap:10px;font-weight:600}.stats-table .pl-emoji{font-size:20px}.stats-table .pl-emoji.slackmoji{width:24px;height:24px;border-radius:6px}.stats-table .aka{color:var(--ink-40);font-weight:400;font-size:12px}.stats-table .pts{font-weight:700;color:var(--coral)}.games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.game-card{border:2px solid var(--line);border-radius:var(--radius-lg);padding:16px}.game-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-40);margin-bottom:8px}.game-winner{font-weight:700;margin-bottom:8px}.game-scores{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink-60)}.game-scores .gs b{color:var(--ink)}@media (max-width: 640px){.stats-head{flex-direction:column}}#confetti{position:fixed;inset:0;z-index:60;pointer-events:none}.toast{position:fixed;top:22px;left:50%;transform:translate(-50%);z-index:80;background:var(--ink);color:#fff;padding:12px 22px;border-radius:var(--radius-pill);font-weight:600;box-shadow:var(--shadow-card);opacity:0;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%) translateY(6px)}@media (max-width: 1100px){.game{grid-template-columns:90px 1fr 260px}.onboard-cols{flex-direction:column}}@media (max-width: 820px){.game{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto}.leaderboard{height:90px}.bars{flex-direction:row}.lobby-body{grid-template-columns:1fr}}
