.game-page{--game-lobby:#27b8c8;--game-lobby-soft:color-mix(in srgb, var(--game-lobby) 15%, var(--surface-1));--game-task:#f0b63f;--game-task-soft:color-mix(in srgb, var(--game-task) 14%, var(--surface-1));--game-meeting:#ff6a5d;--game-meeting-soft:color-mix(in srgb, var(--game-meeting) 14%, var(--surface-1));--game-voting:#8c7cff;--game-voting-soft:color-mix(in srgb, var(--game-voting) 14%, var(--surface-1));--game-result:#36c889;--game-result-soft:color-mix(in srgb, var(--game-result) 14%, var(--surface-1));--game-danger:#ff6555;--game-ready:#39c77f;--game-pending:#f0b63f;--game-command:#111412eb;--game-panel:color-mix(in srgb, var(--surface-1) 94%, transparent);--game-panel-strong:var(--surface-1);--game-panel-muted:var(--surface-2);--game-border:color-mix(in srgb, var(--border-2) 62%, transparent);--game-glow:#f0b63f26;background:radial-gradient(circle at 12% 8%, var(--game-glow), transparent 30rem), radial-gradient(circle at 88% 42%, #27b8c814, transparent 34rem), var(--canvas);min-height:100svh;color:var(--text-1);padding-bottom:72px}body:has(.game-page)>.theme-toggle-public{display:none}html[data-theme=light] .game-page{--game-lobby:#087f91;--game-task:#a86100;--game-meeting:#bf3d35;--game-voting:#5b4bc4;--game-result:#14794e;--game-danger:#b73229;--game-ready:#14794e;--game-pending:#9a5b00;--game-command:#fffdf8f0;--game-panel:#fffdf8f0;--game-panel-muted:#f0ebe1;--game-border:#d4ccbe;--game-glow:#da972a21}.game-page .game-select{min-width:0;position:relative}.game-page .game-select-trigger{border:1px solid var(--border-1);background:var(--control);width:100%;min-width:0;min-height:48px;color:var(--text-1);font:inherit;text-align:left;cursor:pointer;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.game-page .game-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-page .game-select-trigger svg{transition:transform var(--motion-fast) ease;flex:none}.game-page .game-select-trigger[aria-expanded=true]{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 22%, transparent)}.game-page .game-select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.game-page .game-select-menu{z-index:90;border:1px solid var(--game-border);background:var(--surface-1);border-radius:13px;width:100%;min-width:0;max-height:min(280px,42dvh);padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 18px 48px #00000047}.game-page .game-select-menu[data-placement=top]{top:auto;bottom:calc(100% + 6px)}.game-page .game-select-menu>button{width:100%;min-width:0;min-height:44px;color:var(--text-1);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.game-page .game-select-menu>button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-page .game-select-menu>button:hover,.game-page .game-select-menu>button:focus-visible,.game-page .game-select-menu>button.selected{background:var(--control-hover);color:var(--accent)}.game-page .covert-console.is-open{overflow:visible}.game-page .phase-bar{--phase-accent:var(--game-lobby);z-index:60;min-height:76px;padding:max(8px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 8px max(18px, env(safe-area-inset-left));border:0;border-bottom:1px solid color-mix(in srgb, var(--phase-accent) 42%, var(--game-border));background:linear-gradient(90deg, color-mix(in srgb, var(--phase-accent) 11%, transparent), transparent 32%), var(--game-command);color:var(--text-1);-webkit-backdrop-filter:blur(22px)saturate(1.18);backdrop-filter:blur(22px)saturate(1.18);position:sticky;inset:0 0 auto;box-shadow:0 12px 34px #0000001f}.game-page .phase-tasks{--phase-accent:var(--game-task)}.game-page .phase-role{--phase-accent:var(--game-voting)}.game-page .phase-meeting{--phase-accent:var(--game-meeting)}.game-page .phase-voting{--phase-accent:var(--game-voting)}.game-page .phase-results{--phase-accent:var(--game-result)}.game-page .phase-bar:after{content:"";background:linear-gradient(90deg, var(--phase-accent), transparent 48%);pointer-events:none;height:3px;position:absolute;inset:auto 0 -1px}.game-page .phase-bar-inner{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1440px);min-width:0;margin:0 auto;display:flex}.game-page .phase-primary,.game-page .phase-utilities{align-items:center;gap:14px;min-width:0;display:flex}.game-page .phase-label{color:var(--text-1);letter-spacing:.14em;flex:none;align-items:center;gap:10px;font-size:1rem;display:inline-flex}.game-page .phase-icon{border:1px solid color-mix(in srgb, var(--phase-accent) 55%, transparent);background:color-mix(in srgb, var(--phase-accent) 17%, var(--surface-1));width:42px;height:42px;color:var(--phase-accent);border-radius:13px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a}.game-page .header-game-status{gap:18px;min-width:min(460px,42vw)}.game-page .header-game-status .progress-block{min-width:210px}.game-page .progress{background:color-mix(in srgb, var(--border-2) 35%, transparent);border:0;border-radius:999px;height:7px}.game-page .progress span{border-radius:inherit;background:linear-gradient(90deg, var(--game-ready), #71e8ab);box-shadow:0 0 16px color-mix(in srgb, var(--game-ready) 38%, transparent);transition:width .42s var(--ease-out)}.game-page .timer{border-left:1px solid var(--game-border);flex:none;min-width:94px;padding-left:14px}.game-page .timer span{color:var(--text-1)}.game-page .timer-warning span{color:var(--game-danger)}.game-page .phase-identity{border:1px solid var(--game-border);background:color-mix(in srgb, var(--surface-1) 78%, transparent);border-radius:999px;align-items:center;gap:9px;max-width:210px;min-height:44px;padding:4px 10px 4px 5px;display:flex}.game-page .phase-identity>span:last-child{color:var(--text-1);-webkit-text-fill-color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}html[data-theme=light] .game-page .phase-identity{color:#1d211e;background:#fffdf8}html[data-theme=light] .game-page .phase-identity>span:last-child{color:#1d211e;-webkit-text-fill-color:#1d211e}.game-page .phase-identity .identity-token{flex:0 0 34px;width:34px;height:34px;font-size:.68rem}.game-page .game-utility-button,.game-page .theme-toggle-game{border:1px solid var(--game-border);background:color-mix(in srgb, var(--surface-1) 78%, transparent);width:auto;min-width:44px;height:44px;color:var(--text-2);box-shadow:none;cursor:pointer;transition:transform var(--motion-fast) ease, border-color var(--motion-base) ease, background var(--motion-base) ease, color var(--motion-base) ease;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex;position:static}.game-page .theme-toggle-game{padding:0}.game-page .game-utility-button:hover,.game-page .theme-toggle-game:hover:not(:disabled){border-color:var(--phase-accent);background:color-mix(in srgb, var(--phase-accent) 12%, var(--surface-1));color:var(--text-1);transform:translateY(-1px)}.game-page .game-sound-toggle[aria-pressed=true]{color:var(--phase-accent)}.game-page .utility-label{text-transform:uppercase;font-size:.7rem;font-weight:800}.game-page .task-command-shell{grid-template-columns:minmax(0,1fr) minmax(300px,330px);align-items:start;gap:clamp(24px,3vw,38px);width:min(100% - 48px,1440px);margin:0 auto;padding-top:clamp(24px,3vw,42px);display:grid}.game-page .game-shell-body{display:contents}.game-page .task-command-main{width:100%;max-width:none;margin:0;padding:0}.game-page .task-command-main .section-heading{margin-bottom:22px}.game-page .task-command-main .section-heading h1{font-size:clamp(2.3rem,4vw,3.5rem);line-height:.94}.game-page .task-command-main .section-heading>.button{display:none}.game-page .task-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.game-page .task-card{border:1px solid var(--game-border);background:var(--game-panel);isolation:isolate;min-height:172px;animation:game-card-enter .42s var(--ease-out) both;transition:transform var(--motion-base) var(--ease-out), border-color var(--motion-base) ease, box-shadow var(--motion-base) ease;border-radius:20px;grid-template-columns:minmax(0,1fr) 104px;position:relative;box-shadow:0 15px 42px #0000001a}.game-page .task-card:nth-child(2){animation-delay:45ms}.game-page .task-card:nth-child(3){animation-delay:90ms}.game-page .task-card:nth-child(4){animation-delay:.135s}.game-page .task-card:nth-child(n+5){animation-delay:.18s}.game-page .task-card:before{content:"";background:var(--game-task);border-radius:20px 0 0 20px;width:4px;position:absolute;inset:0 auto 0 0}.game-page .task-card:hover{border-color:color-mix(in srgb, var(--game-task) 68%, var(--game-border));transform:translateY(-3px);box-shadow:0 20px 54px #00000029}.game-page .task-card-main{grid-template-columns:48px minmax(0,1fr);align-content:center;gap:14px;padding:20px}.game-page .task-card-main .badge{grid-column:2;justify-self:start;margin-top:8px}.game-page .task-number{background:var(--game-task-soft);width:46px;height:46px;color:var(--game-task);border-radius:14px;align-self:start;place-items:center;font-size:1.15rem;display:grid}.game-page .task-card strong{font-size:1rem;line-height:1.35}.game-page .task-card small{color:var(--text-2)}.game-page .task-card .task-difficulty{align-items:center;gap:5px;display:flex}.game-page .task-card .task-difficulty svg{color:var(--game-task)}.game-page .task-proof{border-color:var(--game-border);background:var(--game-panel-muted);width:104px;transition:background var(--motion-base) ease, color var(--motion-base) ease}.game-page .task-proof img,.game-page .task-proof>span{border-color:var(--game-border);background:color-mix(in srgb, var(--game-task) 10%, var(--surface-1));width:70px;height:60px;color:var(--game-task);border-radius:14px}.game-page .task-proof:hover{background:var(--game-task-soft);color:var(--text-1)}.game-page .task-complete:before{background:var(--game-ready)}.game-page .task-complete .task-number{background:var(--success-soft);color:var(--game-ready)}.game-page .task-complete .task-proof>span svg{animation:task-proof-pop .44s var(--ease-out)}.game-page .game-context-rail{gap:16px;display:grid;position:sticky;top:104px}.game-page .live-identity-card,.game-page .context-progress-card,.game-page .elimination-history-card,.game-page .meeting-action-rail{border:1px solid var(--game-border);background:var(--game-panel);border-radius:20px;width:100%;margin:0;padding:18px;box-shadow:0 14px 38px #0000001a}.game-page .elimination-history-card{border-color:color-mix(in srgb, var(--game-danger) 36%, var(--game-border));background:radial-gradient(circle at 100% 0%, #ff655521, transparent 13rem), var(--game-panel);overflow:hidden}.game-page .elimination-history-card .context-card-heading{grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:13px;display:grid}.game-page .elimination-history-card .context-card-heading svg{color:var(--game-danger)}.game-page .elimination-history-card .context-card-heading>div{gap:1px;min-width:0;display:grid}.game-page .elimination-history-card .eyebrow{color:var(--game-danger);margin:0;font-size:.62rem}.game-page .elimination-history-icon{background:color-mix(in srgb, var(--game-danger) 14%, transparent);width:38px;height:38px;color:var(--game-danger);border-radius:12px;place-items:center;display:grid}.game-page .elimination-history-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.game-page .elimination-history-list li{border:1px solid color-mix(in srgb, var(--game-danger) 18%, var(--game-border));background:color-mix(in srgb, var(--game-danger) 6%, var(--game-panel-muted));border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:8px;display:grid}.game-page .elimination-history-list li>span:nth-child(2){min-width:0;display:grid}.game-page .elimination-history-list strong,.game-page .elimination-history-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-page .elimination-history-list small,.game-page .elimination-history-empty{color:var(--text-2);font-size:.72rem}.game-page .elimination-history-list li>svg{color:var(--game-danger)}.game-page .elimination-history-empty{border:1px dashed color-mix(in srgb, var(--game-danger) 24%, var(--game-border));border-radius:12px;margin:0;padding:10px 12px}.game-page .live-identity-card{min-height:92px}.game-page .live-identity-card .icon-button{color:var(--game-task)}.game-page .context-progress-card{gap:16px;display:grid}.game-page .context-progress-card .button{gap:8px;width:100%}.game-page .context-card-heading{color:var(--text-1);align-items:center;gap:10px;display:flex}.game-page .context-card-heading svg{color:var(--game-task)}.game-page .meeting-action-rail{border-color:color-mix(in srgb, var(--game-meeting) 35%, var(--game-border));background:linear-gradient(145deg, color-mix(in srgb, var(--game-meeting) 11%, transparent), transparent 55%), var(--game-panel);gap:14px;display:grid;position:static;transform:none}.game-page .meeting-action-rail .context-card-heading svg{color:var(--game-meeting)}.game-page .meeting-call-copy{align-items:baseline;gap:8px;display:flex}.game-page .meeting-call-copy>span{color:var(--game-meeting);font:700 2.2rem/1 var(--display)}.game-page .meeting-call-copy small{text-align:left}.game-page .meeting-call-button{gap:8px;width:100%}.game-page .meeting-action-rail.is-ready .meeting-call-button{border-color:var(--game-meeting);background:var(--game-meeting);color:#fff;box-shadow:0 10px 24px color-mix(in srgb, var(--game-meeting) 24%, transparent)}.game-page .meeting-view{width:min(100% - 40px,980px);max-width:none;padding-top:clamp(38px,6vw,74px)}.game-page .meeting-view>h1{max-width:800px;margin:6px 0 18px;font-size:clamp(3rem,7vw,6.4rem);line-height:.88}.game-page .meeting-view>.lead{max-width:700px;font-size:1.12rem}.game-page .review-card,.game-page .result-card,.game-page .public-vote-feed{border-color:var(--game-border);background:var(--game-panel);border-radius:24px;box-shadow:0 18px 52px #00000021}.game-page .review-card img,.game-page .review-card .image-placeholder{border-radius:18px}.game-page .choice-grid button,.game-page .voting-option{border-color:var(--game-border);background:var(--game-panel);min-height:72px;transition:transform var(--motion-fast) ease, border-color var(--motion-base) ease, background var(--motion-base) ease;border-radius:18px}.game-page .choice-grid button:hover,.game-page .voting-option:hover:not(:disabled){transform:translateY(-2px)}.game-page .choice-grid button.selected,.game-page .voting-option.selected{border-color:var(--game-voting);background:var(--game-voting-soft);box-shadow:inset 0 0 0 1px var(--game-voting)}.game-page .vote-progress-line span{background:linear-gradient(90deg, var(--game-voting), #b8adff)}.game-page .sticky-actions{border:1px solid var(--game-border);background:var(--game-command);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:18px;box-shadow:0 18px 48px #0000003d}.game-page .role-screen{min-height:calc(100svh - 76px);padding:46px 20px 40px}.game-page .role-card{border-radius:30px;box-shadow:0 28px 90px #00000059}.game-page .role-card.revealed{animation:role-unseal .56s var(--ease-out)}.game-page .lobby-layout{padding-top:38px}.game-page .settings-card,.game-page .lobby-invite-card,.game-page .roster-card{border-radius:22px}.game-page .terminal-card{background:var(--game-panel);border-radius:30px}.game-page .result-card{animation:verdict-enter .56s var(--ease-out)}.game-page .connection-banner{top:calc(max(8px, env(safe-area-inset-top)) + 76px);z-index:70;border-radius:0 0 12px 12px;align-items:center;gap:8px;display:flex}.game-page .game-toast-region{top:calc(max(16px, env(safe-area-inset-top)) + 84px);right:max(12px, env(safe-area-inset-right));align-content:start;width:min(360px,100vw - 24px);bottom:auto}.game-page .game-toast-region .toast{max-height:min(120px,30dvh);color:var(--text-1);background:color-mix(in srgb, var(--game-panel-strong) 96%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.game-page .game-toast-region .toast-success{color:var(--game-ready)}.game-page .game-toast-region .toast-info{color:var(--game-lobby)}.game-page .game-toast-region .toast-body>span:first-child{color:var(--text-1)}.game-page .avatar-phase-bar{--avatar-accent:var(--avatar-dark)}html[data-theme=light] .game-page .avatar-phase-bar{--avatar-accent:var(--avatar-light)}.game-page .avatar-phase-bar .phase-identity{border-color:color-mix(in srgb, var(--avatar-accent) 58%, var(--game-border));background:color-mix(in srgb, var(--avatar-accent) 7%, var(--surface-1));box-shadow:inset 3px 0 0 color-mix(in srgb, var(--avatar-accent) 78%, transparent)}html[data-theme=light] .game-page .avatar-phase-bar .phase-identity{background:color-mix(in srgb, var(--avatar-accent) 5%, #fffdf8)}.game-page .avatar-accent-card{border-color:color-mix(in srgb, var(--avatar-accent) 34%, var(--game-border));background-color:color-mix(in srgb, var(--avatar-accent) 5%, var(--game-panel))}.game-page .avatar-accent-card:hover,.game-page .avatar-accent-card:focus-visible,.game-page .avatar-accent-card:focus-within{border-color:color-mix(in srgb, var(--avatar-accent) 62%, var(--game-border));background-color:color-mix(in srgb, var(--avatar-accent) 9%, var(--game-panel))}.game-page .voting-option.selected.avatar-accent-card{border-color:var(--game-voting);outline-color:var(--avatar-accent)}.game-page .result-player.avatar-accent-card{border-left-color:var(--success)}.game-page .result-player-imposter.avatar-accent-card{border-left-color:var(--danger)}.game-page .ballot-party.avatar-compact-card{border-radius:10px;padding:5px 7px}.game-page .avatar-dashboard{min-width:0}.game-page .role-screen.avatar-dashboard,.game-page .meeting-view.avatar-dashboard,.game-page .game-content.avatar-dashboard{overflow:hidden}@keyframes game-card-enter{0%{opacity:0;transform:translateY(16px)scale(.985)}}@keyframes role-unseal{0%{opacity:.45;transform:translateY(10px)scale(.97)}}@keyframes verdict-enter{0%{opacity:0;transform:translateY(20px)scale(.98)}65%{transform:translateY(-3px)scale(1.01)}}@keyframes task-proof-pop{0%{opacity:0;transform:scale(.55)rotate(-12deg)}70%{transform:scale(1.12)rotate(2deg)}}@media (max-width:1099px){.game-page .task-command-shell{grid-template-columns:1fr;width:min(100% - 36px,900px)}.game-page .game-context-rail{grid-row:1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));position:static}.game-page .live-identity-card,.game-page .context-progress-card,.game-page .elimination-history-card,.game-page .meeting-action-rail{min-height:160px}.game-page .header-game-status{min-width:min(390px,44vw)}.game-page .header-game-status .timer small,.game-page .utility-label{display:none}.game-page .game-utility-button{padding:0}}@media (max-width:760px){.game-page{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.game-page .phase-bar{min-height:70px;padding:max(7px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 7px max(10px, env(safe-area-inset-left))}.game-page .phase-bar-inner{gap:8px}.game-page .phase-primary{flex:1;gap:8px}.game-page .phase-label{gap:7px;font-size:.82rem}.game-page .phase-icon{width:42px;height:42px}.game-page .header-game-status{flex:1;gap:8px;min-width:0}.game-page .header-game-status .progress-block{display:none}.game-page .header-game-status .timer{min-width:62px;padding-left:8px}.game-page .header-game-status .timer span{font-size:1.25rem}.game-page .phase-utilities{gap:6px}.game-page .phase-identity{border-radius:12px;width:42px;min-width:42px;padding:3px}.game-page .phase-identity>span:last-child{display:none}.game-page .game-utility-button,.game-page .theme-toggle-game{border-radius:12px;width:42px;min-width:42px;height:42px}.game-page .task-command-shell{gap:18px;width:min(100% - 24px,620px);padding-top:22px}.game-page .game-context-rail{grid-row:auto;grid-template-columns:1fr}.game-page .live-identity-card{min-height:82px}.game-page .context-progress-card{min-height:0}.game-page .meeting-action-rail{min-height:0;padding-bottom:84px}.game-page .meeting-action-rail .meeting-call-button{z-index:55;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));border-radius:17px;width:auto;min-height:58px;position:fixed;box-shadow:0 18px 48px #00000052}.game-page .task-list{grid-template-columns:1fr;gap:12px}.game-page .task-card{border-radius:18px;grid-template-columns:minmax(0,1fr) 88px;min-height:138px}.game-page .task-card-main{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:16px}.game-page .task-number{border-radius:12px;width:40px;height:40px}.game-page .task-proof{width:88px;padding:8px}.game-page .task-proof img,.game-page .task-proof>span{width:60px;height:50px}.game-page .task-command-main .section-heading h1{font-size:2.55rem}.game-page .task-command-main .section-heading>.button{display:inline-flex}.game-page .meeting-view{width:min(100% - 28px,620px);padding-top:34px}.game-page .meeting-view>h1{font-size:clamp(3rem,16vw,4.8rem)}.game-page .voting-grid{grid-template-columns:1fr}.game-page .connection-banner{top:calc(max(7px, env(safe-area-inset-top)) + 70px)}.game-page .dialog:not(.image-preview-dialog){border-radius:20px;width:min(100% - 24px,650px);max-height:min(86dvh,760px);margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}@media (max-width:390px){.game-page .phase-label{gap:0;font-size:0}.game-page .task-command-shell{width:calc(100% - 20px)}.game-page .task-card{grid-template-columns:1fr}.game-page .task-proof{text-align:left;border-left:0;border-top:1px solid var(--game-border);justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 12px;display:flex}.game-page .task-proof img,.game-page .task-proof>span{width:40px;height:36px}.game-page .task-proof small{white-space:nowrap;margin:0;font-size:.72rem;line-height:1}}@media (prefers-reduced-motion:reduce){.game-page .task-card,.game-page .role-card.revealed,.game-page .result-card{animation:none!important}.game-page .task-card:hover,.game-page .choice-grid button:hover,.game-page .voting-option:hover{transform:none!important}.game-page .progress span{transition:none!important}}
