:root{--bg:#15112e;--bg-2:#1c1740;--card:#241e4d;--card-2:#2e2763;--line:#ffffff17;--text:#fff;--muted:#b1abd8;--ink:#15112e;--yellow:#ffd23f;--mint:#4dd4ac;--coral:#ff6b6b;--peri:#7c8cff;--imp:#ff4d6d;--good:#4dd4ac;--imp-deep:#d92e52;--kia:#b58cff;--kia-shade:#6a43c2;--kia-soft:#d9c6ff;--radius:22px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--ease-pop:cubic-bezier(.34, 1.36, .64, 1);--display:"Lilita One", "Rubik", system-ui, sans-serif;--body:"Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--body);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #2c2370 0%, transparent 60%), radial-gradient(900px 500px at 110% 10%, #3a1d5c 0%, transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-attachment:fixed;line-height:1.45}#root{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer}html.scroll-lock{overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3{margin:0;line-height:1.15}p{margin:0}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.nowrap{white-space:nowrap}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.75rem;font-weight:700}.error{color:#ff9aa9;font-size:.95rem;font-weight:500}.logo{white-space:nowrap;font-family:var(--display);flex-direction:row;align-items:baseline;line-height:.95;display:inline-flex;transform:rotate(-3deg)}.logo-top{color:var(--kia);text-shadow:0 4px 0 var(--kia-shade)}.logo-bottom{color:var(--yellow);text-shadow:0 4px #a37a00}.logo-lg{font-size:min(18.3cqw,6.4rem)}.logo-md{font-size:2rem}.btn{--b:var(--card-2);--s:#1a1543;--t:var(--text);background:var(--b);color:var(--t);box-shadow:0 5px 0 var(--s);transition:transform 90ms var(--ease-out), box-shadow 90ms var(--ease-out), filter .15s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:16px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1.2rem;font-size:1rem;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled){filter:brightness(1.07)}}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--s);transform:translateY(4px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible,.option:focus-visible,.suspect:focus-visible,.role-card:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.btn-primary{--b:var(--yellow);--s:#b38600;--t:var(--ink)}.btn-secondary{--b:var(--mint);--s:#1f8c6b;--t:var(--ink)}.btn-tertiary{--b:var(--peri);--s:#4a58c4;--t:var(--ink)}.btn-kia{--b:var(--kia);--s:var(--kia-shade);--t:var(--ink)}.btn-danger{--b:var(--imp);--s:#99203a;--t:#fff}.btn-ghost{--b:transparent;--s:transparent;box-shadow:inset 0 0 0 2px var(--line)}.btn-ghost:active:not(:disabled){box-shadow:inset 0 0 0 2px var(--line);transform:none}.btn-link{--b:transparent;--s:transparent;color:var(--muted);text-underline-offset:4px;font-weight:600;text-decoration:underline}.btn-icon{--b:transparent;--s:transparent;border-radius:12px;min-width:44px;min-height:44px;padding:.5rem}.btn-sm{min-height:40px;padding:.5rem 1rem;font-size:.9rem}.btn-lg{width:100%;min-height:56px;font-size:1.1rem}.btn-xl{width:100%;min-height:64px;font-size:1.25rem;font-family:var(--display);letter-spacing:.02em;font-weight:400}.btn-xl small{font-family:var(--body);letter-spacing:0;opacity:.75;font-size:.8rem;font-weight:600}.btn-cog{background:var(--card);border:1px solid var(--line);width:44px;height:44px;color:var(--muted);transition:color .15s ease, transform .12s var(--ease-out);touch-action:manipulation;border-radius:12px;flex:none;place-items:center;display:grid}.btn-cog svg{transition:transform .42s var(--ease-out)}.btn-cog:active{transform:scale(.94)}.btn-cog:active svg{transform:rotate(60deg)}.btn-cog:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}@media (hover:hover) and (pointer:fine){.btn-cog:hover{color:var(--text)}.btn-cog:hover svg{transform:rotate(45deg)}}.btn small{opacity:.85;font-weight:500}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.page{width:100%;max-width:480px;padding:max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}.page-center{place-items:center;min-height:100dvh;display:grid}.center-card{text-align:center;gap:1rem;display:grid}.backbar{margin:0 0 .5rem -8px}.page-home{min-height:100dvh;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));background:radial-gradient(60% 34% at 50% 26%,#7c8cff24,#0000 70%) no-repeat;flex-direction:column;justify-content:center;gap:clamp(1.75rem,5.5vh,2.75rem);display:flex;position:relative}@media (width<=439px){.page-home{padding-top:max(64px, calc(env(safe-area-inset-top) + 56px))}}.home-hero{text-align:center;justify-items:center;display:grid}.home-title{justify-content:center;width:100%;margin:0;line-height:0;display:flex;container-type:inline-size}.tagline{color:#d6d1f5;margin-top:1.1rem;font-size:1.2rem;font-weight:500}.tagline em{white-space:nowrap;color:#ff8aa0;font-style:normal;font-weight:700}.lineup{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;margin-bottom:1.5rem;padding-left:8px;display:flex}.face{--fs:min(60px, 19vw);width:var(--fs);height:var(--fs);margin-left:calc(var(--fs) * -.14);background:var(--c);justify-content:center;align-items:center;gap:calc(var(--fs) * .09);padding-bottom:calc(var(--fs) * .1);animation:3.6s ease-in-out infinite bob;animation-delay:calc(var(--i) * -.5s);border-radius:50%;flex:none;display:flex;box-shadow:inset 0 -4px #0000002e,0 0 0 4px #1d1844}.eye{width:calc(var(--fs) * .24);height:calc(var(--fs) * .28);background:#fff;border-radius:50%;position:relative;overflow:hidden}.eye:after{content:"";background:var(--ink);width:52%;height:44%;animation:glance 6s var(--ease-in-out) infinite;border-radius:50%;position:absolute;top:28%;left:24%}.is-imp .eye:after{animation-name:shifty;animation-delay:.2s;transform:translate(45%,30%)}.is-imp .eye:before{content:"";z-index:1;background:var(--c);height:52%;position:absolute;top:-10%;left:-20%;right:-20%}.is-imp .eye:first-child:before{transform:rotate(10deg)}.is-imp .eye:last-child:before{transform:rotate(-10deg)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes glance{0%,24%{transform:translate(0)}30%,46%{transform:translate(-45%)}52%,68%{transform:translate(45%)}74%,to{transform:translate(0)}}@keyframes shifty{0%,24%{transform:translate(45%,30%)}30%,46%{transform:translate(45%)}52%,68%{transform:translate(-45%)}74%,to{transform:translate(45%,30%)}}.home-actions{gap:14px;display:grid}.rejoin{white-space:nowrap;box-shadow:inset 0 0 0 2px #ffd23f73}.rejoin:active:not(:disabled){box-shadow:inset 0 0 0 2px #ffd23f73}.rejoin-code{font-family:var(--display);letter-spacing:.14em;color:var(--yellow);font-size:1.3rem;font-weight:400}.home-facts{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.home-facts li{gap:4px;padding:0 .5rem;display:grid}.home-facts li+li{border-left:1px solid var(--line)}.home-facts b{font-family:var(--display);font-size:1.55rem;font-weight:400;line-height:1}.home-facts span{white-space:nowrap;color:var(--muted);font-size:.8rem;font-weight:500}.rise{animation:rise .56s var(--ease-out) backwards;animation-delay:calc(var(--d,0) * 60ms + 60ms)}.home-title.rise{animation:title-in .7s var(--ease-out) backwards;animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes title-in{0%{opacity:0;transform:scale(.9)translateY(10px)}}@media (width>=640px){.face{--fs:66px}.lineup{margin-bottom:1.75rem}}@media (height<=640px){.page-home{gap:1.25rem}.face{--fs:44px}.lineup{margin-bottom:.9rem}.tagline{margin-top:.7rem;font-size:1.05rem}.home-actions{gap:12px}.home-actions .btn-xl{min-height:56px}}@media (orientation:landscape) and (height<=520px){.page.page-home{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"hero actions""hero facts";align-content:center;gap:1.25rem 2.5rem;max-width:860px;display:grid}.page-home{padding-right:max(68px, calc(env(safe-area-inset-right) + 60px))}.home-hero{grid-area:hero;align-self:center}.home-actions{grid-area:actions;align-self:end}.home-facts{grid-area:facts;align-self:start}}@media (prefers-reduced-motion:reduce){.rise,.home-title.rise,.face,.eye:after{animation:none!important}}.page-form{min-height:100dvh}.form-head{align-items:center;gap:2px;margin:0 0 10px -8px;display:flex}.form-head .backbar{margin:0}.form-head h1{font-family:var(--display);font-size:2rem;font-weight:400;line-height:1}.form-card{gap:12px;padding:16px;display:grid}.field{gap:6px;display:grid}@media (height<=430px){.form-head{margin-bottom:4px}.form-head h1{font-size:1.7rem}.form-card{gap:8px;padding:12px}.form-card .field input{min-height:46px;padding-top:.5rem;padding-bottom:.5rem}.form-card .code-input{font-size:1.6rem!important}.form-card .toggle{padding:8px 10px}.form-card .toggle small{display:none}.form-card .btn-lg{min-height:48px}.form-card .field{gap:4px}.form-card .host-opts .toggle{padding:6px 10px}.form-card .round-row{min-height:42px;padding-top:4px;padding-bottom:4px}.page-host .form-card{gap:6px;padding:10px 12px}.page-host .field-label{line-height:1.2}.page-host .form-card .field input{min-height:44px;padding-top:.4rem;padding-bottom:.4rem}.page-host .form-card .btn-lg{padding-top:.6rem;padding-bottom:.6rem}}html.kbd .form-head{margin-bottom:4px}html.kbd .form-head h1{font-size:1.7rem}html.kbd .form-card{gap:8px;padding:12px}html.kbd .form-card .field input{min-height:46px;padding-top:.5rem;padding-bottom:.5rem}html.kbd .form-card .code-input{font-size:1.6rem!important}html.kbd .form-card .toggle{padding:8px 10px}html.kbd .form-card .toggle small{display:none}html.kbd .form-card .btn-lg{min-height:48px}html.kbd .form-card .field{gap:4px}html.kbd .form-card .host-opts .toggle{padding:6px 10px}html.kbd .form-card .round-row{min-height:42px;padding-top:4px;padding-bottom:4px}html.kbd .page-host .form-card{gap:6px;padding:10px 12px}html.kbd .page-host .field-label{line-height:1.2}html.kbd .page-host .form-card .field input{min-height:44px;padding-top:.4rem;padding-bottom:.4rem}html.kbd .page-host .form-card .btn-lg{padding-top:.6rem;padding-bottom:.6rem}.field-label{color:var(--muted);font-size:.9rem;font-weight:600}.field input{width:100%;font:inherit;color:var(--text);background:var(--bg-2);border:2px solid var(--line);border-radius:14px;min-height:52px;padding:.7rem 1rem;font-size:1.2rem;font-weight:600}.field input:focus{border-color:var(--yellow);outline:none}.field input::placeholder{color:#6e6898}.code-input{letter-spacing:.5em;text-align:center;text-transform:uppercase;font-family:var(--display)!important;padding-left:1.4rem!important;font-size:1.9rem!important}.page-how .form-head{margin-bottom:8px}.how-steps{margin:0;padding:4px 14px;list-style:none;display:grid}.how-step{align-items:flex-start;gap:12px;padding:11px 0;display:flex}.how-step+.how-step{border-top:1px solid var(--line)}.how-step h2{margin:4px 0 3px;font-size:1rem;line-height:1.25}.how-step p{color:var(--muted);font-size:.9rem;line-height:1.42}.how-num{width:30px;height:30px;font-family:var(--display);color:var(--ink);background:var(--yellow);border-radius:10px;flex:none;place-items:center;font-size:1.1rem;display:grid}.how-step.is-crew .how-num{background:var(--mint)}.how-step.is-imp .how-num{background:var(--imp-deep);color:#fff}.how-step.is-kia .how-num{background:var(--kia)}.how-step.is-peri .how-num{background:var(--peri)}.how-step.is-coral .how-num{background:var(--coral)}.how-step.is-imp h2{color:#ff8aa0}.how-step.is-kia h2{color:var(--kia-soft)}.how-roles{flex-wrap:wrap;gap:5px;margin:8px 0 0;padding:0;list-style:none;display:flex}.how-role{background:var(--bg-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 3px;font-size:.78rem;font-weight:700;display:inline-flex}.how-role.is-crew{color:var(--mint)}.how-role.is-imposter{color:#ff8aa0}.how-role.is-knowitall{color:var(--kia-soft)}.how-face{--fs:20px;pointer-events:none;margin:0;animation:none;box-shadow:inset 0 -2px #0000002e}.how-face .eye:after{animation:none}.how-face.is-kia .eye{box-shadow:0 0 0 calc(var(--fs) * .03) var(--c), 0 0 0 calc(var(--fs) * .065) #fff}.how-tip{color:var(--muted);margin:12px 4px 14px;font-size:.88rem;line-height:1.42}.how-tip b{color:var(--text)}.game{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}.game.is-imposter{box-shadow:inset 0 4px 0 var(--imp)}.topbar{z-index:10;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#15112ed9;align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar-code{background:var(--card);border:1px solid var(--line);font-family:var(--display);letter-spacing:.12em;min-height:44px;transition:transform .12s var(--ease-out);border-radius:12px;flex:none;align-items:center;gap:6px;padding:6px 12px 6px 6px;font-size:1.15rem;display:inline-flex}.topbar-code:active{transform:scale(.96)}.topbar-home{color:var(--muted);place-items:center;display:grid}.topbar-end{align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.topbar-me{align-items:center;gap:8px;min-width:0;font-weight:600;display:inline-flex}.topbar-name{white-space:nowrap;text-overflow:ellipsis;max-width:26vw;overflow:hidden}.role-pill{letter-spacing:.04em;border-radius:999px;flex:none;padding:5px 10px;font-size:.8rem;font-weight:700}.role-crew{color:var(--mint);background:#4dd4ac29}.role-imp{color:#ff8aa0;background:#ff4d6d2e}.offline{color:#ffd8a8;text-align:center;background:#5a2a00;padding:6px;font-size:.85rem;font-weight:600}@media (width<=359px){.topbar{gap:8px}.topbar-name{display:none}}.game-layout{z-index:1;width:100%;max-width:560px;padding:16px 16px max(28px, env(safe-area-inset-bottom));flex:1;align-content:start;gap:16px;margin:0 auto;display:grid;position:relative}.game-side{display:none}.game-main{align-content:start;gap:16px;min-width:0;animation:.22s both fade;display:grid}@keyframes fade{0%{opacity:0}}.stage{gap:16px;min-width:0;display:grid}.stage-foot{gap:10px;margin-top:4px;display:grid}.stage-center{place-items:center;min-height:40vh}.seq>*{animation:rise .46s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 55ms + 40ms)}.seq>.options,.seq>.suspects{animation:none}.seq .options>.option,.seq .suspects>.suspect{animation:opt-in .44s var(--ease-pop) backwards;animation-delay:calc(var(--i,0) * 55ms + 40ms)}@keyframes opt-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}.avatar{background:var(--c);color:var(--ink);font-family:var(--display);border-radius:50%;flex:none;place-items:center;line-height:1;transition:opacity .2s,filter .2s;display:inline-grid;position:relative;box-shadow:inset 0 -3px #0000002e}.avatar-dim{opacity:.35;filter:grayscale(.5)}.avatar-badge{background:var(--mint);width:16px;height:16px;color:var(--ink);border:2px solid var(--card);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-3px;right:-3px}.chips{gap:8px;display:grid}.chips.dense{grid-template-columns:repeat(2,minmax(0,1fr))}.chip{border-radius:12px;align-items:center;gap:10px;padding:6px 8px;font-weight:500;transition:background .2s;display:flex}.chip-voted{background:#4dd4ac14}.chip-voted .avatar-badge{animation:pop .3s var(--ease-pop)}.chip-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lobby{gap:16px;display:grid}.code-card{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px;display:grid}.code-head,.code-join,.code-info{display:contents}.code-card .eyebrow{order:0}.code-card .big-code{order:1}.code-info p{order:2}.code-join .qr{order:3}.code-share{order:4;position:relative}.code-card .lobby-rules{order:5}.code-share:before{content:"";position:absolute;inset:-2px 0}.code-share svg{flex:none}.big-code{perspective:600px;justify-content:center;gap:8px;width:100%;display:flex}.big-code span{width:clamp(56px,17vw,76px);min-width:0;height:clamp(68px,20vw,90px);font-family:var(--display);color:var(--ink);background:var(--yellow);animation:tile-in .56s var(--ease-pop) backwards;animation-delay:calc(var(--i,0) * 80ms + .12s);border-radius:16px;flex:0 76px;place-items:center;font-size:clamp(2.6rem,11vw,3.6rem);display:grid;box-shadow:0 5px #b38600}.big-code span:nth-child(2){background:var(--mint);box-shadow:0 5px #1f8c6b}.big-code span:nth-child(3){background:var(--coral);box-shadow:0 5px #a33a3a}.big-code span:nth-child(4){background:var(--peri);box-shadow:0 5px #4553b8}@keyframes tile-in{0%{opacity:0;transform:translateY(-16px)rotateX(70deg)}}.code-card .small b{color:var(--text)}.qr{background:#fff;border-radius:14px;padding:6px;line-height:0}.lobby-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.lobby-head h2{font-family:var(--display);font-size:1.6rem;font-weight:400}.count{color:var(--muted);text-align:right;font-weight:700}.count-kia{color:var(--kia-soft);white-space:nowrap}.player-grid{--pt-av:56px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.player-tile{background:var(--bg-2);text-align:center;border-radius:16px;justify-items:center;gap:6px;min-width:0;padding:10px 4px;display:grid;position:relative}.player-tile.empty{opacity:.5;border:2px dashed var(--line);background:0 0}.avatar-empty{width:var(--pt-av);height:var(--pt-av);border:2px dashed #5a5390;border-radius:50%}.pt-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.92rem;font-weight:600;overflow:hidden}.pt-remove{background:var(--card);width:24px;height:24px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.pt-remove:before{content:"";position:absolute;inset:-10px}.pt-remove:hover{color:var(--imp)}.pt-remove:disabled{opacity:.4}.lobby-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lobby-actions .btn{min-height:44px}.lobby-rules{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;display:flex}.rule-chip{background:var(--card-2);color:var(--yellow);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700}.rules-edit{background:var(--bg);gap:6px}.opt-more{background:var(--bg-2);border-radius:999px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-grid}.pt-tag{color:var(--yellow);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:700}@media (width<=899px){.lobby{gap:12px}.code-card{text-align:left;justify-items:stretch;gap:10px;padding:10px 14px 12px}.code-card .eyebrow,.code-card .big-code,.code-card .code-share,.code-join .qr,.code-info p,.code-card .lobby-rules{order:0}.code-head{justify-content:space-between;align-items:center;gap:8px;margin-right:-4px;display:flex}.code-share{gap:6px;min-height:40px;padding:.4rem .85rem;font-size:.85rem}.big-code span{border-radius:14px;width:clamp(52px,16vw,68px);height:clamp(54px,14.5vw,64px);font-size:clamp(2.2rem,9.5vw,2.8rem)}.code-join{align-items:center;gap:14px;display:flex}.code-join .qr{border-radius:12px;flex:none;padding:5px}.code-join .qr svg{width:88px;height:88px;display:block}.code-info{gap:8px;min-width:0;display:grid}.code-info p{font-size:.92rem;line-height:1.4}.code-card .lobby-rules{justify-content:flex-start;gap:6px}.code-card .rule-chip{padding:4px 10px;font-size:.76rem}.lobby-players{padding:10px 14px 12px}.lobby-head{margin-bottom:8px}.lobby-head h2{font-size:1.35rem}.count{font-size:.88rem}.player-grid{--pt-av:40px;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px 6px}.player-tile{border-radius:14px;gap:4px;padding:7px 2px 6px}.pt-name{font-size:.8rem}.pt-tag{margin-top:-1px;font-size:.6rem;line-height:1}.pt-remove{width:20px;height:20px;top:1px;right:1px}.pt-remove:before{inset:-12px}.lobby .waiting{padding:.7rem 1rem}.lobby .lobby-cta{gap:8px;padding-top:14px}.lobby{flex-direction:column;display:flex}.lobby .lobby-cta{margin-top:auto}}@media (width<=899px) and (height>=620px){.game:has(.lobby){height:100dvh}.game-layout:has(.lobby){flex-direction:column;min-height:0;display:flex}.game-main:has(>.lobby){flex-direction:column;flex:auto;min-height:0;display:flex}.lobby{flex:auto;min-height:0}.code-card{flex:none}.lobby-players{flex-direction:column;flex:0 auto;min-height:0;display:flex}.player-grid{overscroll-behavior:contain;flex:0 auto;min-height:0;margin:-6px -4px 0;padding:6px 4px 2px;overflow:hidden auto}.lobby .lobby-cta{position:static}}@media (width<=899px){.suspects.mid{--sus-av:44px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.suspects.mid .suspect{gap:6px;min-height:92px;padding:10px 4px;font-size:.92rem}.opt-voters{--fp:22px;flex-wrap:nowrap;gap:0;max-width:40%}.opt-voters>*+*{margin-left:-9px}.opt-voters .opt-more{min-width:22px;height:22px;padding:0 5px;font-size:.7rem}.opt-voters .avatar{box-shadow:0 0 0 2px var(--card-2)}.unmask-grid.is-pair{--um-av:60px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.unmask-grid.is-pair .unmask{align-content:start;gap:8px;padding:14px 10px}.unmask-grid.is-pair .eyebrow{letter-spacing:.1em;font-size:.68rem}.unmask-grid.is-pair .imp-row{gap:10px 12px}.unmask-grid.is-pair .imp-name,.unmask-grid.is-pair .imp-row .imp-one:not(:only-child) .imp-name{font-size:1.3rem}.unmask-grid.is-pair .imp-one{max-width:100%}.unmask-grid.is-pair .imp-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.unmask-grid.is-pair .kia-tag{text-align:center;padding:5px 10px;font-size:.75rem}.game-layout{align-content:stretch}.game-main:has(>.host-bar){grid-template-rows:auto 1fr}.game-main>.host-bar{align-self:end}.game-main:has(>.stage>.dock){align-content:stretch}.stage:has(>.dock){flex-direction:column;display:flex}.stage>.dock{margin-top:auto}}.lobby-cta,.host-bar,.dock{z-index:5;margin:0 -16px calc(-1 * max(28px, env(safe-area-inset-bottom)));padding:18px 16px max(14px, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) calc(100% - 18px), #15112e00);gap:10px;display:grid;position:sticky;bottom:0}.waiting,.host-wait{text-align:center;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem;font-weight:600}.dots:after{content:"";text-align:left;width:1.2em;animation:1.4s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.pop-in{animation:pop .38s var(--ease-pop) both}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.host-bar{animation:rise .36s var(--ease-out) .2s backwards}.host-next{flex-direction:column;gap:0;line-height:1.1}.host-wait{animation:.3s .3s backwards fade}.face.is-kia{gap:calc(var(--fs) * .2);position:relative}.face.is-kia .eye{box-shadow:0 0 0 calc(var(--fs) * .03) var(--c), 0 0 0 calc(var(--fs) * .065) #fff}.face.is-kia:after{content:"";left:50%;top:calc(45% - var(--fs) * .02);width:calc(var(--fs) * .1);height:calc(var(--fs) * .045);background:#fff;border-radius:2px;position:absolute;transform:translate(-50%)}.role-card{width:100%;color:inherit;perspective:1400px;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:relative}.role-inner{min-height:min(54vh,470px);transform-style:preserve-3d;transition:transform .76s cubic-bezier(.3,1.2,.45,1);display:grid}.role-card.flipped .role-inner{transform:rotateY(180deg)}.role-face{text-align:center;backface-visibility:hidden;border-radius:28px;flex-direction:column;grid-area:1/1;justify-content:center;align-items:center;gap:14px;padding:1.75rem 1.4rem;display:flex;position:relative;overflow:hidden}.role-face>*{z-index:1;position:relative}.role-front{background:var(--card-2);border:2px solid var(--line);font-size:1.15rem;font-weight:700;box-shadow:0 6px #1a1543}.role-front small{color:var(--muted);font-size:.85rem;font-weight:500}.role-q{font-family:var(--display);color:var(--yellow);text-shadow:0 5px #a37a00;animation:wiggle 3s var(--ease-in-out) 1.2s infinite;font-size:6rem;line-height:1}@keyframes wiggle{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-8deg)}90%{transform:rotate(7deg)}95%{transform:rotate(-3deg)}}.role-back{--glow:#0000004d;box-shadow:0 6px 0 var(--shade), 0 24px 60px -18px var(--glow);transform:rotateY(180deg)}.role-card.is-crew .role-back{background:var(--mint);color:var(--ink);--shade:#1f8c6b;--glow:#4dd4ac8c}.role-card.is-imp .role-back{background:var(--imp-deep);color:#fff;--shade:#8f1b33;--glow:#ff4d6d99}.role-card.is-kia .role-back{background:var(--kia);color:var(--ink);--shade:var(--kia-shade);--glow:#b58cff99}.role-back:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff6b 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.role-card.flipped .role-back:before{animation:sheen 1s var(--ease-out) .38s}@keyframes sheen{to{transform:translate(120%)}}.role-art{--fs:76px;margin:0 0 2px;padding-left:0}.role-card.flipped .role-art{animation:art-in .62s var(--ease-pop) .3s backwards, bob 3.6s ease-in-out 1s infinite}@keyframes art-in{0%{opacity:0;transform:scale(.6)translateY(10px)}}.role-name{font-family:var(--display);font-size:clamp(2.6rem,13vw,4.2rem);line-height:1}.role-card.flipped .role-name{animation:rise .5s var(--ease-out) .38s backwards}.role-desc{max-width:28ch;font-size:1.08rem;font-weight:500;line-height:1.4}.role-card.flipped .role-desc{animation:rise .5s var(--ease-out) .46s backwards}@media (height<=680px){.role-art{--fs:56px}.role-face{gap:10px;padding:1.25rem 1rem}.role-desc{font-size:.98rem}}.round-intro{text-align:center;min-height:min(60vh,520px);animation:ri-out .24s var(--ease-out) .9s forwards;place-content:center;justify-items:center;gap:14px;display:grid}.ri-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);animation:rise .42s var(--ease-out) 40ms backwards;font-size:.85rem;font-weight:800}.ri-num{aspect-ratio:1;background:var(--yellow);width:clamp(130px,40vw,190px);color:var(--ink);font-family:var(--display);animation:ri-pop .64s var(--ease-pop) backwards;border-radius:50%;place-items:center;padding-top:.06em;font-size:clamp(5rem,24vw,8rem);line-height:1;display:grid;box-shadow:0 7px #b38600}.ri-cat{animation:rise .42s var(--ease-out) .22s backwards}@keyframes ri-pop{0%{opacity:0;transform:scale(.55)rotate(-10deg)}}@keyframes ri-out{to{opacity:0;transform:scale(.97)}}.q-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cat-pill{background:var(--card-2);color:var(--yellow);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700}.q-prompt{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(1.45rem,5.5vw,2.1rem);font-weight:700}.small-prompt{color:var(--muted);font-size:1.05rem;font-weight:600}.secret-banner{border:2px solid var(--imp);color:#ffd0d8;background:#ff4d6d26;border-radius:16px;padding:.8rem 1rem;font-size:.98rem}.secret-banner b{color:#fff}.secret-banner.is-kia{border-color:var(--kia);color:#e9ddff;background:#b58cff24}.vote-count{color:var(--text);white-space:nowrap;font-weight:700}.options{gap:12px;display:grid}.option{--oc:var(--coral);--os:#a33a3a;text-align:left;background:var(--oc);width:100%;min-height:64px;color:var(--ink);box-shadow:0 5px 0 var(--os);transition:transform .11s var(--ease-out), box-shadow .11s var(--ease-out), opacity .2s ease, filter .2s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:18px;align-items:center;gap:12px;padding:12px 14px;font-size:1.1rem;font-weight:700;display:flex;position:relative;overflow:hidden}.opt-1{--oc:var(--yellow);--os:#b38600}.opt-2{--oc:var(--mint);--os:#1f8c6b}.opt-3{--oc:var(--peri);--os:#4553b8}button.option:active:not(:disabled){box-shadow:0 1px 0 var(--os);transform:translateY(4px)scale(.99)}@media (hover:hover) and (pointer:fine){button.option:hover:not(:disabled):not(.selected){box-shadow:0 7px 0 var(--os);transform:translateY(-2px)}}.option.selected{box-shadow:0 2px 0 var(--os), 0 0 0 4px #fff;transform:translateY(3px)}.option.faded{opacity:.45;filter:saturate(.6)}.option>span:not(.ripple){z-index:1;position:relative}.ripple{z-index:0;pointer-events:none;width:24px;height:24px;animation:ripple .62s var(--ease-out) forwards;background:#ffffff80;border-radius:50%;margin:-12px 0 0 -12px;position:absolute}@keyframes ripple{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(22)}}.opt-letter{width:38px;height:38px;font-family:var(--display);background:#15112e29;border-radius:12px;flex:none;place-items:center;font-size:1.3rem;display:grid}.opt-text{flex:1;min-width:0}.opt-check{background:var(--ink);color:#fff;width:28px;height:28px;animation:pop .3s var(--ease-pop);border-radius:50%;flex:none;place-items:center;display:grid}.opt-check svg{width:16px;height:16px}.opt-secret{text-transform:uppercase;letter-spacing:.08em;background:var(--imp);color:#fff;border-radius:8px;flex:none;padding:4px 8px;font-size:.72rem;font-weight:800}.opt-secret.kia{background:var(--ink);color:var(--kia-soft)}.opt-secret.good{background:var(--ink);color:var(--mint)}.vote-dots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.vd{position:relative}.vd.on .avatar{animation:pop .32s var(--ease-pop)}.vd-me{background:var(--yellow);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:-6px;left:50%}.countdown{gap:4px;display:grid}.timer-top:empty{display:none}.timer{align-items:center;gap:10px;display:flex}.timer-track{background:var(--bg-2);border:1px solid var(--line);border-radius:999px;flex:1;height:10px;overflow:hidden}.timer-fill{background:var(--yellow);will-change:transform;border-radius:999px;width:100%;height:100%;transition:transform .25s linear,background-color .3s}.timer-num{font-family:var(--display);text-align:right;font-variant-numeric:tabular-nums;min-width:2ch;font-size:1.4rem;display:inline-block}.timer-urgent .timer-fill{background:var(--imp)}.timer-urgent .timer-num{color:var(--imp);animation:tick-pop .42s var(--ease-out)}@keyframes tick-pop{0%{transform:scale(1.45)}}.race{gap:12px;display:grid}.race-row{gap:6px;display:grid}.race-label{justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.race-label b{font-family:var(--display);font-size:1.4rem;font-weight:400}.race-label small{color:var(--muted);font-size:.95rem}.num-pop{animation:num-pop .46s var(--ease-pop);display:inline-block}@keyframes num-pop{0%{transform:scale(1.6)}}.race-track{background:var(--bg-2);border:1px solid var(--line);border-radius:999px;height:14px;overflow:hidden}.race-fill{width:100%;height:100%;transition:transform .9s var(--ease-out);border-radius:999px}.race-team{background:var(--mint)}.race-imp{background:var(--imp)}.race-compact{background:var(--card);border:1px solid var(--line);border-radius:18px;gap:8px;padding:12px 14px}.race-compact .race-label b{font-size:1.15rem}.race-compact .race-track{height:10px}.result-banner{text-align:center;border-radius:var(--radius);justify-items:center;gap:6px;padding:1.2rem 1rem;display:grid}.seq>.result-banner{animation:punch .56s var(--ease-pop) backwards 60ms}@keyframes punch{0%{opacity:0;transform:scale(.7)}60%{opacity:1}}.result-banner.good{background:var(--mint);color:var(--ink);box-shadow:0 6px #1f8c6b}.result-banner.bad{background:var(--imp-deep);color:#fff;box-shadow:0 6px #8f1b33}.rb-head{font-family:var(--display);font-size:clamp(2rem,9vw,2.8rem);line-height:1}.rb-sub{opacity:.92;font-size:1rem;font-weight:600}.option.static{box-shadow:none}.options.reveal .option{background:var(--card-2);color:var(--text)}.options.reveal .option .bar{z-index:0;background:var(--oc);opacity:.28;transform-origin:0;animation:grow .82s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 70ms + .38s);position:absolute;inset:0}@keyframes grow{0%{transform:scaleX(0)}}.options.reveal .option.correct{box-shadow:0 0 0 3px var(--mint)}.options.reveal .option.correct:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 3px var(--mint), inset 0 0 26px #4dd4ac8c;animation:1.5s ease-out .95s glow;position:absolute;inset:0}@keyframes glow{25%{opacity:1}to{opacity:0}}.options.reveal .option.picked:not(.correct){box-shadow:0 0 0 3px var(--imp)}.seq .options.reveal>.option.picked.wrong{animation:opt-in .44s var(--ease-pop) backwards, shake .46s var(--ease-in-out);animation-delay:calc(var(--i,0) * 55ms + 40ms), 1s}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.options.reveal .option.wrong:not(.picked) .opt-text{opacity:.72}.options.reveal .opt-letter{background:var(--oc);color:var(--ink)}.opt-voters{--fp:26px;flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:45%;display:flex}.next-note{text-align:center;color:var(--yellow);font-weight:700}.reveal-actions{gap:12px;display:grid}.accuse-head{text-align:center;justify-items:center;gap:8px;display:grid}.accuse-head h1{font-family:var(--display);color:#ff8aa0;font-size:clamp(2rem,8vw,2.6rem);font-weight:400;line-height:1.05}.accuse-head .muted{max-width:40ch}.guess-head h1{color:var(--kia-soft)}.eyebrow-imp{color:#ff8aa0}.eyebrow-kia{color:var(--kia-soft)}.siren{background:var(--imp);border-radius:50%;width:18px;height:18px;margin:14px 0 8px;animation:1.2s infinite siren;box-shadow:0 0 #ff4d6db3}@keyframes siren{0%{box-shadow:0 0 #ff4d6db3}to{box-shadow:0 0 0 12px #ff4d6d00}}.suspects{--sus-av:52px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.suspects.dense{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.suspect{--spot:#ff4d6d52;--ring:var(--imp);border:2px solid var(--line);background:var(--card);min-height:116px;transition:transform .12s var(--ease-out), border-color .16s ease, background-color .16s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:18px;align-content:center;justify-items:center;gap:8px;padding:14px 8px;font-weight:700;display:grid;position:relative;overflow:hidden}.suspects.is-guess .suspect{--spot:#b58cff57;--ring:var(--kia)}.suspect:before{content:"";z-index:0;pointer-events:none;opacity:0;background:radial-gradient(70% 60% at 50% 30%, var(--spot), transparent 70%);transition:opacity .24s;position:absolute;inset:0}.suspect>*{z-index:1;position:relative}.suspect .avatar{transition:transform .26s var(--ease-pop)}.suspect-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.suspect:active:not(:disabled){transform:scale(.96)}.suspect.selected{border-color:var(--ring);background:var(--card-2)}.suspect.selected:before{opacity:1}.suspect.selected .avatar{transform:translateY(-3px)scale(1.06)}.suspect .opt-check{background:var(--ring);color:#fff;position:absolute;top:8px;right:8px}.suspects.is-guess .opt-check{color:var(--ink)}.suspect.locked{box-shadow:0 0 0 3px var(--ring)}@media (hover:hover) and (pointer:fine){.suspect:hover:not(:disabled):not(.selected){border-color:#ffffff38}}.suspects.dense .suspect{gap:6px;min-height:86px;padding:10px 4px;font-size:.85rem}.dock-host{justify-self:center}.dock-note{text-align:center;color:var(--muted);place-items:center;min-height:64px;font-size:.92rem;font-weight:600;display:grid}.guess-wait{text-align:center;align-content:center;justify-items:center;gap:18px;min-height:min(62vh,560px)}.search-row{pointer-events:none;justify-content:center;padding-left:8px;display:flex}.search-face{--fs:58px;animation:1.15s ease-out .9s infinite beat}.search-face .eye:after{animation:scan 2.3s var(--ease-in-out) infinite;animation-delay:calc(var(--n,0) * -.18s)}@keyframes beat{0%,40%,to{transform:scale(1)}8%{transform:scale(1.07)}22%{transform:scale(1.03)}}@keyframes scan{0%,18%{transform:translate(-45%)}30%,48%{transform:translate(45%)}60%,72%{transform:translateY(-20%)}84%,to{transform:translate(-45%)}}.wait-title{font-family:var(--display);color:var(--kia-soft);font-size:clamp(1.9rem,8vw,2.6rem);font-weight:400;line-height:1.05}.wait-copy{color:#d6d1f5;max-width:34ch;font-weight:500}.guess-wait .stage-foot{width:100%}.ended{gap:18px;position:relative}.end-hero{text-align:center;justify-items:center;gap:10px;display:grid}.end-kicker{letter-spacing:.14em;text-transform:uppercase;animation:pop .42s var(--ease-pop) backwards 80ms;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:800}.end-kicker.good{background:var(--mint);color:var(--ink)}.end-kicker.bad{background:var(--card-2);color:var(--muted)}.end-title{font-family:var(--display);text-align:center;animation:title-punch .7s var(--ease-pop) backwards .16s;font-size:clamp(3rem,14vw,4.6rem);font-weight:400;line-height:1}@keyframes title-punch{0%{opacity:0;transform:scale(.6)rotate(-4deg)}}.end-title.good{color:var(--mint);text-shadow:0 4px #1f8c6b}.end-title.bad{color:var(--imp);text-shadow:0 4px #8f1b33}.end-reason{color:#d6d1f5;max-width:38ch;animation:rise .46s var(--ease-out) backwards .42s;font-weight:500}.unmask-grid{--um-av:84px;gap:16px;display:grid}.unmask{text-align:center;animation:unmask .56s var(--ease-out) backwards;animation-delay:var(--at,0s);justify-items:center;gap:12px;display:grid}@keyframes unmask{0%{opacity:0;transform:translateY(18px)scale(.97)}}.unmask-imp{box-shadow:inset 0 0 0 2px #ff4d6d66}.unmask-imp .eyebrow{color:#ff8aa0}.unmask-kia{box-shadow:inset 0 0 0 2px #b58cff73}.unmask-kia .eyebrow{color:var(--kia-soft)}.unmask .imp-one{animation:flip-in .72s var(--ease-pop) backwards;animation-delay:calc(var(--at,0s) + .26s + var(--k,0) * .2s)}@keyframes flip-in{0%{opacity:0;transform:perspective(600px)rotateY(95deg)scale(.9)}}.imp-name{font-family:var(--display);font-size:2rem;line-height:1.1}.imp-row{flex-wrap:wrap;justify-content:center;gap:16px 22px;display:flex}.imp-one{justify-items:center;gap:6px;min-width:0;display:grid}.imp-row .imp-one:not(:only-child) .imp-name{font-size:1.3rem}.kia-tag{color:var(--kia-soft);animation:pop .4s var(--ease-pop) backwards;animation-delay:calc(var(--at,0s) + .7s);background:#b58cff29;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700}.kia-tag.bad{color:#ff8aa0;background:#ff4d6d2e}.end-rest{animation:rise .5s var(--ease-out) backwards;animation-delay:var(--at,0s);gap:14px;display:grid}.confetti{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.loader{border:5px solid var(--card-2);border-top-color:var(--yellow);border-radius:50%;width:44px;height:44px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sheet{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);scroll-behavior:auto;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:clip}.sheet[open]{justify-content:center;align-items:flex-end;display:flex}.sheet::backdrop{background:#090718ad}.sheet[open]::backdrop{animation:.24s fade}.sheet.is-closing::backdrop{animation:.17s forwards fade-out}@keyframes fade-out{to{opacity:0}}.sheet-body{--sx:16px;--sb:max(16px, env(safe-area-inset-bottom));overscroll-behavior:contain;background:var(--bg-2);border:1px solid var(--line);width:100%;max-width:520px;max-height:min(100dvh - 28px,760px);padding:8px max(var(--sx), env(safe-area-inset-right)) var(--sb) max(var(--sx), env(safe-area-inset-left));animation:sheet-in .34s var(--ease-drawer);border-bottom:0;border-radius:26px 26px 0 0;gap:14px;display:grid;overflow-y:auto;box-shadow:0 -20px 60px #00000073}.sheet.is-closing .sheet-body{animation:sheet-out .17s var(--ease-out) forwards}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}.sheet-grip{background:#ffffff2e;border-radius:999px;justify-self:center;width:36px;height:4px}.sheet-head{justify-content:space-between;align-items:center;min-height:44px;margin-top:-6px;display:flex}.sheet-head h2{font-family:var(--display);font-size:1.6rem;font-weight:400}.sheet-close{color:var(--muted);margin-right:-8px}.sheet-foot{bottom:calc(-1 * var(--sb));z-index:2;margin:-4px calc(-1 * var(--sx)) calc(-1 * var(--sb));padding:8px var(--sx) var(--sb);background:linear-gradient(to top, var(--bg-2) calc(100% - 8px), #1c174000);display:grid;position:sticky}.sheet-done{min-height:52px}@media (width>=640px) and (height>=560px){.sheet[open]{align-items:center}.sheet-body{--sx:24px;--sb:24px;border-bottom:1px solid var(--line);animation:dialog-in .24s var(--ease-out);border-radius:26px;gap:18px;padding:22px 24px 24px}.sheet.is-closing .sheet-body{animation:dialog-out .15s var(--ease-out) forwards}.sheet-grip{display:none}.sheet-head{margin-top:-4px}.sheet-head h2{font-size:1.9rem}.sheet-done{min-height:56px}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes dialog-out{to{opacity:0;transform:scale(.97)}}.set-section{gap:8px;display:grid}.set-title{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.78rem;font-weight:800;display:flex}.set-title span{text-transform:none;letter-spacing:0;color:#8a84b8;text-align:right;font-size:.8rem;font-weight:500}.set-group{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:2px 12px;display:grid}.set-group>.error{padding:8px 0 10px}.set-row{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:4px 0;display:flex}.set-row+.set-row,.set-timing+.set-row,.set-row+.set-timing{border-top:1px solid var(--line)}.set-row.is-disabled{opacity:.55}.set-label{gap:1px;min-width:0;font-weight:600;display:grid}.set-label small{color:var(--muted);font-size:.8rem;font-weight:500}.set-label.is-inline{flex-wrap:wrap;align-items:baseline;column-gap:10px;display:flex}.switch{touch-action:manipulation;background:#3a3370;border:0;border-radius:999px;flex:none;width:54px;height:32px;padding:0;transition:background-color .2s;position:relative}.switch:before{content:"";position:absolute;inset:-6px}.switch[aria-checked=true]{background:var(--mint)}.switch-kia[aria-checked=true]{background:var(--kia)}.switch-knob{width:26px;height:26px;transition:transform .24s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0000004d}.switch[aria-checked=true] .switch-knob{transform:translate(22px)}.switch:disabled{cursor:not-allowed}.set-timing{gap:6px;padding:6px 0 10px;transition:opacity .2s;display:grid}.set-timing.is-off{opacity:.35}.set-seg-row{grid-template-columns:5.3rem minmax(0,1fr);align-items:center;gap:8px;display:grid}.set-seg-row .set-label{font-size:.92rem}@media (width<=359px){.set-seg-row{grid-template-columns:minmax(0,1fr);gap:3px}.set-seg-row .set-label{color:var(--muted);font-size:.85rem}}.seg{background:var(--bg-2);border-radius:13px;gap:3px;padding:3px;display:flex}.seg-btn{min-width:0;min-height:38px;color:var(--muted);font-variant-numeric:tabular-nums;transition:background-color .16s ease, color .16s ease, transform .1s var(--ease-out);touch-action:manipulation;background:0 0;border:0;border-radius:10px;flex:1 1 0;font-size:.92rem;font-weight:700;position:relative}.seg-btn:before{content:"";position:absolute;inset:-3px -1.5px}.seg-btn:active{transform:scale(.95)}.seg-btn.is-on{background:var(--yellow);color:var(--ink);box-shadow:0 3px #b38600}.set-read{margin:0;display:grid}.set-read>div{justify-content:space-between;gap:12px;padding:10px 0;display:flex}.set-read>div+div{border-top:1px solid var(--line)}.set-read dt{font-weight:600}.set-read dd{color:var(--muted);text-align:right;margin:0;font-weight:600}.set-read>.set-read-level{align-items:center}.set-read dt small{color:var(--muted);margin-top:2px;font-size:.8rem;font-weight:500;line-height:1.3;display:block}.set-read-level dd{color:var(--text);flex:none;align-items:center;gap:8px;display:inline-flex}.set-times{background:var(--bg-2);text-align:center;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px;padding:8px 0;display:grid}.set-times>div{flex-direction:column-reverse;gap:3px;padding:0 6px;display:flex}.set-times>div+div{border-left:1px solid var(--line)}.set-times dd{font-family:var(--display);margin:0;font-size:1.3rem;line-height:1}.set-times dt{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:600}.set-foot{text-align:center;color:var(--muted);margin-top:-4px;font-size:.8rem;font-weight:500}.lvl{--b1:var(--mint);--b2:#ffffff29;background:var(--ink);border-radius:7px;flex:none;justify-content:center;align-items:flex-end;gap:3px;width:24px;height:20px;padding:4px 0;display:inline-flex}.lvl-bar{background:var(--b1);transform-origin:50% 100%;border-radius:2px;width:5px;height:6px;display:block}.lvl-bar+.lvl-bar{background:var(--b2);height:12px}.lvl-mix{--b2:var(--coral)}.lvl-hard{--b1:var(--coral);--b2:var(--coral)}.diff{gap:6px;display:grid}.diff-label{font-weight:600}.diff-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:9px;display:grid}.diff-card{--f:var(--mint);--fs:#1f8c6b;--tc:var(--mint);background:var(--card);min-height:60px;color:var(--tc);box-shadow:inset 0 0 0 1px var(--line), 0 4px 0 #110d29;transition:transform .22s var(--ease-pop), box-shadow .16s var(--ease-out), background-color .18s ease, color .18s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:16px;justify-content:center;align-items:center;gap:7px;padding:8px 4px 6px;display:flex;position:relative}.diff-card.is-mix{--f:var(--yellow);--fs:#b38600;--tc:var(--yellow)}.diff-card.is-hard{--f:var(--coral);--fs:#a33a3a;--tc:var(--coral)}.diff-card:active{box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 #110d29;transition-duration:90ms;transition-timing-function:var(--ease-out);transform:translateY(3px)scale(.97)}.diff-card.is-on{background:var(--f);color:var(--ink);box-shadow:0 4px 0 var(--fs);animation:card-pick .34s var(--ease-pop)}.diff-card.is-on:active{box-shadow:0 1px 0 var(--fs)}.diff-card:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}@media (hover:hover) and (pointer:fine){.diff-card:not(.is-on):hover{background:var(--card-2)}}.diff-card .lvl{border-radius:8px;gap:4px;width:30px;height:26px;padding:5px 0}.diff-card .lvl-bar{border-radius:2px;width:6px;height:7px}.diff-card .lvl-bar+.lvl-bar{height:15px}.diff-name{font-family:var(--display);letter-spacing:.01em;padding-top:2px;font-size:1.3rem;line-height:1}.diff-card.is-on .lvl-bar{animation:bar-fill .44s var(--ease-pop) 40ms backwards}.diff-card.is-on .lvl-bar+.lvl-bar{animation-delay:.11s}.diff-card.is-easy.is-on .lvl-bar+.lvl-bar{animation:none}@keyframes card-pick{0%{scale:.94}}@keyframes bar-fill{0%{transform:scaleY(.1)}}.diff-badge{white-space:nowrap;pointer-events:none;background:var(--ink);color:var(--yellow);font-family:var(--body);letter-spacing:.02em;box-shadow:0 0 0 2px var(--bg-2);border-radius:999px;padding:2px 7px;font-size:.66rem;font-weight:800;line-height:1.4;position:absolute;top:-9px;left:50%;translate:-50%}.diff-card.is-on .diff-badge{animation:badge-pop .46s var(--ease-pop) 60ms backwards}@keyframes badge-pop{0%{scale:.6}55%{scale:1.14}to{scale:1}}.diff-desc{--tc:var(--yellow);color:#d6d1f5;align-items:flex-start;gap:7px;padding:2px 2px 0;font-size:.86rem;font-weight:500;line-height:1.3;display:flex}.diff-desc.is-easy{--tc:var(--mint)}.diff-desc.is-hard{--tc:var(--coral)}.diff-info{color:var(--tc);flex:none;margin-top:0;transition:color .2s}.diff-desc-text{flex:1;min-width:0;min-height:2.6em;display:grid}@media (width>=640px){.diff-desc-text{min-height:0}}.diff-line{grid-area:1/1}.diff-line.is-in{animation:desc-in .26s var(--ease-out) 70ms backwards}.diff-line.is-out{animation:desc-out .15s var(--ease-out) forwards;pointer-events:none}@keyframes desc-in{0%{opacity:0;transform:translateY(6px)}}@keyframes desc-out{to{opacity:0;transform:translateY(-6px)}}@media (width<=359px){.diff-card{gap:5px}.diff-card .lvl{width:24px}}@media (height<=600px){.sheet-body{gap:10px;max-height:calc(100dvh - 20px)}.set-section{gap:6px}.diff{gap:4px}.sheet-foot{padding-top:6px}.sheet-head{min-height:40px}.sheet-head h2{font-size:1.45rem}.diff-card{min-height:52px}.set-row{min-height:46px}.set-timing{padding:4px 0 8px}.sheet-done{min-height:48px}}.host-opts{border:2px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.host-opts .toggle{border:0;border-radius:0;transition:background-color .15s}.host-opts .toggle:has(input:checked){background:#ffd23f0f}.round-row{border:0;border-top:1px solid var(--line);width:100%;min-height:52px;color:var(--text);text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:8px;padding:8px 8px 8px 12px;transition:background-color .15s;display:flex}.round-row:active{background:#ffffff0d}.round-row:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px;border-radius:0 0 12px 12px}.round-row-label{flex:1;min-width:0;font-weight:700;line-height:1.2}.round-row-sum{flex:none;align-items:center;gap:8px;display:flex}.round-chip{background:var(--bg-2);color:var(--mint);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:.85rem;font-weight:700;display:inline-flex}.round-chip.is-mix{color:var(--yellow)}.round-chip.is-hard{color:var(--coral)}.round-time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:.85rem;font-weight:600;display:inline-flex}.round-time svg{opacity:.8;flex:none}.round-row-go{color:var(--muted);transition:transform .16s var(--ease-out);flex:none}.round-row:active .round-row-go{transform:translate(2px)}@media (width<=359px){.round-row{gap:6px;padding-left:10px;padding-right:4px}.round-row-label{font-size:.94rem}.round-row-sum{gap:6px}.round-chip{padding-right:8px}}@media (hover:hover) and (pointer:fine){.round-row:hover{background:#ffffff0a}}@media (width>=640px){.page{max-width:520px}.options{grid-template-columns:repeat(2,minmax(0,1fr))}.option{min-height:84px;font-size:1.2rem}.suspects{grid-template-columns:repeat(3,minmax(0,1fr))}.suspects.dense{grid-template-columns:repeat(4,minmax(0,1fr))}.page-how{max-width:600px}.how-steps{padding:6px 20px}.how-step{padding:13px 0}.search-face{--fs:66px}}@media (width>=900px){.game-layout{max-width:820px}.game-layout.with-side{grid-template-columns:minmax(0,1fr) 320px;gap:28px;max-width:1120px;padding-top:28px}.game-side{align-content:start;gap:16px;display:grid;position:sticky;top:88px}.side-card{gap:12px;display:grid}.side-title{color:var(--muted);font-size:1rem;font-weight:600}.side-meta{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding-top:10px;font-size:.85rem;font-weight:500;display:flex}.mobile-only{display:none}.lobby{grid-template-rows:auto 1fr;grid-template-columns:340px minmax(0,1fr);align-items:start}.code-card{grid-row:1/span 2}.lobby-cta{background:0 0;grid-column:2;justify-self:center;width:100%;max-width:460px;margin:0;padding:0;position:static}.stage{gap:20px}.role-card{justify-self:center;max-width:420px}.unmask-grid.is-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.unmask{align-content:center}.end-rest .btn{justify-self:center;width:min(100%,360px)}.host-bar,.dock{background:0 0;justify-self:center;width:min(100%,460px);margin:0;padding:0;position:static}}.toggle{border:2px solid var(--line);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.toggle input{appearance:none;background:var(--bg-2);border:2px solid #ffffff47;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;margin:0;transition:background .14s,border-color .14s;display:grid}.toggle input:checked{background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%2315112e' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;border-color:var(--yellow)}.toggle:has(input:checked){border-color:#ffd23f8c}.toggle span{gap:1px;display:grid}.toggle small{color:var(--muted);font-size:.82rem;line-height:1.3}.tv-big{font-family:var(--display);text-align:center;font-size:clamp(2.4rem,7vw,4.6rem);font-weight:400;line-height:1}.tv-wait{text-align:center;align-content:center;justify-items:center;min-height:min(60vh,520px)}.tv-wait .stage-foot{width:100%;max-width:640px}.cast-row{pointer-events:none;justify-content:center;margin-bottom:4px;padding-left:8px;display:flex}.cast-face{--fs:72px;animation-delay:calc(var(--n,0) * -.5s)}.game.is-tv .option:disabled,.game.is-tv .suspect:disabled{opacity:1;cursor:default}@media (width>=900px){.game.is-tv .game-layout{max-width:1400px}.game.is-tv .game-layout.with-side{grid-template-columns:minmax(0,1fr) 380px;max-width:1500px}.game.is-tv .q-prompt{font-size:clamp(2.2rem,3.6vw,3.6rem);line-height:1.15}.game.is-tv .option{min-height:120px;font-size:clamp(1.4rem,2.2vw,2.1rem)}.game.is-tv .qr svg{width:220px;height:220px}.game.is-tv .end-title{font-size:clamp(3.4rem,7vw,6.5rem)}.game.is-tv .ri-num{width:clamp(180px,18vw,260px);font-size:clamp(7rem,11vw,11rem)}.game.is-tv .ri-kicker{font-size:1.1rem}.game.is-tv .search-face{--fs:92px}.game.is-tv .wait-title,.game.is-tv .accuse-head h1{font-size:clamp(2.6rem,4.4vw,4rem)}.game.is-tv .wait-copy,.game.is-tv .accuse-head .muted,.game.is-tv .end-reason{font-size:1.3rem}.game.is-tv .imp-name{font-size:2.6rem}.game.is-tv .rb-head{font-size:clamp(2.8rem,4vw,4rem)}.game.is-tv .suspects{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=900px) and (height<=760px){.game.is-tv .option{min-height:92px}.game.is-tv .ri-num{width:170px;font-size:7rem}.guess-wait,.round-intro{min-height:52vh}}@media (width<=899px) and (height<=760px){.topbar{padding-top:max(7px, env(safe-area-inset-top));padding-bottom:7px}.game-layout{padding-top:12px;padding-bottom:max(16px, env(safe-area-inset-bottom));gap:12px}.game-main,.stage{gap:12px}.lobby-cta,.host-bar,.dock{margin-bottom:calc(-1 * max(16px, env(safe-area-inset-bottom)));gap:6px;padding-top:14px}.q-head+.timer-top{margin-top:-4px}.lobby-cta .btn-xl,.host-bar .btn-xl,.dock .btn-xl,.dock-note{min-height:58px}.cat-pill{padding:5px 11px;font-size:.8rem}.timer-num{font-size:1.25rem}.q-prompt{font-size:clamp(1.25rem,5.2vw,1.5rem);line-height:1.2}.secret-banner{border-radius:14px;padding:.55rem .85rem;font-size:.9rem;line-height:1.35}.options{gap:10px}.option{border-radius:16px;gap:10px;min-height:54px;padding:7px 12px;font-size:1.02rem;line-height:1.25}.opt-letter{border-radius:10px;width:34px;height:34px;font-size:1.15rem}.stage-foot{gap:8px;margin-top:0}.vote-dots{gap:6px}.stage:has(>.result-banner){gap:10px}.result-banner{gap:3px;padding:.7rem 1rem .75rem}.rb-head{font-size:clamp(1.7rem,7.5vw,2.2rem)}.rb-sub{font-size:.92rem;line-height:1.35}.small-prompt{font-size:.95rem;line-height:1.3}.options.reveal .option{min-height:46px;padding-top:6px;padding-bottom:6px;font-size:.98rem}.reveal-actions:empty{display:none}.race-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;padding:8px 14px 10px}.race-compact .race-label{font-size:.9rem}.race-compact .race-track{height:8px}.next-note{font-size:.92rem;line-height:1.35}.reveal-actions{gap:8px}.accuse-head{grid-template-columns:1fr auto auto 1fr;align-items:center;gap:4px 0}.accuse-head>:not(.siren){grid-column:1/-1}.accuse-head .siren{grid-column:2}.accuse-head .siren+.eyebrow{grid-column:3;justify-self:start}.siren{width:12px;height:12px;margin:8px 14px 8px 0;animation-name:siren-sm}.accuse-head h1{font-size:clamp(1.6rem,7vw,2rem)}.accuse-head .muted{font-size:.92rem;line-height:1.38}.suspects{gap:10px}.suspect{min-height:100px;padding:12px 8px}.guess-wait{gap:14px;min-height:min(56vh,480px)}.search-face{--fs:50px}.ended{gap:14px}.end-hero{gap:6px}.end-kicker{padding:5px 12px;font-size:.78rem}.end-title{font-size:clamp(2.5rem,11.5vw,3.3rem)}.end-reason{font-size:.95rem;line-height:1.38}.end-rest{gap:10px}.end-rest .race{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.end-rest .race-label{font-size:.92rem}.end-rest .race-label b{font-size:1.2rem}.end-rest .race-track{height:10px}.end-rest .btn-lg{min-height:50px}.role-front{font-size:1.05rem}.role-q{font-size:5rem}}@keyframes siren-sm{0%{box-shadow:0 0 #ff4d6db3}to{box-shadow:0 0 0 7px #ff4d6d00}}@media (width<=899px) and (height<=600px){.game-layout{padding-top:10px}.game-main,.stage{gap:10px}.q-prompt:not(.small-prompt){font-size:clamp(1.15rem,5vw,1.35rem)}.small-prompt{font-size:.9rem}.secret-banner{padding:.45rem .75rem;font-size:.86rem}.options{gap:8px}.option{min-height:48px;padding:6px 10px;font-size:.98rem}.opt-letter{width:30px;height:30px;font-size:1.05rem}.accuse-head .muted{font-size:.88rem}.suspects.mid{--sus-av:38px}.suspects.mid .suspect{min-height:80px;padding:8px 4px}.suspect{min-height:88px}.result-banner{padding:.55rem 1rem .6rem}.end-title{font-size:clamp(2.2rem,10.5vw,2.8rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ripple,.role-back:before{display:none}}@media (width<=899px) and (height>=620px){.lobby{gap:14px}.lobby .lobby-cta{padding-bottom:max(16px, env(safe-area-inset-bottom));gap:14px}.lobby-actions{gap:12px}}@media (width<=899px) and (height>=780px){.lobby{gap:18px}.code-card{gap:14px;padding:16px 18px 18px}.lobby-players{padding:16px 18px 18px}.lobby-head{margin-bottom:12px}.lobby .lobby-cta{padding-top:20px;padding-bottom:max(24px, env(safe-area-inset-bottom));gap:18px}.lobby-actions{gap:14px}}@media (width>=900px){.lobby .lobby-cta{gap:24px}.lobby-actions{gap:18px}}
