.app-toggle[data-v-9a2e87eb]{color:#b9b1a4;min-height:32px;font:inherit;cursor:pointer;background:#252b2c;border:1px solid rgba(238,232,219,.2);border-radius:3px;align-items:center;padding:4px 8px;display:inline-flex}.app-toggle[data-v-9a2e87eb]>*+*{margin-left:7px}.app-toggle[data-v-9a2e87eb]:hover{border-color:rgba(196,154,85,.58)}.app-toggle[data-v-9a2e87eb]:focus-visible{outline-offset:2px;outline:2px solid #c49a55}.app-toggle[data-v-9a2e87eb]:disabled{cursor:not-allowed;opacity:.52}.app-toggle-track[data-v-9a2e87eb]{background:#161a1b;border:1px solid #68645c;border-radius:8px;flex:0 0 30px;width:30px;height:16px;transition:border-color .14s,background .14s;position:relative}.app-toggle-thumb[data-v-9a2e87eb]{background:#aaa397;border-radius:50%;width:10px;height:10px;transition:left .14s,background .14s;position:absolute;top:2px;left:2px}.app-toggle.is-on .app-toggle-track[data-v-9a2e87eb]{background:rgba(196,154,85,.3);border-color:#c49a55}.app-toggle.is-on .app-toggle-thumb[data-v-9a2e87eb]{background:#f0dfb8;left:16px}:root{--bg:#11161c;--bg-soft:#1b232b;--card:rgba(18,26,34,.86);--line:rgba(211,182,140,.2);--line-strong:rgba(211,182,140,.42);--text:#ecdfc8;--muted:#ad9f8d;--accent:#be8f4a;--accent-soft:rgba(190,143,74,.18);--danger:#d0725c;--shadow:0 28px 60px rgba(0,0,0,.38);--font-display:"Georgia", "Times New Roman", serif;--font-body:"Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{font-family:var(--font-body);color:var(--text);background:linear-gradient(#101417 0%,#17191b 52%,#0d1012 100%);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.entry-page,.room-page,.investigation-page{width:min(1440px,100% - 40px);margin:0 auto;padding:28px 0 48px}.hero-card,.room-hero,.investigation-hero{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,rgba(18,24,31,.9),rgba(28,36,45,.72));border-radius:8px;padding:28px}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600}h1{font-size:max(34px,min(5vw,56px))}h2{margin-bottom:16px;font-size:24px}h3{margin-bottom:10px;font-size:18px}p{margin:0}.hero-copy{max-width:760px;color:var(--muted);margin-top:14px;line-height:1.75}.entry-grid,.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px;display:grid}.form-card,.panel-card,.action-panel,.voice-bar,.map-shell{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:8px}.form-card,.panel-card,.action-panel,.voice-bar{padding:22px}label{color:var(--muted);gap:8px;margin-bottom:14px;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:rgba(12,17,21,.68);border-radius:8px;padding:12px 14px}.icon-button,.primary-button,.secondary-button,.danger-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:36px;display:inline-flex}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);background:#181d20;padding:0}.icon-button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.icon-button:disabled,.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.45}.danger-button{color:#efb5a7;background:rgba(111,43,34,.35);border:1px solid rgba(208,114,92,.55);padding:9px 14px}.danger-icon{color:#df8a76}.compact-button{min-height:32px;padding:6px 10px;font-size:13px}.app-select{width:100%;position:relative}.app-select-trigger{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);text-align:left;background:#111719;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.app-select-trigger .is-placeholder{color:var(--muted)}.app-select.is-open .app-select-trigger{border-color:var(--accent);box-shadow:0 0 0 2px rgba(190,143,74,.12)}.app-select-menu{z-index:1000;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100svh - 16px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line-strong);background:#171d20;border-radius:6px;max-height:min(280px,100dvh - 16px);padding:4px;position:fixed;overflow-y:auto;box-shadow:0 16px 36px rgba(0,0,0,.42)}.app-select-option{width:100%;min-height:36px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.app-select-option.is-active{background:rgba(190,143,74,.13)}.app-select-option.is-selected{color:#e2bf7a}.app-dialog-backdrop{top:0;bottom:0;left:0;right:0;z-index:100;overscroll-behavior:contain;backdrop-filter:blur(5px);background:rgba(4,6,7,.82);place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.app-dialog{border:1px solid var(--line-strong);background:#161c1f;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(82vh,720px);display:grid;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.58)}.app-dialog-header,.app-dialog-footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.app-dialog-header h2{margin:0;font-size:18px}.app-dialog-body{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;min-height:0;padding:16px;line-height:1.65;overflow-x:hidden;overflow-y:auto}.app-dialog-body,.app-select-menu{touch-action:pan-y;scrollbar-width:auto;scrollbar-color:rgba(218,181,112,.78) rgba(255,255,255,.08)}.app-dialog-body::-webkit-scrollbar{width:12px;height:12px}.app-select-menu::-webkit-scrollbar{width:12px;height:12px}.app-dialog-body::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:8px}.app-select-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:8px}.app-dialog-body::-webkit-scrollbar-thumb{background-color:rgba(218,181,112,.78);background-clip:padding-box;border:3px solid transparent;border-radius:8px;min-height:44px}.app-select-menu::-webkit-scrollbar-thumb{background-color:rgba(218,181,112,.78);background-clip:padding-box;border:3px solid transparent;border-radius:8px;min-height:44px}.app-dialog-body::-webkit-scrollbar-thumb:hover{background-color:#e2bf7a}.app-select-menu::-webkit-scrollbar-thumb:hover{background-color:#e2bf7a}.app-dialog-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.app-table-shell{border:1px solid var(--line);background:rgba(15,20,22,.72);border-radius:6px;width:100%;overflow-x:auto}.app-table{border-collapse:collapse;white-space:nowrap;width:100%}.app-table th,.app-table td{text-align:left;vertical-align:middle;border-bottom:1px solid rgba(211,182,140,.13);padding:10px 12px;font-size:13px}.app-table th{color:#cdbda8;background:#171d20;font-weight:600}.app-table tbody tr:hover{background:rgba(255,255,255,.024)}.app-table tbody tr:last-child td{border-bottom:0}.app-table td strong,.app-table td small{display:block}.app-table td small{margin-top:3px;font-size:11px}.app-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.app-uploader{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.auth-page{background-color:#0e1214;background-image:linear-gradient(100deg,rgba(190,143,74,.07) 0,rgba(190,143,74,.07) 1px,transparent 1px,transparent 100%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-shell{border:1px solid var(--line-strong);width:min(840px,100%);box-shadow:var(--shadow);background:#141a1d;border-radius:8px;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);display:grid;overflow:hidden}.auth-shell.compact{grid-template-columns:1fr;width:min(520px,100%)}.auth-brand{border-right:1px solid var(--line);background:#101416;align-items:flex-start;gap:14px;padding:30px;display:flex}.auth-brand div,.brand-lockup,.admin-brand{align-items:center;gap:11px;display:flex}.auth-brand div{gap:5px;display:grid}.auth-brand span,.admin-brand span{color:var(--muted);font-size:10px}.brand-mark{border:1px solid var(--accent);width:40px;height:40px;font-family:var(--font-display);flex:none;place-items:center;display:grid;color:#dab66f!important;font-size:15px!important}.auth-form{gap:16px;padding:30px;display:grid}.auth-form h1{font-size:30px}.auth-submit{width:100%}.field-label{color:var(--muted);gap:7px;margin:0;font-size:13px;display:grid}.field-label input,.field-label textarea,.toolbar-search,.input-with-icon{border-radius:6px}.field-label textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--text);background:#111719;padding:10px 12px}.input-with-icon,.toolbar-search{border:1px solid var(--line);color:var(--muted);background:#111719;align-items:center;gap:8px;padding:0 11px;display:flex}.input-with-icon input,.toolbar-search input{background:0 0;border:0;outline:0;min-width:0;padding-left:0;padding-right:0}.input-with-icon:focus-within,.toolbar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px rgba(190,143,74,.12)}.form-actions,.account-actions,.action-cell{align-items:center;gap:8px;display:flex}.form-error,.page-alert{color:#efaa99}.form-success,.page-notice{color:#8ec8a2}.page-alert,.page-notice{background:rgba(92,37,31,.26);border:1px solid rgba(208,114,92,.4);border-radius:6px;padding:10px 12px;font-size:13px}.page-notice{background:rgba(31,79,48,.25);border-color:rgba(103,166,124,.4)}.workspace-page{width:min(1380px,100% - 40px);margin:0 auto;padding:24px 0 48px}.narrow-page{width:min(720px,100% - 32px)}.workspace-header{border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:68px;margin-bottom:20px;padding-bottom:16px;display:flex}.workspace-header>:last-child{margin-left:auto}.workspace-header h1{font-size:28px}.lobby-header{justify-content:space-between}.account-name{color:var(--muted);align-items:center;gap:7px;display:inline-flex}.workspace-section,.panel{border:1px solid var(--line);background:rgba(20,26,29,.88);border-radius:8px;padding:18px}.workspace-section+.workspace-section{margin-top:18px}.lobby-grid,.room-layout{grid-template-columns:minmax(300px,.75fr) minmax(480px,1.25fr);gap:18px;margin-top:18px;display:grid}.room-layout{grid-template-columns:minmax(480px,1.3fr) minmax(280px,.7fr)}.dense-form{gap:13px;display:grid}.form-row,.two-column-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.full-field{grid-column:1/-1}.game-resume-list,.room-list,.member-list,.content-list{gap:8px;display:grid}.resume-row,.room-row,.member-row,.content-row{border:1px solid var(--line);min-width:0;color:var(--text);text-align:left;background:#141a1d;border-radius:6px;align-items:center;gap:12px;padding:11px 12px;display:grid}.resume-row{grid-template-columns:1fr auto auto}.room-row{grid-template-columns:minmax(0,1fr) auto auto}.member-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.content-row{grid-template-columns:minmax(0,1fr) auto}.resume-row span:first-child,.room-row>div:first-child,.member-row>div,.content-row>div:first-child{gap:4px;min-width:0;display:grid}.resume-row small,.room-row span,.member-row small,.content-row small{color:var(--muted)}.join-code-row{grid-template-columns:1fr auto;gap:8px;margin-bottom:12px;display:grid}.room-row-meta{color:var(--muted);align-items:center;gap:10px;display:flex}.room-row-meta code{color:#d2b06c}.status-badge,.member-mark{border:1px solid var(--line);color:#d7bf8f;border-radius:4px;align-items:center;gap:5px;width:fit-content;padding:4px 7px;font-size:11px;display:inline-flex}.status-badge.active{color:#92caa4;border-color:rgba(103,166,124,.45)}.status-badge.disabled,.member-mark.danger{color:#e59b89;border-color:rgba(208,114,92,.45)}.member-avatar{border:1px solid var(--line);width:34px;height:34px;color:var(--accent);place-items:center;display:grid}.member-row.is-mastermind{border-color:rgba(208,114,92,.42)}.summary-list,.dashboard-list{gap:0;margin:0 0 16px;display:grid}.summary-list div,.dashboard-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.summary-list dt,.dashboard-list dt{color:var(--muted)}.summary-list dd,.dashboard-list dd{margin:0}.waiting-state,.empty-state{min-height:90px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;padding:18px;display:flex}.admin-shell{background:#0d1113;grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:#121719;flex-direction:column;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid var(--line);padding:0 6px 16px}.admin-brand>div{gap:3px;min-width:0;display:grid}.admin-nav{gap:3px;padding:14px 0;display:grid}.admin-nav button{width:100%;min-height:40px;color:var(--muted);text-align:left;background:0 0;border:1px solid transparent;border-radius:5px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.admin-nav button:hover,.admin-nav button.active{border-color:var(--line);color:var(--text);background:rgba(190,143,74,.09)}.admin-nav button.active svg:first-child{color:var(--accent)}.admin-account{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:12px 6px 0;display:flex}.admin-account div{gap:2px;min-width:0;display:grid}.admin-account span{color:var(--muted);font-size:11px}.admin-main{min-width:0;padding:0 24px 40px}.admin-topbar{border-bottom:1px solid var(--line);align-items:center;gap:12px;height:72px;margin-bottom:18px;display:flex}.admin-topbar>:last-child{margin-left:auto}.admin-topbar h1{font-family:var(--font-body);font-size:22px;font-weight:650}.admin-content{gap:14px;display:grid}.admin-toolbar{justify-content:flex-end;align-items:center;gap:8px;display:flex}.toolbar-search{width:min(320px,100%);margin-right:auto}.toolbar-select{width:145px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-panel{border:1px solid var(--line);background:#141a1d;border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;min-height:110px;padding:16px;display:grid}.metric-panel svg{color:var(--accent)}.metric-panel span{color:var(--muted);font-size:13px}.metric-panel strong{font-family:var(--font-display);grid-column:1/-1;font-size:28px}.admin-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(20,26,29,.72);padding:16px}.dashboard-list{max-width:620px;margin-top:12px}.asset-admin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.asset-admin-item{border:1px solid var(--line);background:#141a1d;border-radius:6px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px;display:grid}.asset-admin-item img{object-fit:cover;background:#090c0d;border-radius:4px;width:64px;height:52px}.asset-admin-item div{gap:4px;min-width:0;display:grid}.asset-admin-item strong,.asset-admin-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content-editor{grid-template-rows:auto 1fr;grid-template-columns:150px minmax(0,1fr);min-height:480px;display:grid}.content-tabs{border-right:1px solid var(--line);grid-row:1/3;align-content:start;gap:3px;padding-right:12px;display:grid}.content-tabs button{min-height:35px;color:var(--muted);text-align:left;background:0 0;border:1px solid transparent;border-radius:4px;padding:7px 9px}.content-tabs button.active{border-color:var(--line);color:var(--text);background:rgba(190,143,74,.1)}.content-toolbar{color:var(--muted);justify-content:space-between;align-items:center;padding:0 0 10px 12px;font-size:12px;display:flex}.content-list{align-content:start;max-height:480px;padding-left:12px;overflow-y:auto}.json-editor,.mono-cell{font-family:Cascadia Code,Consolas,monospace}.json-editor{tab-size:2;min-height:420px;line-height:1.55}.mono-cell{text-overflow:ellipsis;max-width:440px;overflow:hidden;font-size:11px!important}.admin-action-button{white-space:nowrap;min-height:32px;padding:6px 9px}.table-muted{color:var(--muted);font-size:12px}.mobile-only{display:none}@media (max-width:900px){.auth-shell,.lobby-grid,.room-layout,.metric-grid{grid-template-columns:1fr}.auth-brand{border-right:0;border-bottom:1px solid var(--line)}.workspace-page{width:min(100% - 24px,720px)}.admin-shell{grid-template-columns:1fr}.admin-sidebar{z-index:90;width:min(280px,86vw);height:100vh;height:100dvh;max-height:none;padding-top:max(16px, env(safe-area-inset-top));padding-right:max(12px, env(safe-area-inset-right));padding-bottom:max(16px, env(safe-area-inset-bottom));padding-left:max(12px, env(safe-area-inset-left));transition:transform .18s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-102%);box-shadow:18px 0 40px rgba(0,0,0,.5)}.admin-sidebar.is-open{transform:translate(0)}.admin-main{padding:0 12px 30px}.admin-topbar{height:auto;min-height:64px;padding:12px 0}.admin-sidebar-backdrop{z-index:80;top:0;bottom:0;left:0;right:0;-webkit-appearance:none;appearance:none;background:rgba(4,7,8,.68);border:0;border-radius:0;width:100%;min-height:100%;padding:0;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.mobile-only{display:inline-flex}.admin-sidebar-backdrop.mobile-only{display:block}.admin-toolbar{flex-wrap:wrap;justify-content:flex-start}.toolbar-search{width:100%;margin-right:0}.content-editor{grid-template-columns:1fr}.content-tabs{border-right:0;border-bottom:1px solid var(--line);grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 0 10px}.content-toolbar,.content-list{padding-left:0}}@media (max-width:600px){.workspace-header,.lobby-header{flex-wrap:wrap;align-items:flex-start}.workspace-header>:last-child{margin-left:0}.account-actions{width:100%}.account-actions .account-name{margin-right:auto}.form-row,.two-column-form,.room-row,.member-row{grid-template-columns:1fr}.member-avatar{display:none}.app-dialog-backdrop{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));place-items:center}.app-dialog{width:min(100%,560px);max-height:calc(100vh - 16px);max-height:calc(100svh - 16px);border-radius:10px;max-height:calc(100dvh - 16px)}.app-dialog-header,.app-dialog-footer{padding:12px}.app-dialog-body{scrollbar-width:auto;padding:14px 12px}.app-select-option{min-height:44px;padding:9px 10px}.app-uploader{flex-direction:column;align-items:flex-start}.admin-main{padding-right:max(10px, env(safe-area-inset-right));padding-bottom:calc(28px + env(safe-area-inset-bottom));padding-left:max(10px, env(safe-area-inset-left))}.admin-topbar{z-index:50;background:#0d1113;margin-bottom:12px;position:sticky;top:0}.admin-topbar h1{font-size:20px}.admin-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.admin-toolbar>.toolbar-search,.admin-toolbar>.app-uploader{grid-column:1/-1}.admin-toolbar>.toolbar-search,.admin-toolbar>.toolbar-select,.admin-toolbar>.primary-button,.admin-toolbar>.secondary-button{width:100%;min-width:0}.asset-admin-grid{grid-template-columns:1fr}.asset-admin-item{grid-template-columns:56px minmax(0,1fr) auto}.asset-admin-item img{width:56px;height:48px}.content-tabs{grid-template-columns:none;padding-bottom:8px;display:flex;overflow-x:auto}.content-tabs button{white-space:nowrap;flex:none}.admin-main .app-table-shell{background:0 0;border:0;overflow:visible}.admin-main .app-table{white-space:normal;display:block}.admin-main .app-table thead{display:none}.admin-main .app-table tbody{gap:8px;display:grid}.admin-main .app-table tbody tr{border:1px solid var(--line);background:rgba(20,26,29,.86);border-radius:6px;padding:6px 10px;display:grid}.admin-main .app-table td{white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid rgba(211,182,140,.12);grid-template-columns:minmax(72px,28%) minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px 2px;display:grid}.admin-main .app-table td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:600}.admin-main .app-table td:last-child{border-bottom:0}.admin-main .app-table td.action-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-main .app-table td.action-cell:before{flex:0 0 100%}.admin-main .app-table td.action-cell .admin-action-button{flex:auto;min-width:96px}.admin-main .app-table .mono-cell{text-overflow:clip;white-space:normal;max-width:none;overflow:visible}}.primary-button,.secondary-button,.ghost-button,.wide-button,.voice-button,.chip-button,.form-card,.panel-card,.action-panel,.voice-bar,.map-shell,.hero-card,.room-hero,.investigation-hero{border-radius:8px}.interaction-message{white-space:pre-line}.primary-button,.secondary-button,.ghost-button,.wide-button,.voice-button,.chip-button{border:1px solid var(--line-strong);color:var(--text);background:rgba(24,34,43,.82);border-radius:8px;padding:12px 14px;transition:all .18s}.panel-copy,.slot-sub,.district-name,small{color:var(--muted)}.primary-button{color:#17120d;background:linear-gradient(135deg,#8b6330,#be8f4a);font-weight:700}.secondary-button:hover,.ghost-button:hover,.wide-button:hover,.voice-button:hover,.chip-button:hover{border-color:var(--accent);transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.voice-button:disabled{opacity:.5;cursor:not-allowed}.voice-button:disabled:hover{border-color:var(--line-strong);transform:none}.room-list,.plain-list{margin-top:18px}.room-row,.player-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.plain-list{color:var(--muted);padding-left:18px;line-height:1.85}.error-text{color:var(--danger);margin-top:16px}.investigation-hero{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.hero-meta{color:var(--muted);text-align:right;gap:8px;display:grid}.voice-bar{grid-template-columns:1.2fr auto 1fr;align-items:center;gap:20px;margin-top:18px;display:grid}.voice-members{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.voice-member{border:1px solid var(--line);color:var(--muted);background:rgba(255,255,255,.04);border-radius:999px;padding:8px 10px;font-size:13px}.investigation-layout{grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:20px;margin-top:20px;display:grid}.map-shell{padding:18px}.board-top{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.slot-cell{border:1px dashed var(--line-strong);min-height:56px;color:var(--muted);background:rgba(255,255,255,.02);border-radius:14px;place-items:center;gap:4px;display:grid}.slot-title{color:var(--text);font-weight:700}.map-stage{grid-template-columns:170px minmax(0,1fr) 220px;align-items:stretch;gap:14px;display:grid}.archive-strip,.timeline-strip{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:18px;padding:16px}.archive-strip p,.timeline-strip p{color:var(--muted);line-height:1.6}.timeline-slab{border:1px dashed var(--line);min-height:260px;color:var(--muted);border-radius:14px;margin-top:16px;padding:14px}.map-canvas{aspect-ratio:3/2;border:1px solid var(--line);background:radial-gradient(circle at top,rgba(190,143,74,.08),transparent 32%),linear-gradient(#0b1116 0%,#101821 100%);border-radius:22px;align-self:start;width:100%;min-height:0;position:relative;overflow:hidden}.map-image{object-fit:contain;opacity:.94;filter:saturate(.88)contrast(1.02);width:100%;height:100%;display:block}.map-overlay{top:0;bottom:0;left:0;right:0;z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.svg-overlay{width:100%;height:100%}.district-polygon{fill:color-mix(in srgb, var(--district-fill) 14%, transparent);stroke:color-mix(in srgb, var(--district-fill) 65%, #f2dfbf);stroke-width:.18px;stroke-dasharray:.8 .45;backdrop-filter:blur(2px)}.edge-line{fill:none;stroke:rgba(226,214,191,.18);stroke-width:.22px}.edge-line.bridge{stroke:rgba(190,143,74,.26)}.move-line{fill:none;stroke:rgba(234,202,144,.9);stroke-width:.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.2 .8;filter:drop-shadow(0 0 4px rgba(234,202,144,.35))}.district-legend{z-index:2;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:14px;left:14px}.district-pill{border:1px solid var(--line);background:rgba(9,13,18,.74);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.district-pill i{border-radius:50%;width:10px;height:10px;display:inline-block}.map-point{width:34px;height:34px;color:var(--text);text-align:center;z-index:3;background:rgba(11,16,21,.84);border:1px solid rgba(232,216,189,.2);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px rgba(0,0,0,.28)}.map-point.active{outline:2px solid var(--accent);outline-offset:2px}.map-point.reachable{box-shadow:0 0 0 1px rgba(242,223,191,.2),0 0 18px rgba(190,143,74,.15)}.map-point.case{background:linear-gradient(135deg,rgba(77,55,27,.92),rgba(24,18,13,.9));border-color:rgba(190,143,74,.72)}.map-point.precinct{background:linear-gradient(135deg,rgba(44,57,68,.96),rgba(16,24,31,.94));border-color:rgba(151,177,194,.74)}.map-point.landmark,.map-point.public{border-color:rgba(168,181,190,.48)}.map-point.intel,.map-point.service{border-style:dashed}.map-point.transit{border-color:rgba(188,168,112,.54)}.badge{color:#100c08;background:linear-gradient(135deg,#8a6634,#c29858);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-grid}.point-label{z-index:2;backdrop-filter:blur(8px);pointer-events:none;background:rgba(10,14,19,.72);border:1px solid rgba(232,216,189,.16);border-radius:12px;min-width:114px;max-width:170px;padding:7px 10px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px rgba(0,0,0,.18)}.point-label strong{color:var(--text);font-size:11px;line-height:1.3;display:block}.point-label span{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.25;display:block}.point-label.active{border-color:rgba(190,143,74,.48);box-shadow:0 0 0 1px rgba(190,143,74,.16),0 10px 24px rgba(0,0,0,.22)}.map-token,.status-marker{z-index:3;pointer-events:none;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.map-token{border:2px solid rgba(255,244,220,.65);border-radius:50%;width:34px;height:34px;font-size:11px;font-weight:700;box-shadow:0 8px 18px rgba(0,0,0,.28)}.map-token.player{color:#15100c;background:linear-gradient(135deg,#d6c093,#f3ddad)}.map-token.viewer{outline-offset:2px;outline:2px solid rgba(242,223,191,.78)}.map-token.current{box-shadow:0 0 0 2px rgba(190,143,74,.48),0 8px 18px rgba(0,0,0,.28)}.map-token.suspect{color:#f5efe2;background:rgba(111,127,139,.88)}.map-token.portrait{background:rgba(20,28,36,.95);padding:0;overflow:hidden}.token-avatar{object-fit:cover;width:100%;height:100%;display:block}.status-marker{border:1px solid rgba(248,227,194,.72);border-radius:999px;min-width:28px;height:28px;padding:0 8px;font-size:11px;font-weight:700;box-shadow:0 10px 20px rgba(0,0,0,.22)}.status-marker.crime_scene{color:#fff4ed;background:linear-gradient(135deg,rgba(142,53,44,.95),rgba(193,93,72,.95))}.status-marker.precinct{color:#f0f5f9;background:linear-gradient(135deg,rgba(57,77,92,.95),rgba(96,122,144,.95))}.status-marker.blackmail{color:#fff5dd;background:linear-gradient(135deg,rgba(94,78,31,.96),rgba(157,124,47,.96))}.status-marker.landmark{color:#f7f0e4;background:linear-gradient(135deg,rgba(73,94,112,.95),rgba(105,129,152,.95))}.action-panel{gap:18px;display:grid}.resource-line{flex-wrap:wrap;gap:10px;display:flex}.resource-line span{background:var(--accent-soft);color:var(--text);border-radius:999px;padding:8px 10px}.action-block,.stack-list{gap:10px;display:grid}.stack-list.compact{margin-top:14px}.action-card{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:14px;gap:8px;padding:12px;display:grid}.asset-grid{gap:10px;margin-top:12px;display:grid}.asset-card{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:14px;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px;display:grid}.asset-card.wide{grid-template-columns:132px minmax(0,1fr)}.asset-copy{align-content:start;gap:6px;display:grid}.asset-copy span{color:var(--muted);font-size:13px;line-height:1.5}.asset-thumb{object-fit:cover;background:rgba(11,16,21,.7);border:1px solid rgba(232,216,189,.12);border-radius:10px;width:100%;display:block}.asset-placeholder{width:100%;color:var(--muted);background:rgba(11,16,21,.38);border:1px dashed rgba(232,216,189,.18);border-radius:10px;place-items:center;font-size:12px;display:grid}.clickable-asset{cursor:zoom-in;transition:transform .18s,border-color .18s}.clickable-asset:hover{border-color:rgba(190,143,74,.44);transform:translateY(-1px)}.portrait-thumb{aspect-ratio:3/4}.location-thumb{aspect-ratio:16/9}.evidence-thumb{aspect-ratio:4/3;width:min(100%,220px)}.asset-preview-backdrop{top:0;bottom:0;left:0;right:0;z-index:40;backdrop-filter:blur(8px);background:rgba(6,9,12,.78);place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.asset-preview-dialog{border:1px solid var(--line);width:min(900px,100%);max-height:min(92vh,980px);box-shadow:var(--shadow);background:rgba(14,20,26,.96);border-radius:22px;gap:12px;padding:16px;display:grid;overflow:auto}.asset-preview-close{border:1px solid var(--line-strong);color:var(--text);background:rgba(255,255,255,.04);border-radius:12px;justify-self:end;padding:8px 12px}.asset-preview-image{object-fit:contain;background:rgba(11,16,21,.7);border:1px solid rgba(232,216,189,.12);border-radius:16px;width:100%;display:block}.asset-preview-copy{gap:8px;display:grid}.asset-preview-copy span{color:var(--muted);line-height:1.6}.action-card.subtle{gap:0}.focus-block{background:linear-gradient(160deg,rgba(190,143,74,.08),rgba(255,255,255,.02));border:1px solid rgba(190,143,74,.3)}.emphasis-copy{color:#d9c18f}.detective-console .solve-block,.chisel-console .focus-block,.interrogation-flow-block{background:rgba(255,255,255,.024);border:1px solid rgba(232,216,189,.14);border-radius:18px;padding:14px}.response-card{background:rgba(190,143,74,.08);border-color:rgba(190,143,74,.35)}.response-option{text-align:left;cursor:pointer;width:100%;transition:border-color .18s,transform .18s,background .18s}.response-option:hover{border-color:rgba(190,143,74,.45);transform:translateY(-1px)}.response-option.response-selected{background:rgba(190,143,74,.12);border-color:rgba(190,143,74,.68);box-shadow:inset 0 0 0 1px rgba(190,143,74,.18)}.success-copy{color:#cdb27f;margin-top:14px}.status-copy{color:var(--muted);margin-top:14px}.dual-actions{flex-wrap:wrap;gap:8px;display:flex}.ghost-chip{background:rgba(255,255,255,.04)}.chip-button{text-align:left}.chip-button.segment-selected{border-color:var(--accent);background:rgba(190,143,74,.18)}.wide-button.ghost{background:rgba(255,255,255,.04)}.mini-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.mini-tag{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.waveform-board{gap:12px;margin-top:14px;display:grid}.wave-segment{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:14px;gap:8px;padding:12px;display:grid}.wave-segment.solved{border-color:rgba(190,143,74,.7);box-shadow:inset 0 0 0 1px rgba(190,143,74,.18)}.phase-rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.phase-step{background:rgba(255,255,255,.02);border:1px solid rgba(232,216,189,.12);border-radius:14px;gap:6px;min-height:78px;padding:10px 12px;display:grid}.phase-step span{width:26px;height:26px;color:var(--muted);background:rgba(255,255,255,.04);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.phase-step strong{font-size:13px;line-height:1.4}.phase-step.is-active{background:rgba(190,143,74,.08);border-color:rgba(190,143,74,.58);box-shadow:inset 0 0 0 1px rgba(190,143,74,.14)}.phase-step.is-active span,.phase-step.is-done span{color:var(--text);background:rgba(190,143,74,.16)}.phase-step.is-done{background:rgba(255,255,255,.035);border-color:rgba(190,143,74,.22)}.chisel-stage-block{background:linear-gradient(rgba(190,143,74,.08),rgba(255,255,255,.02)),rgba(255,255,255,.02);border:1px solid rgba(190,143,74,.28);border-radius:18px;padding:14px}.invalid-session-card{align-content:start}.wave-bars{align-items:end;gap:4px;min-height:70px;display:flex}.wave-bars i{background:linear-gradient(#d8c394,#7f9db7);border-radius:999px;width:6px;display:inline-block}.timeline-item,.event-item,.archive-item{border-top:1px solid var(--line);color:var(--muted);gap:4px;padding:10px 0;display:grid}pre{border:1px solid var(--line);color:#d7c7af;background:rgba(7,10,14,.6);border-radius:14px;margin:0;padding:12px;font-size:12px;line-height:1.6;overflow:auto}@media (max-width:1100px){.entry-grid,.room-grid,.investigation-layout,.info-grid,.voice-bar,.map-stage{grid-template-columns:1fr}.investigation-hero{flex-direction:column}.hero-meta{text-align:left}.asset-card,.asset-card.wide,.phase-rail{grid-template-columns:1fr}.evidence-thumb{width:100%}.asset-preview-backdrop{padding:12px}.asset-preview-dialog{border-radius:18px;padding:12px}}.primary-button,.secondary-button,.ghost-button,.wide-button,.voice-button,.chip-button,.form-card,.panel-card,.action-panel,.voice-bar,.map-shell,.hero-card,.room-hero,.investigation-hero,.asset-preview-dialog,.asset-preview-image,pre{border-radius:8px}:root{--coa-ink:#171717;--coa-coal:#22272a;--coa-panel:#2d3335;--coa-paper:#eee8db;--coa-paper-deep:#d9cfbd;--coa-gold:#c49a55;--coa-red:#a13f39;--coa-teal:#27757a;--coa-olive:#66705a}body{background:#171a1b}.app-topbar{background:#1e2224;border-bottom:1px solid rgba(196,154,85,.28);align-items:center;gap:16px;min-height:68px;padding:10px 20px;display:flex}.brand-lockup{align-items:center;gap:12px;min-width:0;margin-right:auto;display:flex}.brand-lockup>div{gap:2px;min-width:0;display:grid}.brand-lockup strong,.brand-lockup small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-lockup strong{color:var(--coa-paper);font-family:var(--font-display);font-size:18px}.brand-lockup small{color:#aaa294;font-size:12px}.brand-monogram{border:1px solid var(--coa-gold);width:38px;height:38px;color:var(--coa-gold);font-family:var(--font-display);flex:0 0 38px;place-items:center;font-size:14px;display:grid}.topbar-actions{align-items:center;gap:8px;display:flex}.account-chip{color:#c8c1b4;align-items:center;gap:7px;font-size:13px;display:inline-flex}.lobby-page,.waiting-room-page{background:#171a1b;min-height:100vh}.lobby-workspace{grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.case-rail{background:#202426;border-right:1px solid rgba(196,154,85,.22);padding:22px 16px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading h1{font-size:26px}.section-heading h2{margin:0;font-size:20px}.section-heading>span{color:var(--coa-gold);font-variant-numeric:tabular-nums}.case-file{color:#d8d1c4;text-align:left;background:0 0;border:0;border-bottom:1px solid rgba(238,232,219,.1);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:72px;padding:10px;display:grid}.case-file:hover,.case-file.selected{background:rgba(196,154,85,.11)}.case-file.selected{box-shadow:inset 3px 0 var(--coa-gold)}.case-file-index{color:var(--coa-gold);font-family:var(--font-display);font-size:20px}.case-file>span:last-child{gap:4px;min-width:0;display:grid}.case-file strong{overflow-wrap:anywhere}.case-file small{color:#958d80}.lobby-main{width:min(1120px,100%);padding:28px max(18px,min(4vw,46px)) 60px}.case-brief{border-bottom:2px solid var(--coa-gold);grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:36px;padding:8px 0 26px;display:grid}.case-brief h2{color:var(--coa-paper);margin:0;font-size:34px}.case-brief>p{color:#b9b1a4;align-self:end;line-height:1.75}.case-subtitle{color:var(--coa-gold);margin-top:8px}.mode-strip{border:1px solid rgba(196,154,85,.35);grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 16px;display:grid}.mode-strip button{color:#aaa396;background:#222729;border:0;border-right:1px solid rgba(196,154,85,.24);min-height:44px;padding:8px 12px}.mode-strip button:last-child{border-right:0}.mode-strip button.active{background:var(--coa-gold);color:#1d1b18;font-weight:700}.room-compose{background:#222729;border:1px solid rgba(238,232,219,.12);grid-template-columns:minmax(220px,1fr) 150px minmax(170px,auto) auto;align-items:end;gap:12px;padding:16px;display:grid}.room-compose label{margin:0}.toggle-field{justify-content:space-between;align-items:center;min-height:62px;display:flex}.room-section{margin-top:30px}.room-list{border-top:1px solid rgba(238,232,219,.14)}.room-row{color:#ded7ca;text-align:left;background:0 0;border:0;border-bottom:1px solid rgba(238,232,219,.1);grid-template-columns:100px minmax(0,1fr) auto 28px;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 12px;display:grid}.room-row:hover{background:rgba(39,117,122,.12)}.room-row>span:nth-child(2){gap:4px;min-width:0;display:grid}.room-row small{color:#958e82;overflow-wrap:anywhere}.room-code{color:var(--coa-gold);font-family:var(--font-display);letter-spacing:0;font-size:18px}.room-capacity{color:#b8b0a3}.status-pill{border:1px solid var(--coa-teal);color:#83bdc0;padding:4px 7px;font-size:12px}.empty-state{color:#8f887d;border:1px dashed rgba(238,232,219,.18);place-items:center;min-height:90px;display:grid}.error-banner,.success-banner{border-left:3px solid var(--coa-red);color:#efb8b3;background:rgba(161,63,57,.14);margin-top:12px;padding:10px 12px;line-height:1.5}.success-banner{border-left-color:var(--coa-teal);color:#a7d3d5;background:rgba(39,117,122,.14)}.dcoa-toast-stack{z-index:120;pointer-events:none;gap:8px;width:min(390px,100vw - 36px);display:grid;position:fixed;top:62px;right:18px}.dcoa-toast{color:#eee6d7;background:rgba(31,36,37,.97);border:1px solid rgba(196,154,85,.45);grid-template-columns:8px minmax(0,1fr);align-items:start;gap:9px;padding:10px 12px;animation:.18s ease-out dcoa-toast-in;display:grid;box-shadow:0 12px 28px rgba(0,0,0,.35)}.dcoa-toast p{white-space:pre-line;margin:0;font-size:12px;line-height:1.5}.dcoa-toast-dot{background:var(--coa-gold);border-radius:50%;width:7px;height:7px;margin-top:5px}.dcoa-toast.toast-success{border-color:rgba(39,117,122,.65)}.dcoa-toast.toast-success .dcoa-toast-dot{background:var(--coa-teal)}.dcoa-toast.toast-error{border-color:rgba(161,63,57,.8)}.dcoa-toast.toast-error .dcoa-toast-dot{background:var(--coa-red)}.dcoa-toast.toast-warning .dcoa-toast-dot{background:#ce8b4b}@keyframes dcoa-toast-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.room-workspace{grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr) 290px;gap:20px;width:min(1220px,100% - 40px);margin:0 auto;padding:34px 0;display:grid}.room-case-dossier,.seat-board,.room-control-panel{background:#222729;border:1px solid rgba(238,232,219,.14);padding:20px}.room-case-dossier h1{color:var(--coa-paper);font-size:32px}.room-case-dossier>p:last-of-type{color:#a69e91;margin-top:8px;line-height:1.6}.room-case-dossier dl{margin:26px 0 0}.room-case-dossier dl div{border-top:1px solid rgba(238,232,219,.1);justify-content:space-between;gap:10px;padding:9px 0;display:flex}.room-case-dossier dt{color:#8f887d}.room-case-dossier dd{color:#ded7ca;margin:0}.seat-list{gap:7px;display:grid}.seat-row{border-left:3px solid var(--coa-teal);background:#292f31;grid-template-columns:32px 24px minmax(0,1fr) 20px 20px;align-items:center;gap:8px;min-height:58px;padding:8px 10px;display:grid}.seat-row.chisel{border-left-color:var(--coa-red)}.seat-row.empty{color:#77736b;border-left-color:#505455;grid-template-columns:32px 1fr}.seat-row>span:nth-child(3){gap:2px;min-width:0;display:grid}.seat-row small{color:#969084}.seat-number{color:var(--coa-gold);font-variant-numeric:tabular-nums}.room-control-panel{align-self:start}.readiness{gap:6px;margin:18px 0;display:grid}.readiness span{color:#d39a94;background:rgba(161,63,57,.13);padding:8px 10px}.readiness span.ready{color:#94c8ca;background:rgba(39,117,122,.15)}.start-button{width:100%;min-height:46px}.waiting-copy{color:#989084;text-align:center}.case-desk{background:#171a1b;grid-template-rows:58px minmax(0,1fr) 208px;height:100vh;display:grid;overflow:hidden}.case-statusbar{background:#1f2426;border-bottom:1px solid rgba(196,154,85,.3);grid-template-columns:38px minmax(180px,1fr) auto auto minmax(180px,auto) 38px;align-items:center;gap:12px;padding:8px 12px;display:grid}.case-title{align-items:baseline;gap:10px;min-width:0;display:flex}.case-title p{color:var(--coa-paper);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.case-title span{color:var(--coa-gold);white-space:nowrap;font-size:12px}.day-meter,.stress-meter,.active-detective{color:#aaa397;align-items:center;gap:6px;display:flex}.day-meter strong,.stress-meter strong{color:var(--coa-paper);font-size:20px}.day-meter span,.stress-meter span,.active-detective small{color:#777f80;font-size:11px}.active-detective{min-width:0}.active-detective span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-panel-button{display:none}.desk-layout{grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.city-map{background:var(--coa-paper);min-width:0;min-height:0;color:var(--coa-ink);position:relative;overflow:hidden}.map-paper-grid{top:0;bottom:0;left:0;right:0;opacity:.48;background-image:repeating-linear-gradient(22deg,transparent 0,transparent 28px,rgba(31,43,43,.12) 29px,rgba(31,43,43,.12) 31px),repeating-linear-gradient(112deg,transparent 0,transparent 56px,rgba(161,63,57,.11) 57px,rgba(161,63,57,.11) 59px);position:absolute;top:0;bottom:0;left:0;right:0}.city-map:after{content:"";top:6%;bottom:6%;left:7%;right:7%;pointer-events:none;border:1px solid rgba(23,23,23,.26);position:absolute;top:6%;bottom:6%;left:7%;right:7%}.district-label{z-index:1;color:rgba(23,23,23,.2);font-family:var(--font-display);pointer-events:none;font-size:24px;position:absolute}.district-label-a{top:12%;left:12%}.district-label-b{top:8%;left:42%}.district-label-c{top:23%;right:10%}.district-label-d{bottom:14%;left:18%}.district-label-e{bottom:11%;right:18%}.map-location{z-index:3;color:#222;background:#f7f2e7;border:1px solid #343b3b;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-size:10px;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 4px rgba(0,0,0,.22)}.map-location small{color:#f1eadc;z-index:9;background:#222729;border-radius:3px;min-width:100px;max-width:150px;padding:4px 6px;font-weight:400;line-height:1.25;display:none;position:absolute;top:31px;left:50%;transform:translate(-50%)}.map-location:hover small,.map-location.selected small{display:block}.map-location.police{border:3px solid var(--coa-teal)}.map-location.mob{border:3px solid var(--coa-gold)}.map-location.occupied{background:var(--coa-teal);color:#fff}.map-location.suspect:after{content:"";background:var(--coa-red);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;right:-3px}.map-location.selected{z-index:8;outline:3px solid rgba(161,63,57,.45)}.player-stack{color:#fff;background:#1f2426;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 3px;font-size:9px;font-style:normal;display:grid;position:absolute;bottom:-7px;left:-7px}.map-selection-readout{z-index:10;color:#e8e1d4;background:rgba(31,36,38,.93);align-items:flex-start;gap:9px;max-width:min(480px,100% - 28px);padding:10px 12px;display:flex;position:absolute;bottom:14px;left:14px}.map-selection-readout>span{gap:3px;min-width:0;display:grid}.map-selection-readout small{color:#aaa296;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.action-drawer{background:#222729;border-left:1px solid rgba(196,154,85,.28);min-width:0;padding:16px;overflow-y:auto}.drawer-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.drawer-heading h2{margin:0;font-size:22px}.mobile-close{display:none}.resource-line{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0;display:grid}.resource-line span{color:#918a80;text-overflow:ellipsis;white-space:nowrap;background:#2c3234;min-width:0;padding:8px;font-size:11px;overflow:hidden}.resource-line strong{color:#e2dbce;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;display:block;overflow:hidden}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0;display:grid}.action-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.action-command{color:#ddd5c8;text-align:left;background:#2b3133;border:1px solid rgba(238,232,219,.14);border-radius:4px;align-items:center;gap:8px;min-height:58px;padding:9px;display:flex}.action-command:hover:not(:disabled){border-color:var(--coa-gold);color:#fff}.action-command:disabled{opacity:.38;cursor:not-allowed}.question-sheet,.setup-sheet,.result-sheet,.ability-section{background:#292f31;border:1px solid rgba(238,232,219,.13);margin-top:14px;padding:13px}.question-sheet h3,.setup-sheet h3,.result-sheet h3,.ability-section h3{font-size:16px}.sheet-label{color:var(--coa-gold);text-transform:uppercase;font-size:11px}.spoken-response{border-left:3px solid var(--coa-red);color:#272522;background:#eee8db;margin:12px 0;padding:12px;line-height:1.75}.question-awaiting-note{border-left:3px solid var(--coa-gold);color:#d8c49f;background:rgba(196,154,85,.1);margin:10px 0;padding:9px 10px;font-size:12px;line-height:1.55}.question-reopen-button{width:100%;margin-top:8px}.result-return-note{color:#c8c0b3;margin:12px 0;font-size:13px;line-height:1.55}.decision-note{border-left:3px solid var(--coa-gold);color:#d8c49f;background:rgba(196,154,85,.1);margin:10px 0;padding:9px 10px}.action-stack{gap:8px;margin-top:12px;display:grid}.leverage-control{border:1px solid rgba(196,154,85,.3);justify-content:space-between;align-items:center;gap:12px;min-height:54px;margin-top:10px;padding:9px 10px;display:flex}.leverage-control>span{gap:3px;display:grid}.leverage-control small{color:#989084;line-height:1.35}.bribe-section{background:rgba(39,117,122,.08);border:1px solid rgba(39,117,122,.38);gap:8px;margin-top:10px;padding:10px;display:grid}.bribe-section h3{margin:0;font-size:14px}.ability-section{gap:7px;display:grid}.ability-card{color:#ddd5c8;text-align:left;background:rgba(196,154,85,.08);border:1px solid rgba(196,154,85,.34);border-radius:4px;align-items:flex-start;gap:9px;width:100%;padding:9px;display:flex}.ability-card.grift{background:rgba(161,63,57,.1);border-color:rgba(161,63,57,.5)}.ability-card>span{gap:3px;display:grid}.ability-card small{color:#a29a8e;line-height:1.4}.evidence-tray{background:#1f2426;border-top:1px solid rgba(196,154,85,.3);grid-template-columns:40px minmax(0,1fr) 120px;gap:10px;min-width:0;padding:10px 12px;display:grid}.tray-tab{display:none}.case-card-row{gap:8px;min-width:0;display:flex;overflow-x:auto}.evidence-card{background:var(--coa-paper);color:#292622;text-align:left;border:2px solid #b7ad9a;border-radius:3px;flex:0 0 178px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px;width:178px;min-height:178px;padding:10px;display:grid}.evidence-card.selected{border-color:var(--coa-red)}.evidence-card>span{color:var(--coa-red);font-size:11px}.evidence-card p{font-size:11px;line-height:1.45;overflow:hidden}.evidence-card small{color:#746e64;font-size:10px}.archive-toggle{color:#c5bdae;background:#292f31;border:1px solid rgba(238,232,219,.16);border-radius:4px}.archive-overlay{z-index:80;top:8%;bottom:8%;left:8%;right:8%;border:1px solid var(--coa-gold);background:#1f2426;padding:20px;position:fixed;top:8%;bottom:8%;left:8%;right:8%;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.55)}.archive-overlay header{justify-content:space-between;align-items:center;display:flex}.archive-overlay article{color:#c8c0b3;border-bottom:1px solid rgba(238,232,219,.12);max-width:900px;padding:16px 0;line-height:1.75}.guess-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.investigation-result-dialog{gap:14px;display:grid}.result-dialog-kicker{color:var(--coa-gold);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.result-paper{background:var(--coa-paper);color:#302d28;border:1px solid #c3b49b;padding:16px 17px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}.result-paper h3{color:#302d28;margin:4px 0 10px;font-size:22px}.result-paper .sheet-label{color:#97483f}.result-dialog-copy{color:#514b42;white-space:pre-line;font-size:14px;line-height:1.8}.result-effect-block{color:#8d5e21;border-top:1px solid #b89963;margin-top:15px;padding-top:12px}.result-effect-heading{align-items:center;gap:6px;margin-bottom:5px;display:flex}.result-effect-block p{margin:0;font-weight:700;line-height:1.7}.result-feedback-block,.result-event-block{background:rgba(196,154,85,.07);border:1px solid rgba(196,154,85,.3);padding:11px 12px}.result-feedback-block header,.result-event-block header{color:#e6d2a8;align-items:center;gap:6px;font-size:12px;display:flex}.result-feedback-block ul{color:#c9c0b3;gap:5px;margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.55;display:grid}.result-event-block{background:rgba(39,117,122,.1);border-color:rgba(39,117,122,.45)}.result-event-block header{color:#a7d3d5}.result-event-block p{color:#c2dfe0;margin-top:7px;font-size:12px;line-height:1.55}.question-result-subject{color:#aaa094;margin:-5px 0 0;font-size:12px}.question-result-status{border-left:3px solid var(--coa-gold);background:rgba(196,154,85,.1);gap:5px;padding:11px 12px;display:grid}.question-result-status strong{color:#f0dfbd;font-size:15px}.question-result-status p{color:#bdb4a6;font-size:12px;line-height:1.55}.question-result-status.is-success{border-left-color:var(--coa-teal);background:rgba(39,117,122,.14)}.question-result-status.is-failure{border-left-color:var(--coa-red);background:rgba(161,63,57,.14)}.question-result-status.is-accepted{border-left-color:var(--coa-gold)}.question-result-quote{border:1px solid #c3b49b;border-left:4px solid var(--coa-red);color:#302d28;white-space:pre-line;background:#eee8db;margin:0;padding:15px 16px;font-family:Georgia,Microsoft YaHei,serif;font-size:15px;line-height:1.85}.question-result-empty{color:#9e9588;border:1px dashed rgba(238,232,219,.2);padding:12px;font-size:12px}.question-result-waiting{color:#a9ced0;align-items:center;gap:6px;font-size:12px;display:flex}@media (max-width:920px){.lobby-workspace{grid-template-columns:1fr}.case-rail{border-bottom:1px solid rgba(196,154,85,.22);border-right:0}.case-rail .section-heading{margin-bottom:8px}.case-file{vertical-align:top;width:min(250px,80vw);display:inline-grid}.lobby-main{padding:22px 16px 48px}.case-brief{grid-template-columns:1fr;gap:12px}.room-compose{grid-template-columns:1fr 140px}.room-compose .primary-button{min-height:42px}.room-workspace{grid-template-columns:1fr}.case-desk{grid-template-rows:54px minmax(0,1fr) 52px}.case-statusbar{grid-template-columns:36px minmax(0,1fr) auto auto 36px;padding:6px 8px}.stress-meter,.active-detective small{display:none}.mobile-panel-button{display:grid}.desk-layout{display:block;position:relative}.city-map{height:100%}.map-location{width:24px;height:24px;font-size:9px}.action-drawer{z-index:60;border:1px solid rgba(196,154,85,.32);border-bottom:0;max-height:72vh;transition:transform .16s;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.action-drawer.open{transform:translateY(0)}.mobile-close{display:grid}.evidence-tray{z-index:55;height:52px;padding:0;display:block;position:fixed;bottom:0;left:0;right:0;overflow:visible}.evidence-tray.open{height:62vh;padding:44px 10px 10px}.tray-tab{color:#d8d0c3;background:#252b2d;border:0;border-bottom:1px solid rgba(238,232,219,.12);justify-content:center;align-items:center;gap:6px;width:100%;height:42px;display:flex;position:absolute;top:0;left:0;right:0}.case-card-row{height:100%}.archive-toggle{z-index:2;height:30px;font-size:0;position:absolute;top:6px;right:8px}.archive-toggle svg{width:17px}.archive-overlay{top:5%;bottom:56px;left:4%;right:4%;top:5%;bottom:56px;left:4%;right:4%}}@media (max-width:620px){.app-topbar{padding:8px 10px}.account-chip{display:none}.brand-lockup strong{font-size:15px}.mode-strip{grid-template-columns:1fr}.mode-strip button{border-bottom:1px solid rgba(196,154,85,.24);border-right:0}.room-compose{grid-template-columns:1fr}.room-row{grid-template-columns:76px minmax(0,1fr) auto}.room-row>svg{display:none}.room-workspace{width:min(100% - 20px,1220px);padding:16px 0}.case-statusbar{grid-template-columns:34px minmax(0,1fr) auto 34px}.day-meter span,.active-detective{display:none}.district-label{font-size:16px}.map-selection-readout small{white-space:normal;max-height:2.8em}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guess-form{grid-template-columns:1fr}}.investigation-board{--board-rail-width:164px;--board-time-width:94px;color:#e9e1d4;background:#151819;grid-template-rows:54px 126px minmax(0,1fr);height:100vh;min-height:620px;display:grid;overflow:hidden}.session-load-state{color:#e9e1d4;background:#151819;place-items:center;min-height:100vh;padding:24px;display:grid}.session-load-panel{text-align:center;background:#222728;border:1px solid rgba(196,154,85,.42);border-radius:4px;width:min(460px,100%);padding:34px;box-shadow:0 18px 50px rgba(0,0,0,.38)}.session-load-panel>svg{color:var(--coa-gold)}.session-load-panel h1{margin:8px 0 12px;font-size:22px}.session-load-panel>p:last-of-type{color:#aaa397;margin:0;line-height:1.7}.session-load-spinner{animation:.9s linear infinite session-load-spin}.session-load-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;display:grid}@keyframes session-load-spin{to{transform:rotate(360deg)}}.board-statusbar{z-index:45;background:#202526;border-bottom:1px solid rgba(196,154,85,.36);grid-template-columns:38px minmax(180px,1fr) auto 38px;align-items:center;gap:12px;min-width:0;padding:7px 12px;display:grid;box-shadow:0 5px 16px rgba(0,0,0,.28)}.board-case-title{align-items:baseline;gap:10px;min-width:0;display:flex}.board-case-title strong{color:#f0e8da;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.board-case-title span,.phase-stamp{color:var(--coa-gold);white-space:nowrap;font-size:11px}.board-status-items{align-items:center;gap:0;min-width:0;display:flex;overflow:hidden}.board-status-items>*{flex:none}.board-status-items>*+*{margin-left:7px}.board-status-items>span{color:#aaa397;border-left:1px solid rgba(238,232,219,.14);align-items:center;gap:5px;min-height:30px;padding:4px 8px;font-size:12px;display:inline-flex}.board-status-items strong{color:#eee6d8}.case-rules-button{color:#d8b97d;background:rgba(196,154,85,.08);border:1px solid rgba(196,154,85,.38);border-radius:3px;align-items:center;min-height:30px;padding:4px 8px;font-size:11px;display:inline-flex}.case-rules-button>*+*{margin-left:5px}.tts-master-toggle{color:#b9b1a4;min-height:30px;padding:2px 5px;font-size:10px}.voice-chat-control{align-items:center;min-height:30px;display:inline-flex}.voice-chat-control button{flex:none}.voice-chat-control>*+*{margin-left:4px}.voice-join-button,.voice-participant-button{color:#b9d1c7;white-space:nowrap;background:rgba(86,130,115,.13);border:1px solid rgba(86,130,115,.62);border-radius:3px;justify-content:center;align-items:center;min-height:30px;padding:4px 7px;font-size:10px;display:inline-flex}.voice-join-button>*+*,.voice-participant-button>*+*{margin-left:5px}.voice-join-button:hover,.voice-participant-button:hover{color:#d9ece5;border-color:rgba(129,178,160,.9)}.voice-join-button:disabled{cursor:wait;opacity:.66}.voice-chat-control.has-error .voice-join-button,.voice-chat-control.has-error .voice-participant-button{border-color:rgba(185,94,77,.7)}.voice-chat-control .icon-button{width:30px;height:30px;min-height:30px}.voice-mic-button.is-live{color:#a9d5b9;border-color:rgba(91,154,117,.82)}.voice-leave-button{color:#d49a90}.voice-participant-button i{background:#77736b;border-radius:50%;width:7px;height:7px}.voice-participant-button i.is-online{background:#6ba684;box-shadow:0 0 0 2px rgba(107,166,132,.15)}.voice-participant-button i.is-reconnecting{background:#c49a55;animation:1.2s ease-in-out infinite voice-presence-pulse}.voice-loading-icon{animation:.9s linear infinite session-load-spin}.voice-dialog-body{width:min(390px,100vw - 48px)}.voice-dialog-actions{flex-wrap:wrap;justify-content:flex-end;width:100%;margin:-4px;display:flex}.voice-dialog-actions>*{margin:4px}.voice-dialog-summary{border-bottom:1px solid rgba(238,232,219,.12);align-items:center;padding-bottom:12px;display:flex}.voice-dialog-summary>*+*{margin-left:10px}.voice-dialog-summary>svg{color:#8fc1ae}.voice-dialog-summary div{gap:2px;min-width:0;display:grid}.voice-dialog-summary strong{color:#eee6d8;font-size:13px}.voice-dialog-summary small{color:#a9a296;font-size:10px}.voice-error{color:#e1afa5;background:rgba(185,94,77,.12);border-left:3px solid #b95e4d;align-items:flex-start;margin:12px 0 0;padding:9px 10px;font-size:11px;line-height:1.5;display:flex}.voice-error svg{flex:0 0 16px;margin-top:1px}.voice-error>*+*{margin-left:7px}.voice-error span{min-width:0}.voice-participant-list{gap:0;margin:12px 0 0;padding:0;list-style:none;display:grid}.voice-participant-list li{border-bottom:1px solid rgba(238,232,219,.09);grid-template-columns:10px minmax(0,1fr) 18px;align-items:center;gap:9px;min-width:0;min-height:46px;display:grid}.voice-participant-list li:last-child{border-bottom:0}.voice-participant-list li>div{gap:2px;min-width:0;display:grid}.voice-participant-list strong{color:#e8dfd1;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.voice-participant-list strong small{color:#c49a55;margin-left:6px;font-size:9px}.voice-participant-list li>div>span{color:#999287;font-size:10px}.voice-participant-list li>svg{color:#89847b}.voice-presence-dot{background:#625f59;border-radius:50%;width:8px;height:8px}.voice-presence-dot.is-connected{background:#6ba684}.voice-presence-dot.is-muted{background:#8b9b92}.voice-presence-dot.is-pending{background:#c49a55;animation:1.2s ease-in-out infinite voice-presence-pulse}.voice-presence-dot.is-error{background:#b95e4d}@keyframes voice-presence-pulse{50%{opacity:.42}}.offline-indicator{color:#e1a295!important;border-color:rgba(185,94,77,.55)!important}.board-status-items .status-day,.board-status-items .status-stress,.board-status-items .status-active{position:relative}.board-status-items .status-day:before,.board-status-items .status-stress:before,.board-status-items .status-active:before{content:"";border:2px solid #e9dec8;border-radius:50%;flex:0 0 10px;width:10px;height:10px;box-shadow:inset 0 0 0 2px rgba(28,30,28,.48),0 1px 2px rgba(0,0,0,.4)}.board-status-items .status-day:before{background:#2d4f51}.board-status-items .status-stress:before{background:#a13f39}.board-status-items .status-active:before{background:#c49a55}.mobile-board-menu{display:none}.case-card-rack{z-index:35;background:#1a1e1f;border-bottom:1px solid rgba(196,154,85,.32);grid-template-columns:repeat(12,minmax(74px,1fr));gap:7px;min-width:0;padding:9px 12px 11px;display:grid;overflow:hidden;box-shadow:inset 0 -8px 18px rgba(0,0,0,.28)}.rack-slot{color:#d8d0c3;text-align:left;background:#2a2c2b;border:1px solid #5b5042;border-radius:3px;min-width:0;height:105px;padding:7px 7px 6px 26px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(0,0,0,.22),0 4px 9px rgba(0,0,0,.24)}.rack-slot:disabled{cursor:default;opacity:1}.rack-letter{color:var(--coa-gold);font-family:Georgia,serif;font-size:16px;font-weight:700;position:absolute;top:7px;left:7px}.rack-card-face{color:#2b2925;background:#e5ddcd;border:1px solid rgba(61,49,36,.3);grid-template-rows:auto auto minmax(0,1fr);gap:3px;height:100%;padding:5px 4px 3px;display:grid;position:relative}.rack-slot.card-victim .rack-card-face{color:#2d271e;background:#bba36f}.rack-slot.card-suspect .rack-card-face{background:#e7dfcc}.rack-slot.card-evidence .rack-card-face{background:#ddc56b}.rack-slot.card-information .rack-card-face{background:#cfddd4}.rack-slot.card-mystery .rack-card-face{color:#f0e4ca;background:#4b4a43;border-color:#857961}.rack-slot.card-mystery .rack-card-type,.rack-slot.card-mystery .rack-card-face small{color:#ead4a2}.rack-card-seal{color:rgba(51,42,30,.72);border:1px solid;border-radius:50%;place-items:center;width:15px;height:15px;font-family:Georgia,serif;font-size:8px;font-weight:800;display:grid;position:absolute;top:4px;right:4px}.rack-card-type{color:#8c3f39;font-size:8px}.rack-card-face strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:Georgia,Microsoft YaHei,serif;font-size:11px;overflow:hidden}.rack-card-face small{color:#6f675c;font-size:9px;line-height:1.35;overflow:hidden}.rack-held{color:#fff;background:#276f75;padding:2px 4px;font-size:8px;position:absolute;bottom:4px;right:5px}.rack-slot.selected{border-color:#e0b262;box-shadow:inset 0 0 0 1px #e0b262,0 0 0 2px rgba(224,178,98,.18)}.rack-envelope{color:#8c8376;background:repeating-linear-gradient(135deg,#373836 0,#373836 8px,#303230 8px,#303230 16px);border:1px solid #655b4d;place-content:center;justify-items:center;gap:5px;height:100%;display:grid}.rack-envelope small{font-size:9px}.rack-card-back{color:#e0b262;letter-spacing:.12em;background:repeating-linear-gradient(135deg,rgba(224,178,98,.16) 0,rgba(224,178,98,.16) 5px,rgba(35,28,21,.18) 5px,rgba(35,28,21,.18) 10px);border:1px solid rgba(224,178,98,.48);place-content:center;justify-items:center;gap:5px;height:100%;display:grid}.rack-back-seal{color:#e0b262;border:1px solid rgba(224,178,98,.72);border-radius:50%;place-items:center;width:26px;height:26px;font-family:Georgia,serif;font-size:11px;font-weight:700;display:grid}.rack-back-mark{text-align:center;word-break:break-word;max-width:100%;font-family:Georgia,serif;font-size:11px;line-height:1.25}.rack-card-back small{letter-spacing:.08em;font-size:9px}.rack-slot.slot-empty{background:#1b1f20;border-style:dashed;border-color:rgba(196,154,85,.2);box-shadow:inset 0 0 12px rgba(0,0,0,.35)}.rack-empty-mark{top:0;bottom:0;left:0;right:0;color:rgba(196,154,85,.17);place-items:center;font-family:Georgia,serif;font-size:34px;font-weight:700;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.rack-slot.revealing{transform-style:preserve-3d;animation:.32s ease-out rack-card-reveal}@keyframes rack-card-reveal{0%{filter:brightness(1.6);transform:perspective(500px)rotateY(90deg)}to{filter:brightness();transform:perspective(500px)rotateY(0)}}.board-stage{grid-template-columns:var(--board-rail-width) minmax(0, 1fr) var(--board-time-width);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.activity-feed{z-index:28;pointer-events:auto;width:min(360px,100% - 20px);position:absolute;bottom:10px;left:10px}.activity-feed-toggle{color:#e1d8c8;background:rgba(31,35,34,.94);border:1px solid rgba(196,154,85,.58);border-radius:2px;align-items:center;gap:7px;min-height:34px;padding:6px 10px;font-size:11px;display:inline-flex;box-shadow:0 8px 18px rgba(0,0,0,.28)}.activity-feed-toggle strong{min-width:16px;color:var(--coa-gold);place-items:center;font-size:10px;display:inline-grid}.activity-feed-panel{background:rgba(29,34,35,.98);border:1px solid rgba(196,154,85,.5);width:100%;max-height:min(42vh,360px);margin-bottom:6px;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.4)}.activity-feed-panel>header{border-bottom:1px solid rgba(238,232,219,.12);justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.activity-feed-panel>header>div{gap:2px;min-width:0;display:grid}.activity-feed-panel>header strong{color:#e8dece;font-size:11px}.activity-feed-panel .sheet-label{color:var(--coa-gold);font-size:8px}.activity-feed-list{gap:0;max-height:310px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.activity-feed-list li{border-bottom:1px solid rgba(238,232,219,.08);padding:8px 10px}.activity-feed-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.activity-feed-meta strong{color:#d8b16e;font-size:10px}.activity-feed-meta time{color:#7e817d;font-size:9px}.activity-feed-list p{color:#d1cbc0;margin:4px 0 0;font-size:10px;line-height:1.5}.text-annotation{background:0 0;border-radius:1px;margin:0 1px;padding:0 1px;font-weight:800}.annotation-action{color:#9b5e12;border-bottom:1px solid #bd7d1f}.annotation-suspect{color:#873d39;border-bottom:1px solid #a5534f}.annotation-location{color:#1f696c;border-bottom:1px solid #398184}.annotation-card{color:#594577;border-bottom:1px solid #79649d}.activity-summary .annotation-action{color:#f0bd67}.activity-summary .annotation-suspect{color:#e49a91}.activity-summary .annotation-location{color:#8ed1cc}.activity-summary .annotation-card{color:#c0a9e1}.activity-feed-empty{color:#88877f;margin:0;padding:16px 10px;font-size:10px}.board-side{z-index:18;min-width:0;min-height:0}.board-side-left{grid-template-rows:minmax(0,1fr) auto;display:grid}.mobile-side-close{display:none}.archive-rail,.day-track{background:#222728;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.archive-rail{border-right:1px solid rgba(196,154,85,.3)}.day-track{border-left:1px solid rgba(196,154,85,.3)}.rail-heading{min-height:50px;color:var(--coa-gold);border-bottom:1px solid rgba(238,232,219,.11);align-items:center;gap:8px;padding:9px 11px;display:flex}.rail-heading>span{gap:1px;min-width:0;display:grid}.rail-heading strong{color:#e2dbce;font-size:13px}.rail-heading small{color:#7f796f;font-size:9px}.archive-tabs{border-bottom:1px solid rgba(238,232,219,.11);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.archive-tabs button{color:#9c978e;background:#1b2021;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:32px;font-size:10px}.archive-tabs button.active{border-bottom-color:var(--coa-gold);color:#eadbbd;background:#292f30}.archive-stack{align-content:start;gap:2px;min-height:0;padding:7px;display:grid;overflow-y:auto}.archive-slip{color:#36312a;text-align:left;background:#ded5c4;border:0;border-left:2px solid #8b795d;border-radius:0;grid-template-columns:22px 18px minmax(0,1fr);align-items:start;gap:5px;min-height:68px;padding:8px 6px;display:grid;overflow:hidden;box-shadow:0 3px 6px rgba(0,0,0,.2)}.archive-slip:nth-child(2n){background:#d3c8b5}.archive-slip.selected{border-left-color:var(--coa-red);background:#f0e8d9}.archive-slip.without-response{border-left-color:#746d66}.archive-slip.question-archive-slip{min-height:60px}.archive-slip>span:last-child{gap:4px;min-width:0;display:grid}.archive-slip strong{font-size:10px}.archive-slip small{font-size:9px;line-height:1.35;overflow:hidden}.archive-index{color:#985047;font-family:Georgia,serif;font-size:11px}.archive-empty{color:#6f6b63;flex:1;place-content:center;justify-items:center;gap:8px;font-size:11px;display:grid}.private-leads-panel{background:#1d2324;border-top:1px solid rgba(196,154,85,.36);flex-direction:column;min-height:0;max-height:240px;display:flex;overflow:hidden}.private-leads-panel .rail-heading{min-height:42px;padding-top:7px;padding-bottom:7px}.private-lead-stack{gap:2px;padding:6px;display:grid;overflow-y:auto}.private-lead-slip{color:#312e29;text-align:left;background:#e6dece;border:0;border-left:2px solid #b07b34;border-radius:0;grid-template-columns:18px minmax(0,1fr);gap:6px;min-width:0;padding:7px 6px;display:grid}.private-lead-slip:hover,.private-lead-slip.selected{background:#f3e8d2}.private-lead-slip.used{opacity:.72;border-left-color:#568273}.private-lead-slip>span{gap:2px;min-width:0;display:grid}.private-lead-slip strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.private-lead-slip small{color:#568273;font-size:9px}.private-lead-slip em{color:#5b5146;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:9px;font-style:normal;line-height:1.4;display:-webkit-box;overflow:hidden}.day-list{flex:1;grid-template-rows:repeat(12,minmax(28px,1fr));min-height:0;margin:0;padding:8px 7px;list-style:none;display:grid;overflow:hidden}.day-list li{color:#867f73;grid-template-columns:22px minmax(0,1fr);align-items:center;min-height:0;display:grid;position:relative}.day-number{isolation:isolate;text-align:center;font-family:Georgia,serif;font-size:13px;position:relative}.day-line{background:#5e584e;height:1px}.day-list li.elapsed{opacity:.36}.day-list li.current .day-number{color:#fff8ea;place-items:center;width:24px;height:24px;font-weight:800;display:grid}.day-marker-token{z-index:-1;background:#9a3935;border:3px double #f1d2bd;border-radius:50%;width:23px;height:23px;position:absolute;box-shadow:0 0 0 2px rgba(79,23,22,.64),0 2px 4px rgba(0,0,0,.35)}.day-list li.current .day-line{background:#d2a35d;height:2px}.day-current-label{color:#d8b16e;font-size:8px;position:absolute;top:1px;right:0}.return-chips{gap:2px;display:flex;position:absolute;bottom:0;right:0}.return-chips span{color:#fff;background:#3b7479;place-items:center;min-width:14px;height:14px;font-size:8px;display:grid}.track-status{border-top:1px solid rgba(238,232,219,.1);gap:3px;padding:7px;display:grid}.track-status span{color:#aba397;font-variant-numeric:tabular-nums;padding:3px 1px;font-size:9px}.city-board-map{cursor:grab;touch-action:none;background:#bdb39f;min-width:0;min-height:0;position:relative;overflow:hidden}.city-board-map.dragging{cursor:grabbing}.city-board-map>svg{user-select:none;width:100%;height:100%;display:block}.map-world{transform-origin:0 0;transition:transform .28s}.city-board-map.dragging .map-world{transition:none}.map-background-image{opacity:.78;filter:sepia(.22)saturate(.78)contrast(.9)}.district-layer polygon{fill-opacity:.19;stroke-opacity:.58;stroke-width:3px;vector-effect:non-scaling-stroke}.district-map-label{fill:rgba(43,37,30,.44);text-anchor:middle;pointer-events:none;font-family:Georgia,Microsoft YaHei,serif;font-size:24px;font-weight:700}.board-location{cursor:pointer;filter:url(#map-shadow);outline:none}.location-disc{fill:#f0e7d6;stroke:#332f29;stroke-width:2px}.location-number{fill:#292721;font-family:Segoe UI,sans-serif;font-size:14px;font-weight:800}.board-location:hover .location-disc,.board-location:focus .location-disc{fill:#fff7e8;stroke:#b07b34}.board-location.selected .location-disc{fill:#e2b75f;stroke:#2d261d;stroke-width:3px}.board-location.reachable:not(.selected) .location-disc{stroke:#4f8b62;stroke-width:3px}.board-location.blocked .location-disc{fill:#8f6b63}.police-ring{fill:#e5ebea;stroke:#27757a;stroke-width:5px}.police-shield{color:#1f6870;fill:none;stroke-width:2.4px}.police-number{fill:#174f54;paint-order:stroke;stroke:#e9e3d7;stroke-width:3px;font-size:12px;font-weight:800}.mob-ring{fill:none;stroke:#d1823c;stroke-width:5px}.boundary-ring{fill:none;stroke-width:4px;stroke-dasharray:67 68}.boundary-ring-first{stroke:#b58a39}.boundary-ring-second{stroke:#568273;stroke-dashoffset:67px}.blocked-cover{pointer-events:none}.move-cost{fill:#2f6842;paint-order:stroke;stroke:#f1eadc;stroke-width:3px;font-size:14px;font-weight:800}.crime-scene-marker{pointer-events:none;filter:drop-shadow(0 2px 1px rgba(49,10,9,.58))}.crime-scene-token{fill:#b6413b;stroke:#ffe9dd;stroke-width:2px}.crime-scene-x{fill:none;stroke:#fff8ef;stroke-linecap:round;stroke-width:3.5px}.detective-piece-base{fill:var(--piece-color);stroke:#f4ead6;stroke-width:2px;filter:drop-shadow(0 2px 1px rgba(20,18,14,.45))}.detective-piece-coat{fill:#45433e;stroke:#24231f;stroke-width:1px}.detective-piece-head{fill:#c7b59a;stroke:#28251f;stroke-width:1px}.detective-piece-hat{fill:#282722;stroke:#14130f;stroke-width:1px}.detective-piece-initial{fill:#fff;paint-order:stroke;stroke:rgba(22,21,18,.7);stroke-width:2px;font-size:7px;font-weight:900}.detective-piece.active .detective-piece-base{stroke:#f1bd56;stroke-width:3px}.snitch-token{fill:#a13f39;stroke:#f1d8cc;stroke-width:2px;filter:drop-shadow(0 2px 1px rgba(20,18,14,.45))}.snitch-silhouette{fill:#29231f}.snitch-count{fill:#fff9eb;paint-order:stroke;stroke:#7a2825;stroke-width:2px;font-size:8px;font-weight:900}.suspect-stack{cursor:pointer;outline:none}.suspect-stack:focus-visible .snitch-token{stroke:#f1bd56;stroke-width:3px}.suspect-nameplate{pointer-events:none}.suspect-nameplate rect{fill:rgba(30,35,35,.96);stroke:#c77a54;stroke-width:1px}.suspect-nameplate text{fill:#f5e6d0;font-size:13px;font-weight:700}.location-nameplate{pointer-events:none}.location-nameplate rect{fill:rgba(31,34,32,.94);stroke:#d1b071;stroke-width:1px}.location-nameplate text{fill:#f0e7d6;font-size:16px;font-weight:700}.map-zoom-controls{background:rgba(31,35,34,.91);border:1px solid rgba(50,43,34,.45);grid-template-columns:repeat(3,34px) auto;align-items:center;gap:3px;padding:4px;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 7px 18px rgba(0,0,0,.28)}.map-zoom-controls button,.context-drawer-handle button{color:#d8d0c2;background:#303535;border:0;border-radius:2px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0;display:inline-flex}.map-zoom-controls button:hover{color:#fff;background:#3e4545}.map-zoom-controls button:disabled{cursor:not-allowed;opacity:.38}.map-zoom-controls span{color:#a8a093;padding:0 5px;font-size:10px}.map-legend{z-index:12;color:#ddd4c5;position:absolute;top:62px;left:12px}.map-legend-toggle{color:#ddd4c5;background:rgba(31,35,34,.92);border:1px solid rgba(50,43,34,.45);border-radius:2px;align-items:center;gap:6px;min-height:32px;padding:5px 9px;font-size:11px;display:inline-flex;box-shadow:0 7px 18px rgba(0,0,0,.24)}.map-legend-toggle:hover{color:#fff;background:#3e4545}.map-legend-toggle:focus-visible{color:#fff;background:#3e4545}.map-legend-chevron{transition:transform .16s}.map-legend.open .map-legend-chevron{transform:rotate(180deg)}.map-legend-panel{background:rgba(31,35,34,.96);border:1px solid rgba(196,154,85,.42);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;width:282px;margin-top:5px;padding:10px 12px 12px;display:grid;box-shadow:0 10px 24px rgba(0,0,0,.32)}.map-legend-section{color:#d7ad63;letter-spacing:.06em;border-bottom:1px solid rgba(196,154,85,.26);padding-bottom:4px;font-size:9px;font-weight:800}.map-legend-item{color:#ddd4c5;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:11px;display:flex}.legend-location,.legend-pawn,.legend-state{color:#292721;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:10px;font-style:normal;font-weight:800;display:inline-grid;position:relative}.legend-location{background:#f0e7d6;border:2px solid #332f29;border-radius:50%}.legend-location.police{color:#1f6870;background:#e5ebea;border:4px double #27757a}.legend-location.mob{background:#362b21;border:3px solid #e09a4d;border-radius:3px;transform:rotate(45deg)scale(.78);box-shadow:0 0 0 2px rgba(20,16,12,.85)}.legend-location.mob b{color:#fff3db;font-size:10px;font-weight:900;line-height:1;display:block;transform:rotate(-45deg)}.legend-location.boundary{background:conic-gradient(from 45deg, #4b7888 0 25%, #b58a39 0 50%, #4b7888 0 75%, #b58a39 0);border:3px solid #e9dec8;box-shadow:inset 0 0 0 3px #f0e7d6}.legend-location.boundary b{z-index:1;color:#292721;position:relative}.legend-pawn{color:#fff;border-radius:50%}.legend-pawn.detective{background:0 0;border:0;overflow:visible}.legend-pawn.detective:before{content:"";background:#3c9ca3;border:2px solid #f4ead6;border-radius:50%;height:10px;position:absolute;bottom:2px;left:2px;right:2px;box-shadow:0 2px 1px rgba(0,0,0,.4)}.legend-pawn.detective b:before{z-index:1;content:"";background:#494640;border-radius:5px 5px 2px 2px;width:10px;height:15px;position:absolute;top:4px;left:9px;box-shadow:0 -4px 0 -1px #c7b59a,0 -7px 0 -2px #272620}.legend-pawn.suspect{background:#a13f39;border:2px solid #f1d8cc;box-shadow:inset 0 0 0 3px rgba(87,31,28,.48),0 2px 1px rgba(0,0,0,.35)}.legend-pawn.suspect b{z-index:1;color:#fff8ea;font-size:10px;font-weight:900;line-height:1;position:relative}.legend-state{background:#f0e7d6;border-radius:50%;width:26px;height:26px}.legend-state.crime-scene{color:#fff8ef;background:#b6413b;border:2px solid #ffe9dd;place-items:center;font-family:Georgia,serif;font-size:22px;font-weight:800;line-height:1;display:grid}.legend-state.reachable{border:4px solid #4f8b62;box-shadow:inset 0 0 0 3px #dce8d8}.legend-state.blocked{background:repeating-linear-gradient(45deg,#8f6b63 0,#8f6b63 4px,#e7c7b7 4px,#e7c7b7 7px);border:3px solid #f0d3c5}.mobile-rail-actions,.mobile-drawer-tabs{display:none}.context-drawer{z-index:50;left:calc(var(--board-rail-width) + 8px);right:calc(var(--board-time-width) + 8px);background:rgba(31,36,37,.98);border:1px solid rgba(196,154,85,.48);border-bottom:0;grid-template-rows:42px minmax(0,1fr);height:auto;max-height:42px;transition:max-height .18s;display:grid;position:fixed;bottom:0;overflow:hidden;box-shadow:0 -16px 40px rgba(0,0,0,.42)}.context-drawer.drawer-collapsed{max-height:42px}.context-drawer.drawer-full{max-height:min(42vh,420px)}.context-drawer.drawer-hidden{max-height:0;box-shadow:none;pointer-events:none;border-width:0}.context-drawer.drawer-chisel{background:rgba(48,29,29,.98);border-color:rgba(177,65,56,.7)}.context-drawer-handle{background:#252a2b;border-bottom:1px solid rgba(238,232,219,.1);justify-content:space-between;align-items:center;gap:10px;padding:3px 6px;display:flex}.drawer-chisel .context-drawer-handle{background:#452a29}.context-drawer-handle>button:first-child{background:0 0;justify-content:flex-start;gap:8px;width:100%;min-width:0;padding:0 10px}.context-drawer-handle>button:first-child:hover{background:rgba(196,154,85,.12)}.context-drawer-handle>button:first-child:focus-visible{background:rgba(196,154,85,.12)}.context-drawer-handle strong{text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:12px;overflow:hidden}.context-drawer-body{grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr);gap:12px;min-height:0;padding:10px 12px 12px;display:grid;overflow-y:auto}.drawer-context-column,.drawer-action-column{min-width:0;min-height:0}.drawer-action-column{align-content:start;gap:7px;display:grid}.context-sheet{color:#302d28;background:#e6dece;align-self:start;min-height:0;padding:11px 13px;box-shadow:inset 0 0 0 1px #c5b9a4}.context-sheet h3{margin:3px 0 8px;font-size:20px}.context-sheet>p:not(.sheet-label){color:#514b42;font-size:14px;line-height:1.72}.context-sheet .sheet-label{color:#97483f}.context-sheet .tts-controls{margin:-2px 0 8px}.context-sheet>small{color:#246c71;margin-top:9px;display:block}.search-effect-text{letter-spacing:.02em;border-top:1px solid #b89963;margin-top:14px;padding-top:10px;font-weight:700;color:#9b6823!important}.question-archive-context h3 span{color:#a06f32}.question-archive-response{border-top:1px solid #b89963;margin-top:16px;padding-top:12px}.question-archive-withheld{margin-top:16px;font-style:italic;color:#74695c!important}.question-archive-effects{color:#8b5126;border-top:1px solid #b89963;gap:6px;margin:16px 0 0;padding:10px 0 0 20px;font-size:12px;line-height:1.45;display:grid}.location-context-meta{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.location-context-meta span{color:#51483c;border:1px solid #a99a83;padding:4px 7px;font-size:11px}.location-context-meta .search-complete{color:#246c71;border-color:#568273;font-weight:700}.tts-controls{align-items:center;margin-right:auto;display:inline-flex}.tts-controls>*+*{margin-left:6px}.tts-controls .icon-button{width:32px;height:32px;min-height:32px}.app-dialog-footer>.tts-controls{margin-right:auto}.case-rule-list{gap:8px;display:grid}.case-rule-entry{background:rgba(196,154,85,.08);border-left:3px solid #b48136;padding:11px 12px}.case-rule-entry.resolved{opacity:.72;border-left-color:#4c7772}.case-rule-entry header{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.case-rule-entry header strong{color:#e8dece}.case-rule-entry header span{color:#b8aa94;font-size:10px}.case-rule-entry p{color:#c9c0b4;white-space:pre-line;margin:8px 0 0;line-height:1.6}.event-result-summary{color:#aca397;font-size:12px}.drawer-action-column .resource-line{margin-top:0}.context-drawer .resource-line span{padding:9px 11px;font-size:15px;line-height:1.35}.context-drawer .resource-line strong{margin-top:4px;font-size:18px}.context-drawer .resource-line .resource-counter{color:#b6aea1;white-space:normal;background:#252b2c;border:1px solid rgba(238,232,219,.11);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:8px;min-height:58px;display:grid;overflow:hidden}.resource-counter>i{grid-row:1/3}.resource-counter>em{color:#aaa397;text-overflow:ellipsis;white-space:nowrap;align-self:end;min-width:0;font-size:10px;font-style:normal;overflow:hidden}.context-drawer .resource-counter>strong{color:#f0e4d3;text-overflow:ellipsis;white-space:nowrap;align-self:start;min-width:0;margin-top:0;font-size:17px;line-height:1.05;overflow:hidden}.action-cube-stack{grid-template-columns:repeat(2,11px);grid-auto-rows:11px;align-content:center;gap:2px;width:29px;height:34px;display:grid}.action-cube-stack b{background:#c34d46;border:1px solid #f1d99b;border-radius:1px;width:11px;height:11px;display:block;transform:rotate(5deg);box-shadow:inset -2px -2px rgba(75,25,23,.35),1px 1px rgba(0,0,0,.28)}.action-cube-stack b:nth-child(2n){background:#d3aa43;transform:rotate(-4deg)}.cash-note-token{color:#f5efd9;background:#8c9c7d;border:1px solid #d2c497;place-items:center;width:31px;height:19px;font-family:Georgia,serif;font-size:13px;font-style:normal;font-weight:800;display:grid;transform:rotate(-5deg);box-shadow:inset 0 0 0 2px rgba(43,60,43,.35),2px 2px rgba(0,0,0,.2)}.detective-base-token{background:#3c9ca3;border:2px solid #f4ead6;border-radius:50%;width:27px;height:13px;display:block;box-shadow:inset 0 0 0 3px rgba(28,82,85,.48),0 2px 1px rgba(0,0,0,.35)}.detective-base-token:before{content:"";background:#4a4740;border-radius:5px 5px 2px 2px;width:9px;height:15px;margin:-13px auto 0;display:block;box-shadow:0 -4px 0 -1px #c7b59a,0 -7px 0 -2px #272620}.action-footer{justify-content:flex-end;margin:2px 0 0;display:flex}.guess-command{min-width:184px;min-height:44px}.action-command-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.action-command-grid .action-command{gap:7px;min-height:50px;padding:9px;font-size:14px}.question-dialog-copy p{color:#bcb4a7;margin:0 0 14px;font-size:12px;line-height:1.65}.question-dialog-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.question-dialog-form label{margin-bottom:0}.question-history-panel{background:rgba(196,154,85,.07);border:1px solid rgba(196,154,85,.3);gap:8px;margin-top:14px;padding:11px;display:grid}.question-history-panel>header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.question-history-panel>header strong{color:#e9dfcf;font-size:13px}.question-history-panel>header small{color:#9c9488;font-size:10px}.question-history-grid{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px;max-height:176px;display:grid;overflow-y:auto}.question-history-card{color:#d8d0c4;text-align:left;background:#242a2b;border:1px solid rgba(238,232,219,.16);border-radius:3px;align-content:center;justify-items:start;gap:2px;min-height:62px;padding:7px 8px;display:grid}.question-history-card:hover{border-color:var(--coa-gold)}.question-history-card.selected{border-color:var(--coa-gold);box-shadow:inset 0 0 0 1px var(--coa-gold)}.question-history-card.questioned{background:rgba(86,130,115,.18);border-color:rgba(86,130,115,.8)}.question-history-card.questioned.selected{border-color:var(--coa-gold)}.question-history-card strong{color:var(--coa-gold);font-family:Georgia,serif;font-size:16px}.question-history-card span{font-size:11px}.question-history-card small{color:#9bb7ad;font-size:9px}.question-card-preview{border-left:3px solid var(--coa-gold);background:rgba(196,154,85,.09);gap:5px;margin-top:14px;padding:12px 13px;display:grid}.question-card-preview strong{color:#eee4d3;font-family:Georgia,Microsoft YaHei,serif}.question-card-preview p{color:#bcb4a7;margin:0;font-size:11px;line-height:1.6}.question-dialog-form .app-select-trigger{background:#111719;min-height:46px}@media (max-width:1180px){.investigation-board{--board-rail-width:142px;--board-time-width:86px;grid-template-rows:54px 116px minmax(0,1fr)}.case-card-rack{gap:5px;padding-left:8px;padding-right:8px}.rack-slot{height:95px;padding-left:23px}.rack-card-face small{display:none}.context-drawer-body{grid-template-columns:minmax(190px,.65fr) minmax(0,1.6fr)}.action-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px),(max-height:500px) and (max-width:980px){.investigation-board{--board-rail-width:0px;--board-time-width:0px;grid-template-rows:52px 96px minmax(0,1fr);min-height:520px}.board-statusbar{grid-template-columns:36px minmax(0,1fr) auto 36px;gap:7px;padding:6px 8px}.board-status-items>*+*{margin-left:4px}.board-status-items>span:not(:first-child){display:none}.case-rules-button{width:30px;padding:4px 6px;font-size:0;overflow:hidden}.case-rules-button svg{flex:0 0 15px}.voice-join-button{width:30px;padding-left:6px;padding-right:6px;overflow:hidden}.voice-join-button span{display:none}.voice-participant-button{min-width:39px;padding-left:5px;padding-right:5px}.voice-participant-button>*+*{margin-left:3px}.tts-master-toggle>span:last-child{display:none}.mobile-board-menu{display:grid}.case-card-rack{scroll-snap-type:x mandatory;gap:6px;padding:7px 8px;display:flex;overflow-x:auto}.rack-slot{scroll-snap-align:start;width:88px;min-width:88px;height:80px;padding:5px 5px 5px 22px}.rack-letter{font-size:14px;top:5px;left:6px}.rack-card-face{padding:4px 3px 2px}.rack-card-face strong{font-size:10px}.rack-envelope{gap:2px}.board-stage{display:block}.city-board-map{width:100%;height:100%}.activity-feed{width:auto;bottom:8px;left:8px;right:8px}.activity-feed-panel{max-height:min(38vh,300px)}.map-zoom-controls{grid-template-columns:repeat(3,32px);top:8px;bottom:auto;left:8px}.map-zoom-controls span{display:none}.map-legend{top:50px;left:8px}.map-legend-panel{width:min(282px,100vw - 16px)}.board-side{z-index:64;width:min(82vw,320px);transition:transform .18s;position:fixed;top:52px;bottom:0}.board-side-left{left:0;transform:translate(-105%)}.board-side-right{right:0;transform:translate(105%)}.board-side.mobile-open{transform:translate(0)}.mobile-side-close{z-index:3;color:#ddd4c5;background:rgba(31,35,34,.96);border:1px solid rgba(196,154,85,.45);border-radius:3px;place-items:center;width:32px;height:32px;padding:0;display:grid;position:absolute;top:8px;right:8px}.mobile-rail-actions{z-index:30;gap:5px;display:flex;position:absolute;top:8px;right:8px}.mobile-rail-actions button{color:#ddd4c5;background:rgba(31,35,34,.92);border:1px solid rgba(196,154,85,.45);border-radius:3px;min-height:32px;padding:5px 8px;font-size:10px}.context-drawer{height:auto;max-height:calc(100vh - 52px);border-left:0;border-right:0;max-height:calc(100dvh - 52px);left:0;right:0}.context-drawer.drawer-full{max-height:min(64vh,560px)}.context-drawer.drawer-collapsed{max-height:42px}.context-drawer.drawer-collapsed .context-drawer-body{display:none}.context-drawer-body{padding:0 0 env(safe-area-inset-bottom);grid-template-rows:42px minmax(0,1fr);grid-template-columns:1fr;gap:0;overflow:hidden}.mobile-drawer-tabs{background:#1b2021;border-bottom:1px solid rgba(238,232,219,.12);grid-template-columns:1fr 1fr;display:grid}.mobile-drawer-tabs button{color:#8f887d;background:0 0;border:0;border-bottom:2px solid transparent;border-radius:0;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 12px;font-size:12px;display:inline-flex}.mobile-drawer-tabs button.active{border-bottom-color:var(--coa-gold);color:#efe5d5;background:rgba(196,154,85,.08)}.drawer-context-column,.drawer-action-column{min-height:0;padding:10px;display:none;overflow-y:auto}.drawer-context-column.mobile-active{display:block}.drawer-action-column.mobile-active{align-content:start;display:grid}.context-sheet{min-height:auto}.drawer-action-column{padding-bottom:10px}.action-command-grid .action-command{min-height:46px}.action-footer{display:grid}.guess-command{width:100%}.context-drawer .resource-line span{padding:8px 9px;font-size:14px}.context-drawer .resource-line strong{font-size:17px}}@media (max-height:500px) and (min-width:481px) and (max-width:980px){.investigation-board{grid-template-rows:52px 82px minmax(0,1fr);min-height:0}.rack-slot{height:66px}.context-drawer.drawer-collapsed{max-height:0;box-shadow:none;pointer-events:none;border-width:0}.context-drawer.drawer-collapsed .context-drawer-handle{display:none}}@media (max-width:480px){.board-case-title{gap:0;display:grid}.board-case-title strong{font-size:14px}.board-status-items>span{padding-left:5px;padding-right:5px;font-size:10px}.rack-slot{width:88px;min-width:88px}.context-drawer-handle strong{max-width:170px}.action-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-command{font-size:11px}.guess-form,.question-dialog-form{grid-template-columns:1fr}.question-history-panel>header{gap:2px;display:grid}.question-history-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:150px}.question-history-card{min-height:58px;padding:6px}.dcoa-toast-stack{width:calc(100vw - 20px);top:56px;right:10px}}.room-board-shell{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.25fr) 300px;align-items:start;gap:18px;width:min(1380px,100% - 36px);margin:0 auto;padding:28px 0 48px;display:grid}.room-case-folder{color:#322d26;background-color:#ddd2bd;background-image:linear-gradient(rgba(63,50,36,.035) 1px,transparent 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 26px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #a79579;border-radius:2px;min-height:520px;padding:48px 26px 26px;position:relative;overflow:hidden;box-shadow:10px 12px #2b302f,0 18px 42px rgba(0,0,0,.3)}.room-case-folder:before{content:"";opacity:.4;background:#9e4e45;height:1px;position:absolute;top:34px;left:18px;right:18px}.room-case-folder>header{top:0;bottom:auto;left:0;right:0;color:#42382d;background:#b9aa90;align-items:center;gap:7px;height:34px;padding:0 12px;font-size:10px;font-weight:700;display:flex;position:absolute;top:0;bottom:auto;left:0;right:0}.folder-stamp{color:rgba(130,52,46,.68);text-align:center;border:2px solid rgba(150,62,54,.55);width:150px;padding:5px;font-size:11px;font-weight:800;position:absolute;top:64px;right:-33px;transform:rotate(35deg)}.room-case-folder .eyebrow{color:#9c4b42}.room-case-folder h1{color:#29251f;max-width:calc(100% - 30px);font-size:32px;line-height:1.18}.room-case-subtitle{color:#725d43;margin-top:9px;font-family:Georgia,Microsoft YaHei,serif;line-height:1.5}.room-case-description{color:#51493e;margin-top:26px;font-size:13px;line-height:1.8}.room-case-folder dl{margin:32px 0 0}.room-case-folder dl div{border-top:1px solid rgba(55,45,34,.2);grid-template-columns:52px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.room-case-folder dt{color:#8a3e38;font-size:11px}.room-case-folder dd{color:#39332a;margin:0;font-size:12px;line-height:1.55}.room-seat-table,.room-setup-clipboard{background:#222728;border:1px solid rgba(196,154,85,.25);border-radius:3px;box-shadow:0 18px 38px rgba(0,0,0,.25)}.room-seat-table{min-height:520px;padding:20px}.room-table-heading{border-bottom:1px solid rgba(238,232,219,.13);justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;display:flex}.room-table-heading h2{margin:0;font-size:22px}.room-mode-note{border-left:3px solid var(--coa-gold);color:#bdb4a6;background:rgba(196,154,85,.08);align-items:center;gap:8px;margin:14px 0;padding:9px 10px;font-size:11px;line-height:1.4;display:flex}.room-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.room-player-seat{--seat-color:#3c9ca3;border:1px solid rgba(238,232,219,.12);border-top:3px solid var(--seat-color);background:#2a3031;border-radius:3px;grid-template-rows:1fr auto;grid-template-columns:46px minmax(0,1fr);gap:5px 9px;min-width:0;min-height:92px;padding:11px;display:grid}.room-player-seat.chisel{background:rgba(91,43,40,.32)}.room-player-seat.empty{--seat-color:#535858;opacity:.62}.seat-pawn{background:var(--seat-color);color:#fff;border-radius:50%;grid-row:1/3;grid-template-columns:1fr;align-self:center;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 0 0 3px rgba(238,232,219,.13)}.seat-pawn>*{grid-area:1/1}.seat-pawn b{background:#1d2121;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;display:grid;transform:translate(15px,14px)}.seat-player-copy{align-content:center;gap:3px;min-width:0;display:grid}.seat-player-copy strong{color:#eee6d8;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.seat-player-copy small{color:#938b7f;font-size:9px}.seat-badges{color:var(--seat-color);gap:5px;display:flex}.room-setup-clipboard{padding:0 16px 18px;overflow:visible}.room-setup-clipboard>header{background:#2a3031;border-bottom:1px solid rgba(238,232,219,.12);justify-content:space-between;align-items:center;min-height:54px;margin:0 -16px 16px;padding:10px 16px;display:flex;position:relative}.room-setup-clipboard>header:before{content:"";background:#3a3c39;border:1px solid #8b7655;width:78px;height:18px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.room-setup-clipboard>header span{font-family:Georgia,Microsoft YaHei,serif;font-size:17px}.room-setup-clipboard>header small{color:var(--coa-gold);font-size:9px}.room-option-list{margin-bottom:17px;display:grid}.room-option-list>span{border-bottom:1px solid rgba(238,232,219,.09);justify-content:space-between;align-items:center;gap:8px;padding:9px 0;display:flex}.room-option-list b{color:#d8d0c3;font-size:11px}.room-option-list small{color:#8f887c;text-align:right;font-size:9px}@media (max-width:1050px){.room-board-shell{grid-template-columns:minmax(260px,.8fr) minmax(380px,1.2fr)}.room-setup-clipboard{grid-column:1/-1;grid-template-columns:minmax(240px,1fr) minmax(220px,.8fr) auto;align-items:end;gap:12px;padding-top:12px;display:grid}.room-setup-clipboard>header{grid-column:1/-1}.room-option-list,.room-setup-clipboard .readiness{margin:0}}@media (max-width:720px){.room-board-shell{grid-template-columns:1fr;width:min(100% - 20px,1380px);padding-top:16px}.room-case-folder{min-height:410px;box-shadow:6px 7px #2b302f}.room-seat-table{min-height:0}.room-seat-grid{grid-template-columns:1fr}.room-setup-clipboard{grid-column:auto;padding-top:0;display:block}.room-setup-clipboard>header{margin-top:0}}
