:root{color:#f6f3eb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel:#080c13e0;--panel-strong:#070a0ff5;--panel-soft:#ffffff0a;--panel-glow:#a1cdff14;--border:#a8c2e038;--border-strong:#ffffff2e;--text-soft:#f6f3eba3;--text-faint:#f6f3eb75;--accent:#d5b06f;--accent-blue:#9dc5e5;--accent-red:#da7d78;--accent-green:#92c29a;--shadow-lg:0 18px 60px #00000059;--shadow-sm:0 8px 24px #00000047;background:radial-gradient(circle at top,#d0e2ff1f,#0000 26%),radial-gradient(circle at 85% 20%,#e9c17829,#0000 24%),linear-gradient(#1a2234 0%,#101624 48%,#080b12 100%);font-family:Microsoft YaHei UI,Noto Sans SC,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-width:1280px;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}ul,dl{margin:0}.app-shell{flex-direction:column;gap:14px;height:100vh;padding:16px 18px 18px;display:flex;position:relative;overflow:hidden}.app-shell:before,.menu-shell:before{content:"";mix-blend-mode:soft-light;pointer-events:none;opacity:.24;background:linear-gradient(#ffffff05 50%,#00000008 50%) 0 0/100% 6px;position:absolute;inset:0}.app-shell--loading,.app-shell--error{text-align:center;place-items:center;display:grid}.menu-shell{height:100vh;padding:28px;position:relative;overflow:hidden}.menu-bg-frame{position:absolute;inset:0}.menu-bg{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;opacity:.84;filter:saturate(.92)contrast(1.02)}.menu-bg--fallback{background:radial-gradient(circle at top,#e3cb8c1f,#0000 28%),linear-gradient(#182951f5,#070a0ffa)}.menu-panel,.panel,.scene-panel,.debug-drawer{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff0a, transparent 20%), var(--panel);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:relative;overflow:hidden}.menu-panel:before,.panel:before,.scene-panel:before,.debug-drawer:before{content:"";pointer-events:none;border-top:1px solid #ffffff14;position:absolute;inset:0}.menu-panel{z-index:1;border-radius:24px 8px;width:min(580px,100%);margin-top:7vh;padding:26px 28px}.menu-panel h1,.topbar h1,.subpanel h2,.debug-drawer h2{margin:0}.menu-panel h1{margin-bottom:14px;font-size:44px;line-height:1.06}.menu-copy{max-width:44ch;color:var(--text-soft);margin-bottom:22px}.menu-actions,.menu-meta,.debug-actions,.topbar-meta,.dialogue-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.menu-meta{margin-top:18px}.menu-meta-card{background:linear-gradient(#9dc5e512,#0000),#ffffff08;border:1px solid #ffffff1a;border-radius:16px 4px;flex:220px;min-height:116px;padding:14px 16px}.menu-meta-card h2{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:13px}.eyebrow{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin:0 0 8px;font-size:11px}.topbar{flex:none;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.topbar-copy{gap:4px;display:grid}.topbar h1{font-size:28px;line-height:1.1}.topbar-description{color:var(--text-soft);margin:0;font-size:14px}.topbar-meta{justify-content:flex-end}.meta-chip,.scene-overlay span,.bg-tag{color:var(--text-soft);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;padding:5px 10px;font-size:12px}.layout-grid{flex:auto;grid-template-columns:270px minmax(0,1fr) 340px;gap:14px;min-height:0;display:grid}.panel{border-radius:22px 8px;min-height:0;padding:14px}.status-panel,.info-panel{flex-direction:column;gap:12px;display:flex}.status-panel,.info-panel,.scene-panel{min-height:0}.status-panel,.info-panel{overflow:hidden}.subpanel{background:linear-gradient(180deg, #9dc5e50a, transparent 22%), var(--panel-soft);border:1px solid #ffffff14;border-radius:16px 4px;min-height:0;padding:14px}.subpanel h2,.subpanel h3{color:#fff3d2;margin:0 0 10px;font-size:14px}.subpanel ul,.menu-meta-card p{color:var(--text-soft);padding-left:18px}.status-panel .subpanel:last-child,.info-panel .subpanel{min-height:0}.stat-list{display:none}.balance-card,.summary-row{background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff14;border-radius:14px 4px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.balance-card span,.summary-row span{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);font-size:11px}.balance-card strong,.summary-row strong{color:#fff;font-size:18px}.stat-stack{gap:10px;display:grid}.stat-card{background:linear-gradient(#9dc5e514,#ffffff05);border:1px solid #ffffff14;border-radius:14px 4px;padding:10px 12px}.stat-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stat-card-head dt{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);font-size:11px}.stat-card-head dd{color:#fff;margin:0;font-size:16px}.stat-meter{grid-template-columns:repeat(var(--meter-columns,5), 1fr);gap:6px;display:grid}.stat-meter-segment{opacity:.5;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;height:10px;box-shadow:inset 0 0 10px #ffffff0d}.stat-meter-segment--safe{opacity:1;background:linear-gradient(90deg,#61ffadb3,#82ffd1f2);box-shadow:0 0 10px #61ffad59,0 0 18px #61ffad29}.stat-meter-segment--warning{opacity:1;background:linear-gradient(90deg,#ffc85ccc,#ff924cf2);box-shadow:0 0 10px #ffb74d52,0 0 18px #ff924c29}.stat-meter-segment--danger{opacity:1;background:linear-gradient(90deg,#ff5b70d1,#ff467ef5);box-shadow:0 0 10px #ff5b7061,0 0 18px #ff467e33}.scene-panel{cursor:pointer;border-radius:30px 8px;height:100%;min-height:0;position:relative}.scene-visual{background:radial-gradient(circle at 0 0,#d5b06f29,#0000 26%),linear-gradient(#405476 0%,#26324a 42%,#10151c 100%);min-height:0;position:absolute;inset:0;overflow:hidden}.scene-art{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.scene-art--fallback{background:radial-gradient(circle at 0 0,#d5b06f1f,#0000 26%),linear-gradient(#43597d 0%,#273249 44%,#10151d 100%);width:100%;height:100%}.scene-character{z-index:1;object-fit:contain;pointer-events:none;max-height:84%;image-rendering:pixelated;filter:drop-shadow(0 18px 24px #00000057);position:absolute;bottom:10%}.scene-character--left{left:4%}.scene-character--right{right:4%}.scene-character--center{left:50%;transform:translate(-50%)}.scene-overlay{z-index:2;flex-wrap:wrap;gap:8px;display:flex;position:absolute;inset:16px 18px auto}.scene-hotspot{z-index:3;color:#fff;background:#0d182529;border:1px dashed #ffffffd1;justify-content:flex-start;align-items:flex-start;transition:border-color .14s,background .14s,transform .14s;display:flex;position:absolute}.scene-hotspot span{background:#00000057;padding:4px 6px;font-size:12px;display:inline-block}.scene-hotspot:hover{background:#d5b06f33;border-color:#ffecbde6}.scene-hotspot:disabled{opacity:.48}.scene-hotspot--resolved{background:#92c29a33;border-color:#92c29ad9}.scene-dialogue{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:linear-gradient(#ffffff14,#0000 18%),#04080ead;border:1px solid #ffffff1f;border-radius:22px 6px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;min-height:320px;max-height:400px;padding:22px 22px 20px;display:grid;position:absolute;bottom:16px;left:18px;right:18px}.dialogue-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.speaker{color:var(--accent);margin:0;font-size:15px}.speaker--muted{color:var(--text-soft)}.scene-copy-scroll,.tab-body,.report-form-body{scrollbar-gutter:stable;min-height:0;overflow:auto}.dialogue-copy{align-content:start;gap:10px;min-height:0;display:grid}.dialogue-copy p,.scene-note,.card-item p{margin:0}.dialogue-line{color:#fffffff5;text-shadow:0 1px 6px #00000057;font-size:21px;font-weight:700;line-height:1.8}.scene-note{color:var(--text-faint);margin-top:10px;font-size:12px;display:none}.scene-actions{scrollbar-gutter:stable;overscroll-behavior:contain;min-height:0;max-height:172px;padding-top:4px;overflow:auto}.scene-actions:empty,.advance-prompt{display:none}.investigation-summary,.hotspot-feedback,.ending-banner,.report-intro,.report-submit{background:linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff14;border-radius:14px 4px;padding:12px 14px}.investigation-summary strong,.hotspot-feedback strong,.ending-banner strong,.report-submit strong{color:var(--accent);margin-bottom:6px;display:block}.ending-banner--bad{background:linear-gradient(#da7d781f,#ffffff05);border-color:#da7d783d}.choice-list,.card-list,.log-stack,.report-grid,.report-sidebar,.report-form{gap:10px;display:grid}.choice-list{grid-template-columns:repeat(var(--choice-columns,1), minmax(0, 1fr));align-items:stretch}.choice-row{gap:8px;display:grid}.choice-button,.ghost-button,.primary-button,.scene-link,.tab-button{border:1px solid var(--border);color:#fff;background:linear-gradient(#ffffff0f,#ffffff08);transition:border-color .12s,background .12s,transform .12s,box-shadow .12s;position:relative}.choice-button,.scene-link{text-align:left;width:100%}.choice-button,.ghost-button,.primary-button,.scene-link{border-radius:14px 4px;padding:11px 12px}.choice-button{justify-content:flex-start;align-items:flex-start;min-height:84px;line-height:1.55;display:flex}.tab-button{border-radius:12px 3px;min-height:42px;padding:8px 10px}.choice-button:hover,.ghost-button:hover,.primary-button:hover,.scene-link:hover,.tab-button:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);background:linear-gradient(#d5b06f1f,#ffffff0f);transform:translateY(-1px)}.choice-button:disabled,.ghost-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.ghost-button{background:#ffffff05}.primary-button{color:#fff3d2;background:linear-gradient(#d5b06f3d,#d5b06f1f)}.ending-actions{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.backlog-overlay{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03070c75;place-items:center;padding:22px;display:grid;position:absolute;inset:0}.backlog-panel{width:min(820px,100%);max-height:min(70vh,620px);box-shadow:var(--shadow-lg);background:linear-gradient(#ffffff14,#0000 18%),#04080ed1;border:1px solid #ffffff1f;border-radius:22px 6px;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:18px;display:grid}.backlog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.backlog-head strong{color:#fff3d2;letter-spacing:.08em}.backlog-body{scrollbar-gutter:stable;gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}.backlog-body p{color:#ffffffeb;margin:0;line-height:1.75}.scene-copy-scroll::-webkit-scrollbar{width:10px}.scene-actions::-webkit-scrollbar{width:10px}.tab-body::-webkit-scrollbar{width:10px}.report-form-body::-webkit-scrollbar{width:10px}.backlog-body::-webkit-scrollbar{width:10px}.scene-copy-scroll::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.scene-actions::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.tab-body::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.report-form-body::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.backlog-body::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.scene-copy-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#9dc5e58c,#d5b06f80);border-radius:999px}.scene-actions::-webkit-scrollbar-thumb{background:linear-gradient(#9dc5e58c,#d5b06f80);border-radius:999px}.tab-body::-webkit-scrollbar-thumb{background:linear-gradient(#9dc5e58c,#d5b06f80);border-radius:999px}.report-form-body::-webkit-scrollbar-thumb{background:linear-gradient(#9dc5e58c,#d5b06f80);border-radius:999px}.backlog-body::-webkit-scrollbar-thumb{background:linear-gradient(#9dc5e58c,#d5b06f80);border-radius:999px}.scene-copy-scroll,.scene-actions,.tab-body,.report-form-body,.backlog-body{scrollbar-width:thin;scrollbar-color:#9dc5e5b8 #ffffff0a}.tab-strip{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tab-button--active{color:#fff4d2;background:linear-gradient(#d5b06f38,#ffffff0f);border-color:#d5b06f73}.tab-body{flex:auto}.scene-index{gap:8px;padding:0;list-style:none;display:grid}.scene-link{justify-content:space-between;align-items:center;display:flex}.scene-link small,.report-option small,.report-submit small{color:var(--text-soft)}.card-list{padding:0;list-style:none}.card-item,.report-sidebar-row,.report-option,.report-field{background:linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff14;border-radius:14px 4px;padding:10px 12px}.card-item strong,.report-sidebar-row strong{color:#fff4d2;margin-bottom:6px;display:block}.log-stack h3,.report-grid h3{color:var(--accent-blue);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:13px}.report-form{min-height:0}.report-form-body{gap:12px;display:grid}.report-field{margin:0}.report-field legend{color:#fff4d2;padding:0 8px}.report-options{gap:10px;margin-top:8px;display:grid}.report-option{gap:4px;display:grid}.report-option input{margin:0 0 4px}.report-option span{font-weight:600}.report-option--active{background:linear-gradient(#d5b06f24,#ffffff08);border-color:#d5b06f66}.report-submit{justify-content:space-between;align-items:center;gap:16px;display:flex}.editor-input,.editor-textarea{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:12px 4px;width:100%;padding:10px 12px}.editor-input--speaker{max-width:280px}.editor-textarea{resize:vertical;min-height:96px}.debug-drawer{z-index:20;border-radius:18px 6px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.save-status{border:1px solid;border-radius:999px;padding:6px 10px}.save-status--saving{color:var(--accent)}.save-status--saved{color:var(--accent-green)}.save-status--error{color:var(--accent-red)}
