:root{color:#ffffffeb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0d14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}a{color:inherit}html,body,#root{min-width:320px;min-height:100%;margin:0}:root{color:#f4f5f7}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at top,#7363ff33,#0000 30%),linear-gradient(#12131d 0%,#0a0b12 100%);min-height:100vh;padding:32px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.topbar h1{margin:4px 0 10px;font-size:2.25rem}.subtitle{color:#bdc4d7;max-width:760px;margin:0;line-height:1.6}.eyebrow{color:#97a1c1;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem}.status-strip{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;min-width:min(560px,100%);display:grid}.status-strip>div,.stat-list>div{background:#11141fb3;border:1px solid #91a0d62e;border-radius:16px;padding:12px 14px}.label{color:#8f99b3;margin-bottom:6px;font-size:.82rem;display:block}.capture-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.capture-toolbar-copy{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.capture-toolbar-actions{flex-wrap:wrap;gap:12px;display:flex}.capture-toggle{white-space:nowrap}.capture-chip-active{color:#ffe0a8;background:#ffbe5c29;border-color:#ffbe5c3d}.hero-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.hero-card,.highlight-card{background:#111521b8;border:1px solid #91a0d629;border-radius:20px;padding:18px;box-shadow:0 8px 24px #00000024}.metric-value{margin-bottom:6px;font-size:1.1rem;display:block}.metric-detail{color:#9aa6c1;font-size:.88rem;line-height:1.5}.layout{grid-template-columns:minmax(0,1.75fr) minmax(320px,.95fr);gap:20px;display:grid}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f121ce0;border:1px solid #91a0d62e;border-radius:24px;padding:24px;box-shadow:0 12px 40px #0000003d}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel-head.compact{margin-bottom:8px}.panel-head h2,.subpanel h3,.sidebar-section h3,.ending-card h3,.companion-card h3{margin:4px 0 0}.chip{color:#d9d3ff;white-space:nowrap;background:#7363ff26;border:1px solid #9784ff3d;border-radius:999px;padding:8px 12px;font-size:.85rem}.risk-low{color:#b5f7dd;background:#37c58729}.risk-medium{color:#ffe0a8;background:#ffbe5c29}.risk-high{color:#ffd0d0;background:#ff6e6e29}.body-copy{color:#cbd2e4;margin:0 0 20px;line-height:1.7}.node-meta{color:#95a1bf;flex-wrap:wrap;gap:12px;margin-bottom:16px;font-size:.92rem;display:flex}.companion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px;display:grid}.companion-card,.preset-card,.action-button,.primary-button,.suspect-button,.intent-button{color:#f4f5f7;background:#181d2ce6;border:1px solid #91a0d633;border-radius:18px}.companion-card,.preset-card{text-align:left;padding:18px;transition:transform .15s,border-color .15s,background .15s}.companion-card:hover,.preset-card:hover,.action-button:hover,.primary-button:hover,.suspect-button:hover,.intent-button:hover{border-color:#a4b1e36b;transform:translateY(-1px)}.companion-card.selected{background:#342e5beb;border-color:#9b8cffb8}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.card-head p,.muted,.trust-line{color:#9eabc9;margin:6px 0 0}.preset-actions{margin-top:12px}.action-row,.action-grid,.intent-row,.seed-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px;display:grid}.capture-callout{margin-bottom:18px}.capture-body-copy{margin-bottom:14px}.highlight-card strong{margin-bottom:8px;display:block}.highlight-card p{color:#c0c8dc;margin:0;line-height:1.6}.expedition-brief-grid{margin-bottom:20px}.seed-row{margin:0 0 16px}.seed-field,.seed-preview{flex-direction:column;gap:6px;display:flex}.seed-field input,.seed-field select{color:#f4f5f7;background:#0a0c14f2;border:1px solid #91a0d62e;border-radius:14px;min-width:240px;padding:12px 14px}.intent-row{margin-bottom:12px}.action-grid{margin-bottom:20px}.final-grid{margin-bottom:16px}.action-button,.primary-button,.intent-button{padding:14px 16px}.intent-button.active{background:#1c3656f2;border-color:#79cdffb8}.primary-button{color:#fff;background:linear-gradient(135deg,#7d6bff 0%,#4f74ff 100%);border-color:#0000}.primary-button:disabled,.action-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.helper-text,.empty-state{color:#93a0bd}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.decision-grid,.review-grid{margin-bottom:16px}.subpanel,.ending-card,.fact-entry{background:#141825b8;border:1px solid #91a0d624;border-radius:18px}.subpanel{padding:18px}.lead-panel{margin-bottom:18px}.lead-copy{margin-bottom:14px}.route-panel{background:#101c2cc7;border:1px solid #79cdff47;margin-bottom:18px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-card{background:#15243ae0;border-color:#79cdff38}.route-card .primary-button{width:100%;margin-top:12px}.lead-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.action-deck-panel{margin-bottom:18px}.choice-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.choice-card,.action-card{text-align:left;color:#f4f5f7;background:#181d2ce6;border:1px solid #91a0d633;border-radius:18px;padding:16px;transition:transform .15s,border-color .15s,background .15s}.choice-card:hover,.action-card:hover{border-color:#a4b1e36b;transform:translateY(-1px)}.choice-card strong,.action-card strong{margin-bottom:8px;display:block}.choice-card small,.action-card small{color:#9eabc9;line-height:1.5;display:block}.choice-card.active{background:#1c3656f2;border-color:#79cdffb8}.action-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.primary-action-card{background:#2a224ef0;border-color:#9784ff57}.advance-action-card{background:#142a42f0;border-color:#79cdff57}.action-card:disabled,.choice-card:disabled{cursor:not-allowed;opacity:.48;transform:none}.lead-button{min-height:88px}.subpanel ul,.sidebar-section ul{color:#c5ccdf;margin:12px 0 0;padding-left:20px;line-height:1.7}.companion-inline-state{color:#93a1bd;flex-direction:column;gap:2px;margin-top:4px;font-size:.84rem;display:flex}.sidebar{flex-direction:column;align-self:start;gap:16px;display:flex;position:sticky;top:24px}.sidebar-section{flex-direction:column;gap:12px;display:flex}.suspicion-card{background:#181d2cc7;border:1px solid #91a0d629;border-radius:16px;padding:14px}.suspicion-card span,.suspicion-card small{display:block}.suspicion-card small{color:#96a3bf;margin-top:6px;line-height:1.5}.suspicion-card.active{background:#4b1f2f99;border-color:#ff8a986b}.stat-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.suspicion-list{flex-direction:column;gap:10px;display:flex}.suspect-button{text-align:left;padding:14px}.suspect-button span,.suspect-button small{display:block}.suspect-button small{color:#96a3bf;margin-top:6px;line-height:1.5}.suspect-button.active{background:#4b1f2ff2;border-color:#ff8a98b8}.fact-log{flex-direction:column;gap:10px;max-height:420px;display:flex;overflow:auto}.fact-entry{padding:14px}.fact-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fact-entry p{color:#d7dced;margin:8px 0 0;line-height:1.6}.fact-tag,.confidence-tag{border-radius:999px;padding:4px 8px;font-size:.78rem;display:inline-flex}.fact-tag{color:#b4bdd3;background:#ffffff0f}.confidence-tag{border:1px solid #ffffff14}.confidence-low{color:#ffdfa7;background:#ffbe5c24}.confidence-medium{color:#b9dcff;background:#68b4ff24}.confidence-high{color:#bff6df;background:#37c58724}textarea{resize:vertical;color:#f4f5f7;background:#0a0c14f2;border:1px solid #91a0d62e;border-radius:18px;width:100%;min-height:140px;padding:14px;line-height:1.6}.ending-card{padding:18px}.ending-card p{color:#d3d9eb;line-height:1.7}.review-card h4,.battle-panel h4{margin:0 0 8px}.underused-clue-block{margin-top:12px}.battle-panel{margin-top:16px;padding:18px}.battle-tactic-row{margin-bottom:12px}.battle-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.battle-column{flex-direction:column;gap:10px;display:flex}.battle-lane{background:#0e121cb8;border:1px solid #91a0d624;border-radius:14px;padding:12px}.lane-label{color:#8fa0c2;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;display:block}.lane-units{flex-wrap:wrap;gap:8px;display:flex}.lane-unit{border-radius:999px;padding:6px 10px;font-size:.82rem}.ally-unit{color:#c8deff;background:#498aff24}.enemy-unit{color:#ffd2d2;background:#ff6e6e24}.capture-mode .layout{grid-template-columns:minmax(0,1.9fr) minmax(280px,.82fr)}.capture-mode .subtitle{max-width:620px}.capture-mode .panel{box-shadow:0 10px 28px #0003}@media (width<=1080px){.layout{grid-template-columns:1fr}.topbar{flex-direction:column}.status-strip,.stat-list,.companion-grid,.preset-grid,.notes-grid,.hero-strip,.highlight-grid,.lead-grid,.route-grid,.choice-card-grid,.action-card-grid{grid-template-columns:1fr}.sidebar{position:static}}@media (width<=720px){.app-shell,.panel{padding:18px}.topbar h1{font-size:1.8rem}}.playable-shell{background:radial-gradient(circle at 15% 10%,#5cdbff2e,#0000 30%),linear-gradient(135deg,#101926f0,#0a0c14f5);border:1px solid #84d2ff38;border-radius:28px;gap:18px;margin:0 0 22px;padding:24px;display:grid;box-shadow:0 18px 48px #00000047}.playable-copy h2{margin:4px 0 10px;font-size:clamp(1.7rem,4vw,3rem)}.playable-copy p{color:#cbd6ec;max-width:980px;margin:0;line-height:1.7}.control-strip,.discovery-strip{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.control-strip span{color:#d7f2ff;background:#43a0da1f;border:1px solid #84d2ff33;border-radius:999px;padding:8px 12px;font-size:.9rem}.game-board-wrap{grid-template-columns:minmax(360px,.9fr) minmax(280px,1fr);align-items:stretch;gap:18px;display:grid}.tile-map{background:#04070cb8;border:1px solid #cbd6ec2e;border-radius:20px;align-self:start;gap:4px;padding:12px;display:grid}.tile{aspect-ratio:1;color:#5f6a7b;-webkit-user-select:none;user-select:none;border-radius:9px;place-items:center;min-width:0;font-size:clamp(.68rem,1.5vw,.95rem);font-weight:800;display:grid}.tile-wall{color:#2f3745;background:linear-gradient(145deg,#1c2432,#101722);box-shadow:inset 0 0 0 1px #ffffff0a}.tile-floor{background:#7685a214}.tile-facing{outline-offset:-2px;outline:2px solid #ffdd80b3}.tile-player{color:#061018;background:linear-gradient(135deg,#8ee7ff,#fff2a8);box-shadow:0 0 18px #8ee7ff5c}.tile-clue,.tile-companion,.tile-exit,.tile-threat{color:#f7fbff;border:1px solid #ffffff1f}.tile-clue{background:#ffcd6038}.tile-companion{background:#7363ff47}.tile-exit{background:#37c5873d}.tile-threat{background:#ff6e6e38}.tile-discovered{box-shadow:inset 0 0 0 2px #8ee7ff66}.interaction-panel,.mafia-run-panel,.run-vision-grid article{background:#090d16ad;border:1px solid #cbd6ec29;border-radius:20px;padding:18px}.interaction-panel p,.mafia-run-panel p,.run-vision-grid p,.log-box p{color:#c8d1e4;line-height:1.65}.compact-card-head{margin:6px 0 10px}.prompt-line{color:#fff0b5!important}.log-box{border-top:1px solid #cbd6ec1f;margin-top:16px;padding-top:14px}.run-vision-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.mafia-run-panel{background:#120e18b8;border-color:#ffbe5c33;gap:14px;display:grid}.mafia-run-panel>div:first-child strong{color:#ffe2ad;font-size:1.1rem;display:block}.suspicion-meter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.suspicion-meter-grid .suspect-button{min-height:118px}.run-vision-grid strong{color:#eef5ff;margin:4px 0 8px;display:block}@media (width<=1080px){.game-board-wrap,.run-vision-grid,.suspicion-meter-grid{grid-template-columns:1fr}}@media (width<=720px){.playable-shell{padding:16px}.game-board-wrap{grid-template-columns:1fr}.tile-map{gap:3px;padding:8px}}
