@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";.room-controls{overflow-wrap:anywhere}.room-controls .ready-main-action,.room-controls .start-game-action{width:100%;justify-content:center}.room-controls .ready-main-action{min-height:48px;margin-top:0}.room-controls .ready-main-action[aria-pressed=true]{border-color:#91cda65c;color:#b9e9c5;background:#91cda618}.ready-count{display:flex;gap:12px;align-items:baseline;margin:20px 0 14px}.ready-count>strong{color:#f5c797;font-size:34px;line-height:1}.ready-count strong small{color:#b9a9bd;font-size:18px;font-weight:500}.ready-count>span{font-size:12px}.lobby-checklist{display:grid;gap:9px;margin-top:18px;font-size:12px;color:#b7a7b8}.lobby-checklist .is-complete{color:#b6dec0}.room-controls .control-note{font-size:12px;line-height:1.7}.room-controls .panel-connection-note,.panel-connection-note{padding:9px 11px;background:#f3c48910;border-radius:8px;color:#f3ca99;font-size:12px;line-height:1.6}.phase-time-track{overflow:hidden;height:4px;background:#fff1;border-radius:8px;margin:14px 0}.phase-time-track i{display:block;height:100%;background:#edbb8d;border-radius:inherit;transition:width .4s linear}.control-urgent .phase-time-track i{background:#f498ab}.last-call{padding:10px;border-radius:9px;background:#ef7c9020;color:#ffb4c0;font-size:12px}.ballot-progress{display:flex;justify-content:space-between;gap:10px;padding:12px;border:1px solid #e4ba9630;border-radius:10px;color:#bfafc1;font-size:12px}.ballot-progress b{color:#f5c797;font-size:20px}.round-result-title{color:#f8cda4;font-size:20px}.room-rally{padding-top:16px;margin-top:18px;border-top:1px solid #ffffff14}.room-rally .rally-button{width:100%;min-height:42px;padding:10px;font-size:12px;line-height:1.5}.room-rally .rally-receipt{margin:9px 0 0;color:#c9b5ca;font-size:11px;line-height:1.6}.composer-help{display:flex;justify-content:space-between;gap:10px;color:#b4a5b9;font-size:11px;margin:8px 0 0}.composer-help .over-limit{color:#ff9bac;font-weight:700}.composer-error{border:1px solid #eaa0a73a;padding:9px 11px;border-radius:8px;background:#e6809010;color:#ffb5c0;font-size:12px;line-height:1.6;margin:8px 0 0}.room-chat-panel .free-chat-composer textarea{flex:1;width:100%;min-width:0;resize:vertical;min-height:50px;max-height:160px;padding:11px 12px;border:1px solid #fff3;border-radius:10px;color:#fff4e8;background:#131017;font:inherit;font-size:16px;line-height:1.5}.room-chat-panel .free-chat-composer button{min-width:44px;min-height:48px;align-self:stretch}.free-chat-composer textarea:focus-visible,.speech-input:focus-visible{outline:2px solid #eab88b;outline-offset:2px}.free-chat-message small{display:flex;gap:9px;justify-content:space-between;align-items:baseline}.free-chat-message time{flex:none;color:#b4a3b3;font-size:10px}.free-chat-message p,.speech-text,.vote-clue,.recap-statements p{white-space:pre-wrap;overflow-wrap:anywhere}.free-chat-feed:focus-visible,.speech-feed:focus-visible{outline:2px solid #eab88b;outline-offset:2px}.new-messages-button{align-self:center;margin:9px auto 0;display:block;background:#edbc9020;color:#f6c99c;border:1px solid #f4c79d44;border-radius:20px;padding:8px 14px;min-height:36px;font-size:12px}.speech-queue-heading{display:flex;justify-content:space-between;gap:12px;color:#bfaac0;font-size:11px;margin:18px 0 10px}.speech-queue-heading b{color:#f0c49c;font-weight:500}.speaking-queue{display:flex;gap:8px;padding:5px 2px 12px;list-style:none;margin:0;overflow-x:auto;scrollbar-width:thin}.speaking-queue li{flex:0 0 66px;display:flex;align-items:center;flex-direction:column;gap:5px;border:1px solid transparent;border-radius:10px;padding:8px 4px;color:#b3a1b6;font-size:10px}.speaking-queue li>strong{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}.queue-avatar{position:relative;display:block;width:32px;height:32px}.queue-avatar>.character-avatar{width:100%;height:100%;border-radius:50%}.queue-avatar small{position:absolute;right:-6px;bottom:-3px;background:#312739;color:#d5c1d7;border:1px solid #766477;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font-size:9px}.speaking-queue .current{background:#edbe8b19;border-color:#edbe8b69;color:#f5c99b}.speaking-queue .current .queue-avatar small{background:#edbe8b;color:#30232c}.speaking-queue .done{color:#acd6b5}.speaking-queue .done .queue-avatar{opacity:.75}.speaking-queue .skipped{color:#d09d9f}.speaking-queue .skipped .queue-avatar{opacity:.55}.speech-panel .speaker-status{margin-top:12px;line-height:1.5}.speech-panel .speaker-status strong{min-width:0;overflow-wrap:anywhere}.speech-panel .speaker-status.speaker-urgent.my-turn{border-color:#e899a5;background:#d36d8519}.speech-panel .speech-angle-hint{font-size:12px;color:#d4bdca;line-height:1.6;margin:-2px 0 12px}.speech-panel .prompt-chips{justify-content:space-between;margin-top:14px}.speech-panel .prompt-chip{min-height:34px;padding:6px 10px;font-size:11px}.speech-panel .speech-input{resize:vertical;min-height:86px;max-height:240px;font-size:16px;line-height:1.6}.speech-panel .speech-send{min-height:44px}.is-my-speaking-turn{border-color:#eabb8866}.vote-dialog h2:focus{outline:none}.vote-dialog .vote-time-urgent{color:#ffa4b4}.vote-turnout{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;color:#c2aec1;padding:10px 0 0}.vote-dialog .vote-candidate{min-height:178px}.vote-dialog .vote-candidate[aria-checked=true]{box-shadow:0 0 0 2px #eac19215}.vote-dialog .vote-candidate:disabled{opacity:.65}.vote-dialog .vote-candidate .vote-clue{max-height:10em;overflow-y:auto}.candidate-offline{color:#d1a7a8;font-size:10px}.vote-confirmation{border:1px solid #eabb8850;background:#edbe8b0d;border-radius:10px;padding:12px 14px}.vote-confirmation>span{display:block;color:#c8b2c5;font-size:11px;margin-bottom:6px}.vote-confirmation>strong{color:#f7cc9d;font-size:18px;overflow-wrap:anywhere}.vote-confirmation p{margin:6px 0 0;font-size:12px;color:#d7c0d0}.truth-content{min-width:0}.truth-word-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;background:#ffffff04;border:1px solid #ffffff15;padding:18px 12px;margin-top:18px;border-radius:12px;text-align:center}.truth-word-pair small{display:block;color:#c6afc4;font-size:11px;margin-bottom:7px}.truth-word-pair strong{color:#f6c99b;font-size:clamp(20px,4vw,28px);overflow-wrap:anywhere}.truth-word-pair>b{font-size:11px;color:#a48ba4}.reveal-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 0;color:#d8bad0;font-size:12px}.reveal-progress button{min-height:36px;border:1px solid #ebc29140;color:#f0c296;background:#edbe8b10;border-radius:8px;padding:7px 10px;font-size:11px}.truth-face-up{animation:truth-card-arrive .35s ease both}.truth-grid .truth-face-down{background:repeating-linear-gradient(45deg,#ffffff03 0,#ffffff03 8px,transparent 8px,transparent 16px)}.truth-face-down .truth-word{color:#b49ab6}.truth-player-score{border-radius:14px;padding:5px 8px;color:#c9adc8;background:#ffffff09;font-size:11px}.truth-player-score.won{background:#eebf8d15;color:#f0c899}.game-scoreboard{border-top:1px solid #ffffff19;padding-top:18px;margin-top:20px}.scoreboard-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.scoreboard-heading h3{margin:0;font-size:17px;color:#f1d5c2}.scoreboard-switch{display:flex;gap:2px;border:1px solid #ffffff20;border-radius:9px;padding:3px;background:#110d1626}.scoreboard-switch button{min-height:33px;border:0;border-radius:6px;padding:6px 12px;font-size:12px;background:transparent;color:#b6a0b6}.scoreboard-switch button[aria-pressed=true]{color:#f5c597;background:#f3c3941c}.score-ranking{padding:0;margin:0;list-style:none}.score-ranking>li{display:grid;grid-template-columns:20px 26px minmax(0,1fr) auto;align-items:start;gap:10px;border-bottom:1px solid #ffffff10;padding:14px 6px}.score-ranking>li.my-score{background:#eabb8f09;border-radius:9px}.score-rank{color:#b7a3b8;font-size:12px;padding-top:3px}.score-ranking>li:first-child .score-rank{color:#f1c08b;font-weight:700}.score-ranking>li>div>strong{font-size:13px;font-weight:600;color:#efd9e4;overflow-wrap:anywhere}.score-ranking>li>div>small{display:block;color:#ad97ad;font-size:11px;line-height:1.6;margin-top:5px}.score-ranking>li>b{text-align:right;font-size:22px;color:#f1c294;white-space:nowrap}.score-ranking>li>b small{display:block;font-size:10px;color:#ab95a9;font-weight:400}.score-breakdown{margin-top:8px;font-size:11px;color:#bca5bb}.score-breakdown summary{cursor:pointer;color:#d4b7ce;padding:4px 0}.score-breakdown p{display:flex;justify-content:space-between;gap:12px;margin:5px 0;padding-right:7px}.score-breakdown p b{color:#d9c2d5}.score-caption{margin:12px 0 0;color:#ad96ab;font-size:11px;line-height:1.7}.round-recap{margin:24px 0}.round-recap>h3{margin:0 0 14px;color:#f0d4c2;font-size:18px}.round-recap h3 small{font-size:12px;font-weight:400;color:#b7a0b7}.round-recap .round-history{border-top:1px solid #ffffff18;padding:14px 0}.round-recap .round-history summary{line-height:1.7;font-size:13px}.recap-statements{display:grid;gap:8px}.recap-statements>div{background:#ffffff05;border-radius:8px;padding:10px 12px}.recap-statements b{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#dfc4d5}.recap-statements b small{font-size:11px;color:#e6bc98;font-weight:400;white-space:nowrap}.recap-statements p{margin:7px 0 0}.recap-ballots{display:flex;flex-wrap:wrap;gap:8px}.recap-ballots h4{width:100%;margin:17px 0 4px;font-size:12px;color:#c2a7bd}.recap-ballots>span{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:11px;padding:7px 10px;border-radius:6px;background:#e8c69909;color:#c8afc3}.recap-ballots b{font-weight:500}.recap-ballots i{font-style:normal;color:#e6bb90}.truth-actions{margin-top:20px;padding-top:18px;border-top:1px solid #ffffff15}@keyframes truth-card-arrive{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.score-ranking>li{gap:7px;grid-template-columns:15px 22px minmax(0,1fr) auto}.score-ranking>li>b{font-size:20px}.score-ranking>li>div>small{font-size:10px}.speaking-queue li{flex-basis:60px}.truth-content .truth-card{padding:13px 8px}.vote-dialog .vote-candidate{min-height:160px}.truth-actions{justify-content:stretch}.truth-actions button{flex:1}}@media(prefers-reduced-motion:reduce){.truth-face-up{animation:none}.phase-time-track i{transition:none}.speech-item{animation:none}}.vote-dialog.ballot-dialog[open]{display:flex;flex-direction:column;height:min(780px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow:hidden}.ballot-dialog .vote-dialog-head,.ballot-dialog .vote-dialog-hint,.ballot-dialog .vote-turnout,.ballot-dialog .vote-dialog-footer{flex:none}.ballot-dialog .vote-candidates{flex:1;min-height:70px;overflow-y:auto;overscroll-behavior:contain;align-content:start;align-items:start;padding:4px;margin:14px -4px;scrollbar-width:thin}.vote-candidate-card{min-width:0;display:flex;flex-direction:column;gap:5px}.ballot-dialog .vote-candidate{width:100%;min-height:172px}.candidate-history-toggle{min-height:40px;padding:7px 9px;color:#e6bd99;border:1px solid #efcba52b;border-radius:9px;background:#efcba508;font-size:11px}.candidate-history-toggle:focus-visible,.chat-channel-switch button:focus-visible,.clue-player-picker select:focus-visible{outline:2px solid #eab88b;outline-offset:2px}.candidate-history-toggle[aria-expanded=true]{background:#efcba516}.candidate-clue-history{border:1px solid #efcba52b;border-radius:9px;padding:10px}.ballot-dialog .vote-dialog-footer{padding-top:14px;border-top:1px solid #ffffff1a;gap:9px}.ballot-dialog .vote-confirmation{padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:5px 10px}.ballot-dialog .vote-confirmation>span{margin:0}.ballot-dialog .vote-confirmation>strong{font-size:16px}.ballot-dialog .vote-confirmation p{grid-column:1 / -1;margin:0;font-size:11px}.ballot-dialog .vote-dialog-footer>span{font-size:11px;line-height:1.6}.clue-history-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #a8836c;border-radius:20px;color:#fff4e8;background:#211a25;box-shadow:0 24px 100px #0009}.clue-history-dialog[open]{display:flex;flex-direction:column}.clue-history-dialog::backdrop{background:#080610bb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.clue-history-head{display:flex;flex:none;align-items:center;gap:12px}.clue-history-head>div{flex:1;min-width:0}.clue-history-head h2{margin:6px 0 0;font-size:22px;overflow-wrap:anywhere}.clue-history-head h2:focus{outline:none}.clue-history-avatar{display:block;flex:none;width:46px;height:46px;overflow:hidden;border-radius:50%}.clue-history-avatar .character-avatar{width:100%;height:100%}.clue-player-picker{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:#cbb5c9;font-size:12px}.clue-player-picker select{flex:1;min-width:0;min-height:40px;padding:8px 10px;color:#fff4e8;border:1px solid #efcba544;border-radius:9px;background:#17121c;font:inherit;font-size:16px}.clue-history-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}.player-clue-list{padding:0;margin:0;list-style:none;display:grid;gap:10px}.player-clue-list>li{min-width:0;padding:12px;border:1px solid #ffffff12;border-radius:9px;background:#ffffff04}.player-clue-list>li>span{font-size:11px;color:#e6bd99}.player-clue-list p{margin:7px 0 0;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;color:#f1d6e6}.player-clue-list .clue-unavailable,.clue-history-empty{font-size:12px;color:#ae98ac;line-height:1.7}.candidate-clue-history .player-clue-list{gap:8px}.candidate-clue-history .player-clue-list>li{padding:0;border:0;border-radius:0;background:none}.candidate-clue-history .player-clue-list p{font-size:12px;margin-top:4px}.chat-channel-switch{display:flex;gap:4px;padding:4px;border-radius:10px;border:1px solid #ffffff20;margin-top:14px}.chat-channel-switch button{flex:1;min-height:38px;padding:8px;border:0;border-radius:7px;color:#c7afc4;background:none;font-size:12px}.chat-channel-switch button[aria-pressed=true]{color:#f5c597;background:#f3c3941c}.speech-panel .reaction-button:disabled{opacity:.5;cursor:default}@media(max-width:760px){.conversation-grid .speech-panel{display:flex;flex-direction:column;padding:16px}.speech-panel>.speech-head{order:0}.speech-panel>.speech-action{order:1}.speech-panel>.speech-queue-heading{order:2;margin-top:15px}.speech-panel>.speaking-queue{order:3}.speech-panel>.speech-feed{order:4;max-height:290px}.speech-panel>.new-messages-button{order:5}.speech-panel>.speech-tip{order:6}.speech-panel .speech-head h2{font-size:21px;margin:5px 0}.speech-panel .speech-head p{margin:4px 0 0;font-size:11px}.speech-panel .speech-head .section-overline{font-size:9px}.speech-panel .speaker-status{margin-top:12px;padding:9px 11px}.speech-panel .prompt-chips{margin-top:8px}.speech-panel .speech-angle-hint{margin-bottom:8px}.speech-panel .speech-input{min-height:76px}.speech-panel .speaking-queue{gap:5px;padding-bottom:8px}.speech-panel .speaking-queue li{flex-basis:56px;gap:4px;padding:5px 3px}.speech-panel .queue-avatar{width:24px;height:24px}.speech-panel .queue-avatar small{width:15px;height:15px;font-size:8px}.speech-panel .speaking-queue li>strong{max-width:50px;font-size:10px}.clue-history-dialog{padding:18px}.clue-history-head h2{font-size:20px}.ballot-dialog .vote-candidates{gap:10px}.ballot-dialog .vote-avatar{width:44px;height:44px}.ballot-dialog .vote-candidate{min-height:151px;padding:12px 8px;gap:7px}}@media(max-height:600px){.ballot-dialog .vote-dialog-head h2{font-size:19px;margin:5px 0}.ballot-dialog .vote-confirmation p,.ballot-dialog .vote-dialog-footer>span{display:none}.ballot-dialog .vote-dialog-hint{margin:5px 0}.ballot-dialog .vote-turnout{padding-top:4px}.ballot-dialog .vote-dialog-footer{padding-top:8px;gap:6px}}:root{font-family:DM Sans,PingFang SC,Microsoft YaHei,sans-serif;color:#f5eee8;background:#0c0a10;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #0c0a10;--panel: rgba(31, 25, 34, .87);--panel-solid: #201a23;--line: rgba(232, 206, 190, .14);--line-bright: rgba(245, 203, 158, .35);--cream: #f5eee8;--muted: #b8aab0;--faint: #8b7f89;--gold: #f3c38c;--red: #bd5860;--green: #8bc9a3}*{box-sizing:border-box}html{min-width:320px;background:var(--ink)}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{color:#140f17;background:var(--gold)}.app{position:relative;display:flex;flex-direction:column;min-height:100svh;overflow:hidden;isolation:isolate;background:#0d0b11}.app:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background-image:radial-gradient(rgba(251,217,185,.12) .55px,transparent .55px);background-size:6px 6px;opacity:.13}.hero-art{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#0b090fe0,#0c080f8c 39%,#0c080f1f 72%),linear-gradient(180deg,#0c080f5c,#0c080f14 42%,#0c0a10 99%),url(/assets/mystery-salon.jpg) center center / cover no-repeat}.in-room .hero-art{position:fixed;background:linear-gradient(90deg,#0c0910f2,#0c0910de),linear-gradient(180deg,#0c080f85,#0c0a10),url(/assets/mystery-salon.jpg) center / cover no-repeat}.ambient{position:absolute;z-index:-1;width:500px;height:500px;border-radius:50%;filter:blur(95px);pointer-events:none}.ambient-one{right:-230px;top:10%;background:#7a2b4d26}.ambient-two{left:-320px;bottom:-350px;background:#8641321a}.topbar,.home-layout,.room-layout,.footer{width:min(100% - 80px,1380px);margin-inline:auto}.topbar{min-height:103px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(245,218,201,.13)}.brand{display:flex;align-items:center;gap:12px;color:var(--cream);font-size:22px;font-weight:700;letter-spacing:.09em;line-height:1.1;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;border:1px solid rgba(252,207,156,.43);color:var(--gold);background:linear-gradient(145deg,#f2bd8721,#c2555b17);box-shadow:inset 0 1px #ffffff24,0 7px 24px #00000038;transform:rotate(-8deg)}.brand-light{color:#e8d6cb;font-weight:400}.brand small{display:block;margin-top:5px;color:var(--gold);font:600 9px/1 Outfit,sans-serif;letter-spacing:.3em}.top-actions{display:flex;align-items:center;gap:18px}.connection{display:inline-flex;align-items:center;gap:7px;color:#dac9c5;font-size:12px;white-space:nowrap}.connection .drawn-icon{color:#d9a276}.connection.online .drawn-icon{color:var(--green)}.icon-link{display:inline-flex;align-items:center;gap:8px;padding:9px 2px;border:0;background:transparent;color:#e8d5cd;font-size:13px;transition:color .2s,transform .2s}.icon-link:hover{color:var(--gold);transform:translateY(-2px)}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(355px,416px);align-items:center;gap:clamp(24px,7vw,120px);flex:1;min-height:690px;padding-block:60px 76px}.home-copy{position:relative;z-index:1;align-self:center;max-width:730px;padding-bottom:20px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.18em}.eyebrow-line{display:inline-block;width:26px;height:1px;background:var(--gold);box-shadow:0 0 12px var(--gold)}.home-copy h1,.room-heading h1{margin:28px 0 22px;font-family:Songti SC,"Noto Serif CJK SC",STSong,serif;font-size:clamp(50px,5.2vw,84px);font-weight:700;line-height:1.32;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 3px 28px rgba(0,0,0,.26)}.home-copy h1 em{color:#f1b795;font-style:normal;background:linear-gradient(180deg,#ffe4bd,#e38e7e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.home-copy>p{margin:0;color:#e1d3d2;font-size:clamp(15px,1.35vw,18px);line-height:2.05;text-shadow:0 2px 12px rgba(0,0,0,.6)}.feature-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.feature-row span{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 13px;border:1px solid rgba(245,220,200,.19);border-radius:100px;background:#130f1580;color:#e6d8d2;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.feature-row .drawn-icon{color:var(--gold)}.home-decoration{display:flex;align-items:center;gap:14px;margin-top:92px;color:#bfa9a9;font-size:11px;letter-spacing:.13em}.deco-ring{display:grid;place-items:center;width:33px;height:33px;border:1px solid rgba(248,207,159,.38);border-radius:50%;color:var(--gold);font:22px Songti SC,serif;transform:rotate(-16deg)}.entry-card,.table-panel,.side-panel{border:1px solid var(--line);background:var(--panel);box-shadow:0 26px 80px #0000005c,inset 0 1px #ffffff0b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.entry-card{position:relative;overflow:hidden;padding:32px;border-radius:23px}.entry-card:before,.entry-card:after{position:absolute;content:"";pointer-events:none}.entry-card:before{top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,217,169,.12),transparent 26%,transparent 78%,rgba(191,74,91,.11))}.entry-card:after{width:170px;height:1px;top:0;left:30px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.entry-glow{position:absolute;top:-180px;right:-110px;width:300px;height:300px;border-radius:50%;background:#c4665c21;filter:blur(65px);pointer-events:none}.entry-head{position:relative}.card-kicker,.section-overline{color:var(--gold);font:600 10px/1.3 Outfit,sans-serif;letter-spacing:.23em}.entry-head h2{margin:10px 0 5px;font:700 28px/1.35 Songti SC,STSong,serif}.entry-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.tab-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:28px 0 24px;padding:4px;border-radius:11px;border:1px solid rgba(240,207,187,.09);background:#0c0a108f}.tab-switch button{min-height:39px;border:0;border-radius:8px;background:transparent;color:#ad9ea8;font-size:13px;transition:background .2s,color .2s,box-shadow .2s}.tab-switch button:hover{color:#fff}.tab-switch button.active{color:#f8ebdf;background:linear-gradient(145deg,#504047,#352b34);box-shadow:0 3px 9px #00000042,inset 0 1px #ffffff17}.field-label{display:block;margin:19px 0 9px;color:#e3d4ce;font-size:12px;font-weight:600;letter-spacing:.03em}.text-input{display:block;width:100%;height:46px;padding:0 15px;border:1px solid rgba(242,213,194,.19);border-radius:9px;outline:none;background:#0c0a1085;color:#fff9f4;font-size:14px;transition:border-color .2s,box-shadow .2s}.text-input::placeholder{color:#847880}.text-input:hover{border-color:#f2d5c257}.text-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f3c38c21}.code-input{text-transform:uppercase;letter-spacing:.2em}.avatar-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.avatar-picker button{display:grid;place-items:center;aspect-ratio:1;min-width:0;border:1px solid rgba(245,221,197,.11);border-radius:10px;background:#0c0a1059;font-size:22px;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}.avatar-picker button:hover{transform:translateY(-3px);border-color:#f3c38c7a;background:#f3c38c1a}.avatar-picker button.picked{border-color:var(--gold);background:#f2ba7c2e;box-shadow:0 0 0 2px #f2ba7c1a,inset 0 1px #ffffff21}.primary-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:47px;padding:10px 15px;border:1px solid rgba(255,235,205,.35);border-radius:10px;background:linear-gradient(130deg,#f3c58f,#eaa486 65%,#db8d87);box-shadow:0 8px 22px #d5736230,inset 0 1px #ffffff61;color:#2a1821;font-size:14px;font-weight:800;letter-spacing:.015em;transition:transform .2s,filter .2s,box-shadow .2s}.primary-button:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.07);box-shadow:0 13px 28px #d573624f,inset 0 1px #ffffff80}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.43;box-shadow:none;filter:grayscale(.45)}.primary-button.entrance{margin-top:26px}.entry-foot{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;color:#a89ba3;font-size:11px}.pulse-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #8bc9a31f,0 0 14px #8bc9a380}.footer{display:flex;justify-content:space-between;gap:20px;padding:21px 0 24px;border-top:1px solid rgba(245,218,201,.1);color:#a5989f;font-size:11px;letter-spacing:.04em}.footer i{margin:0 3px;font-style:normal;color:var(--gold)}.room-layout{flex:1;padding:45px 0 36px}.room-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.room-heading h1{margin:12px 0 8px;font-size:clamp(30px,3.1vw,44px);letter-spacing:-.02em}.room-heading p{margin:0;color:#c6b6bb;font-size:13px;line-height:1.7}.room-code-card{flex:none;display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 18px;padding:13px 17px;border:1px solid rgba(242,198,148,.27);border-radius:12px;background:#281f26b8;box-shadow:inset 0 1px #ffffff0d}.room-code-card>span{color:#b8a9af;font-size:11px}.room-code-card strong{grid-row:span 2;grid-column:2;color:#f9dbad;font:700 26px/1 Outfit,sans-serif;letter-spacing:.14em}.room-code-card button{display:flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:#f1c391;font-size:11px;text-align:left}.room-code-card button:hover{color:#fff}.game-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,365px);align-items:start;gap:20px}.main-column{display:grid;gap:16px;min-width:0}.main-column .speech-panel{margin-top:0}.table-panel.has-speech{min-height:0}.table-panel,.side-panel{border-radius:17px}.table-panel{position:relative;min-height:540px;padding:28px;overflow:hidden}.table-panel:before{position:absolute;content:"";width:500px;height:500px;left:50%;top:100px;transform:translate(-50%);border:1px solid rgba(213,164,130,.075);border-radius:50%;box-shadow:0 0 0 55px #d5a48205,0 0 0 115px #d5a48204;pointer-events:none}.section-top{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-bottom:26px}.section-top h2,.side-panel h2{margin:7px 0 0;font:700 22px/1.3 Songti SC,STSong,serif}.section-top h2 small{margin-left:7px;color:#b6a6ac;font:500 12px Outfit,sans-serif}.phase-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(247,197,141,.23);border-radius:100px;background:#f5b57d17;color:#ebc39c;font-size:11px;white-space:nowrap}.phase-pill.voting{border-color:#ed828a4d;background:#c44a5c21;color:#f5a4aa}.phase-pill.voting .pulse-dot{background:#f38e95;box-shadow:0 0 0 3px #f38e9521}.phase-pill.ended{border-color:#8bc9a345;background:#8bc9a317;color:#abdfb8}.player-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.player-card,.empty-seat{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:144px;padding:15px 7px 12px;border:1px solid rgba(244,220,201,.12);border-radius:13px;background:linear-gradient(160deg,#40313bb8,#1d1821cc);box-shadow:inset 0 1px #ffffff09,0 8px 20px #0000001f;text-align:center;transition:transform .24s,border-color .24s,box-shadow .24s,background .24s}.player-card:disabled{cursor:default}.player-card.self{border-color:#f2bd8378;background:linear-gradient(155deg,#67423dbf,#2c2028de);box-shadow:inset 0 1px #ffffff14,0 0 22px #e4855b1a}.player-card.eliminated{opacity:.54;filter:saturate(.45)}.player-card.selectable{cursor:pointer}.player-card.selectable:hover{z-index:2;transform:translateY(-6px) rotateX(4deg);border-color:#f6be89b8;box-shadow:0 13px 28px #00000059,0 0 22px #d1655826}.player-card.selected{z-index:3;transform:translateY(-5px);border-color:#f7ca96;background:linear-gradient(150deg,#7c4f43ed,#3d2a31f2);box-shadow:0 0 0 2px #f5b77c33,0 14px 32px #0000004a}.seat-number{position:absolute;left:10px;top:9px;color:#e6c5ad87;font:600 10px Outfit,sans-serif;letter-spacing:.08em}.player-avatar{display:grid;place-items:center;width:49px;height:49px;margin-bottom:9px;border-radius:50%;border:1px solid rgba(244,211,175,.2);background:radial-gradient(circle at 32% 18%,#ffebcf2b,#af5a5b29 54%,#1511194d);box-shadow:inset 0 1px #ffffff21,0 8px 13px #00000026;font-size:26px}.player-name{display:flex;align-items:center;justify-content:center;gap:5px;max-width:100%;color:#f3e6dc;font-size:12px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.player-name small{flex:none;padding:1px 4px;border-radius:3px;background:#f6c18a36;color:#f5c18d;font-size:9px}.player-meta{display:flex;align-items:center;gap:4px;margin-top:5px;color:#b7a7ae;font-size:10px}.player-meta .crown{color:var(--gold)}.selected-check{position:absolute;display:grid;place-items:center;width:20px;height:20px;right:8px;top:8px;border-radius:50%;background:var(--gold);color:#271923}.remove-player{position:absolute;display:grid;place-items:center;right:7px;top:7px;width:24px;height:24px;border-radius:50%;background:#d85c643d;color:#ffb8ba;cursor:pointer}.remove-player:hover{background:#ad4856;color:#fff}.empty-seat{gap:4px;border-style:dashed;background:#ffffff04;color:#d3b8ad}.empty-seat:hover{transform:translateY(-4px);border-color:var(--gold);background:#f4b37d17}.empty-seat>span{font:300 29px/1 Outfit,sans-serif;color:var(--gold)}.empty-seat small{font-size:11px}.table-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:13px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(244,213,191,.1);color:#ad9da4;font-size:11px}.table-footer span{display:flex;align-items:center;gap:7px}.table-footer .drawn-icon{color:#daae86}.side-column{display:grid;gap:16px}.side-panel{position:relative;overflow:hidden;padding:25px}.side-panel p{margin:12px 0 0;color:#bdadb3;font-size:12px;line-height:1.85}.side-panel .primary-button{margin-top:22px}.side-icon{display:grid;place-items:center;width:49px;height:49px;margin-bottom:23px;border:1px solid rgba(245,194,136,.37);border-radius:14px;background:linear-gradient(140deg,#f9b88133,#c3575b1f);color:var(--gold);transform:rotate(-6deg)}.lobby-panel{padding-top:33px}.lobby-panel h2{margin-top:9px;font-size:29px}.rule-mini{display:grid;gap:8px;margin:24px 0 4px}.rule-mini span{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid rgba(242,209,187,.1);border-radius:8px;color:#e4ad81;font:600 11px Outfit,sans-serif}.rule-mini b{color:#e9d9d3;font:500 12px DM Sans,PingFang SC,sans-serif}.waiting{display:flex;align-items:center;justify-content:center;gap:9px;min-height:45px;margin-top:18px;padding:10px;border:1px solid rgba(244,214,195,.13);border-radius:9px;background:#0a090e57;color:#d1bdba;font-size:12px;text-align:center}.spinner{width:14px;height:14px;border:2px solid rgba(242,195,140,.25);border-top-color:var(--gold);border-radius:50%}.subtle-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:35px;margin-top:10px;border:0;background:transparent;color:#a899a0;font-size:12px;transition:color .2s}.subtle-button:hover{color:var(--gold)}.word-panel{padding-bottom:20px}.word-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.word-heading h2{margin-top:10px}.word-heading p{margin:3px 0 0;font-size:11px}.word-heading .drawn-icon{color:var(--gold)}.word-card{height:160px;perspective:1000px}.word-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.65,.25,1)}.word-card.revealed .word-card-inner{transform:rotateY(180deg)}.word-face{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;top:0;right:0;bottom:0;left:0;overflow:hidden;border:1px solid rgba(248,209,168,.41);border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 0 0 5px #0a090e38,0 8px 24px #0003}.word-face:before{position:absolute;content:"";top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(250,213,174,.19);border-radius:6px;pointer-events:none}.word-back{background:radial-gradient(circle at 50% 0%,rgba(195,95,90,.27),transparent 58%),linear-gradient(135deg,#43313b,#1a1722);color:#f1bc8e}.word-back>span{color:#ead8cc;font-size:12px;letter-spacing:.05em}.word-back small,.word-front small{color:#aa9292;font:600 9px Outfit,sans-serif;letter-spacing:.19em}.word-front{background:radial-gradient(circle at 50% 10%,rgba(250,199,142,.18),transparent 55%),linear-gradient(135deg,#453039,#2c222e);transform:rotateY(180deg)}.word-front>span{color:#d6aaa0;font-size:11px}.word-front strong{max-width:95%;color:#ffe0b7;font:700 clamp(21px,2vw,30px) "Songti SC",serif;overflow-wrap:anywhere}.word-front small{color:#d0b7ac;font-family:DM Sans,PingFang SC,sans-serif;letter-spacing:0}.reveal-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;margin-top:12px;border:1px solid rgba(246,197,144,.28);border-radius:8px;background:#f4be8517;color:#f1c397;font-size:12px;font-weight:600;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .2s,border-color .2s}.reveal-button:hover,.reveal-button:active{border-color:#f6c590ad;background:#f4be8529}.action-panel h2{margin-top:11px;font-size:24px}.action-note{display:flex;align-items:center;gap:9px;margin-top:20px;padding:12px;border:1px solid rgba(242,195,143,.15);border-radius:8px;background:#f6c1880f;color:#dec2ab;font-size:11px}.action-note .drawn-icon{flex:none;color:var(--gold)}.vote-progress{margin-top:20px}.vote-progress>span{color:#dcc5be;font-size:11px}.vote-progress>div{height:6px;margin-top:9px;overflow:hidden;border-radius:100px;background:#ffffff1a}.vote-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b94f61,#f2bf8d);transition:width .3s}.result-stamp{display:inline-flex;margin-top:22px;padding:9px 14px;border:1px solid rgba(239,155,154,.35);border-radius:7px;color:#f2a5a6;background:#be465924;font-weight:700;font-size:13px;letter-spacing:.12em;transform:rotate(-3deg)}.result-stamp.spy-found{border-color:#91dba154;color:#b3e2b6;background:#61ae751f}.end-symbol{display:grid;place-items:center;width:54px;height:54px;margin-top:21px;border:1px solid rgba(245,196,134,.38);border-radius:50%;background:#f4bf8421;color:var(--gold);font-size:32px}.answer-box{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;margin-top:20px;border:1px solid rgba(243,197,148,.15);border-radius:9px;background:#f7cfa61f}.answer-box>div{display:grid;gap:4px;padding:13px;background:#26202b}.answer-box span,.answer-box small{color:#bca9ad;font-size:10px}.answer-box strong{color:#f7d1a6;font:700 18px Songti SC,serif;overflow-wrap:anywhere}.answer-box small{grid-column:1 / -1;padding:10px 12px;background:#201b25}.room-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-top:22px;color:#a899a0;font-size:11px}.room-bottom span,.room-bottom button{display:inline-flex;align-items:center;gap:7px}.room-bottom .drawn-icon{color:var(--gold)}.room-bottom button{padding:0;border:0;background:none;color:#c9b3ac;font-size:11px}.room-bottom button:hover{color:var(--gold)}.speech-panel{position:relative;isolation:isolate;min-width:0;margin-top:22px;padding:22px;overflow:hidden;border:1px solid rgba(245,198,150,.3);border-radius:16px;background:radial-gradient(ellipse at 50% -35%,rgba(234,146,101,.22),transparent 60%),linear-gradient(155deg,#3f2c35f5,#1b1720fa 68%);box-shadow:0 22px 50px #0003,inset 0 1px #ffefd71f}.speech-panel:before{position:absolute;z-index:1;top:0;left:22px;width:min(210px,48%);height:2px;content:"";background:linear-gradient(90deg,transparent,#fbd7a6,transparent);box-shadow:0 0 24px #fabc7d80}.speech-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}.speech-head h2,.speech-head h3{margin:0;color:#fff0df;font:700 clamp(19px,2vw,25px)/1.3 "Songti SC","STSong",serif}.speech-head p,.speech-head small{margin:0;color:#c8adb0;font-size:11px;line-height:1.6}.speech-progress{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:10px 0 16px;color:#ecc49c;font-size:11px}.speech-progress>span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:26px;padding:3px 8px;border:1px solid rgba(247,203,155,.2);border-radius:100px;background:#f8c28a12}.speech-progress>.active,.speech-progress>.current{border-color:#ffdbabc7;background:#f9bf833b;color:#fff1d4;box-shadow:0 0 16px #f1a26547}.speech-progress>.done,.speech-progress>.complete{border-color:#8bc9a352;color:#abdabb}.speech-spotlight{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 15px;min-height:88px;margin:0 0 17px;padding:17px 24px;overflow:hidden;border:1px solid rgba(255,213,159,.38);border-radius:13px;background:radial-gradient(ellipse at 50% -70%,rgba(255,219,158,.42),transparent 78%),linear-gradient(115deg,#94514a73,#412a3491 52%,#94514a59);box-shadow:inset 0 1px #fff4da26,0 13px 30px #08060b3b,0 0 26px #f197671c;color:#ffe5be;text-align:center;font-family:Songti SC,STSong,serif;font-size:clamp(16px,2vw,21px);font-weight:700;text-wrap:balance;animation:spotlight-enter .55s cubic-bezier(.2,.8,.2,1) both}.speech-spotlight:before,.speech-spotlight:after{position:absolute;content:"";pointer-events:none}.speech-spotlight:before{top:-60px;right:18%;bottom:30%;left:18%;border-radius:50%;background:#ffc88221;filter:blur(22px)}.speech-spotlight:after{top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(255,231,190,.12);border-radius:8px}.speech-spotlight>*{position:relative;z-index:1}.speech-feed{display:flex;flex-direction:column;gap:11px;min-height:145px;max-height:min(42svh,380px);padding:15px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(248,208,177,.12);border-radius:12px;background:#0a090f66;scrollbar-color:rgba(235,182,136,.38) transparent;scrollbar-width:thin}.speech-empty{display:grid;place-content:center;flex:1;min-height:110px;padding:16px;color:#bcabb2;font-size:12px;line-height:1.7;text-align:center}.speech-empty .drawn-icon{justify-self:center;margin-bottom:7px;color:var(--gold);opacity:.8}.speech-item{display:flex;align-items:flex-start;gap:10px;min-width:0;animation:clue-arrive .4s cubic-bezier(.2,.85,.2,1) both}.speech-item.self,.speech-item.mine{flex-direction:row-reverse}.speech-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid rgba(250,211,172,.3);border-radius:11px;background:linear-gradient(145deg,#f7b27930,#a252561f);box-shadow:inset 0 1px #fff1dc21,0 5px 12px #0003;font-size:20px}.speech-bubble{min-width:0;max-width:min(100%,680px);padding:10px 13px;border:1px solid rgba(241,211,189,.14);border-radius:5px 12px 12px;background:linear-gradient(155deg,#46353fe6,#302733e6);box-shadow:inset 0 1px #ffffff0d,0 7px 14px #0000001f;overflow-wrap:anywhere}.speech-item.self .speech-bubble,.speech-item.mine .speech-bubble{border-color:#fcc7904f;border-radius:12px 5px 12px 12px;background:linear-gradient(155deg,#7e4e43cf,#4e3136e0)}.speech-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 13px;color:#e9c29f;font-size:10px;font-weight:700;line-height:1.4}.speech-meta time,.speech-meta small{color:#b8a4a6;font-weight:400}.speech-text{margin:4px 0 0;color:#f6ebe5;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.speech-composer{display:flex;align-items:stretch;gap:9px;margin-top:13px}.speech-input{flex:1;width:100%;min-width:0;min-height:45px;max-height:120px;padding:11px 13px;border:1px solid rgba(246,204,169,.26);border-radius:10px;outline:none;background:#0d0b12a3;color:#fff7f0;font-size:13px;line-height:1.5;resize:vertical;transition:border-color .2s,box-shadow .2s}.speech-input::placeholder{color:#9f8c93}.speech-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f3c38c24}.speech-input:disabled{opacity:.55}.speech-send{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:7px;min-width:100px;min-height:45px;padding:8px 14px;border:1px solid rgba(255,236,204,.36);border-radius:10px;background:linear-gradient(135deg,#f9cf98,#e99a81);box-shadow:0 8px 20px #e3856133,inset 0 1px #ffffff5e;color:#291923;font-size:12px;font-weight:800;transition:transform .2s,filter .2s,box-shadow .2s}.speech-send:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 12px 24px #e385614a}.speech-send:disabled{opacity:.48;filter:grayscale(.45);box-shadow:none}.speech-tip{margin:10px 2px 0;color:#bcabb0;font-size:11px;line-height:1.65}.prompt-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.prompt-chip{min-height:28px;padding:5px 10px;border:1px solid rgba(243,199,157,.22);border-radius:100px;background:#f3c38c0f;color:#e9c8af;font-size:10px;line-height:1.4;transition:transform .18s,border-color .18s,background .18s}.prompt-chip:hover:not(:disabled){transform:translateY(-2px);border-color:#f9ce9aab;background:#f3c38c26}.prompt-chip:disabled{opacity:.48}.voting-timer{display:flex;align-items:center;gap:13px;margin:17px 0;padding:12px 14px;border:1px solid rgba(244,163,149,.29);border-radius:12px;background:linear-gradient(105deg,#91394538,#4d293338);color:#f2d2c5;font-size:11px;line-height:1.55}.timer-ring{display:grid;place-items:center;flex:0 0 63px;width:63px;height:63px;padding:4px;border-radius:50%;background:conic-gradient(#f0b088 var(--timer-progress, 100%),rgba(250,214,190,.13) 0);box-shadow:0 0 16px #d5605d2e;transition:background .4s linear}.timer-ring:before{grid-area:1 / 1;width:100%;height:100%;border-radius:50%;content:"";background:#352732}.timer-ring>*{z-index:1;grid-area:1 / 1}.timer-digits{color:#ffe6cd;font:700 20px/1 Outfit,DM Sans,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.voting-timer.timer-urgent,.timer-ring.timer-urgent{border-color:#ff7377b8;box-shadow:0 0 0 1px #f3566526,0 0 23px #d83f5133}.free-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--gold)}.free-chat-head h2{margin:8px 0 0}.free-chat-hint{color:var(--muted);font-size:12px;line-height:1.7;margin:10px 0 14px}.free-chat-feed{display:flex;flex-direction:column;gap:13px;min-height:110px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:12px;border-radius:10px;background:#0a090f66;border:1px solid var(--line);scrollbar-width:thin}.free-chat-empty{margin:auto;color:var(--muted);font-size:12px}.free-chat-message{display:flex;align-items:flex-start;gap:8px;min-width:0}.free-chat-message.mine{flex-direction:row-reverse}.free-chat-avatar{flex:none;font-size:20px}.free-chat-message>div{min-width:0;max-width:85%}.free-chat-message small{display:block;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.free-chat-message p{margin:5px 0 0;padding:8px 10px;border-radius:8px;background:#3b2e3b;color:var(--cream);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.free-chat-message.mine p{background:#594039}.free-chat-composer{display:flex;gap:8px;margin-top:12px}.free-chat-composer input{min-width:0;flex:1;padding:11px;border:1px solid var(--line);border-radius:8px;background:#17121b;color:var(--cream);font-size:13px}.free-chat-composer button{display:grid;place-items:center;width:43px;min-height:43px;flex:none;border:1px solid var(--line-bright);border-radius:8px;background:var(--gold);color:var(--ink)}.timer-urgent .timer-ring,.timer-ring.timer-urgent{background:conic-gradient(#ff777e var(--timer-progress, 100%),rgba(255,145,153,.15) 0)}.timer-urgent .timer-digits{color:#ffafb0}.stage-overlay{position:fixed;z-index:45;display:grid;place-items:center;top:0;right:0;bottom:0;left:0;padding:20px;pointer-events:none;background:radial-gradient(circle,#7e414d42,#0a080dc7 70%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:stage-appear .25s ease-out both}.stage-overlay-inner{position:relative;width:min(100%,560px);padding:clamp(30px,7vw,58px);overflow:hidden;border:1px solid rgba(255,217,167,.49);border-radius:23px;background:radial-gradient(circle at 50% -25%,rgba(252,198,133,.33),transparent 62%),linear-gradient(145deg,#49313e,#251d2a);box-shadow:0 30px 95px #000000a6,inset 0 1px #fff5dd30,0 0 65px #df7c5f2e;text-align:center;animation:stage-pop .55s cubic-bezier(.17,1.35,.34,1) both}.stage-overlay-inner:after{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(250,219,182,.15);border-radius:16px;content:"";pointer-events:none}.stage-overlay-title{display:block;margin:0;color:#ffe1b5;font:700 clamp(29px,7vw,55px)/1.25 "Songti SC","STSong",serif;letter-spacing:.08em;text-shadow:0 3px 25px rgba(235,148,100,.45);text-wrap:balance}.stage-overlay-inner p,.stage-overlay-inner small{color:#dec9c1;line-height:1.7}.sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:35px;padding:6px 11px;border:1px solid rgba(245,201,154,.26);border-radius:100px;background:#f2be8f14;color:#e7c7aa;font-size:11px;transition:border-color .2s,background .2s,color .2s}.sound-toggle:hover,.sound-toggle[aria-pressed=true]{border-color:#f8d0a594;background:#f2be8f2b;color:#ffe4c2}.reaction-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px}.reaction-button{display:inline-grid;place-items:center;min-width:34px;min-height:34px;padding:5px 8px;border:1px solid rgba(242,199,158,.22);border-radius:9px;background:#f5be8912;color:#f4dfd1;font-size:16px;transition:transform .18s,border-color .18s,background .18s}.reaction-button:hover:not(:disabled){transform:translateY(-3px) scale(1.08);border-color:#f9cc94b3;background:#f5be892e}.reaction-button:active:not(:disabled){transform:translateY(0) scale(.95)}.reaction-button:disabled{opacity:.5}.reaction-button[aria-pressed=true]{border-color:#f9cc94c2;background:#f5be893d;box-shadow:0 0 15px #f5be891f}.reaction-button small{margin-left:4px;font:700 10px Outfit,sans-serif}.player-card.speaking{border-color:#fccf97b3;box-shadow:0 0 0 1px #f9c4872e,0 0 24px #e689642e}@keyframes clue-arrive{0%{opacity:0;transform:translateY(13px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spotlight-enter{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spotlight-glow{0%{opacity:.45;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}@keyframes timer-pulse{0%{filter:brightness(1)}to{filter:brightness(1.3)}}@keyframes stage-appear{0%{opacity:0}to{opacity:1}}@keyframes stage-pop{0%{opacity:0;transform:translateY(25px) scale(.8) rotate(-3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.toast{position:fixed;z-index:20;right:max(20px,calc((100vw - 1380px)/2));bottom:26px;max-width:min(420px,calc(100vw - 40px));padding:13px 17px;border:1px solid rgba(245,195,142,.32);border-radius:10px;background:#352a32;box-shadow:0 14px 35px #0000005c;color:#f6e4d6;font-size:13px;animation:rise .25s ease-out}.modal-backdrop{position:fixed;z-index:30;display:grid;place-items:center;top:0;right:0;bottom:0;left:0;padding:22px;overflow-y:auto;background:#08070cc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.rules-modal{position:relative;width:min(100%,540px);max-height:min(92svh,780px);overflow-y:auto;padding:30px;border:1px solid rgba(243,196,145,.3);border-radius:17px;background:linear-gradient(145deg,#30242d,#1c1822);box-shadow:0 30px 100px #0000009e,inset 0 1px #ffffff0f}.modal-close{position:absolute;display:grid;place-items:center;right:17px;top:17px;width:32px;height:32px;border:1px solid rgba(248,216,186,.15);border-radius:8px;background:#ffffff0a;color:#dcc7c0}.modal-close:hover{background:#ffffff1f}.rules-modal h2{margin:12px 0;font:700 31px Songti SC,serif}.modal-intro{margin:0;color:#c6b6ba;font-size:12px;line-height:1.85}.rule-list{display:grid;gap:15px;margin:25px 0}.rule-list>div{display:flex;gap:14px;padding:0 0 15px;border-bottom:1px solid rgba(241,214,192,.11)}.rule-list>div>span{flex:none;color:var(--gold);font:600 13px Outfit,sans-serif}.rule-list b{color:#f3e2d9;font-size:13px}.rule-list p{margin:5px 0 0;color:#b8a8ae;font-size:12px;line-height:1.7}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1080px){.topbar,.home-layout,.room-layout,.footer{width:min(100% - 48px,1380px)}.home-layout{grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:20px}.home-copy h1{font-size:clamp(43px,5vw,62px)}.game-grid{grid-template-columns:minmax(0,1fr) 325px;gap:14px}.table-panel{padding:22px}.player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.topbar,.home-layout,.room-layout,.footer{width:min(100% - 32px,580px)}.topbar{min-height:74px}.brand{font-size:18px}.brand-mark{width:37px;height:37px;border-radius:11px}.brand-mark .drawn-icon{width:21px}.brand small{font-size:7px}.icon-link span{display:none}.home-layout{display:flex;flex-direction:column;align-items:stretch;gap:28px;min-height:0;padding:50px 0 48px}.hero-art{background-position:55% top;background-size:auto 700px}.at-home .hero-art{background-image:linear-gradient(180deg,#0a080f94,#0a080fa6 39%,#0c0a10 72%),url(/assets/mystery-salon.jpg)}.home-copy{padding:0}.home-copy h1{margin:17px 0 12px;font-size:clamp(43px,10vw,63px);line-height:1.28}.home-copy>p{font-size:14px;line-height:1.8}.feature-row{margin-top:21px}.home-decoration{display:none}.entry-card{padding:26px}.game-grid{display:flex;flex-direction:column;align-items:stretch;gap:16px}.main-column,.side-column{display:contents}.game-grid .table-panel{order:1}.game-grid .word-panel,.game-grid .lobby-panel{order:2}.game-grid .speech-panel{order:3}.game-grid .action-panel{order:4}.game-grid .free-chat{order:5}.room-layout{padding:29px 0}.room-heading{align-items:stretch;flex-direction:column;gap:18px}.room-heading h1{font-size:clamp(30px,7vw,39px)}.room-code-card{align-self:flex-start}.player-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.table-panel{min-height:0}.side-column{grid-template-columns:1fr}.speech-panel{padding:18px}.speech-feed{max-height:40svh}}@media(max-width:520px){.topbar,.home-layout,.room-layout,.footer{width:min(100% - 28px,580px)}.topbar{min-height:67px}.connection{font-size:0;gap:0}.connection .drawn-icon{width:17px;height:17px}.top-actions{gap:14px}.home-layout{padding-top:40px}.home-copy h1{font-size:clamp(38px,10vw,52px)}.home-copy>p{font-size:13px}.desktop-only{display:none}.feature-row{gap:7px}.feature-row span{min-height:32px;padding:5px 9px;font-size:10px}.feature-row .drawn-icon{width:14px}.entry-card{padding:22px}.entry-head h2{font-size:26px}.avatar-picker{gap:5px}.avatar-picker button{font-size:19px}.room-heading{margin-bottom:20px}.room-heading .eyebrow{font-size:10px}.room-heading h1{margin-top:11px;font-size:31px}.table-panel,.side-panel{padding:19px}.section-top{margin-bottom:20px}.section-top h2,.side-panel h2{font-size:20px}.player-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.player-card,.empty-seat{min-height:132px;padding:12px 4px 10px}.player-avatar{width:42px;height:42px;font-size:22px}.player-name{font-size:11px}.table-footer{margin-top:21px}.room-code-card strong{font-size:23px}.footer{font-size:10px}.rules-modal{padding:25px 20px}.speech-panel{margin-top:16px;padding:16px 12px}.speech-head{padding-inline:4px}.speech-spotlight{min-height:74px;padding:13px}.speech-feed{min-height:130px;max-height:35svh;padding:10px}.speech-bubble{padding:9px 10px}.speech-composer{gap:6px}.speech-send{min-width:68px;padding:8px}.voting-timer{margin-block:14px;padding:10px}.timer-ring{flex-basis:56px;width:56px;height:56px}.timer-digits{font-size:18px}}@media(max-width:360px){.brand{font-size:16px}.brand-mark{width:32px;height:32px}.avatar-picker{grid-template-columns:repeat(6,1fr)}.player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.character-avatar{display:block;width:100%;height:100%;flex:none;border-radius:inherit;background-image:url(/assets/slam-dunk-avatars.png);background-size:400% 300%;background-repeat:no-repeat}.avatar-picker button{padding:3px}.avatar-picker button .character-avatar{border-radius:7px}.avatar-picker button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.player-avatar,.speech-avatar{overflow:hidden}.free-chat-avatar{display:block;width:30px;height:30px;border-radius:50%;overflow:hidden}.speech-progress>span{width:30px;height:30px;min-width:30px;padding:2px}.in-room{padding-bottom:104px}.player-seat{position:relative;min-width:0;animation:seat-land .45s cubic-bezier(.2,1.4,.4,1) both}.player-seat>.player-card{width:100%;height:100%}.remove-player{border:1px solid #ff8b9b;width:32px;height:32px;z-index:2}.round-director{position:relative;overflow:hidden;margin:0 0 12px;padding:20px 24px 16px;border:1px solid #a27168;border-radius:17px;background:radial-gradient(ellipse at 95% 20%,#63334785,transparent 60%),linear-gradient(115deg,#392933,#221e2d);box-shadow:0 0 38px #eea17d12}.director-top,.director-body,.director-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}.director-top{color:#ffd3a4;font-size:11px;letter-spacing:.12em}.director-top>span:first-child{display:flex;align-items:center;gap:7px}.director-mode{color:#bdadb7;font-size:10px;letter-spacing:0}.director-body{min-height:83px}.director-body h2{margin:10px 0 6px;font-size:clamp(19px,2.5vw,29px);line-height:1.35;letter-spacing:-.03em}.director-body p{margin:0 0 12px;color:#d1bfc9;font-size:12px;line-height:1.7}.director-clock{display:flex;flex:none;align-items:baseline;gap:5px;color:#ffe1b1}.director-clock strong{font:800 55px/1 Outfit,sans-serif;font-variant-numeric:tabular-nums}.director-clock span{font-size:12px}.director-track{height:4px;margin:4px 0 13px;background:#ffffff10;border-radius:4px;overflow:hidden}.director-track i{display:block;height:100%;background:linear-gradient(90deg,#b798ff,#f3b27c);box-shadow:0 0 14px #f3b27c99;transition:width .3s linear}.director-bottom{align-items:flex-start}.pending-players{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;color:#c8b6c1;font-size:11px}.pending-players>span{display:inline-flex;align-items:center;gap:5px;line-height:25px}.pending-players b{display:inline-flex;align-items:center;gap:5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;padding:4px 8px;border-radius:7px;color:#f6d9b5;background:#f9c98610;font-weight:500}.rally-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:32px;padding:5px 10px;border:1px solid #f59e7755;border-radius:8px;color:#ffd5a3;background:#ed946417;font-size:11px}.rally-button:disabled{opacity:.5}.rally-button:not(:disabled):active{transform:scale(.93);background:#ed946444}.is-urgent{border-color:#ff778c;box-shadow:0 0 30px #ff627528}.is-urgent .director-clock{color:#ff9caa}.is-urgent .director-clock strong{animation:countdown-kick .35s ease-out}.is-urgent .director-track i{background:#ff778c}.room-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:15px;color:#bbaab6;font-size:11px}.room-tools>span{overflow-wrap:anywhere}.room-tools button{display:flex;flex:none;align-items:center;gap:5px;border:0;padding:7px;background:none;color:#e7c2b7;font-size:12px}.action-dock{position:fixed;z-index:18;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(720px,calc(100% - 32px));padding:12px 15px;border:1px solid #927080;border-radius:16px;background:#261e2ef5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 12px 70px #0009,0 0 30px #edab7c15}.action-dock>div{min-width:0}.action-dock>div>span{display:flex;align-items:center;gap:4px;color:#f0bc91;font-size:10px}.action-dock strong{display:block;margin-top:6px;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-dock .primary-button{width:auto;flex:none;max-width:48%;min-height:44px;font-size:12px}.action-dock.needs-you{border-color:#ffcb92}.needs-you .primary-button{animation:call-to-action 2.5s ease-in-out infinite}.result-votes{margin-top:22px;border-top:1px solid #ffffff18;padding-top:14px}.result-votes h3{color:#dfc2b4;font-size:12px;font-weight:500}.result-votes>div{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #ffffff09;font-size:12px}.result-votes>div>span{display:flex;align-items:center;gap:7px}.result-votes b{color:#ffd09c}.result-votes i{position:absolute;bottom:0;left:0;height:2px;background:#eeb888;transition:width .5s}.reveal-button{touch-action:none;user-select:none;-webkit-user-select:none}.free-chat{min-width:0}.free-chat-head{display:flex;justify-content:space-between;align-items:center;color:#edc696}.free-chat-hint,.free-chat-empty{font-size:12px;color:#bbaab6;line-height:1.7}.free-chat-feed{min-height:85px;max-height:240px;overflow:auto;padding:8px 0;overscroll-behavior:contain}.free-chat-message{display:flex;align-items:flex-start;gap:9px;margin-bottom:12px;animation:clue-arrive .25s both}.free-chat-message>div{min-width:0}.free-chat-message small{color:#beabb7;font-size:10px}.free-chat-message p{margin:4px 0 0;padding:9px 11px;border-radius:0 11px 11px;background:#ffffff08;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.free-chat-message.mine p{background:#dba78319}.free-chat-composer{display:flex;gap:7px;margin-top:10px}.free-chat-composer input{width:100%;min-width:0;height:42px;padding:0 11px;border:1px solid #ffffff25;border-radius:9px;background:#131017;color:#fff4e8;font-size:12px}.free-chat-composer button{flex:none;display:grid;place-items:center;width:42px;border:1px solid #f4c49566;border-radius:9px;background:#efb382;color:#2d1c26}.free-chat-composer button:disabled{opacity:.4}.live-activity{position:fixed;z-index:46;left:50%;top:18px;transform:translate(-50%);max-width:calc(100% - 32px);width:max-content;padding:13px 20px;border:1px solid #f8c99380;border-radius:100px;background:#322333f5;box-shadow:0 12px 50px #0008;color:#ffe2b8;font-size:13px;text-align:center;pointer-events:none;animation:activity-pop .3s ease-out}.in-room .toast{bottom:115px}.stage-overlay{z-index:40;align-items:start;padding-top:min(18vh,150px);background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.stage-overlay-inner{width:min(90%,520px);padding:22px 28px;overflow:visible;background:linear-gradient(120deg,#6b3646f5,#32263ff5);transform:rotate(-2deg)}.stage-overlay-title{font-size:clamp(24px,5vw,39px)}.stage-overlay-inner p{margin-bottom:0;font-size:12px}.live-burst{position:fixed;z-index:42;top:29%;left:76%;width:0;height:0;pointer-events:none}.big-burst{top:44%;left:50%}.burst-symbol{position:absolute;left:-35px;top:-35px;width:70px;text-align:center;font-size:58px;filter:drop-shadow(0 5px 20px #f3ad7770);animation:symbol-slam 1.6s cubic-bezier(.18,.8,.3,1) both}.big-burst .burst-symbol{top:-55px;left:-60px;width:120px;font-size:95px}.shockwave{position:absolute;top:-40px;left:-40px;width:80px;height:80px;border:3px solid #ffc88c;box-shadow:0 0 24px #ff9a7755,inset 0 0 20px #ffd88955;border-radius:50%;animation:shockwave .85s ease-out both}.shockwave.second{animation-delay:.12s;border-color:#ba9aff}.burst-shard{position:absolute;width:9px;height:17px;border-radius:2px;background:var(--color);box-shadow:0 0 8px var(--color);animation:shard-fly 1.2s var(--delay) cubic-bezier(.1,.6,.3,1) both}.burst-shard:nth-child(3n){width:6px;height:6px;border-radius:50%}.phase-ended .result-stamp,.phase-reveal .result-stamp{animation:stamp-slam .5s cubic-bezier(.2,1.5,.4,1) both}@keyframes shockwave{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(5)}}@keyframes shard-fly{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scale(.3)}12%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(var(--distance)) rotate(160deg) scale(.5)}}@keyframes symbol-slam{0%{opacity:0;transform:scale(2.3) rotate(-18deg)}16%{opacity:1;transform:scale(.85) rotate(8deg)}28%,65%{opacity:1;transform:scale(1) rotate(-6deg)}to{opacity:0;transform:translateY(-80px) scale(.7)}}@keyframes stamp-slam{0%{opacity:0;transform:scale(1.6) rotate(-14deg)}to{opacity:1;transform:scale(1) rotate(-3deg)}}@keyframes seat-land{0%{opacity:0;transform:translateY(-18px) scale(.8)}to{opacity:1;transform:none}}@keyframes countdown-kick{0%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes call-to-action{50%{box-shadow:0 0 0 4px #ffbf8a15,0 0 24px #ffbf8a35}}@keyframes activity-pop{0%{opacity:0;translate:0 -15px}to{opacity:1;translate:0 0}}@media(max-width:760px){.room-heading{gap:12px}.room-heading h1{font-size:26px}.round-director{padding:16px}.director-body h2{font-size:20px}.director-clock strong{font-size:45px}.director-bottom{flex-wrap:wrap;gap:9px}.game-grid .free-chat{order:5}.phase-voting .game-grid .action-panel,.phase-reveal .game-grid .action-panel,.phase-ended .game-grid .action-panel{order:2}.phase-voting .game-grid .word-panel,.phase-reveal .game-grid .word-panel,.phase-ended .game-grid .word-panel{order:4}.action-dock{gap:10px;padding:11px;width:calc(100% - 20px)}.action-dock strong{font-size:11px}.action-dock .primary-button{padding:10px;gap:6px;font-size:11px}.live-activity{top:10px;border-radius:12px;font-size:12px}.live-burst{left:70%;top:35%}.big-burst{left:50%;top:40%}.pending-players b{max-width:130px}}@media(prefers-reduced-motion:reduce){.live-burst{display:none}.needs-you .primary-button{animation:none}*,*:before,*:after{animation-iteration-count:1!important}}.mini-avatar{display:inline-block;width:22px;height:22px;flex:none;border-radius:50%;overflow:hidden}.drawn-icon{display:inline-block;flex:none;width:var(--icon-size, 20px);height:var(--icon-size, 20px);vertical-align:middle;background-image:url(/assets/manga-ui-icons.png);background-repeat:no-repeat;background-size:600% 600%}.reaction-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:46px;min-height:40px}.burst-symbol{display:flex;align-items:center;justify-content:center}.room-layout{padding-top:24px}.room-heading{margin-bottom:20px}.room-heading h1{font-size:clamp(26px,3vw,38px)}.game-grid{grid-template-columns:minmax(0,1fr) 290px}.game-grid .table-panel{min-height:0;padding:22px}.conversation-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);gap:16px;align-items:stretch}.conversation-grid.lobby-chat{grid-template-columns:1fr}.conversation-grid .speech-panel{padding:20px;min-width:0}.room-chat-panel{display:flex;flex-direction:column;padding:20px;min-width:0}.room-chat-panel .free-chat-feed{flex:1;min-height:200px;max-height:340px;padding:12px}.room-chat-panel .free-chat-composer input{font-size:16px}.chat-status{font-size:11px;color:var(--muted)}.action-dock{position:static;transform:none;width:100%;margin:0 0 16px;box-shadow:none}@media(max-width:1100px)and (min-width:761px){.game-grid{grid-template-columns:minmax(0,1fr) 260px}.conversation-grid{grid-template-columns:1fr}}@media(max-width:760px){.conversation-grid{display:contents}.game-grid .table-panel{order:1;padding:16px}.game-grid .word-panel,.game-grid .lobby-panel{order:2}.game-grid .action-panel{order:3}.game-grid .speech-panel{order:4}.game-grid .room-chat-panel{order:5}.room-chat-panel .free-chat-feed{min-height:180px;max-height:280px}}.side-column .round-director{margin:0;padding:18px}.side-column .director-top{flex-wrap:wrap;gap:7px}.side-column .director-body{min-height:0;gap:10px}.side-column .director-body h2{font-size:19px}.side-column .director-clock strong{font-size:34px}.side-column .director-bottom{flex-direction:column;gap:10px}.director-action.primary-button{width:auto;min-height:40px;margin-top:14px;padding:10px 16px;font-size:13px}.phase-lobby .main-column{grid-template-columns:minmax(0,1fr) minmax(300px,1fr);align-items:start}.phase-lobby .player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-lobby .room-chat-panel .free-chat-feed{min-height:300px}.vote-dialog{width:min(620px,calc(100vw - 32px));max-height:85dvh;padding:24px;border:1px solid #a8836c;border-radius:20px;color:var(--cream);background:#211a25;box-shadow:0 24px 100px #0009}.vote-dialog::backdrop{background:#080610bb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.vote-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.vote-dialog h2{margin:10px 0;font-size:25px}.vote-dialog-close{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--cream);background:#ffffff08}.vote-dialog-hint{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.vote-dialog-hint strong{color:var(--gold)}.vote-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.vote-candidate{position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;padding:16px 10px;border:2px solid #ffffff16;border-radius:14px;background:#ffffff05;color:var(--cream);min-width:0}.vote-candidate.selected{border-color:var(--gold);background:#e9b28020}.vote-candidate:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.vote-candidate strong,.vote-clue{overflow-wrap:anywhere;max-width:100%}.vote-avatar{display:block;width:58px;height:58px;border-radius:50%;overflow:hidden}.vote-clue{font-size:12px;color:var(--muted);line-height:1.5}.vote-check{position:absolute;top:8px;right:8px}.vote-dialog-footer{display:flex;flex-direction:column;gap:12px}.vote-dialog-footer>span{font-size:12px;color:var(--muted)}.vote-dialog-footer .primary-button{margin:0}@media(max-width:1100px){.phase-lobby .main-column{grid-template-columns:1fr}}@media(max-width:760px){.game-grid .round-director{order:0}.phase-lobby .player-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.phase-lobby .room-chat-panel .free-chat-feed{min-height:180px}.vote-dialog{padding:18px}.vote-dialog h2{font-size:21px}.vote-candidates{grid-template-columns:repeat(2,minmax(0,1fr))}}.room-controls{padding:20px}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.control-heading h2{margin:0;font-size:20px}.control-timer{font-size:18px;white-space:nowrap;color:var(--gold)}.control-timer.urgent{color:#ff97a6}.control-note{color:var(--gold)}.compact-action.primary-button,.compact-action.subtle-button{width:fit-content;min-height:40px;margin-top:14px;padding:10px 14px;font-size:13px}.ready-button{display:block;margin:8px auto 0;padding:8px 14px;border:1px solid var(--line-bright);border-radius:9px;background:#edb78322;color:var(--gold);font-size:12px}.ready-button[aria-pressed=true]{background:#90cda322;color:#b7e7bc}.word-panel .word-card{height:140px}.room-heading h1{margin:8px 0}.room-heading .eyebrow{display:none}.room-heading p{margin:0}.room-code-card{padding:12px 16px}.room-layout .room-bottom{display:none}.in-room{padding-bottom:0}.truth-dialog{width:min(760px,calc(100vw - 32px))}.truth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.truth-card{display:flex;flex-direction:column;align-items:center;padding:18px 10px;gap:9px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff05;text-align:center;min-width:0}.truth-card.is-spy{border-color:#e7969e;background:#d36d8520}.truth-card h3{margin:0;font-size:14px;overflow-wrap:anywhere}.truth-role{font-size:12px;color:#bcaaba}.is-spy .truth-role{color:#ffabb5}.truth-word{font-size:24px;color:var(--gold);overflow-wrap:anywhere}.truth-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.truth-actions .subtle-button{width:auto}.round-history{border-top:1px solid var(--line);padding:16px 0}.round-history summary{cursor:pointer;color:var(--gold)}.round-history section{padding:12px 0;border-bottom:1px solid var(--line)}.round-history p{color:var(--muted);font-size:13px;line-height:1.6}.vote-dialog{overflow-y:auto;overscroll-behavior:contain}@media(max-width:760px){.game-grid .room-controls{order:0}.game-grid .word-panel{order:1}.game-grid .table-panel{order:2}.game-grid .speech-panel{order:3}.game-grid .room-chat-panel{order:4}.truth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-controls{padding:16px}}.player-seat{display:flex;flex-direction:column}.player-seat>.player-card{height:auto;flex:1;min-height:132px}.phase-lobby .player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.phase-lobby .player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.vote-dialog:not(.truth-dialog)[open]{display:flex;flex-direction:column}.vote-dialog:not(.truth-dialog) .vote-dialog-head,.vote-dialog-hint,.vote-dialog-footer{flex-shrink:0}.vote-candidates{overflow-y:auto;min-height:0;padding:3px;overscroll-behavior:contain}.speaker-status{display:flex;gap:10px;align-items:center;padding:12px;border-radius:10px;background:#ffffff08;font-size:13px}.speaker-status>span:last-child{margin-left:auto;color:var(--gold);white-space:nowrap}.speaker-status.my-turn{background:#ebc28a20;border:1px solid #ebc28a66}.truth-summary h2{margin:10px 0}.truth-summary .truth-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}@media(max-width:760px){.game-grid .truth-summary{order:1}.truth-summary .truth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.field-hint{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.6}.entry-error{margin:16px 0 0;padding:10px 12px;border:1px solid #f3989b55;background:#c85c681a;color:#ffc4c7;border-radius:9px;font-size:12px;line-height:1.6}.round-guide{margin-bottom:18px;padding:15px 20px;border:1px solid #d6b48c33;border-radius:14px;background:linear-gradient(110deg,#372934e8,#211c2ae8)}.stage-rail{display:flex;gap:22px;list-style:none;margin:0 0 12px;padding:0;color:#a898a3;font-size:11px}.stage-rail li{display:flex;align-items:center;gap:6px}.stage-rail li>span{width:17px;height:17px;display:inline-grid;place-items:center;border:1px solid #b6a0b040;border-radius:50%;font-size:9px}.stage-rail li.active{color:#ffddb0}.stage-rail li.active>span{background:#efbd8c;color:#251d27;border-color:transparent;font-weight:700}.round-guide-body{display:flex;gap:18px;align-items:center}.round-guide-body>div{flex:1;min-width:0}.round-guide-body strong{display:block;font-size:17px;line-height:1.5;overflow-wrap:anywhere}.round-guide-body small{display:block;margin-bottom:4px;color:#baabb6;font-size:10px}.round-guide-body>button{display:flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:42px;padding:8px 14px;background:#efbd8c;color:#32212c;border:0;border-radius:9px;font-size:12px;font-weight:700}.guide-countdown{display:flex;align-items:baseline;gap:4px;font:700 30px/1 Outfit,sans-serif;color:#f1cb99;font-variant-numeric:tabular-nums}.guide-countdown small{font:11px PingFang SC,sans-serif}.round-guide.needs-action{border-color:#f6c58b88;box-shadow:inset 3px 0 #e9bd87}.round-guide.is-urgent{border-color:#fc859875;background:linear-gradient(110deg,#542935bb,#241e2be8)}.round-guide.is-urgent .guide-countdown{color:#ff9eae}.connection-banner{display:flex;gap:10px;align-items:center;margin:0 0 15px;padding:12px 15px;color:#ffd2a8;background:#8c54222b;border:1px solid #e3ad6b55;border-radius:12px;font-size:12px;line-height:1.7}.connection-banner span{flex:1}.connection-banner button{flex:none;background:transparent;border:1px solid #e3ad6b77;border-radius:8px;color:#ffe1c1;min-height:40px;padding:8px}.player-card.is-ready{border-color:#9ad3a966}.player-card.is-ready .player-meta{color:#ade0bd}.player-card.is-offline{border-style:dashed;opacity:.6}.player-card.speaking{box-shadow:0 0 0 2px #edbb8055,0 8px 30px #edbb801f}.player-seat{position:relative}.live-activity{top:auto;bottom:24px;max-width:min(620px,calc(100% - 32px))}.in-room .toast{bottom:86px}.stage-overlay{pointer-events:none}@media(max-width:760px){.round-guide{padding:13px 14px;margin-bottom:14px}.stage-rail{justify-content:space-between;gap:7px}.round-guide-body{gap:10px}.round-guide-body strong{font-size:14px}.round-guide-body>button{padding:8px 10px;font-size:11px}.guide-countdown{font-size:25px}.connection{font-size:10px}.connection-banner{flex-wrap:wrap}.round-guide-body small{font-size:10px}.text-input,.speech-input,.free-chat-composer textarea{font-size:16px}}@media(max-width:380px){.stage-rail li{gap:4px}.round-guide-body{flex-wrap:wrap}}.player-seat>.player-card{flex:none;min-height:132px;height:132px}.sound-toggle{white-space:nowrap}@media(max-width:480px){.topbar{gap:10px}.top-actions{gap:9px}.sound-toggle{width:36px;min-width:36px;height:36px;padding:6px}.sound-toggle>span{display:none}}select{font:inherit}select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.active-room-heading{align-items:center;gap:18px;margin-bottom:8px}.active-room-heading h1{margin:0;font-size:25px}.active-room-heading p{display:none}.room-invite{flex:none}.compact-invite{position:relative}.invite-toggle{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#ffffff05;color:#dec1a5;font-size:12px}.invite-toggle>:last-child,.players-toggle>:last-child{transition:transform .2s}.invite-toggle[aria-expanded=true]>:last-child,.players-toggle[aria-expanded=true]>:last-child{transform:rotate(90deg)}.compact-invite .room-code-card{position:absolute;right:0;top:calc(100% + 7px);z-index:10;min-width:260px;background:#2b212e;box-shadow:0 16px 36px #0009}.room-code-card>small{grid-column:1 / -1;margin-top:7px;color:var(--muted);font-size:10px}.compact-word.side-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;border-color:#dfb48738;background:linear-gradient(105deg,#3b2a318c,#241d2bdc)}.compact-word-copy{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 18px;min-width:0}.compact-word-copy>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.compact-word-copy>strong{grid-column:2;grid-row:1 / span 2;color:#f9d4a5;font:700 24px/1.3 Songti SC,serif;min-width:90px;overflow-wrap:anywhere}.compact-word-copy>small{color:#b8a6ad;font-size:10px}.compact-word.revealed{border-color:#e9bc8e88}.compact-word .reveal-button{width:auto;flex:none;min-height:44px;margin:0;padding:10px 15px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.clue-history-entry,.players-toggle,.player-clues-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 10px;border:1px solid #f0c9a82d;border-radius:8px;background:#f5bc8210;color:#edc7a3;font-size:11px}.clue-history-entry:hover,.players-toggle:hover,.player-clues-button:hover{border-color:#f0c9a878;background:#f5bc821a}.players-toggle{display:none}.player-clues-button{margin-top:6px;min-height:36px;background:#ffffff03}.player-card:not(:disabled):hover{border-color:#f0c9a878}.phase-lobby .main-column .table-panel{order:0}.phase-lobby .main-column .conversation-grid{order:1}.room-settings{min-width:0;margin:20px 0 0;padding:0;border:0}.room-settings legend{margin-bottom:12px;color:#edddce;font-size:13px;font-weight:700}.room-settings legend small{margin-left:7px;color:var(--muted);font-weight:400;font-size:10px}.room-settings label{display:grid;gap:7px;margin-top:11px;color:#c8b4bb;font-size:11px}.room-settings select{width:100%;min-height:43px;padding:8px 10px;border:1px solid #edc9a733;border-radius:8px;background:#1a151f;color:#f3ded0;font-size:12px}.room-settings:disabled select{opacity:1;color:#c5b4bd;-webkit-text-fill-color:#c5b4bd;cursor:default}.room-controls .settings-note{margin-top:10px;font-size:10px;line-height:1.7;color:#ba9eaa}@media(max-width:760px){.phase-discussion .room-layout,.phase-voting .room-layout,.phase-reveal .room-layout{padding-top:15px}.active-room-heading{flex-direction:row;align-items:center;gap:8px;margin-bottom:4px}.active-room-heading h1{max-width:14em;font-size:17px;line-height:1.4}.active-room-heading .invite-toggle{padding:6px 8px;font-size:10px}.active-room-heading+.room-tools{min-height:28px;margin-bottom:7px}.active-room-heading+.room-tools>span{max-width:68%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px}.phase-discussion .stage-rail,.phase-voting .stage-rail,.phase-reveal .stage-rail{display:none}.round-guide{margin-bottom:12px}.game-grid{gap:12px}.game-grid .compact-word{order:0}.game-grid .speech-panel{order:1}.game-grid .table-panel{order:2}.game-grid .room-controls{order:3}.game-grid .room-chat-panel{order:4}.phase-lobby .game-grid .room-controls,.phase-ended .game-grid .room-controls{order:0}.phase-lobby .game-grid .table-panel{order:1}.compact-word.side-panel{gap:10px;padding:10px 13px}.compact-word-copy{display:flex;flex-wrap:wrap;gap:4px 10px}.compact-word-copy>strong{min-width:65px;font-size:20px}.compact-word-copy>small{flex-basis:100%;font-size:10px}.compact-word .reveal-button{padding:8px 10px;min-height:44px;font-size:11px}.has-speech .section-top{margin-bottom:12px;gap:9px}.has-speech .section-overline{display:none}.has-speech .section-top h2{margin:0;font-size:17px}.has-speech .section-top h2 small{margin-left:4px;font-size:10px}.players-toggle{display:inline-flex}.table-actions{gap:6px}.table-actions button{min-height:40px}.has-speech.players-collapsed .players-content{display:none}.has-speech.players-collapsed .section-top{margin-bottom:0}.room-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:14px}.room-settings legend{float:left;grid-column:1 / -1;margin-bottom:0}.room-settings label{margin-top:0}.room-settings label:first-of-type{grid-column:1 / -1}.room-settings select{font-size:16px}}@media(max-width:380px){.active-room-heading h1{font-size:15px}.active-room-heading .invite-toggle>.drawn-icon:first-child{display:none}.compact-word-copy>span{font-size:10px}.compact-word-copy>small{max-width:175px;line-height:1.4}.has-speech .section-top{align-items:stretch}.has-speech .table-actions{width:100%;justify-content:space-between}}:root{color-scheme:dark;--control-surface: #28232d;--control-inset: #19161e;--control-border: #514650;--control-hover: #75636b;--accent: #f2ce9b;--accent-ink: #30231c;--control-radius: 13px}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button,input,textarea,select,summary{outline-offset:4px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}.app:before{opacity:.055}.entry-card,.table-panel,.side-panel,.speech-panel{border-color:#e6d0bd21;box-shadow:0 12px 38px #00000024}.entry-card{padding:32px;border-radius:26px;background:linear-gradient(155deg,#2b242dea,#1d1923f5);box-shadow:0 24px 70px #0005,inset 0 1px #fff1}.entry-card:before{background:none}.entry-card:after{left:32px;width:60px;background:var(--accent);opacity:.7}.entry-head h2{margin-top:12px;font-size:30px}.entry-head p{margin-top:8px;color:#c0b3bd}.card-kicker{font-size:9px;letter-spacing:.2em}.tab-switch,.scoreboard-switch,.chat-channel-switch{padding:5px;gap:4px;border:1px solid #ffffff0b;border-radius:14px;background:#100e1580}.tab-switch{margin:25px 0}.tab-switch button,.scoreboard-switch button,.chat-channel-switch button{min-height:44px;border:1px solid transparent;border-radius:10px;color:#b6a9b5;font-size:13px;font-weight:500}.tab-switch button.active,.scoreboard-switch button[aria-pressed=true],.chat-channel-switch button[aria-pressed=true]{color:#fce7c8;border-color:#f1ce9d2e;background:#423640;box-shadow:0 2px 5px #0002}.field-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:22px 0 10px;font-size:13px;color:#eee3de}.field-label small{color:#ab9da9;font-size:11px;font-weight:400;letter-spacing:0}.field-label .selected-avatar-name{color:#e8c798}.entry-input-wrap{position:relative}.input-symbol{position:absolute;display:grid;place-items:center;left:16px;top:0;bottom:0;pointer-events:none;opacity:.8}.entry-input-wrap .text-input{padding-left:49px}.text-input,.room-settings select,.clue-player-picker select{min-height:52px;height:52px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-inset);color:#f9f0e8;padding:12px 16px;font-size:16px;line-height:1.5;box-shadow:inset 0 2px 5px #0002;transition:border-color .16s,box-shadow .16s,background-color .16s}.text-input::placeholder,.speech-panel .speech-input::placeholder,.room-chat-panel .free-chat-composer textarea::placeholder{color:#a99baa;opacity:1}.text-input:hover,.room-settings select:not(:disabled):hover,.clue-player-picker select:hover{border-color:var(--control-hover)}.text-input:focus,.room-settings select:focus-visible,.clue-player-picker select:focus-visible{outline:none;border-color:var(--accent);background-color:#211c27;box-shadow:0 0 0 4px #f2ce9b13}.text-input:disabled{color:#ab9fae;background:#211d26}.code-input{font-family:Outfit,ui-monospace,monospace;letter-spacing:.3em;font-size:20px;font-weight:600}.code-input::placeholder{font-family:inherit;font-size:14px;letter-spacing:.09em;font-weight:400}.field-hint{font-size:11px;line-height:1.7;color:#b4a6b2}.avatar-picker{gap:9px;padding:2px 0}.avatar-picker button{position:relative;padding:3px;border:1px solid #ffffff1c;border-radius:13px;background:#18151d;box-shadow:none}.avatar-picker button .character-avatar{border-radius:9px;opacity:.8;transition:opacity .16s}.avatar-picker button:hover{transform:translateY(-2px);background:#332a32;border-color:#aa8971}.avatar-picker button:hover .character-avatar,.avatar-picker button.picked .character-avatar{opacity:1}.avatar-picker button.picked{background:#f2ce9b;border-color:#f2ce9b;box-shadow:0 0 0 3px #f2ce9b15;transform:translateY(-2px)}.avatar-check{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:18px;height:18px;border:2px solid #26202a;border-radius:50%;background:var(--accent);color:#30231c;font-size:11px;font-weight:800}.primary-button,.speech-panel .speech-send,.room-chat-panel .free-chat-composer button,.round-guide-body>button{min-height:48px;padding:12px 18px;border:1px solid #ffe4bd55;border-radius:var(--control-radius);background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:700;letter-spacing:.01em;line-height:1.4;box-shadow:0 3px #9b724544,inset 0 1px #fff5;filter:none}.primary-button.entrance{margin-top:28px;min-height:54px;justify-content:space-between;padding-inline:20px}.primary-button:hover:not(:disabled),.speech-panel .speech-send:hover:not(:disabled),.room-chat-panel .free-chat-composer button:hover:not(:disabled),.round-guide-body>button:hover:not(:disabled){background:#ffddb0;transform:translateY(-1px);filter:none;box-shadow:0 4px #9b72453b,0 8px 22px #0002}.primary-button:active:not(:disabled),.speech-panel .speech-send:active:not(:disabled),.room-chat-panel .free-chat-composer button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.primary-button:disabled,.speech-panel .speech-send:disabled,.room-chat-panel .free-chat-composer button:disabled{opacity:1;border-color:#ffffff0e;background:#39313b;color:#a99aaa;filter:none;box-shadow:none;transform:none}.subtle-button,.reveal-button,.invite-toggle,.clue-history-entry,.players-toggle,.player-clues-button,.room-rally .rally-button,.candidate-history-toggle,.reveal-progress button{min-height:44px;border:1px solid #e7c9af30;border-radius:11px;padding:10px 14px;background:#efe0d008;color:#e7d1bc;font-size:12px;line-height:1.5;box-shadow:none}.subtle-button:hover:not(:disabled),.reveal-button:hover:not(:disabled),.invite-toggle:hover,.clue-history-entry:hover,.players-toggle:hover,.player-clues-button:hover,.room-rally .rally-button:hover:not(:disabled),.candidate-history-toggle:hover,.reveal-progress button:hover{border-color:#ebc99c66;background:#f2ce9b10;color:#ffe2b8}.room-controls .compact-action{min-height:48px;border-radius:var(--control-radius);padding:12px 16px}.room-controls .ready-main-action[aria-pressed=true]{border:1px solid #87bf9870;color:#b4e3c2;background:#86c89b13;box-shadow:none}.room-controls .start-game-action{margin-top:20px}.sound-toggle,.icon-link{min-height:40px;padding:9px 12px;border:1px solid #e8c9aa26;border-radius:11px;background:#1b161c50;color:#d3bdbe;font-size:12px}.icon-link:hover{transform:none;background:#ead2b20a}.vote-dialog-close,.modal-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:1px solid #ffffff17;border-radius:12px;background:#ffffff05}.vote-dialog-close:hover,.modal-close:hover{background:#ffffff0e}.room-tools button{min-height:40px;border-radius:9px;padding-inline:10px}.room-tools button:hover{background:#e5909a12;color:#ffc1c5}.room-code-card button{min-height:32px}.room-code-card{border-radius:16px;background:#28212c;border-color:#e8c9aa30}.room-settings select,.clue-player-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23d6bfab' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;min-height:48px;height:auto;font-size:14px}.room-settings{padding:18px;border:1px solid #ffffff0c;border-radius:16px;background:#100c141f}.room-settings legend{padding-inline:5px;margin-bottom:0;font-size:12px}.room-settings label{color:#c6b7c5;font-size:12px;gap:8px;margin-top:13px}.room-controls .settings-note{line-height:1.8;font-size:11px;color:#ad9eae}.ready-count{margin-block:24px 18px;color:#bdadbd}.ready-count>strong{color:#f4d6ae;font-family:Outfit,sans-serif}.lobby-checklist{gap:10px;margin-top:20px}.room-rally{border-color:#ffffff0c}.speech-panel .speech-composer,.room-chat-panel .free-chat-composer{display:flex;flex-direction:column;gap:0;margin-top:14px;overflow:hidden;border:1px solid var(--control-border);border-radius:16px;background:var(--control-inset);box-shadow:inset 0 2px 5px #0002;transition:border-color .16s,box-shadow .16s}.speech-panel .speech-composer:focus-within,.room-chat-panel .free-chat-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #f2ce9b12}.speech-panel .speech-input,.room-chat-panel .free-chat-composer textarea{display:block;flex:none;width:100%;min-height:112px;max-height:240px;padding:17px 18px 10px;border:0;border-radius:0;background:transparent;color:#f6eee6;font-size:16px;line-height:1.7;box-shadow:none;resize:vertical;outline:none}.room-chat-panel .free-chat-composer textarea{min-height:86px;max-height:180px}.speech-panel .speech-input:focus,.speech-panel .speech-input:focus-visible,.room-chat-panel .free-chat-composer textarea:focus-visible{outline:none;box-shadow:none}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px 12px 18px}.composer-toolbar .composer-help{display:grid;gap:3px;margin:0;font-size:10px;line-height:1.5;color:#a89aaa}.composer-toolbar .composer-help>span:last-child{color:#c8b6c6;font-variant-numeric:tabular-nums}.composer-toolbar .composer-help>span.over-limit{color:#ffa1b2}.speech-panel .speech-send,.room-chat-panel .free-chat-composer button{display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:8px;flex:none;width:auto;min-width:88px;min-height:44px;padding:10px 14px;border-radius:10px;font-size:12px}.speech-composer[data-pending],.free-chat-composer[data-pending]{border-color:#b6997655}.speech-panel .prompt-chip{min-height:40px;border-radius:10px;border-color:#ffffff15;color:#cbb7c4;background:#ffffff04}.speech-panel .speaker-status{min-height:52px;border:1px solid #ffffff13;border-radius:13px;background:#ffffff03}.speech-panel .speaker-status.my-turn{border-color:#e5bc8170;background:#efc68a0e}.speech-panel .speech-angle-hint{color:#bfaabb}.speech-feed,.room-chat-panel .free-chat-feed{border-radius:14px;background:#120f171f;border-color:#ffffff0a}.free-chat-message p{border-radius:4px 13px 13px;background:#ffffff06}.free-chat-message.mine p{border-radius:13px 4px 13px 13px;background:#e7bd8c12;border-color:#e7bd8c20}.composer-error,.entry-error{border-radius:12px;color:#ffc2cb;background:#9c3f511c}.vote-dialog,.clue-history-dialog,.rules-modal{border:1px solid #ab8e7557;border-radius:24px;background:#211c27;box-shadow:0 30px 100px #0009}.vote-dialog-head h2,.clue-history-head h2{color:#f7eadc}.ballot-dialog .vote-candidate{border-color:#ffffff1a;border-radius:16px;background:#ffffff03;box-shadow:none}.ballot-dialog .vote-candidate:hover:not(:disabled){border-color:#b79573;background:#f2ce9b07;transform:none}.ballot-dialog .vote-candidate[aria-checked=true]{border-color:var(--accent);background:#f2ce9b0c;box-shadow:inset 0 0 0 1px var(--accent);transform:none}.vote-check{background:var(--accent);color:#30231c;border-radius:50%}.ballot-dialog .candidate-history-toggle{margin-top:2px;border-color:transparent;background:transparent;color:#bdabbe}.ballot-dialog .candidate-history-toggle[aria-expanded=true]{background:#ffffff06;color:#f0cca1}.ballot-dialog .vote-confirmation{border-radius:13px;border-color:#f2ce9b30;background:#f2ce9b08;padding:13px 15px}.ballot-dialog .vote-dialog-footer{padding-top:16px;border-color:#ffffff10}.truth-card,.player-clue-list>li{border-radius:14px;border-color:#ffffff13;background:#ffffff03}.scoreboard-switch button{min-height:40px}.round-guide{border-color:#e1c2a030;border-radius:16px;background:#2a222ee0}.round-guide.needs-action{border-color:#f2ce9b66;box-shadow:inset 3px 0 var(--accent)}.round-guide.is-urgent{background:#472630;border-color:#fc859875}@media(max-width:760px){.entry-card{padding:25px;border-radius:22px}.home-layout{padding-top:30px;gap:26px}.home-copy h1{line-height:1.3}.entry-head h2{font-size:27px}.field-label{margin-top:20px}.room-settings{padding:14px;gap:12px}.room-settings legend{float:none}.room-settings label{margin-top:0}.room-settings select,.clue-player-picker select{font-size:16px;padding-left:12px}.compact-word .reveal-button{padding:10px 12px;font-size:12px}.active-room-heading .invite-toggle{min-height:44px;padding:8px 10px;font-size:11px}.speech-panel .speech-input{min-height:110px;padding:14px 14px 8px}.room-chat-panel .free-chat-composer textarea{padding:14px 14px 8px}.composer-toolbar{padding:8px 10px 10px 14px;gap:8px}.composer-toolbar .composer-help{font-size:9px}.speech-panel .speech-send{min-width:100px}.vote-dialog,.clue-history-dialog{border-radius:20px}.ballot-dialog .vote-dialog-footer{padding-bottom:env(safe-area-inset-bottom,0px)}}@media(max-width:480px){.entry-card{padding:22px}.avatar-picker{gap:8px}.avatar-picker button{border-radius:11px}.avatar-picker button .character-avatar{border-radius:7px}.sound-toggle,.icon-link{width:40px;min-width:40px;padding:9px;justify-content:center}.room-settings{padding:12px}.room-controls .compact-action{font-size:13px}.room-code-card strong{font-size:26px}.field-label small{font-size:10px}.table-actions button{padding-inline:10px}}@media(max-width:360px){.entry-card{padding:18px}.avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.composer-toolbar{flex-wrap:wrap}.composer-toolbar .composer-help{flex:1;min-width:105px}.ballot-dialog .vote-dialog-footer{gap:6px}.ballot-dialog .vote-confirmation{padding:9px 12px}}@media(prefers-reduced-motion:reduce){button,input,textarea,select{transition:none}}
