@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#09090d;--surface:#13131a;--surface-2:#1b1b24;--surface-3:#252530;--line:#ffffff12;--line-strong:#ffffff24;--text:#f5f5f7;--muted:#8d8d9c;--faint:#5a5a68;--red:#ff3d57;--red-deep:#c4142f;--crew:#2ee6b0;--crew-deep:#0f8f6c;--radius:20px;--radius-sm:14px;--font:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.2, .9, .25, 1);--spring:cubic-bezier(.34, 1.4, .5, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);font-optical-sizing:auto;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior-y:none;min-height:100%;margin:0}body{background:radial-gradient(120% 60% at 50% -10%, #ff3d5721, transparent 60%), var(--bg);background-attachment:fixed}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:2px}h1,h2,p{margin:0}.app{max-width:480px;min-height:100dvh;margin:0 auto}.screen{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 20px 0;animation:screen-in .4s var(--ease) both;flex-direction:column;display:flex}@keyframes screen-in{0%{opacity:0;transform:translateY(12px)}}.footer{padding:28px 0 calc(env(safe-area-inset-bottom) + 18px);background:linear-gradient(to bottom, transparent, var(--bg) 40%);z-index:5;margin-top:auto;position:sticky;bottom:0}.footer.stack{flex-direction:column;gap:6px;display:flex}.topbar{justify-content:space-between;align-items:center;min-height:44px;margin-bottom:12px;display:flex}.wordmark{letter-spacing:-.04em;font-size:40px;font-weight:800;line-height:1}.title{letter-spacing:-.035em;font-size:32px;font-weight:800;line-height:1.05}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.muted{color:var(--muted);font-size:15px;line-height:1.45}.player-name{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(38px,12vw,54px);font-weight:800;line-height:1}.btn{letter-spacing:-.01em;width:100%;min-height:52px;transition:transform .15s var(--ease), background .2s, opacity .2s, box-shadow .2s;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:17px;font-weight:700;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn.big{min-height:60px;font-size:18px}.btn.primary{background:var(--red);color:#fff;box-shadow:0 10px 30px -10px #ff3d57b3,inset 0 1px #ffffff40}.btn.primary:disabled{background:var(--surface-2);color:var(--muted);box-shadow:none}.btn.secondary{background:var(--surface-3);color:var(--text);min-height:46px;font-size:15px}.icon-btn{background:var(--surface-2);border:1px solid var(--line);width:44px;height:44px;color:var(--text);transition:transform .15s var(--ease), background .2s, opacity .2s;border-radius:999px;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:active:not(:disabled){transform:scale(.9)}.icon-btn:disabled{opacity:.3}.icon-btn.small{width:36px;height:36px}.icon-btn.ghost{color:var(--faint);background:0 0;border-color:#0000}.icon-btn.quit.armed{background:var(--red);border-color:var(--red);width:auto;animation:pop .25s var(--spring);padding:0 16px;font-size:14px;font-weight:700}@keyframes pop{0%{transform:scale(.85)}}.text-btn{color:var(--muted);padding:8px 4px;font-size:14px;font-weight:600}.text-btn.center{align-self:center;padding:12px}.text-btn:active{color:var(--text)}.pill-btn{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;height:44px;padding:0 18px;font-size:15px;font-weight:700;display:inline-flex}.pill-btn:active{transform:scale(.95)}.hero{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.hero-mark{align-items:center;gap:10px;display:flex}.hero-mark .crewmate{filter:drop-shadow(0 8px 18px #ff3d5773);animation:3s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-4px)rotate(-4deg)}}.tagline{color:var(--muted);margin:6px 0 4px;font-size:15px}.section{margin-top:28px}.section-head{justify-content:space-between;align-items:center;gap:8px;min-height:32px;margin-bottom:10px;display:flex}.section-head h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:auto;font-size:13px;font-weight:700}.pill{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;place-items:center;min-width:28px;height:24px;padding:0 9px;font-size:13px;font-weight:700;display:inline-grid}.card-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-group>*+*{border-top:1px solid var(--line)}.player-row{animation:row-in .3s var(--ease) both;align-items:center;gap:12px;padding:4px 8px 4px 16px;transition:background .2s;display:flex}@keyframes row-in{0%{opacity:0;transform:translate(-8px)}}.player-num{background:var(--surface-3);width:26px;height:26px;color:var(--muted);border-radius:999px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.player-input{min-width:0;height:48px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:17px;font-weight:600}.player-input:focus-visible{outline:none}.player-row:focus-within{background:var(--surface-2)}.player-row:focus-within .player-num{background:var(--red);color:#fff}.player-input::placeholder{color:var(--faint);font-weight:500}.add-row{width:100%;height:52px;color:var(--red);align-items:center;gap:10px;padding:0 16px;font-size:16px;font-weight:700;display:flex}.add-row:active{background:var(--surface-2)}.add-row:disabled{opacity:.35}.chips{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.chip{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);height:52px;color:var(--muted);text-align:left;transition:background .2s, border-color .2s, color .2s, transform .15s var(--ease);align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.chip:active{transform:scale(.96)}.chip-emoji{filter:grayscale();opacity:.5;font-size:20px;transition:filter .2s,opacity .2s}.chip.on{color:var(--text);background:#ff3d571a;border-color:#ff3d578c}.chip.on .chip-emoji{filter:none;opacity:1}.chips-subhead{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:18px 0 10px;font-size:13px;font-weight:700;display:flex}.badge-18{background:var(--red);color:#fff;letter-spacing:.04em;border-radius:6px;padding:2px 7px;font-size:11px}.chips.adult .chip.on{background:#a855f71f;border-color:#a855f799}.hint-text{color:var(--faint);margin-top:10px;font-size:13px}.row{text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:64px;padding:12px 16px;display:flex}.row.column{flex-direction:column;align-items:stretch;gap:12px}.row-text{flex-direction:column;gap:2px;display:flex}.row-label{font-size:16px;font-weight:600}.row-desc{color:var(--muted);font-size:13px}.switch-row:active{background:var(--surface-2)}.switch{background:var(--surface-3);border-radius:999px;flex-shrink:0;width:50px;height:30px;transition:background .25s;position:relative}.switch.on{background:var(--red)}.knob{width:24px;height:24px;transition:transform .3s var(--spring);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000059}.switch.on .knob{transform:translate(20px)}.stepper{align-items:center;gap:6px;display:flex}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-size:22px;font-weight:800}.segmented{background:var(--bg);border-radius:12px;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;display:grid}.segmented button{height:38px;color:var(--muted);border-radius:9px;font-size:15px;font-weight:700;transition:background .2s,color .2s}.segmented button.on{background:var(--surface-3);color:var(--text);box-shadow:0 2px 8px #00000059}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:flex-end;animation:.25s both fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:480px;max-height:90dvh;padding:10px 22px calc(env(safe-area-inset-bottom) + 20px);background:var(--surface);border:1px solid var(--line);animation:sheet-up .4s var(--ease) both;border-bottom:0;border-radius:28px 28px 0 0;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-grabber{background:var(--surface-3);border-radius:999px;width:40px;height:5px;margin:0 auto 18px}.sheet-title{letter-spacing:-.03em;font-size:26px;font-weight:800}.steps{flex-direction:column;gap:16px;margin:18px 0 24px;padding:0;list-style:none;display:flex}.steps li{gap:14px;display:flex}.step-num{width:28px;height:28px;color:var(--red);background:#ff3d5724;border-radius:999px;flex-shrink:0;place-items:center;font-size:14px;font-weight:800;display:grid}.steps strong{margin-bottom:2px;font-size:16px;display:block}.steps p{color:var(--muted);font-size:15px;line-height:1.45}.dots{flex-wrap:wrap;gap:6px;max-width:calc(100% - 60px);display:flex}.dot{background:var(--surface-3);width:8px;height:8px;transition:width .35s var(--ease), background .3s;border-radius:999px}.dot.done{background:var(--faint)}.dot.current{background:var(--red);width:24px}.reveal-head{animation:screen-in .4s var(--ease) both;margin-top:8px}.reveal-head .eyebrow{margin-bottom:8px;display:block}.card-stage{perspective:1400px;flex:1;justify-content:center;align-items:center;padding:24px 0 0;display:flex}.role-card{aspect-ratio:3/4;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;width:min(100%,340px);max-height:58dvh;animation:card-in .5s var(--spring) both;position:relative}@keyframes card-in{0%{opacity:0;transform:translateY(30px)scale(.92)rotate(-2deg)}}.role-card-inner{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .45s var(--ease);position:absolute;inset:0}.role-card.flipped .role-card-inner{transform:rotateY(180deg)}.role-card:active:not(.flipped) .role-card-inner{transform:scale(.98)}.face{text-align:center;backface-visibility:hidden;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px 22px;display:flex;position:absolute;inset:0;overflow:hidden}.front{background:linear-gradient(160deg, var(--surface-2), var(--surface));border:1px solid var(--line-strong);box-shadow:0 30px 60px -30px #000c}.front-pattern{background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 75%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 75%)}.fp{color:var(--red);background:#ff3d5714;border-radius:999px;width:112px;height:112px;padding:18px;animation:2.2s ease-in-out infinite pulse;position:relative}@keyframes pulse{0%,to{box-shadow:0 0 #ff3d5759}60%{box-shadow:0 0 0 18px #ff3d5700}}.front-label{letter-spacing:-.02em;margin-top:14px;font-size:22px;font-weight:800;position:relative}.front-sub{color:var(--muted);font-size:14px;position:relative}.back{background:radial-gradient(120% 80% at 50% 0%, #ffffff12, transparent 60%), linear-gradient(170deg, var(--surface-2), var(--surface));border:1px solid var(--line-strong);transform:rotateY(180deg);box-shadow:0 30px 60px -30px #000c}.role-eyebrow{letter-spacing:.14em;text-transform:uppercase;opacity:.75;font-size:13px;font-weight:700}.role-word{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(36px,11vw,50px);font-weight:800;line-height:1}.role-word.long{font-size:clamp(28px,8vw,38px)}.role-title{letter-spacing:-.045em;text-transform:uppercase;font-size:clamp(40px,12vw,54px);font-weight:800;line-height:.95}.role-sub{opacity:.75;margin-top:4px;font-size:15px}.category-tag{background:#ffffff14;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.clues{flex-direction:column;gap:6px;width:100%;margin-top:14px;display:flex}.clue{background:#ffffff0f;border-radius:14px;padding:10px 14px;font-size:16px;font-weight:700}.clue em{letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-right:6px;font-size:11px;font-style:normal}.discuss-body{flex-direction:column;flex:1;gap:28px;display:flex}.starter{flex-direction:column;gap:10px;margin-top:8px;display:flex}.timer{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.timer-ring{aspect-ratio:1;width:min(72vw,260px);position:relative}.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:12px}.ring-progress{fill:none;stroke:var(--red);stroke-width:12px;stroke-linecap:round;filter:drop-shadow(0 0 10px #ff3d5780);transition:stroke-dashoffset .3s linear,stroke .3s}.timer-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.timer-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:800}.timer.done .timer-value{color:var(--red);font-size:30px}.timer.done .timer-ring{animation:.5s shake}.timer.urgent .timer-value{color:var(--red);animation:1s infinite tick}@keyframes tick{50%{transform:scale(1.06)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.timer-paused{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.timer-controls{gap:10px;display:flex}.timer-controls .icon-btn{width:52px;height:52px}.vote-head{flex-direction:column;gap:8px;margin:8px 0 22px;display:flex}.vote-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.vote-btn{border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--line);text-align:left;min-height:64px;transition:transform .15s var(--ease), border-color .2s, background .2s;align-items:center;gap:12px;padding:10px 14px;display:flex}.vote-btn:active{transform:scale(.96)}.vote-btn.on{border-color:var(--red);background:#ff3d571f}.avatar{background:var(--surface-3);border-radius:999px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:16px;font-weight:800;transition:background .2s;display:grid}.vote-btn.on .avatar{background:var(--red)}.vote-name{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.15}.ballot-pass{animation:screen-in .4s var(--ease) both;flex-direction:column;flex:1;gap:8px;margin-top:8px;display:flex}.ballot-lock{width:128px;height:128px;color:var(--red);background:#ff3d5714;border-radius:999px;align-self:center;place-items:center;margin:auto 0;animation:2.2s ease-in-out infinite pulse;display:grid}.ballot-note{text-align:center;align-self:center;max-width:30ch;margin-bottom:8px}.ballot-pick{animation:screen-in .35s var(--ease) both}.tally{flex-direction:column;gap:10px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tally-row{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);animation:screen-in .4s var(--ease) both;flex-direction:column;gap:10px;padding:14px;display:flex}.tally-row.lead{border-color:#ff3d5780}.tally-top{align-items:center;gap:12px;display:flex}.tally-row.lead .avatar{background:var(--red)}.tally-name{overflow-wrap:anywhere;flex:1;font-size:17px;font-weight:700}.tally-count{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.tally-bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.tally-fill{border-radius:inherit;background:var(--faint);transform-origin:0;height:100%;animation:grow .7s var(--ease) both;display:block}.tally-row.lead .tally-fill{background:var(--red)}@keyframes grow{0%{transform:scaleX(0)}}.tally-from{color:var(--muted);font-size:13px}.result{text-align:center;flex-direction:column;align-items:center;padding-top:32px;display:flex}.eject{animation:eject 1.1s var(--ease) both;margin-bottom:22px}.eject .crewmate{filter:drop-shadow(0 14px 30px #00000080)}@keyframes eject{0%{opacity:0;transform:translate(-120px)rotate(-200deg)scale(.6)}}.result-title{max-width:14ch;animation:screen-in .5s .35s var(--ease) both}.eject.crowd{align-items:flex-end;gap:2px;display:flex}.eject.crowd .crewmate:nth-child(odd){animation:1.4s ease-in-out infinite bob}.eject.crowd .crewmate:nth-child(2n){animation:1.4s ease-in-out .7s infinite bob}.twist-badge{color:#facc15;animation:pop .4s .3s var(--spring) both;background:#facc151f;border:1px solid #facc1573;border-radius:999px;margin-bottom:14px;padding:7px 14px;font-size:14px;font-weight:700}.result-chaos .result-title{background:linear-gradient(90deg, var(--red), #facc15, var(--crew), #3b82f6, #a855f7);color:#0000;-webkit-background-clip:text;background-clip:text}.result-crew .result-title{color:var(--crew)}.result-imposter .result-title{color:var(--red)}.result-sub{max-width:32ch;animation:screen-in .5s .45s var(--ease) both;margin-top:10px}.result-cards{width:100%;animation:screen-in .5s .55s var(--ease) both;flex-direction:column;gap:10px;margin-top:28px;display:flex}.result-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);flex-direction:column;align-items:center;gap:8px;padding:20px;display:flex}.result-value{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:30px;font-weight:800;line-height:1.1}.result-value.red{color:var(--red)}.result-clues{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.result-clue{background:#ff3d571a;border:1px solid #ff3d5740;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:700;display:inline-flex}.result-clue em{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-style:normal}.result-clue.blind{background:var(--surface-2);border-color:var(--line);color:var(--muted);font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
