@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-ext-400-normal-DxX3B4s6.woff2)format("woff2"),url(/assets/lilita-one-latin-ext-400-normal-QROd2hfm.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-hebrew-400-normal-CT3eDt6U.woff2)format("woff2"),url(/assets/fredoka-hebrew-400-normal-S03uWvSu.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-latin-ext-400-normal-h-azoVru.woff2)format("woff2"),url(/assets/fredoka-latin-ext-400-normal-Cc3DdpKI.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(/assets/fredoka-latin-400-normal-DbXSrOeS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-hebrew-600-normal-CTBxhdlE.woff2)format("woff2"),url(/assets/fredoka-hebrew-600-normal-BiVDObXj.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-ext-600-normal-GoyidTAB.woff2)format("woff2"),url(/assets/fredoka-latin-ext-600-normal-BExgZzUO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-hebrew-700-normal-DBqnFHCe.woff2)format("woff2"),url(/assets/fredoka-hebrew-700-normal-DiqR04Vd.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-ext-700-normal--a2O67AJ.woff2)format("woff2"),url(/assets/fredoka-latin-ext-700-normal-DBnuyHy7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#1d1b2e;--ink-soft:#3a3752;--cream:#fff8ec;--cream-2:#f6ead3;--paper:#fffdf8;--blue:#1f62b5;--blue-2:#2f7fd6;--blue-light:#d9ecff;--yellow:#ffd23f;--yellow-2:#ffbe0b;--coral:#ff6b6b;--red:#d7263d;--teal:#2ec4b6;--green:#3fb950;--pink:#ff5fa2;--team-a:#ff8a3d;--team-b:#3aa0ff;--shadow:0 5px 0 var(--ink);--shadow-sm:0 3px 0 var(--ink);--radius:22px;--font-title:"Lilita One", "Fredoka", system-ui, sans-serif;--font:"Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#ffd9ae;margin:0;overflow:hidden}#stage{position:fixed;inset:0}.stage-canvas{touch-action:none;width:100%;height:100%;display:block}#ui{pointer-events:none;z-index:2;position:fixed;inset:0}#ui>*{pointer-events:auto}button,input,select{color:inherit;font-family:inherit}.hidden{display:none!important}.panel{background:var(--cream);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow), 0 18px 40px #1d1b2e40}.btn{--bg:var(--yellow);--fg:var(--ink);border:3px solid var(--ink);background:var(--bg);color:var(--fg);font-family:var(--font-title);letter-spacing:.02em;box-shadow:var(--shadow);cursor:pointer;white-space:nowrap;border-radius:16px;justify-content:center;align-items:center;gap:.45em;padding:.62em 1.15em;font-size:1.08rem;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex;position:relative}.btn:after{content:"";pointer-events:none;background:#ffffff59;border-radius:10px;height:30%;position:absolute;top:5px;left:10px;right:10px}.btn:hover{filter:brightness(1.06)}.btn:active,.btn.pressed{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:disabled{filter:grayscale(.7)brightness(.95);cursor:not-allowed;opacity:.75}.btn.blue{--bg:var(--blue-2);--fg:#fff}.btn.coral{--bg:var(--coral);--fg:#fff}.btn.teal{--bg:var(--teal);--fg:#fff}.btn.ghost{--bg:var(--paper)}.btn.big{border-radius:20px;padding:.7em 1.4em;font-size:1.35rem}.btn.small{box-shadow:var(--shadow-sm);border-radius:12px;padding:.42em .8em;font-size:.92rem}.btn.small:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.icon-btn{border-radius:15px;width:48px;height:48px;padding:0;font-size:1.35rem}.icon-btn.small{width:38px;height:38px;font-size:1.05rem}.chip{border:2.5px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:.4em;padding:.3em .75em;font-size:.9rem;font-weight:600;display:inline-flex}.field{border:3px solid var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:14px;outline:none;width:100%;padding:.7em .9em;font-size:1.1rem;font-weight:600;box-shadow:inset 0 3px #1d1b2e14}.field:focus{border-color:var(--blue);box-shadow:inset 0 3px #1d1b2e14,0 0 0 4px #2f7fd640}.label{font-family:var(--font-title);letter-spacing:.03em;color:var(--ink-soft);margin:0 0 .35em .2em;font-size:.95rem;display:block}.seg{border:3px solid var(--ink);box-shadow:var(--shadow-sm);background:var(--paper);border-radius:14px;display:inline-flex;overflow:hidden}.seg button{font-family:var(--font-title);cursor:pointer;border:none;border-right:2.5px solid var(--ink);background:0 0;padding:.5em .9em;font-size:1rem}.seg button:last-child{border-right:none}.seg button.on{background:var(--yellow)}.seg button:disabled{cursor:default}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:3px solid var(--ink);cursor:pointer;width:34px;height:34px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .12s}.swatch.on{outline-offset:-7px;outline:3px solid #fff;transform:scale(1.18)}.home{padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));background:radial-gradient(#fff8ec00 30%,#1f62b52e 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.home-inner{flex-direction:column;gap:18px;width:min(460px,100%);animation:.5s cubic-bezier(.2,1.4,.4,1) both pop-in;display:flex}.logo{text-align:center;filter:drop-shadow(0 6px 0 var(--ink))}.logo-word{font-family:var(--font-title);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;letter-spacing:.02em;align-items:flex-end;gap:.08em;font-size:clamp(3.6rem,13vw,5.4rem);line-height:.9;display:inline-flex}.logo-word .k{color:var(--yellow)}.logo-word .dot{color:var(--red)}.logo-sub{background:var(--blue);color:#fff;border:3px solid var(--ink);font-family:var(--font-title);letter-spacing:.05em;border-radius:999px;margin-top:8px;padding:.18em .9em;font-size:1.05rem;display:inline-block}.logo-sub .ar{margin-left:.4em;font-family:system-ui,sans-serif;font-weight:800}.home-card{flex-direction:column;gap:16px;padding:20px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.row>.grow{flex:1;min-width:0}.divider{font-family:var(--font-title);color:var(--ink-soft);align-items:center;gap:10px;font-size:.95rem;display:flex}.divider:before,.divider:after{content:"";background:#1d1b2e26;border-radius:3px;flex:1;height:3px}.code-field{text-transform:uppercase;letter-spacing:.22em;font-family:var(--font-title);text-align:center;min-width:0;font-size:1.35rem}.create-btn{min-width:210px}@media (width<=420px){.code-field{letter-spacing:.08em;padding-left:.4em;padding-right:.4em;font-size:1.15rem}.home-card .btn.big{font-size:1.15rem}.swatch{width:30px;height:30px}}.home-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.game-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.game-tile{border:3px solid var(--ink);text-align:center;background:var(--paper);font-family:var(--font-title);box-shadow:var(--shadow-sm);border-radius:14px;padding:8px 6px;font-size:.95rem;position:relative}.game-tile.on{background:var(--yellow)}.game-tile .soon{font-family:var(--font);color:var(--ink-soft);font-size:.7rem;font-weight:600;display:block}.game-tile.locked{opacity:.6}.lobby{left:16px;top:calc(16px + var(--safe-top));bottom:calc(74px + var(--safe-bottom));flex-direction:column;gap:12px;width:min(400px,100% - 32px);animation:.45s cubic-bezier(.2,1.2,.4,1) both slide-in;display:flex;position:absolute}.lobby .panel{padding:16px}.lobby-scroll{flex-direction:column;gap:12px;min-height:0;padding:2px 4px 10px 2px;display:flex;overflow-y:auto}.room-code{justify-content:space-between;align-items:center;gap:10px;display:flex}.room-code .code{font-family:var(--font-title);letter-spacing:.18em;color:var(--blue);-webkit-text-stroke:1.5px var(--ink);font-size:2.3rem;line-height:1}.muted{color:var(--ink-soft);font-size:.92rem}.seat-list{flex-direction:column;gap:8px;display:flex}.team-head{font-family:var(--font-title);align-items:center;gap:6px;margin-top:4px;font-size:.95rem;display:flex}.team-dot{border:2.5px solid var(--ink);border-radius:50%;width:14px;height:14px}.seat{border:3px solid var(--ink);background:var(--paper);border-radius:16px;align-items:center;gap:10px;min-height:56px;padding:8px 10px;display:flex}.seat.empty{background:#ffffff80;border-style:dashed}.seat.me{background:#fff6c7}.avatar-dot{border:3px solid var(--ink);width:34px;height:34px;font-family:var(--font-title);color:#fff;text-shadow:0 2px #00000040;border-radius:50%;flex:none;place-items:center;font-size:1rem;display:grid}.seat .name{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:700;overflow:hidden}.seat .meta{color:var(--ink-soft);font-size:.78rem;font-weight:600}.badge{border:2px solid var(--ink);background:var(--blue-light);vertical-align:middle;border-radius:999px;margin-left:4px;padding:.1em .5em;font-size:.7rem;font-weight:700;display:inline-block}.badge.host{background:var(--yellow)}.badge.bot{background:#e3d7ff}.badge.away{background:#ffd6d6}.settings-grid{grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;display:grid}.settings-grid .label{margin:0}.lobby-actions{gap:10px;display:flex}.lobby-footer{flex:none}.hud.in-lobby .hud-left{display:none}.lobby-actions .btn{flex:1}.spectators{flex-wrap:wrap;gap:6px;display:flex}.hud-top{top:calc(10px + var(--safe-top));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud-top>*{pointer-events:auto}.hud-left,.hud-right{align-items:center;gap:8px;display:flex}.hud-right{margin-left:auto}.scoreboard{border:3px solid var(--ink);box-shadow:var(--shadow);background:var(--paper);font-family:var(--font-title);border-radius:18px;align-items:stretch;display:flex;overflow:hidden}.score-team{align-items:center;gap:8px;min-width:0;padding:6px 12px;display:flex}.score-team.a{background:linear-gradient(180deg, #ffb26b, var(--team-a))}.score-team.b{background:linear-gradient(180deg, #7cc0ff, var(--team-b));flex-direction:row-reverse}.score-team .names{font-family:var(--font);text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--ink);font-size:.78rem;font-weight:700;overflow:hidden}.score-team .pts{color:#fff;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-align:center;min-width:1.3em;font-size:1.9rem;line-height:1}.score-team .pts.bump{animation:.5s cubic-bezier(.2,2,.4,1) bump}.score-mid{border-left:3px solid var(--ink);border-right:3px solid var(--ink);background:var(--cream);flex-direction:column;justify-content:center;align-items:center;padding:2px 10px;font-size:.75rem;line-height:1.15;display:flex}.score-mid .target{font-size:1.05rem}.turn-banner{left:50%;bottom:calc(29% + var(--safe-bottom));pointer-events:none;font-family:var(--font-title);border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:999px;padding:.35em 1em;font-size:1.15rem;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%)}.turn-banner.mine{background:var(--yellow);animation:1.8s ease-in-out infinite wiggle}.turn-banner.mine.urgent{background:#ffb4b4}.turn-banner.hidden-soft{opacity:0;transform:translate(-50%)translateY(-10px)}.hud-bottom{bottom:calc(12px + var(--safe-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;left:12px;right:12px}.hud-bottom>*{pointer-events:auto}.dock{align-items:flex-end;gap:8px;display:flex}.counter-dot{background:var(--red);color:#fff;min-width:22px;height:22px;font-size:.75rem;font-family:var(--font);border:2.5px solid var(--ink);border-radius:999px;place-items:center;padding:0 5px;font-weight:700;display:grid;position:absolute;top:-8px;right:-8px}.spectator-bar{left:50%;bottom:calc(14px + var(--safe-bottom));white-space:nowrap;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.seat-menu{flex-direction:column;gap:6px;min-width:180px;padding:10px;display:flex;position:absolute;bottom:calc(100% + 10px);right:0}@media (width<=720px){.spectator-bar{bottom:calc(20% + var(--safe-bottom))}.spectator-bar .chip{display:none}}.tags{pointer-events:none;position:absolute;inset:0}.tag{pointer-events:none;flex-direction:column;align-items:center;gap:4px;transition:opacity .2s;display:flex;position:absolute;transform:translate(-50%,-100%)}.tag-pill{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:200px;padding:4px 10px 4px 5px;font-size:.92rem;font-weight:700;display:flex}.tag-pill .nm{text-overflow:ellipsis;overflow:hidden}.tag.turn .tag-pill{background:var(--yellow);animation:1.4s ease-out infinite pulse-ring}.tag .mini-dot{border:2.5px solid var(--ink);border-radius:50%;flex:none;width:22px;height:22px}.tag .team-flag{border:2px solid var(--ink);border-radius:4px;width:10px;height:22px}.tag .icons{gap:2px;font-size:.85rem;display:flex}.speaking .tag-pill{box-shadow:var(--shadow-sm), 0 0 0 4px #3fb950bf}.timer-ring{flex:none;width:22px;height:22px}.bubble{border:3px solid var(--ink);white-space:nowrap;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:6px 12px;font-size:.95rem;font-weight:700;animation:.35s cubic-bezier(.2,1.6,.4,1) both bubble-in;position:relative}.bubble:after{content:"";border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);background:#fff;width:14px;height:14px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.bubble.out{animation:.3s both bubble-out}.thinking{gap:3px;display:inline-flex}.thinking i{background:var(--ink);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite dot}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}.big-banner{pointer-events:none;text-align:center;z-index:5;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.big-banner .word{font-family:var(--font-title);color:var(--yellow);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);font-size:clamp(3.4rem,14vw,7.5rem);line-height:1;animation:1.9s cubic-bezier(.2,1.5,.4,1) both banner;display:inline-block}.big-banner .who{font-family:var(--font-title);color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;margin-top:6px;font-size:clamp(1.1rem,4vw,1.6rem);animation:1.9s both banner-sub}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#1d1b2e59;justify-content:center;align-items:center;padding:16px;animation:.25s both fade-in;display:flex;position:absolute;inset:0}.modal{width:min(520px,100%);max-height:calc(100% - 20px);padding:20px;animation:.45s cubic-bezier(.2,1.5,.4,1) both pop-in;overflow-y:auto}.modal h2{font-family:var(--font-title);text-align:center;margin:0 0 12px;font-size:1.9rem;font-weight:400}.results{border-collapse:separate;border-spacing:0 6px;width:100%}.results th{font-family:var(--font-title);padding:4px 8px;font-size:1rem;font-weight:400}.results td{background:var(--paper);border-top:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);text-align:center;opacity:0;padding:7px 8px;font-weight:700;animation:.35s forwards row-in}.results td:first-child{border-left:2.5px solid var(--ink);text-align:left;border-radius:12px 0 0 12px}.results td:last-child{border-right:2.5px solid var(--ink);border-radius:0 12px 12px 0}.results td.win{background:#fff1a8}.results td .cell{align-items:center;gap:6px;display:inline-flex}.results td .mini-card{border-radius:4px;width:24px!important;height:36px!important}.results .cat{font-family:var(--font-title);font-weight:400}.results .cat small{font-family:var(--font);color:var(--ink-soft);font-size:.72rem;font-weight:600;display:block}.point{border:2.5px solid var(--ink);background:var(--yellow);width:28px;height:28px;font-family:var(--font-title);border-radius:50%;place-items:center;font-size:.95rem;display:inline-grid}.totals{font-family:var(--font-title);justify-content:center;align-items:center;gap:18px;margin:14px 0 10px;display:flex}.totals .t{text-align:center}.totals .t .n{color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;font-size:2.6rem;line-height:1}.totals .t.a .n{color:var(--team-a)}.totals .t.b .n{color:var(--team-b)}.totals .t .plus{color:var(--green);font-size:1rem}.totals .vs{color:var(--ink-soft);font-size:1.3rem}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.countdown{text-align:center;color:var(--ink-soft);margin-top:8px;font-size:.9rem;font-weight:600}.winner-title{font-family:var(--font-title);text-align:center;color:var(--yellow);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);margin:6px 0 10px;font-size:clamp(2.2rem,9vw,3.2rem);line-height:1.05}.chooser{z-index:6;flex-direction:column;align-items:center;gap:8px;width:220px;max-width:calc(100% - 24px);padding:12px;animation:.3s cubic-bezier(.2,1.5,.4,1) both pop-in;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.chooser .title{font-family:var(--font-title);font-size:1.05rem}.chooser .options{flex-direction:column;align-items:center;gap:8px;display:flex}@media (width<=720px){.chooser .options{flex-flow:wrap;justify-content:center}}.chooser .opt .plus{font-family:var(--font-title);align-self:center;font-size:1.1rem}.chooser .opt{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:14px;gap:4px;padding:6px;transition:transform .1s;display:flex}.chooser .opt:hover{background:#fff6c7;transform:translateY(-3px)}.mini-card{filter:drop-shadow(0 2px #1d1b2e99);border-radius:6px;width:44px;height:66px;display:block}.chat{left:12px;bottom:calc(76px + var(--safe-bottom));z-index:4;flex-direction:column;gap:8px;width:min(340px,100% - 24px);height:min(380px,52vh);padding:10px;animation:.3s cubic-bezier(.2,1.5,.4,1) both pop-in;display:flex;position:absolute}.chat-log{-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;gap:4px;padding-right:4px;display:flex;overflow-y:auto}.chat-msg{overflow-wrap:anywhere;font-size:.92rem;line-height:1.3}.chat-msg b{font-weight:700}.chat-msg.system{color:var(--ink-soft);font-size:.84rem;font-style:italic}.emote-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.emote-grid button{border:2.5px solid var(--ink);background:var(--paper);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;padding:6px 8px;font-size:.85rem;font-weight:700;overflow:hidden}.emote-grid button:active{box-shadow:none;transform:translateY(2px)}.emotes{left:12px;bottom:calc(76px + var(--safe-bottom));z-index:4;width:min(320px,100% - 24px);padding:10px;animation:.3s cubic-bezier(.2,1.5,.4,1) both pop-in;position:absolute}.voice-panel{right:12px;bottom:calc(76px + var(--safe-bottom));z-index:4;flex-direction:column;gap:8px;width:min(300px,100% - 24px);padding:12px;animation:.3s cubic-bezier(.2,1.5,.4,1) both pop-in;display:flex;position:absolute}.voice-row{align-items:center;gap:8px;font-weight:600;display:flex}.voice-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.voice-row input[type=range]{width:90px;accent-color:var(--blue)}.level{border:2px solid var(--ink);background:#fff;border-radius:4px;flex:none;width:10px;height:22px;position:relative;overflow:hidden}.level i{background:var(--green);position:absolute;bottom:0;left:0;right:0}.btn.mic-on{--bg:var(--green);--fg:#fff}.btn.mic-off{--bg:var(--coral);--fg:#fff}.toasts{left:50%;top:calc(130px + var(--safe-top));pointer-events:none;z-index:20;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.toast{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:8px 16px;font-weight:700;animation:.35s cubic-bezier(.2,1.5,.4,1) both toast-in}.toast.error{background:#ffd6d6}.toast.out{animation:.3s both toast-out}.loading{font-family:var(--font-title);background:#ffd9ae66;place-items:center;font-size:1.4rem;display:grid;position:absolute;inset:0}.spinner{border:6px solid #1d1b2e26;border-top-color:var(--blue);border-radius:50%;width:54px;height:54px;margin:0 auto 12px;animation:.8s linear infinite spin}.rules h3{font-family:var(--font-title);margin:14px 0 4px;font-size:1.15rem;font-weight:400}.rules p,.rules li{font-size:.95rem;line-height:1.45}.rules ul{margin:4px 0;padding-left:1.2em}.kbd{border:2px solid var(--ink);background:#fff;border-bottom-width:4px;border-radius:6px;padding:0 6px;font-size:.85rem;font-weight:700;display:inline-block}@keyframes pop-in{0%{opacity:0;transform:scale(.85)translateY(12px)}to{opacity:1;transform:none}}.chooser{animation-name:chooser-in}@keyframes chooser-in{0%{opacity:0;transform:translateY(-50%)translate(30px)}to{opacity:1;transform:translateY(-50%)}}@media (width<=720px){.chooser{width:auto;top:auto;right:50%;bottom:calc(24% + var(--safe-bottom));animation-name:chooser-in-mobile;transform:translate(50%)}@keyframes chooser-in-mobile{0%{opacity:0;transform:translate(50%)scale(.85)}to{opacity:1;transform:translate(50%)}}}@keyframes slide-in{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes wiggle{0%,to{transform:translate(-50%)rotate(0)}10%{transform:translate(-50%)rotate(-3deg)scale(1.05)}20%{transform:translate(-50%)rotate(3deg)scale(1.05)}30%{transform:translate(-50%)rotate(0)}}@keyframes pulse-ring{0%{box-shadow:var(--shadow-sm), 0 0 0 0 #ffd23fe6}to{box-shadow:var(--shadow-sm), 0 0 0 14px #ffd23f00}}@keyframes bubble-in{0%{opacity:0;transform:scale(.4)translateY(10px)}}@keyframes bubble-out{to{opacity:0;transform:scale(.7)translateY(-8px)}}@keyframes dot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes banner{0%{opacity:0;transform:scale(.2)rotate(-12deg)}18%{opacity:1;transform:scale(1.18)rotate(4deg)}28%{transform:scale(.96)rotate(-2deg)}36%{transform:scale(1)rotate(0)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)translateY(-30px)}}@keyframes banner-sub{0%,15%{opacity:0;transform:translateY(10px)}30%,82%{opacity:1;transform:none}to{opacity:0}}@keyframes row-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.lobby{width:auto;top:auto;left:10px;right:10px;bottom:calc(66px + var(--safe-bottom));max-height:60%}.hud.in-lobby .hud-bottom{bottom:calc(12px + var(--safe-bottom))}.score-team .names{display:none}.score-team .pts{font-size:1.5rem}.score-team{padding:5px 8px}.icon-btn{width:42px;height:42px;font-size:1.15rem}.turn-banner{bottom:calc(20% + 4px + var(--safe-bottom));text-overflow:ellipsis;max-width:calc(100% - 210px);font-size:.95rem;overflow:hidden}.hud-bottom{bottom:calc(20% + var(--safe-bottom))}.chat,.emotes,.voice-panel{bottom:calc(20% + 56px + var(--safe-bottom))}.chooser .options{flex-wrap:nowrap}.chooser .mini-card{width:30px!important;height:45px!important}.hud-right .chip.code-chip{display:none}}@media (height<=520px){.lobby{width:min(360px,48%);max-height:none;inset:10px auto 66px 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
