.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#root{min-height:100dvh}.game,.screen{width:100%;max-width:560px;margin:0 auto}.game{min-height:100dvh;padding:0 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.phase{flex:1;display:flex}.screen{flex-direction:column;gap:16px;padding-top:8px;display:flex}main.screen:not(.phase .screen){padding:16px 16px calc(32px + env(safe-area-inset-bottom));min-height:100dvh}.center{text-align:center;justify-content:center;align-items:center}.lead{color:var(--on-bg-soft);max-width:34ch;margin:0;font-size:1.125rem}.center .lead{margin-inline:auto}.card .lead{color:var(--on-card-soft)}.tick-xs{flex:none;width:46px}.tick-sm{flex:none;width:76px}.tick-md{flex:none;width:132px}.brand-link{font:400 1.1rem/1 var(--font-display);color:var(--on-bg);align-self:flex-start;text-decoration:none}.card{background:var(--card);color:var(--on-card);border:2px solid var(--edge);border-radius:var(--cut);box-shadow:var(--press);padding:18px}.card h2{margin-bottom:6px;font-size:1.45rem}.card p{margin:0 0 12px}.card-head{justify-content:space-between;align-items:baseline;display:flex}.count{font:400 1.1rem/1 var(--font-display);color:var(--on-card-soft)}.field{gap:6px;margin-bottom:14px;font-weight:700;display:grid}input{font:700 1.25rem/1.2 var(--font-body);color:var(--text);background:var(--surface);border:2px solid var(--edge);border-radius:var(--cut-sm);width:100%;min-width:0;min-height:56px;padding:.65em .8em}input:focus-visible{outline:4px solid var(--blue);outline-offset:1px}input::placeholder{color:#6f6a99;font-weight:400}.code-input{font:800 2rem/1 var(--font-body);letter-spacing:.3em;text-transform:uppercase;text-align:center}.form-error{min-height:1.5em;color:var(--on-bg);margin:0;font-weight:700}.form-error:not(:empty):before{content:"⚠ ";color:var(--tomato)}.linklike{min-height:44px;font:700 .95rem var(--font-body);color:var(--on-bg);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:10px 4px;text-decoration:underline}.linklike:disabled{opacity:.7;cursor:default;text-decoration:none}.btn-big{width:100%;min-height:64px;font-size:1.5rem}.pdot{border:2px solid var(--ink);border-radius:50% 46% 52% 48%;flex:none;display:inline-block}.tag{background:var(--ink);color:var(--paper);border-radius:999px;padding:2px 7px;font-size:.75rem;font-weight:800}.tag-me{background:var(--pink);color:var(--text)}.waiting{color:var(--on-bg);justify-content:center;align-items:center;gap:10px;margin:0;font-weight:700;display:flex}.topbar{z-index:5;align-items:center;gap:10px;min-height:60px;display:flex;position:relative}.topbar-brand{font:400 1rem/1 var(--font-display);color:var(--on-bg);margin-right:auto;text-decoration:none}.topbar-code{font:800 1rem/1 var(--font-body);letter-spacing:.12em;background:var(--surface);color:var(--text);border:2px solid var(--edge);border-radius:var(--cut-sm);padding:6px 10px 5px;transform:rotate(-2deg)}.topbar-round{white-space:nowrap;font-size:.95rem;font-weight:800}@media (width<=420px){.game .topbar-brand{background:url(/favicon.svg) 50%/contain no-repeat;width:30px;height:30px;font-size:0}}.hostmenu{position:relative}.hostmenu-panel{background:var(--surface);border:2px solid var(--edge);border-radius:var(--cut-sm);min-width:200px;box-shadow:var(--press);transform-origin:100% 0;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.hostmenu-panel button{border:0;border-bottom:1px solid var(--rim);text-align:left;font:700 1rem var(--font-body);color:var(--text);cursor:pointer;background:0 0;padding:14px 16px}.hostmenu-panel button:hover{background:var(--surface-3)}.hostmenu-panel .danger{color:var(--tomato);border-bottom:0}.start-hero,.join-head{text-align:center;justify-items:center;gap:8px;display:grid}.start-hero h1,.join-head h1{font-size:clamp(2.4rem,11vw,3.4rem)}.start-card .btn,.join-card .btn,.rejoin .btn{width:100%}.join-friends{align-items:flex-end;gap:4px;height:104px;display:flex}.friend-sm{width:80px}.bob-1{animation:2.4s ease-in-out infinite bob}.bob-2{animation:2.4s ease-in-out -.8s infinite bob}.bob-3{animation:2.4s ease-in-out -1.6s infinite bob}@keyframes bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}.ended .btn{margin-top:8px}.qr-card{background:var(--surface);color:var(--text);border:2px solid var(--edge);border-radius:var(--cut);box-shadow:var(--press);grid-template-columns:minmax(0,132px) 1fr;align-items:center;gap:16px;padding:14px;animation:7s ease-in-out infinite tilt;display:grid}@keyframes tilt{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(.8deg)}}.qr{aspect-ratio:1;line-height:0}.qr svg{width:100%;height:100%}.qr-label{color:var(--on-card-soft);margin:0;font-weight:700}.code-tiles{gap:6px;margin:4px 0 12px;display:flex}.code-tile{width:46px;height:52px;font:800 2rem/1 var(--font-body);background:var(--yolk);border:2px solid var(--edge);border-radius:var(--cut-sm);box-shadow:var(--press-sm);place-items:center;display:inline-grid}.qr-side .btn{width:100%}.player-list{flex-wrap:wrap;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.player-chip{background:var(--surface-2);border:2px solid var(--edge);border-radius:999px 980px 999px 990px;align-items:center;gap:8px;min-height:44px;padding:6px 8px 6px 12px;font-weight:700;display:inline-flex}.player-chip.is-me{border-color:var(--pink);background:#3a1730}.player-chip.is-away{opacity:.55}.player-name{text-overflow:ellipsis;white-space:nowrap;max-width:12ch;overflow:hidden}.kick{border:2px solid var(--edge);background:var(--surface);cursor:pointer;border-radius:50%;width:32px;height:32px;font-size:1.1rem;line-height:1}.empty-hint{color:var(--on-card-soft);align-items:center;gap:10px;margin-top:14px;display:flex}.empty-hint p{margin:0}.seg{border:0;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;display:flex}.seg legend{margin-bottom:6px;padding:0;font-weight:700}.seg button{min-width:64px;min-height:48px;font:400 1.15rem/1 var(--font-display);color:var(--text);background:var(--surface);border:2px solid var(--edge);border-radius:var(--cut-sm);cursor:pointer;transition:transform .15s var(--pop);flex:1}.seg button[aria-pressed=true]{background:var(--pink);box-shadow:var(--press-sm);transform:rotate(-2deg)translateY(-2px)}.lobby-go{bottom:calc(12px + env(safe-area-inset-bottom));z-index:3;position:sticky}.howto summary{font:400 1.2rem var(--font-display);cursor:pointer;min-height:32px}.howto ol{margin:10px 0 0;padding-left:1.3em}.howto li+li{margin-top:6px}.countdown{flex:1;gap:10px}.countdown-round{font:400 1.6rem/1 var(--font-display);margin:0}.tier{border:2px solid var(--edge);background:var(--surface);color:var(--text);border-radius:999px;margin:0;padding:4px 12px;font-weight:800}.tier-3{background:var(--tomato)}.countdown-num{font:400 clamp(7rem, 40vw, 11rem) / 1 var(--font-display);place-items:center;height:1.05em;display:grid}.answer-top{justify-content:space-between;align-items:center;display:flex}.timer{place-items:center;width:92px;height:92px;display:grid;position:relative}.timer svg{position:absolute;inset:0}.timer-track{fill:var(--paper);stroke:var(--edge);stroke-width:7px;opacity:1}.timer-fill{fill:none;stroke:var(--blue);stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .12s linear,stroke .3s}.timer-num{font:400 2.1rem/1 var(--font-display);color:var(--text);position:relative}.timer.is-urgent .timer-fill{stroke:var(--tomato)}.timer.is-urgent{animation:.35s linear infinite shake}@keyframes shake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-2px,1px)rotate(-3deg)}75%{transform:translate(2px,-1px)rotate(3deg)}}.prompt-card{background:var(--surface);color:var(--text);border:2px solid var(--edge);border-radius:var(--cut);box-shadow:6px 7px 0 var(--pink);padding:20px 18px 16px}.prompt-text{font:800 clamp(1.45rem, 6.4vw, 2rem) / 1.15 var(--font-body);text-wrap:balance;margin:0 0 14px}.rules{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rule{border:2px solid var(--edge);background:var(--surface-2);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-weight:800;transition:background .2s,border-color .2s;display:inline-flex}.rule.is-ok{border-color:var(--mint);background:#22340f}.rule.is-bad{border-color:var(--tomato);background:#3a1620}.rule-check{font-size:1rem}.letter-tile{min-width:38px;height:38px;font:800 1.5rem/1 var(--font-body);background:var(--pink);border:2px solid var(--edge);border-radius:10px 13px 9px 12px;place-items:center;margin:-6px -6px -6px 0;display:inline-grid;transform:rotate(-6deg)}.rule-bonus{background:var(--surface);border-style:dashed}.bonus-tag{font:400 1rem/1 var(--font-display);background:var(--mint);border:2px solid var(--edge);border-radius:8px;padding:3px 6px 2px}.answer-form{perspective:600px;align-items:stretch;gap:10px;display:flex}.answer-form input{flex:1;font-size:1.35rem}.answer-form .btn{flex:none}.locked-card{background:var(--surface);color:var(--text);border:2px solid var(--edge);border-radius:var(--cut);box-shadow:var(--press);transform-origin:50%;padding:16px 18px;position:relative}.locked-label{color:var(--on-card-soft);margin:0;font-weight:700}.locked-text{font:800 1.6rem/1.2 var(--font-body);overflow-wrap:anywhere;margin:2px 0 6px}.locked-wait{margin:0;font-weight:700}.locked-card .stamp{position:absolute;top:12px;right:14px}.submitted-row{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.submitted-row li{opacity:.45;transition:opacity .2s;position:relative}.submitted-row li.is-in{opacity:1}.check{background:var(--mint);border:2px solid var(--edge);width:18px;height:18px;color:var(--text);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid;position:absolute;bottom:-6px;right:-7px}.answer-tools{flex-wrap:wrap;justify-content:space-between;margin-top:auto;display:flex}.stamp{font:400 1.15rem/1 var(--font-display);white-space:nowrap;background:#0f0d1ee6;border:3px solid;border-radius:9px 12px 8px 11px;padding:6px 10px 4px;display:inline-block}.stamp-unique{color:var(--mint)}.stamp-bonk{color:var(--pink)}.stamp-nope,.stamp-tossed{color:var(--tomato)}.stamp-none{color:var(--text-soft)}.stamp-locked{color:var(--blue)}.reveal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reveal-cat{font:800 1.3rem/1.2 var(--font-body);margin:0 0 8px}.reveal-head .rules{font-size:.85rem}.reveal-head .letter-tile{min-width:30px;height:30px;font-size:1.25rem}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.acard{background:var(--surface);min-height:120px;color:var(--text);border:2px solid var(--edge);border-radius:var(--cut);box-shadow:var(--press-sm);flex-direction:column;gap:4px;padding:12px 12px 10px;transition:background .3s,filter .3s;display:flex;position:relative}.acard-who{color:var(--on-card-soft);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.acard-text{font:800 1.3rem/1.15 var(--font-body);overflow-wrap:anywhere;margin:2px 0 auto}.acard-stamp{position:absolute;top:-12px;right:-8px}.acard-reason,.acard-flags,.acard-bonus{margin:0;font-size:.82rem;font-weight:700}.acard-bonus{color:var(--mint);transform-origin:0}.acard.is-unique{border-color:var(--mint);background:#22340f}.acard.is-duplicate{background:#17152b}.acard.is-duplicate .acard-text,.acard.is-tossed .acard-text{-webkit-text-decoration:line-through 3px var(--pink);text-decoration:line-through 3px var(--pink);color:var(--text-soft)}.acard.is-invalid,.acard.is-tossed{border-color:var(--tomato);background:#3a1620}.acard.is-none{box-shadow:none;opacity:.7;border-style:dashed}.acard.is-none .acard-text{font-style:italic;font-weight:400}.flag{min-height:40px;font:700 .9rem var(--font-body);color:var(--text);background:var(--surface);border:2px solid var(--edge);border-radius:var(--cut-sm);cursor:pointer;margin-top:6px;animation:2.6s ease-in-out 1s infinite wiggle}.flag.is-on{background:var(--tomato);animation:none}@keyframes wiggle{0%,86%,to{transform:rotate(0)}89%{transform:rotate(-4deg)}92%{transform:rotate(4deg)}95%{transform:rotate(-2deg)}}.reveal-foot{bottom:calc(10px + env(safe-area-inset-bottom));gap:10px;margin-top:auto;padding-top:8px;display:grid;position:sticky}.reveal-hint{color:var(--on-bg-soft);margin:0;font-size:.9rem}.drain{border:2px solid var(--edge);background:var(--surface);border-radius:999px;height:12px;overflow:hidden}.drain-fill{background:var(--blue);transform-origin:0;height:100%;transition:transform .12s linear}.scores-head,.final-head{align-items:center;gap:12px;display:flex}.scores-head h1{font-size:clamp(1.8rem,8vw,2.4rem)}.final-head{text-align:center;flex-direction:column}.final-head h1{text-wrap:balance;font-size:clamp(2.2rem,10vw,3.2rem)}.board{gap:8px;margin:0;padding:0;list-style:none;display:grid}.board-row{background:var(--surface);min-height:54px;color:var(--text);border:2px solid var(--edge);border-radius:var(--cut-sm);align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:flex}.board-row.is-me{box-shadow:3px 4px 0 var(--pink)}.board-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.board-gain{font:400 .95rem/1 var(--font-display);background:var(--mint);border:2px solid var(--edge);border-radius:8px;padding:4px 6px 3px}.board-score{font:400 1.5rem/1 var(--font-display);text-align:right;min-width:2ch}.podium{grid-template-columns:repeat(3,1fr);align-items:end;gap:8px;padding-top:8px;display:grid}.podium-col{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.podium-who{text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:4px;max-width:100%;font-weight:800;display:flex}.trophy{width:64px;animation:2s ease-in-out infinite bob}.podium-block{border:2px solid var(--edge);transform-origin:bottom;border-bottom-width:0;border-radius:14px 18px 0 0;place-items:start center;width:100%;padding-top:8px;display:grid}.place-1{background:var(--pink)}.place-2{background:var(--blue);color:var(--paper)}.place-3{background:var(--mint)}.podium-score{font:400 1.6rem/1 var(--font-display)}.final-actions{gap:10px;display:grid}.overlay{z-index:20;background:#22204a99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay-card{text-align:center;background:var(--surface);max-width:340px;color:var(--text);border:2px solid var(--edge);border-radius:var(--cut);box-shadow:var(--press);justify-items:center;gap:12px;padding:24px;display:grid}.overlay-card h2{font-size:2.4rem}.overlay-card p{margin:0}.offline{z-index:30;background:var(--tomato);color:var(--text);border:2px solid var(--edge);border-radius:var(--cut-sm);padding:8px 14px;font-weight:800;position:fixed;top:10px;left:50%;transform:translate(-50%)rotate(-1deg)}.toast-slot{left:0;right:0;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;pointer-events:none;place-items:center;padding:0 16px;display:grid;position:fixed}.toast{pointer-events:auto;background:var(--ink);max-width:420px;color:var(--paper);border:2px solid var(--edge);border-radius:var(--cut-sm);box-shadow:3px 4px 0 var(--pink);padding:12px 16px;font-weight:700}@media (height<=700px){.timer{width:72px;height:72px}.timer-num{font-size:1.7rem}.answer .tick-sm{width:58px}.prompt-card{padding:14px}.screen{gap:12px}}@media (width>=700px){.cards{grid-template-columns:repeat(3,1fr)}}.letter-tile,.code-tile,.bonus-tag,.board-gain,.check,.tag-me,.tier-3,.place-1,.place-3{color:var(--ink)}.code-tile{background:var(--amber);border-color:var(--amber-shade);box-shadow:0 4px 0 var(--amber-shade)}.letter-tile{border-color:var(--pink-shade)}.place-2{color:#fff}.tag{background:var(--surface-3);color:var(--text)}input,.answer-form input{background:var(--surface-2)}input:focus-visible{outline-color:var(--amber)}.seg button{background:var(--surface-2)}.seg button[aria-pressed=true]{background:var(--pink);color:var(--ink);border-color:var(--pink);box-shadow:0 4px 0 var(--pink-shade)}.qr{background:#fff;border-radius:10px;padding:8px}.qr-card,.prompt-card,.locked-card,.overlay-card,.hostmenu-panel{background:var(--surface)}.prompt-card{border-color:var(--rim);box-shadow:0 0 0 1px #ff3d8b40, 6px 7px 0 var(--pink)}.timer-track{fill:var(--surface);stroke:var(--surface-3)}.timer-num{color:var(--text)}.drain{background:var(--surface-2)}.toast{background:var(--surface-3);color:var(--text);border-color:var(--pink);box-shadow:0 6px 24px #00000073}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05040cb8}.offline{color:var(--ink)}.kick{background:var(--surface-3);color:var(--text)}.acard.is-me{box-shadow:0 4px 0 var(--pink)}.board-row.is-me{border-color:var(--pink);box-shadow:0 4px 0 var(--pink-shade)}.flag{background:var(--surface-2)}.flag.is-on{background:var(--tomato);color:var(--ink)}.card{box-shadow:none}.lobby .card,.start-card,.join-card{background:var(--surface)}.avatar{flex:none;line-height:0;display:inline-block}.avatar svg{width:100%;height:auto;display:block}.player-chip{padding-left:6px}.submitted-row li{filter:grayscale(.9)}.submitted-row li.is-in{filter:none}.submitted-row .check{bottom:-2px;right:-4px}.acard-who .avatar{margin:-6px 0 -4px -4px}.podium-avatar{animation:2.2s ease-in-out infinite bob}.podium-col:first-child .podium-avatar{animation-delay:-.7s}.podium-col:nth-child(3) .podium-avatar{animation-delay:-1.4s}.podium .trophy{width:52px;margin-bottom:-10px}.picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:4px;display:grid}.pick{background:var(--surface-2);min-height:84px;color:var(--text);border-radius:var(--cut-sm);cursor:pointer;font:700 .72rem/1.1 var(--font-body);-webkit-tap-highlight-color:transparent;border:2px solid #0000;justify-items:center;gap:2px;padding:6px 2px 4px;display:grid}.pick:hover:not(:disabled){background:var(--surface-3)}.pick.is-selected{border-color:var(--pink);box-shadow:0 3px 0 var(--pink-shade);background:#3a1730}.pick.is-taken{cursor:not-allowed;opacity:.45}.pick.is-taken .avatar{filter:grayscale()}.pick-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-soft);overflow:hidden}.pick.is-selected .pick-label{color:var(--text)}.pick.is-taken .pick-label:before{content:"🔒 "}.field-hint{color:var(--text-soft);font-weight:400}.join-me{place-items:center;height:112px;display:grid}.join-avatar{animation:2.4s ease-in-out infinite bob}.change-character{margin-top:6px}.change-character .picker{margin:4px 0 6px}@media (width<=360px){.pick{min-height:76px}.pick .avatar{width:44px!important}}.dialog{text-align:left;justify-items:stretch;width:min(100%,380px)}.dialog h2{font-size:1.8rem}.dialog p{color:var(--text-soft)}.dialog-link{gap:8px;display:flex}.dialog-link input{flex:1;min-height:48px;font-size:.95rem}.dialog-link .btn{margin-bottom:4px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.btn-danger{--btn-bg:var(--tomato);--btn-fg:var(--ink);--btn-shade:#b8321f}.dialog-actions .btn{flex:auto}.word-warning{color:var(--text);border:2px solid var(--tomato);border-radius:var(--cut-sm);background:#3a1620;margin:-6px 0 0;padding:10px 14px;font-size:.95rem;font-weight:700;overflow:hidden}.word-warning b{color:var(--tomato)}.wait-head{text-align:center;gap:2px;display:grid}.wait-label{color:var(--text-soft);margin:0;font-weight:800}.wait-timer{font:400 clamp(3.4rem, 18vw, 4.6rem) / 1 var(--font-display);font-variant-numeric:tabular-nums;margin:0}.wait-timer.is-soon{color:var(--amber);animation:.4s linear infinite shake}.wait-sub{max-width:34ch;color:var(--text-soft);margin:4px auto 0}.party-stage{isolation:isolate;border:2px solid var(--rim);border-radius:var(--cut);width:100%;position:relative;overflow:hidden;box-shadow:0 10px 40px #00000073}.party-scene,.party-scene svg{width:100%;height:100%;position:absolute;inset:0}.guest{pointer-events:none;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;margin:0;padding:0;display:flex;position:absolute;translate:-50% -96%}button.guest{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}button.guest:focus-visible{outline:none}button.guest:focus-visible .guest-tag{outline:3px solid var(--amber);outline-offset:2px}@media (hover:hover){button.guest:hover .guest-tag{background:var(--amber)}}.guest-figure{width:100%;line-height:0;animation:2.4s ease-in-out infinite bob;display:block}.guest-figure svg{width:100%;height:auto}.guest-tag{max-width:160%;margin-bottom:calc(var(--head,.2) * -128.4% + 4px);z-index:1;font:800 clamp(.62rem, 2.6vw, .82rem) / 1.2 var(--font-body);color:var(--ink);background:var(--paper);border:2px solid var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 3px #00000059}.guest.is-me .guest-tag{background:var(--pink)}.guest-tag b{font-weight:700}.guest.is-away{opacity:.45}.wait-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.find-card{border-color:var(--pink);box-shadow:0 6px 0 var(--pink-shade)}.find-card .btn-big{width:100%}.quick-me{place-items:center;margin:4px 0 10px;display:grid}.finding-title{font-size:clamp(2.2rem,10vw,3rem)}.field>.field-hint:last-child{margin-top:4px;font-size:.85rem}.guest-name{text-overflow:ellipsis;overflow:hidden}.guest-ready{background:var(--mint);border:1.5px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:1.25em;height:1.25em;font-size:.8em;display:grid}.guest-badge{background:var(--ink);color:var(--paper);border-radius:999px;flex:none;padding:0 5px;font-size:.78em}.guest-emote{background:var(--paper);border:2px solid var(--ink);pointer-events:none;border-radius:50% 50% 50% 12%;place-items:center;width:2.2em;height:2.2em;font-size:clamp(1.1rem,5vw,1.5rem);line-height:1;display:grid;position:absolute;bottom:100%;left:50%;translate:-50% -4px;box-shadow:0 3px #00000059}.guest.is-emoting .guest-figure{animation:guest-hop .5s var(--pop) 3}.guest.emote-dance .guest-figure{animation:.6s ease-in-out 4 guest-dance}@keyframes guest-hop{40%{transform:translateY(-14%)scale(1.04,.96)}}@keyframes guest-dance{25%{transform:rotate(-9deg)translateY(-6%)}75%{transform:rotate(9deg)translateY(-6%)}}.lobby .players{gap:10px;display:grid}.emote-bar{justify-content:center;gap:5px;display:flex}.emote-btn{background:var(--surface);border:2px solid var(--edge);border-radius:var(--cut-sm);cursor:pointer;min-width:0;max-width:56px;height:48px;transition:transform .15s var(--pop);flex:1 1 0;font-size:1.4rem;line-height:1}.emote-btn:hover:not(:disabled){transform:translateY(-3px)rotate(-4deg)}.emote-btn:active:not(:disabled){transform:scale(.9)}.emote-btn:disabled{opacity:.45;cursor:default}.bot-offer{gap:4px;display:grid}.bot-offer p{margin:0 0 8px}.bot-choices{gap:10px;margin-top:6px;display:grid}.bot-offer .seg{margin-bottom:6px}.bot-hint{color:var(--text-soft);margin:0;font-size:.92rem}.ready-row{text-align:center;gap:6px;display:grid}.sheet{text-align:left;justify-items:stretch;width:min(100%,380px);max-width:380px;max-height:calc(100dvh - 32px);position:relative;overflow-y:auto}.sheet-overlay{align-items:end}@media (width>=560px){.sheet-overlay{align-items:center}}.sheet-title{align-items:center;gap:12px;padding-right:36px;font-size:1.7rem;display:flex}.overlay-card .sheet-title{font-size:1.7rem}.sheet-sub{font:700 .9rem/1.2 var(--font-body);color:var(--text-soft);display:block}.sheet-x{width:44px;height:44px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1;position:absolute;top:8px;right:8px}.sheet .emote-bar{flex-wrap:wrap}.sheet-note{color:var(--text-soft);font-size:.88rem}.pa-actions{flex-wrap:wrap;gap:8px;display:flex}.pa-votes{font-variant-numeric:tabular-nums;opacity:.8}.pa-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pa-row{border-bottom:1px solid var(--rim);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;padding-bottom:10px;display:grid}.pa-row .pa-actions{grid-column:2}.pa-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;font-weight:800;display:flex}.topbar-players{flex:none}.start .rejoin-banner{overflow:hidden}.rejoin-actions{align-items:center;gap:8px;display:flex}.find-card .live-count{margin:-4px 0 12px}@media (prefers-reduced-motion:reduce){.guest.is-emoting .guest-figure,.guest.emote-dance .guest-figure{animation:none}}.board-bot{vertical-align:2px;margin-left:6px}.card.rejoin-banner{border-color:var(--amber);box-shadow:0 4px 0 var(--amber-shade)}.bot-offer .seg{flex-wrap:nowrap;gap:6px}.bot-offer .seg button{min-width:0}@media (width<=379px){.qr-card{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.qr{width:min(170px,62vw)}.qr-side{width:100%}.code-tiles{justify-content:center}}.choose{gap:12px;display:grid}.choose p,.sheet .picker{margin:0}.im-figure{line-height:0;display:block}.im-figure svg{width:100%;height:auto}.im-figure.is-mystery svg{filter:brightness(0)drop-shadow(0 0 14px #ff5d478c)}.im-figure svg{transition:filter .9s var(--snap)}.im-secret{width:100%;min-height:250px;color:inherit;font:inherit;cursor:pointer;perspective:900px;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:grid;position:relative}.im-secret-face{text-align:center;background:var(--surface);border:2px solid var(--edge);border-radius:var(--cut);box-shadow:6px 7px 0 var(--blue);align-content:center;justify-items:center;gap:8px;padding:26px 20px 20px;display:grid;transform:rotate(-.8deg)}.im-secret-face.is-back{background:repeating-linear-gradient(45deg, #4c6fff1f 0 14px, transparent 14px 28px), var(--surface-2);box-shadow:6px 7px 0 var(--pink)}.im-secret.is-imposter .im-secret-face{border-color:var(--tomato);box-shadow:6px 7px 0 var(--tomato)}.im-secret:focus-visible{outline:none}.im-secret:focus-visible .im-secret-face{outline:3px solid var(--amber);outline-offset:3px}.im-secret-q{font:400 4.6rem/1 var(--font-display);color:var(--amber);text-shadow:.05em .05em 0 var(--pink);animation:2.4s ease-in-out infinite bob}.im-secret-cta{font:400 1.6rem/1.1 var(--font-display)}.im-secret-kicker{color:var(--text-soft);margin:0;font-weight:800}.im-secret-word{font:400 clamp(2.4rem, 12vw, 3.6rem) / 1 var(--font-display);color:var(--mint);text-shadow:.05em .05em 0 var(--blue);overflow-wrap:anywhere;margin:0}.im-secret-word.is-imposter{color:var(--tomato);text-shadow:.05em .05em 0 var(--ink)}.im-secret-sub{color:var(--text-soft);max-width:34ch;margin:0}.im-secret-sub b{color:var(--text)}.im-secret-tip{margin:6px 0 0;font-weight:700}.im-secret-hide{color:var(--text-soft);margin-top:6px;font-size:.85rem;text-decoration:underline}.im-starter{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px;display:grid}.im-starter h2{margin-bottom:6px;font-size:1.8rem}.im-starter p{margin:0 0 6px}.im-starter-figure{width:96px;animation:2.4s ease-in-out infinite bob}.im-starter-count{color:var(--amber);font-weight:800}.im-settings-note{color:var(--text-soft);margin:-8px 0 12px;font-size:.88rem}legend .im-settings-note{margin:0 0 0 6px;font-weight:700}.im-toggles{gap:8px;margin-bottom:14px;display:grid}.im-toggle{text-align:left;width:100%;color:var(--text);font:inherit;background:var(--surface-2);border:2px solid var(--edge);border-radius:var(--cut-sm);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;display:flex}.im-toggle:disabled{cursor:default}.im-toggle-text{flex:1;gap:2px;display:grid}.im-toggle-label{font-weight:800}.im-toggle-hint{color:var(--text-soft);font-size:.86rem}.im-switch{background:var(--surface-3);border:2px solid var(--edge);border-radius:999px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.im-switch:after{content:"";background:var(--paper);width:20px;height:20px;transition:transform .2s var(--pop);border-radius:50%;position:absolute;top:2px;left:2px}.im-toggle[aria-checked=true] .im-switch{background:var(--mint)}.im-toggle[aria-checked=true] .im-switch:after{background:var(--ink);transform:translate(18px)}.im-cats{border:0;margin:0;padding:0}.im-cats legend{margin-bottom:8px;padding:0;font-weight:700}.im-chips{flex-wrap:wrap;gap:8px;display:flex}.im-chip{min-height:40px;font:700 .92rem var(--font-body);color:var(--text-soft);background:var(--surface);border:2px solid var(--edge);cursor:pointer;border-radius:999px;padding:6px 12px}.im-chip[aria-pressed=true]{color:var(--ink);background:var(--mint);border-color:var(--mint)}.im-cats:disabled .im-chip{cursor:default}.im-vote-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.im-vote-head h1{font-size:clamp(1.9rem,8vw,2.6rem)}.im-vote-head .lead{margin:4px 0 0}.im-candidates{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.im-candidate{width:100%;color:var(--text);font:inherit;background:var(--surface);border:2px solid var(--edge);border-radius:var(--cut-sm);cursor:pointer;transition:transform .15s var(--pop);justify-items:center;gap:6px;padding:12px 6px 10px;display:grid;position:relative}.im-candidate:hover:not(:disabled){transform:translateY(-3px)rotate(-1.5deg)}.im-candidate:disabled{cursor:default;opacity:.55}.im-candidate.is-chosen{opacity:1;border-color:var(--tomato);background:#ff5d4729;transform:rotate(-2deg)scale(1.03);box-shadow:0 4px #b8321f}.im-candidate-name{overflow-wrap:anywhere;font-weight:800}.im-candidate-voted{color:var(--ink);background:var(--mint);border-radius:999px;padding:1px 6px;font-size:.7rem;font-weight:800;position:absolute;top:6px;right:6px}.im-locked b{color:var(--tomato)}.im-tally{gap:6px;margin:0;padding:0;list-style:none;display:grid}.im-tally li{grid-template-columns:auto minmax(0,7em) 1fr auto;align-items:center;gap:8px;font-weight:700;display:grid}.im-tally li.is-top .im-tally-name{color:var(--tomato)}.im-tally-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.im-tally-bar{background:var(--surface-2);border-radius:999px;height:12px;overflow:hidden}.im-tally-bar span{background:var(--pink);transform-origin:0;height:100%;display:block}.im-tally-count{color:var(--text-soft);font-size:.85rem}.im-tally-empty{color:var(--text-soft)}.im-stage{text-align:center;border:2px solid var(--edge);border-radius:var(--cut);isolation:isolate;background:#07060f;place-items:center;min-height:360px;padding:22px 16px;display:grid;position:relative;overflow:hidden}.im-spotlight{z-index:-1;opacity:.4;background:radial-gradient(closest-side,#ffc23d47,#0000);transition:opacity .8s;position:absolute;inset:-20% 10% 10%}.im-stage.step-drum .im-spotlight,.im-stage.step-real .im-spotlight{opacity:1;animation:1.1s ease-in-out infinite alternate im-sweep}.im-stage.step-verdict.is-caught .im-spotlight{opacity:1;background:radial-gradient(closest-side,#ff5d4773,#0000)}.im-stage.step-verdict.is-missed .im-spotlight{opacity:1;background:radial-gradient(closest-side,#4c6fff66,#0000)}@keyframes im-sweep{0%{transform:translate(-12%)}to{transform:translate(12%)}}.im-stage-body{justify-items:center;gap:10px;display:grid}.im-stage-line{font:400 1.5rem/1.15 var(--font-display);color:var(--text-soft);margin:0}.im-stage-big{font:400 clamp(2.4rem, 11vw, 3.4rem) / 1 var(--font-display);margin:0}.im-suspect{width:min(170px,46vw);position:relative}.im-suspect.is-drumroll{animation:.18s linear infinite im-drumroll}@keyframes im-drumroll{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-3px)rotate(-1.5deg)}75%{transform:translate(3px)rotate(1.5deg)}}.im-suspect-q{font:400 4.4rem/1 var(--font-display);color:var(--amber);text-shadow:0 0 18px #ffc23db3;animation:.9s ease-in-out infinite pulse;position:absolute;top:34%;left:50%;translate:-50% -50%}.im-verdict{font:400 clamp(1.8rem, 9vw, 2.6rem) / 1 var(--font-display);letter-spacing:.02em;border:4px solid;border-radius:10px;margin:4px 0 0;padding:8px 18px 6px}.im-verdict.is-imposter{color:var(--tomato)}.im-verdict.is-crew{color:var(--sky,#7fd3ff)}.im-real{justify-content:center;gap:8px;display:flex}.im-real .im-suspect{width:min(140px,38vw)}@keyframes pulse{50%{opacity:.55;transform:scale(.94)}}.im-guess-figure{width:min(150px,40vw);margin:0 auto;animation:.6s linear infinite im-drumroll}.im-guess-form{gap:12px;display:grid}.im-guess-wait{text-align:center}.im-guess-wait b{color:var(--mint)}.im-result-head{text-align:center}.im-result-head h1{font-size:clamp(2.3rem,10vw,3.2rem)}.im-result-head .lead{margin:6px auto 0}.im-answer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.im-answer-word{gap:4px;display:grid}.im-answer-word .im-secret-word{font-size:clamp(2rem,9vw,2.8rem)}.im-answer-imposters{gap:8px;display:flex}.im-answer-imp{text-align:center;justify-items:center;font-weight:800;display:grid}.im-answer-imp small{color:var(--tomato);font-weight:700;display:block}.im-answer-figure{width:74px}.im-votes h2{margin-bottom:8px;font-size:1.4rem}.im-votes ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.im-votes li{flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:flex}.im-votes li.is-good .tag{background:var(--mint);color:var(--ink)}.im-votes-arrow{color:var(--text-soft)}@media (width<=380px){.im-starter{grid-template-columns:72px minmax(0,1fr)}.im-starter-figure{width:72px}.im-answer{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.im-secret-q,.im-starter-figure,.im-suspect.is-drumroll,.im-suspect-q,.im-guess-figure,.im-stage.step-drum .im-spotlight,.im-stage.step-real .im-spotlight{animation:none}}.start-mystery{width:110px;margin:0 auto;animation:2.4s ease-in-out infinite bob}.im-result-head.is-imposter h1{text-shadow:.05em .05em 0 var(--tomato)}.im-again{text-align:center;border-color:var(--pink);box-shadow:0 6px 0 var(--pink-shade);gap:6px;display:grid}.im-again h2{font-size:2rem}.im-again p{color:var(--text-soft);margin:0 0 6px}.im-again-actions{gap:10px;display:grid}.im-rounds{margin-bottom:14px}.im-rounds-label{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:6px;font-weight:700;display:flex}.im-rounds-label .im-settings-note{margin:0}.im-rounds-row{grid-template-columns:minmax(0,1fr) 4.5rem;align-items:center;gap:12px;display:grid}.im-rounds-row input[type=range]{width:100%;height:44px;accent-color:var(--pink);cursor:pointer}.im-rounds-row input[type=range]:disabled{cursor:default}.im-rounds-number{text-align:center;width:100%;min-height:48px;font:400 1.4rem/1 var(--font-display);color:var(--text);background:var(--surface-2);border:2px solid var(--edge);border-radius:var(--cut-sm)}.im-scores{gap:8px;display:grid}.im-scores h2{font-size:1.8rem}.im-game-winner{font:400 1.5rem/1.1 var(--font-display);color:var(--amber);margin:0}
