:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f4eee2;background:#090a0d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -10%,#4c4055 0,#171520 32%,#090a0d 72%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;background-image:repeating-linear-gradient(115deg,transparent 0 18px,#fff 19px,transparent 20px)}main{min-height:100vh;display:grid;place-items:start center;padding:24px}.card{width:min(100%,760px);padding:clamp(24px,5vw,48px);background:#131218eb;border:1px solid #6e6076;box-shadow:0 24px 80px #000a}.app-header{display:flex;align-items:center;gap:18px;margin-bottom:28px}.moon{font:64px/1 Georgia,serif;color:#d9c7a5;text-shadow:0 0 30px #c8a8ce}.eyebrow,label,.room-heading span,.privacy{margin:0 0 4px;color:#ad9aaa;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.app-author{color:#ad9aaa;font-size:12px;margin:3px 0 0}h1{margin:0;font:400 clamp(42px,10vw,72px)/.9 Georgia,serif;letter-spacing:-.04em}h2{margin:0 0 12px;font:500 19px Georgia,serif}.lede{color:#bfb6ad;font-size:18px;margin:0 0 28px}label{display:block;margin-top:14px}input,select,button{width:100%;min-height:48px;border:1px solid #665a69;border-radius:3px;font:16px inherit}input,select{padding:0 14px;background:#0d0d12;color:#fff;outline:none}input:focus,select:focus{border-color:#c6a66d;box-shadow:0 0 0 3px #c6a66d22}button{padding:0 18px;cursor:pointer;background:#817185;color:#fff;font-weight:800}button:hover:not(:disabled){filter:brightness(1.15)}button:disabled{cursor:not-allowed;opacity:.38}.wide{margin-top:14px}.primary{background:#c3a36b;color:#18131a}.ghost{background:transparent}.error{padding:12px;color:#ffb0aa;border-left:3px solid #ca625d;background:#ca625d18}details{margin-top:24px;padding-top:16px;border-top:1px solid #3b3540}summary{cursor:pointer;color:#bfb6ad}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:#ffffff08;border:1px solid #3b3540}.room-heading div{display:flex;flex-direction:column}.room-heading strong{font-size:28px;letter-spacing:.12em}.room-heading .phase{color:#d7b879;text-align:right}.join-box{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:20px;margin:18px 0;padding:16px;background:#fff;color:#19151b}.join-box img{width:160px;height:160px}.join-box label{color:#6d5868}.join-box a{color:#58345e;overflow-wrap:anywhere}.join-box p{color:#655d64}.notice,.dawn,.review,.secret,.action{margin:18px 0;padding:16px;border-left:3px solid #b99a65;background:#b99a6512}.secret{border-color:#b75d66;background:#b75d6612}.secret.result strong{font-size:36px;color:#e2bd78}.danger{border-color:#cf5f59}.identity{display:flex;justify-content:space-between;align-items:center;margin:18px 0;padding:14px 16px;background:#ffffff08}.role{padding:6px 9px;border-radius:3px;font-size:12px;letter-spacing:.08em;color:#171218;background:#c2bbb1}.role.werewolf{background:#d17870}.roster{margin-top:28px;border-top:1px solid #3b3540;padding-top:20px}.roster h2 span{float:right;color:#b99a65;font:12px sans-serif}ol{list-style:none;padding:0;margin:0}li{display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid #29252d}li b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#322b36;color:#d8bd86}li small{color:#8f8792}.seat-controls{display:flex;gap:4px}.seat-controls button{width:34px;min-height:34px;padding:0}.privacy{margin-top:20px;line-height:1.6}@media(max-width:580px){main{padding:0}.card{min-height:100vh;border:0;padding:22px}.join-box{grid-template-columns:1fr;text-align:center}.join-box img{margin:auto}.room-heading{align-items:flex-start}li{grid-template-columns:32px 1fr auto}.seat-controls{grid-column:2 / 4}}.setup{margin:20px 0;padding:18px;background:#ffffff08;border:1px solid #3b3540}.setup h3{margin:22px 0 8px}.role-config{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role-config label{margin:8px 0 0}.role-config input{margin-top:5px}.rule{display:flex;align-items:center;gap:10px;min-height:44px;margin:2px 0;color:#ddd3dc;font-size:14px;letter-spacing:0;text-transform:none}.rule input{width:22px;min-height:22px;flex:none}.config-ok{margin-top:12px;color:#93d19b}.config-bad{margin-top:12px;color:#ff9d95}.button-row,.host-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.button-row button,.host-actions button{width:auto;flex:1 1 180px}.danger-button{background:#8b3e42}.seat-section{margin:22px 0}.seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:8px}.seat-grid button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:76px;padding:8px;background:#15121a;color:#ddd;border-color:#4a414f}.seat-grid button b{font-size:22px;color:#d9bd85}.seat-grid button small{margin-top:3px;color:#aaa0ac;overflow:hidden;max-width:100%;text-overflow:ellipsis}.seat-grid button em{position:absolute;top:3px;right:4px;color:#85cf91;font-size:9px;font-style:normal}.seat-grid button .seat-submission{font-weight:800}.seat-grid button .seat-submission.pending{color:#ef8c8c}.seat-grid button.available:not(:disabled){border-color:#668276;background:#17221e}.seat-grid button.occupied{background:#29222e}.seat-grid button.mine{border-color:#d1aa67;box-shadow:0 0 0 2px #d1aa6733}.seat-grid button.disconnected.occupied{opacity:.55}.seat-grid button.out-range{border-color:#8e4248;background:#30191d;text-decoration:line-through}.online-text{color:#8ed09a}.offline-text{color:#d67b73}.role-reveal{text-align:center}.hold-role{min-height:86px;background:#502e3d;font-size:22px;-webkit-user-select:none;user-select:none;touch-action:none}.election{margin:18px 0;padding:18px;background:#18202b;border-left:3px solid #6f94bd}.election p{margin:8px 0}.vote-result{padding:10px;background:#0d131c}.vote-result span{display:inline-block;margin:3px 10px 3px 0}.sheriff-result{display:block;margin-top:12px;color:#e1bd78;font-size:20px}@media(max-width:580px){.role-config{grid-template-columns:repeat(2,1fr)}.seat-grid{grid-template-columns:repeat(4,1fr)}.seat-grid button{min-height:70px;padding:5px}.seat-grid button b{font-size:19px}}.language-selector{margin-left:auto;display:grid;gap:3px;min-width:128px;color:#d9cbb6;font-size:.78rem}.language-selector select{margin:0;min-height:38px;padding:7px 28px 7px 10px}@media(max-width:560px){.app-header{flex-wrap:wrap}.language-selector{width:100%;margin-left:0}}.host-audio{margin:18px 0;padding:16px;border:1px solid #514761;border-radius:14px;background:#211d29}.host-audio h2{margin-top:0}.audio-activation{padding:12px;margin-bottom:12px;border-radius:10px;background:#3a2d20}.audio-controls,.audio-toggles,.audio-sliders{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}.audio-sliders label{flex:1 1 180px}.audio-sliders input{width:100%}.audio-diagnostics{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:6px 12px;margin:12px 0 0;font-size:.88rem}.audio-diagnostics dt{color:#cbb98f}.audio-diagnostics dd{margin:0;overflow-wrap:anywhere}:root{color-scheme:dark;font-family:Inter,Segoe UI,Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif;--surface: rgba(20, 22, 29, .96);--surface-soft: #1a1c25;--surface-raised: #222530;--line: rgba(255, 255, 255, .09);--line-strong: rgba(213, 178, 116, .42);--text: #f5f1e8;--muted: #aaa8b3;--gold: #d8b978;--gold-bright: #f0cf8c;--danger: #ef8c8c;--success: #88d49a}html{background:#0c0d12}body{min-height:100dvh;color:var(--text);background:radial-gradient(900px 500px at 15% -10%,rgba(119,83,132,.24),transparent 58%),radial-gradient(700px 500px at 100% 10%,rgba(97,73,113,.18),transparent 60%),linear-gradient(180deg,#12131a,#0b0c11);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{opacity:.035;background-image:linear-gradient(135deg,#fff 1px,transparent 1px);background-size:32px 32px}main{padding:clamp(14px,3vw,32px);padding-top:max(clamp(14px,3vw,32px),env(safe-area-inset-top));padding-bottom:max(clamp(14px,3vw,32px),env(safe-area-inset-bottom))}.card{width:min(100%,920px);padding:clamp(20px,4vw,38px);border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 22px 80px #00000061;overflow:hidden}.app-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:clamp(22px,4vw,36px);padding-bottom:22px;border-bottom:1px solid var(--line)}.brand-lockup{display:flex;align-items:center;gap:14px;min-width:0}.brand-copy{min-width:0}.moon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(216,185,120,.35);border-radius:15px;background:linear-gradient(145deg,#d8b97829,#d8b97808);color:var(--gold-bright);font:35px/1 Segoe UI Symbol,sans-serif;text-shadow:none}.eyebrow{margin:0 0 5px;color:var(--gold);font-size:10px;letter-spacing:.12em}h1{margin:0;max-width:100%;color:#fffaf0;font:750 clamp(26px,4vw,40px)/1.12 "Segoe UI","Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;letter-spacing:-.035em;text-wrap:balance}.app-author{margin:6px 0 0;color:var(--muted);font-size:12px}h2{color:#f4eee5;font:700 19px/1.3 inherit;letter-spacing:-.01em}.lede{max-width:680px;color:#c5c1c8;font-size:clamp(15px,2vw,17px);line-height:1.7}.language-selector{position:relative;display:block;flex:0 0 auto;min-width:122px;margin:0}.language-selector>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.language-selector select{min-height:42px;border-color:var(--line-strong);border-radius:999px;background:#171820;font-size:14px}input,select,button{min-height:48px;border-color:#ffffff21;border-radius:12px}input,select{background:#111219}button{background:#494454;transition:transform .15s ease,filter .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}.primary{background:linear-gradient(135deg,#e0c184,#ba9659);color:#181319}.ghost{background:#ffffff06}.danger-button{background:#713a42}.room-heading{border-color:var(--line);border-radius:16px;background:var(--surface-soft)}.room-heading strong{color:#fff8e9;font-size:clamp(24px,5vw,32px);font-variant-numeric:tabular-nums}.room-heading .phase{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:999px;background:#d8b9781a;color:var(--gold-bright)}.setup,.host-audio,.election,.notice,.dawn,.review,.secret,.action{border-radius:16px}.setup{border-color:var(--line);background:var(--surface-soft)}.notice,.dawn,.review,.secret,.action{border-left-width:0;border:1px solid rgba(185,154,101,.25)}.identity{border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.join-box{border-radius:18px;overflow:hidden}.seat-section{margin:20px 0 24px}.seat-grid{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:9px}.seat-grid button{min-height:82px;border-radius:14px;border-color:var(--line);background:#171820}.seat-grid button.occupied{background:#24212b}.seat-grid button.mine{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold),0 8px 24px #d8b9781a}.seat-grid button b{color:var(--gold-bright);font-variant-numeric:tabular-nums}.seat-grid button em{top:7px;right:7px;padding:2px 5px;border-radius:999px;background:#88d49a1a;font-size:9px}.seat-grid button .seat-submission.pending{background:#ef8c8c1a;color:var(--danger)}.button-row,.host-actions{gap:10px}.error{border:1px solid rgba(239,140,140,.3);border-radius:14px}:focus-visible{outline:3px solid rgba(240,207,140,.5);outline-offset:2px}@media(max-width:680px){main{padding:0}.card{min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom));border:0;border-radius:0;box-shadow:none}.app-header{align-items:flex-start;gap:10px;padding-bottom:16px}.brand-lockup{gap:10px}.moon{flex-basis:40px;width:40px;height:40px;border-radius:12px;font-size:29px}h1{font-size:clamp(23px,7vw,30px);line-height:1.16}.eyebrow{font-size:9px;letter-spacing:.08em}.app-author{margin-top:4px;font-size:11px}.language-selector{min-width:105px}.language-selector select{min-height:38px;padding:6px 28px 6px 11px;font-size:13px}.room-heading{padding:13px}.room-heading{align-items:center}.room-heading strong{font-size:25px}.room-heading .phase{max-width:48%;font-size:10px;line-height:1.35}.identity{gap:8px;padding:12px;font-size:13px}.setup,.host-audio,.election,.notice,.dawn,.review,.secret,.action{padding:14px}.role-config{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.seat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.seat-grid button{min-height:72px;padding:6px 3px;border-radius:11px}.seat-grid button b{font-size:19px}.seat-grid button small{width:100%;font-size:10px;white-space:nowrap}.seat-grid button em{top:4px;right:4px;font-size:8px}.button-row button,.host-actions button{flex-basis:140px}.join-box{grid-template-columns:1fr;padding:14px;text-align:center}}@media(max-width:380px){.app-header{flex-wrap:wrap}.language-selector{width:auto;margin-left:50px}.seat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.brand-divider{display:inline-block;margin:0 .08em;color:var(--gold)}@media(max-width:680px){.app-header{flex-wrap:nowrap}.brand-title-part{display:block}.brand-divider{display:none}.language-selector{width:auto;margin-left:auto}}@media(max-width:360px){.app-header{flex-wrap:wrap}.language-selector{margin-left:50px}}.card,.app-header,.brand-lockup,.brand-copy{min-width:0}@media(max-width:680px){.app-header{flex-wrap:wrap}.brand-lockup{flex:1 1 100%;width:100%}.language-selector{flex:0 0 118px;width:118px;min-width:118px;margin-left:50px}}html,body{max-width:100%;overflow-x:hidden}@media(max-width:680px){main{display:block;width:100%;overflow-x:hidden}.card{width:100%;max-width:none}.lede,.notice,.privacy,.join-box,.identity{overflow-wrap:anywhere}}@media(max-width:680px){html,body,#root,main{width:100vw;max-width:100vw}#root,main{overflow-x:clip}.card{width:100vw!important;max-width:100vw}.card>*{max-width:100%}}.auto-count-layout{grid-template-columns:minmax(0,1fr)}.role-counter.conflict{margin-inline:-8px;padding-inline:8px;border-radius:10px;background:#ef8c8c1a;box-shadow:inset 3px 0 var(--danger)}.target-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;margin:12px 0}.target-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:68px;padding:7px;background:#171820}.target-card b{color:var(--gold-bright);font-size:20px}.target-card small{max-width:100%;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.target-card.selected,.option-card.selected{border-color:var(--gold);background:#d8b9782e;box-shadow:inset 0 0 0 1px var(--gold)}.option-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}.option-card{margin-top:8px;background:#1c1d26}.selection-summary{min-height:24px;color:var(--gold-bright);text-align:center}.privacy-panel{margin:12px 0}.panel-trigger{background:#ffffff09}.panel-body{margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading button{width:auto;min-height:38px}.panel-body ul{margin:8px 0 0;padding-left:22px}.panel-body li{display:list-item;min-height:0;padding:7px 0;border-bottom:1px solid var(--line)}.vote-history-round+.vote-history-round{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.host-player-join,.host-player-controls{margin:18px 0;padding:16px;border:1px solid var(--line-strong);border-radius:16px;background:#d8b9780f}.page-modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#000000b8}.page-modal{width:min(100%,460px);padding:22px;border:1px solid var(--line-strong);border-radius:18px;background:#20212a;box-shadow:0 20px 70px #000}.page-modal button{margin-top:12px}@media(max-width:620px){.auto-count-layout{grid-template-columns:1fr}.target-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.target-card{min-height:62px;padding-inline:3px}}@media(max-width:340px){.target-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.home-choice-grid,.host-player-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.entry-form{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.management-panel{margin-top:14px;padding:clamp(12px,3vw,20px);border:1px solid var(--line-strong);border-radius:18px;background:var(--surface-soft)}.management-panel[hidden]{display:none}.management-panel .expanded-setup{margin:12px 0 0;width:100%}.audio-reminder{margin-top:10px;border-color:#ef8c8c59;background:#ef8c8c14;color:#ffd1cd}.audio-ownership{display:grid;grid-template-columns:minmax(130px,auto) 1fr;gap:6px 12px}.audio-ownership dt{color:var(--gold)}.audio-ownership dd{margin:0;overflow-wrap:anywhere}@media(max-width:480px){.home-choice-grid,.host-player-entries{grid-template-columns:1fr}.expanded-setup{padding-inline:8px}.setup-panel{padding:13px}.role-counter{grid-template-columns:minmax(0,1fr) 38px 26px 38px}.role-counter strong{white-space:normal}}@media(max-width:340px){.role-counter{gap:4px}.role-counter>div{padding-right:2px}}.room-invitation{margin:16px 0;padding:16px;border:1px solid var(--line-strong);border-radius:16px;background:#d8b9780f}.room-invitation h3{margin-top:0}.invite-url{width:100%;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;text-overflow:ellipsis}.invite-qr{display:grid;justify-items:center;gap:8px;margin-top:14px}.invite-qr img{width:min(100%,280px);height:auto;padding:10px;border-radius:12px;background:#fff}.invite-qr small{color:var(--muted);text-align:center}.success{color:#98e3ad}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:10px}.collapsible-host-controls{padding:0;border:0;background:transparent}.collapsible-host-controls>.panel-trigger{width:100%}.room-lifecycle-controls{margin:16px 0}.private-result-dialog p{white-space:pre-line}.seat-grid button.left{overflow:hidden}.seat-grid button.left{opacity:.62}@media(max-width:480px){.room-invitation,.page-modal{padding:14px}.page-modal .button-row{grid-template-columns:1fr}.invite-url{font-size:12px}}.simulator{display:block;max-width:1500px;margin:auto;padding:24px;color:#e9edf4;background:#0b0f16;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.sim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sim-header p{color:#e0ad63;font-weight:800;letter-spacing:.16em}.sim-header h1{margin:0;font:700 clamp(26px,4vw,44px)/1.1 inherit}.sim-author{color:#aaa0ac;font-size:12px}.sim-header a{color:#95c7ff}.sim-toolbar,.sim-scenarios,.sim-status{display:flex;flex-wrap:wrap;gap:8px;padding:12px;margin-bottom:12px;background:#151c27;border:1px solid #2b384b}.sim-toolbar button,.sim-scenarios button{width:auto;min-height:38px;padding:0 12px;background:#28364a;border-color:#445671;font-size:13px}.sim-toolbar button:disabled{opacity:.35}.sim-scenarios select{width:auto;min-height:38px}.sim-scenarios .sim-primary{background:#b17a3f}.sim-status{align-items:center}.sim-status span{padding:8px;background:#0c1119}.sim-status label{display:flex;align-items:center;gap:6px;margin:0;color:#aeb9c8}.sim-status input,.sim-status select{width:90px;min-height:34px}.sim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.sim-player{padding:12px;background:#121924;border:1px solid #2c3a4e;border-radius:4px}.sim-player>header{display:flex;justify-content:space-between}.sim-player h3{margin:10px 0;color:#fff}.sim-player dl{display:grid;grid-template-columns:100px 1fr;gap:5px;margin:0 0 10px;font-size:12px}.sim-player dt{color:#8d9bb0}.sim-player dd{margin:0;overflow-wrap:anywhere}.sim-online{color:#75d69a}.sim-offline,.sim-fail{color:#ff8e88}.sim-pass{color:#75d69a}.sim-player-actions{display:flex;flex-wrap:wrap;gap:5px}.sim-player-actions button{width:auto;min-height:30px;padding:0 8px;background:#263349;font-size:11px}.sim-report,.sim-log{margin-top:16px;padding:16px;background:#111925;border:1px solid #3d4f68;overflow-wrap:anywhere}.sim-report h2{font-family:inherit;color:#f1be75}.sim-report p,.sim-log p{margin:5px 0;font-size:12px}@media(max-width:600px){.simulator{padding:12px}.sim-header{align-items:flex-start;gap:12px}}.sim-header-actions{display:flex;align-items:center;gap:16px}.sim-header-actions .language-selector{min-width:130px}@media(max-width:600px){.sim-header-actions{width:100%;flex-wrap:wrap}}.sim-audio-lab{margin:16px 0;padding:16px;border:1px solid #476584;border-radius:12px;background:#151f2b}.sim-audio-lab dl{display:grid;grid-template-columns:minmax(180px,auto) 1fr;gap:6px 14px}.sim-audio-lab dt{color:#9fc5e8}.sim-audio-lab dd{margin:0;overflow-wrap:anywhere}.simulator{min-height:100dvh;padding:clamp(14px,3vw,28px);background:#0d1017}.sim-header{gap:20px;padding-bottom:18px;border-bottom:1px solid #2b3240}.sim-header h1{max-width:900px;font-family:Segoe UI,Microsoft YaHei UI,system-ui,sans-serif;font-size:clamp(24px,3vw,38px);text-wrap:balance}.sim-header-actions{flex:0 0 auto}.sim-toolbar,.sim-scenarios,.sim-status,.sim-player,.sim-report,.sim-log{border-radius:14px}.sim-toolbar button,.sim-scenarios button,.sim-player-actions button{border-radius:9px}@media(max-width:680px){.simulator{padding:max(14px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}.sim-header{flex-direction:column;align-items:stretch}.sim-header h1{font-size:25px}.sim-header-actions{justify-content:space-between}.sim-toolbar,.sim-scenarios,.sim-status{padding:10px}.sim-toolbar button,.sim-scenarios button{flex:1 1 135px}.sim-scenarios select{width:100%}.sim-status label{flex:1 1 130px}.sim-status input,.sim-status select{flex:1;width:auto}.sim-grid{grid-template-columns:1fr}.sim-player dl,.sim-audio-lab dl{grid-template-columns:minmax(92px,auto) 1fr}}.expanded-setup{padding:clamp(14px,3vw,24px)}.config-source{color:var(--gold-bright)}.setup-summary{position:sticky;top:8px;z-index:4;display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 18px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:12px;background:#111219f5}.setup-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;width:100%}.setup-panel{position:relative;width:100%;min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.setup-panel h3{margin:0 0 12px 34px;min-height:24px}.step-badge{position:absolute;top:14px;left:14px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#17131a;font-weight:900}.role-group+.role-group{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.role-group h4{margin:0 0 8px;color:var(--gold-bright);font-size:13px}.role-counter{display:grid;grid-template-columns:minmax(0,1fr) 34px 28px 34px;gap:6px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.role-counter>div{min-width:0;padding-right:8px}.role-counter strong,.role-counter small{display:block;max-width:100%;word-break:normal;overflow-wrap:break-word}.role-counter strong{white-space:nowrap}.role-counter small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.role-counter button{min-height:34px;width:34px;padding:0;border-radius:9px}.role-counter output{text-align:center;color:var(--gold-bright);font-weight:900}.preset-section{margin-top:22px}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.preset-card{min-height:96px;padding:12px;text-align:left}.preset-card strong,.preset-card small{display:block}.preset-card small{margin-top:6px;color:#cfccd3;font-weight:400;line-height:1.35}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.review-grid p{margin:5px 0;overflow-wrap:anywhere}@media(max-width:900px){.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.setup-summary{top:4px;font-size:12px}.preset-grid,.review-grid{grid-template-columns:1fr}.role-counter{grid-template-columns:minmax(0,1fr) 38px 28px 38px}.role-counter button{min-height:38px;width:38px}}
