:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#1f2a24;--paper:#eadfbf;--paper-soft:#f5edcf;--green:#146044;--green-bright:#4eda8a;--green-deep:#092d24;--system:#d9ded7;--line:#0f2d223d;--black:#0b0f0d;--red:#7c2626;--gold:#caa65a;--blue:#7f9bb5;--shadow:0 18px 50px #00000052;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{color:var(--paper-soft);background:#111512;margin:0;overflow-x:hidden}button,input{font:inherit}button{color:var(--paper-soft);cursor:pointer;background:#f5edcf0f;border:1px solid #eadfbf3d;border-radius:6px;min-height:42px;padding:0 14px;transition:transform .14s,border-color .14s,background .14s,color .14s}button:hover:not(:disabled){background:#4eda8a1c;border-color:#4eda8ab8;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--green);color:#f5ffe7;border-color:#4eda8ab3;font-weight:700}button.wide{width:100%}.icon-button{place-items:center;width:38px;min-height:38px;padding:0;display:grid}.close{z-index:2;position:absolute;top:14px;right:14px}.eyebrow{color:var(--green-bright);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:800}.muted{color:#f5edcf9e}.title-screen{background:radial-gradient(circle at 78% 35%,#4eda8a2e,#0000 28%),linear-gradient(112deg,#0d1612 0%,#16251f 52%,#080b0a 100%);grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);align-items:stretch;min-height:100svh;display:grid}.title-copy{flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(32px,7vw,96px);display:flex}.title-mark{width:56px;height:56px;color:var(--green-bright);border:1px solid #4eda8ab3;place-items:center;margin-bottom:26px;font-size:2rem;animation:2.6s ease-in-out infinite signalPulse;display:grid}.title-copy h1{color:#fff7d7;letter-spacing:0;margin:0;font-size:clamp(3.4rem,9vw,8.4rem);line-height:.92}.subtitle{color:#e1d7b7;margin:22px 0 0;font-size:clamp(1rem,2vw,1.35rem)}.title-summary{color:#f5edcfc7;max-width:560px;margin:22px 0 0;font-size:1.08rem;line-height:1.8}.title-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.title-visual{background:linear-gradient(90deg,#040806ad,#0408061f),url(/assets/scenes/archive.svg) 50%/cover,linear-gradient(90deg,#00000052,#0000),repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 6px);min-height:100svh;position:relative;overflow:hidden}.archive-stack{box-shadow:var(--shadow);transform:rotate(var(--r));background:linear-gradient(135deg,#ecdfb7,#9d8d66);border:1px solid #eadfbf7a;position:absolute}.stack-a{--r:-9deg;width:46%;height:56%;top:21%;left:13%}.stack-b{--r:7deg;width:42%;height:48%;top:29%;left:39%}.stack-c{--r:-2deg;background:linear-gradient(135deg,#f2e9c9,#725d3d);width:28%;height:38%;top:12%;left:31%}.redaction{background:#0b0f0d;height:22px;position:absolute;box-shadow:0 0 0 1px #4eda8a3d}.redaction-a{width:28%;top:46%;left:47%}.redaction-b{width:18%;top:63%;left:29%}.signal-ring{aspect-ratio:1;border:2px solid #4eda8a73;border-radius:50%;width:min(46vw,520px);animation:20s linear infinite slowRotate;position:absolute;bottom:-14%;right:-12%}.signal-ring:before,.signal-ring:after{content:"";border:1px solid #4eda8a47;border-radius:50%;position:absolute;inset:16%}.signal-ring:after{inset:33%}.game-shell{background:linear-gradient(180deg, #080e0cf5, #141816f5), var(--black);grid-template-rows:auto 1fr auto;min-height:100svh;display:grid}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080e0cdb;border-bottom:1px solid #eadfbf24;justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:16px clamp(18px,3vw,38px);display:flex}.topbar h1{color:#fff3c7;letter-spacing:0;margin:0;font-size:clamp(1.4rem,3vw,2.2rem)}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workspace{grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:0;min-height:0;display:grid}.scene-pane{min-width:0;padding:clamp(14px,2vw,24px)}.scene-frame{isolation:isolate;border:1px solid #eadfbf2e;border-radius:8px;height:min(72svh,760px);min-height:500px;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #00000061}.scene-art{object-fit:cover;z-index:-3;width:100%;height:100%;transition:transform .5s,filter .5s;position:absolute;inset:0;transform:scale(1.01)}.scene-frame:hover .scene-art{filter:saturate(1.04)contrast(1.04);transform:scale(1.035)}.scene-vignette{z-index:-2;pointer-events:none;background:linear-gradient(90deg,#0408065c,#0000 38%,#04080657),linear-gradient(#0000 62%,#040806b8),radial-gradient(circle at 50% 40%,#0000 0 45%,#00000057 100%);position:absolute;inset:0}.scene-noise{opacity:.16;mix-blend-mode:overlay;pointer-events:none;z-index:-1;background:repeating-linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 5px),repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 9px);position:absolute;inset:0}.scene-archive{background:linear-gradient(140deg,#4b301c66,#0000),linear-gradient(#d7c894 0%,#2d3b2c 100%)}.scene-street{background:linear-gradient(#97b2ca47,#0000 44%),linear-gradient(145deg,#303b43,#111a1d 72%)}.scene-theater{background:radial-gradient(circle at 38% 18%,#caa65a4d,#0000 24%),linear-gradient(145deg,#4e1518,#12090a 72%)}.scene-market{background:linear-gradient(90deg,#4eda8a33,#0000 42%),linear-gradient(145deg,#101015,#341638 54%,#071410)}.scene-station{background:linear-gradient(#f0eacc24,#0000 32%),linear-gradient(145deg,#3d454a,#121517 72%)}.scene-hospital{background:linear-gradient(135deg,#d2e6d452,#0000),linear-gradient(#d6ddcd,#314239 76%)}.scene-core{background:radial-gradient(circle at 58%,#4eda8a2e,#0000 30%),linear-gradient(145deg,#060807,#202423 60%,#020403)}.scene-broadcast{background:linear-gradient(90deg,#d9ded733,#0000),linear-gradient(145deg,#d9ded7,#4b5553 42%,#0f1413)}.city-shape{background:#060a087a;border:1px solid #f5edcf1f;position:absolute;bottom:0}.shape-one{width:20%;height:44%;left:8%}.shape-two{width:28%;height:62%;left:35%}.shape-three{width:18%;height:50%;right:10%}.scene-star{color:#4eda8a8c;text-shadow:0 0 34px #4eda8a57;z-index:1;font-size:clamp(3rem,8vw,8rem);animation:3.4s ease-in-out infinite signalPulse;position:absolute;top:12%;right:10%}.scene-label{border-left:3px solid var(--green-bright);z-index:2;max-width:min(520px,78%);padding-left:16px;position:absolute;bottom:clamp(18px,3vw,38px);left:clamp(18px,3vw,38px)}.scene-label p{color:#f5edcfa8;margin:0 0 6px}.scene-label strong{color:#fff4ce;font-size:clamp(1.4rem,3.5vw,3.1rem);line-height:1.08}.hotspot{z-index:3;background:#080e0cd1;border-color:#f5edcf52;align-items:center;gap:8px;width:max-content;max-width:min(240px,42%);min-height:34px;padding:6px 10px;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 30px #00000038}.hotspot:hover:not(:disabled){transform:translate(-50%,calc(-50% - 1px))}.hotspot.is-read,.investigation-item.is-read{border-color:#4eda8a80}.hotspot.is-collected,.investigation-item.is-collected{border-color:#caa65aad}.hotspot.is-solved,.investigation-item.is-solved{background:#4eda8a21;border-color:#4eda8ac7}.hotspot-dot{background:var(--green-bright);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 16px #4eda8acc}.hotspot-label{overflow-wrap:anywhere;font-size:.86rem}.investigation-dock{background:#080e0cb8;border:1px solid #eadfbf24;border-radius:8px;grid-template-columns:150px 1fr;align-items:stretch;gap:12px;margin-top:12px;padding:12px;display:grid}.investigation-dock>div:first-child{border-right:1px solid #eadfbf1f;align-content:center;padding:8px 10px;display:grid}.investigation-dock strong{color:#fff2c5;font-size:1.6rem}.investigation-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.investigation-item{text-align:left;background:#f5edcf0d;justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:10px;display:flex}.investigation-item span{gap:3px;display:grid}.investigation-item strong{color:#fff2c5;font-size:.94rem;line-height:1.3}.investigation-item small{color:#f5edcf94;line-height:1.35}.puzzle-badge{color:var(--green-bright);background:#4eda8a2e;border-radius:999px;flex:none;padding:3px 6px;font-size:.72rem;font-weight:800}.case-pane{background:#09120ed6;border-left:1px solid #eadfbf24;min-width:0;padding:clamp(14px,2vw,24px);overflow:auto}.case-section{border-bottom:1px solid #eadfbf24;margin-bottom:22px;padding:0 0 22px}.case-section h2{color:#fff3c8;margin:0 0 12px;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.25}.case-section p,.description,.objective{color:#f5edcfc7;line-height:1.8}.objective{border-left:3px solid var(--green-bright);background:#4eda8a14;padding:14px}.mini-status{color:#f5edcfad;font-size:.9rem}.mini-status.done{color:var(--green-bright)}.case-section .wide{margin-top:10px}.required-list{gap:8px;display:grid}.requirement{color:#f5edcfa8;border:1px solid #eadfbf1f;border-radius:6px;grid-template-columns:24px 1fr;align-items:center;gap:8px;min-height:36px;padding:7px 9px;display:grid}.requirement p{margin:0}.requirement.done{color:#ecffe9;border-color:#4eda8a73}.statusbar{color:#f5edcf94;background:#070b09;border-top:1px solid #eadfbf24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:8px clamp(18px,3vw,38px);font-size:.82rem;display:flex}.modal-backdrop{z-index:20;background:#040706b8;place-items:center;padding:18px;animation:.14s ease-out fadeIn;display:grid;position:fixed;inset:0}.modal{width:min(960px,100%);max-height:min(88svh,900px);box-shadow:var(--shadow);background:linear-gradient(#18261ef5,#0a100dfa),#111512;border:1px solid #eadfbf33;border-radius:8px;padding:clamp(22px,3vw,34px);animation:.18s ease-out panelIn;position:relative;overflow:auto}.modal h2{color:#fff2c5;margin:0 42px 12px 0;font-size:clamp(1.55rem,3vw,2.4rem)}.investigation-hero{grid-template-columns:170px minmax(0,1fr);align-items:stretch;gap:18px;margin:18px 0;display:grid}.object-card{background:linear-gradient(#4eda8a0f,#0000),#f5edcf0d;border:1px solid #eadfbf24;border-radius:8px;align-content:start;gap:8px;margin:0;padding:10px;display:grid}.object-card svg{aspect-ratio:1;border-radius:6px;width:100%;display:block;box-shadow:inset 0 0 40px #0000003d}.object-card figcaption{color:#f5edcfad;text-align:center;font-size:.82rem}.investigation-actions{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#121d17fa,#121d17e6);flex-wrap:wrap;gap:8px;margin:18px -2px 20px;padding:10px 0;display:flex;position:sticky;top:-1px}.comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.comparison-grid>div{background:#f5edcf0f;border:1px solid #eadfbf29;border-radius:6px;min-width:0;padding:14px}.comparison-grid p:last-child{color:#fbf0c9;overflow-wrap:anywhere;margin:0;line-height:1.75}.observations ul{color:#f5edcfc7;margin:8px 0 0;padding-left:20px;line-height:1.8}.unlocked-evidence,.puzzle-entry{border-top:1px solid #eadfbf24;margin-top:22px;padding-top:18px}.evidence-row{background:#eadfbf0f;border-left:3px solid #eadfbf33;gap:4px;margin-bottom:10px;padding:11px 12px;display:grid}.evidence-row.done{border-left-color:var(--green-bright)}.evidence-row span,.board-row span,.board-row small,.trial-evidence small{color:#f5edcfa3;line-height:1.55}.puzzle-entry h3{color:#fff1bd;margin:0 0 12px}blockquote{border-left:4px solid var(--green-bright);color:#fff5d4;background:linear-gradient(90deg,#4eda8a1a,#0000),#eadfbf0d;margin:18px 0;padding:18px;font-size:1.05rem;line-height:1.7}.option-list{gap:10px;margin:18px 0;display:grid}.puzzle-modal .option-list:not(.compact){grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.option-list.compact{max-height:420px;overflow:auto}.option-button{text-align:left;align-content:start;gap:4px;width:100%;min-height:72px;padding:12px 14px;display:grid}.option-button span{color:#f5edcf9e;font-size:.9rem;line-height:1.5}.option-button.correct,.option-button.selected{background:#4eda8a21;border-color:#4eda8ab8}.sequence-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px;display:grid}.sequence-stack{border:1px dashed #4eda8a5c;border-radius:6px;min-height:280px;padding:14px}.sequence-stack div{background:#f5edcf0f;grid-template-columns:28px 1fr;gap:8px;margin-bottom:8px;padding:8px;display:grid}.sequence-stack span{color:var(--green-bright);font-weight:800}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.feedback{border-radius:6px;margin-top:14px;padding:12px 14px;line-height:1.7}.feedback.ok{color:#eaffde;background:#4eda8a1f;border:1px solid #4eda8a75}.feedback.warn{color:#ffe7b5;background:#caa65a21;border:1px solid #caa65a94}.board-modal{width:min(1240px,100%)}.board-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.board-grid h3{color:#fff2c5;margin:0 0 12px}.board-row{background:#f5edcf0d;border:1px solid #eadfbf1f;border-radius:6px;gap:5px;margin-bottom:10px;padding:11px;display:grid}.timeline-row{color:#f5edcf7a;grid-template-columns:28px 1fr;gap:9px;margin-bottom:9px;display:grid}.timeline-row span{border:1px solid #f5edcf2e;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.timeline-row p{margin:0;padding-top:3px;line-height:1.6}.timeline-row.visible{color:#f9efca}.timeline-row.visible span{color:var(--green-bright);border-color:#4eda8ab3}.board-stats{color:#f5edcfa8;gap:8px;display:grid}.dialogue-layer{z-index:30;pointer-events:none;padding:18px clamp(18px,5vw,72px);position:fixed;bottom:0;left:0;right:0}.dialogue-box{max-width:1180px;box-shadow:var(--shadow);pointer-events:auto;background:#080d0bf0;border:1px solid #eadfbf3d;border-radius:8px;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 auto;padding:16px;animation:.16s ease-out panelIn;display:grid}.portrait{width:62px;height:62px;color:var(--green-bright);background:#4eda8a1a;border:1px solid #4eda8a70;place-items:center;font-size:1.8rem;font-weight:900;display:grid;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%;display:block}.dialogue-speaker{color:#fff3c7;margin:0 0 6px;font-weight:800}.dialogue-speaker span{color:#f5edcf80;margin-left:10px;font-weight:500}.dialogue-text{color:#f5edcfe0;margin:0;font-size:1.04rem;line-height:1.75}.tone-adrian .portrait{color:#ff9b9b;background:#7c26262e;border-color:#b43e3eb3}.tone-aron .portrait{color:#ffd68a;background:#caa65a24;border-color:#caa65ab3}.trial-header blockquote{margin-bottom:10px;font-size:1.15rem}.trial-evidence-list{gap:9px;max-height:42svh;margin-bottom:16px;padding-right:4px;display:grid;overflow:auto}.trial-evidence{cursor:pointer;background:#f5edcf0d;border:1px solid #eadfbf1f;border-radius:6px;grid-template-columns:22px 1fr;align-items:start;gap:10px;padding:10px;display:grid}.trial-evidence.is-relevant{background:linear-gradient(90deg,#4eda8a21,#0000),#f5edcf0d;border-color:#4eda8a7a}.trial-evidence input{accent-color:var(--green-bright);margin-top:4px}.trial-evidence span{gap:4px;display:grid}.trial-evidence em{color:var(--green-bright);background:#4eda8a2e;border-radius:999px;margin-left:8px;padding:2px 6px;font-size:.72rem;font-style:normal;display:inline-block}.ending-choice-list{gap:12px;display:grid}.ending-choice-list button{text-align:left;gap:4px;min-height:76px;padding:14px;display:grid}.ending-choice-list strong{color:#fff2c5}.ending-choice-list span{color:#f5edcfa8}.ending-choice-list .best-ending{background:#4eda8a24;border-color:#4eda8ac7}.ending-screen{background:linear-gradient(120deg,#0b100d,#1a2a21 62%,#050706),#0b100d;grid-template-columns:minmax(320px,.9fr) minmax(260px,.6fr);align-items:center;gap:28px;min-height:100svh;padding:clamp(28px,7vw,96px);display:grid}.ending-screen h1{color:#fff2c5;letter-spacing:0;margin:0 0 22px;font-size:clamp(2.4rem,7vw,5.6rem);line-height:1}.ending-text{color:#f5edcfd1;max-width:760px;font-size:1.08rem;line-height:1.9}.ending-open .ending-text p:nth-last-child(-n+4){color:var(--green-bright);font-weight:800}.ending-visual{background:repeating-linear-gradient(0deg,#4eda8a14 0 1px,#0000 1px 8px),#4eda8a0d;border:1px solid #4eda8a61;place-items:center;min-height:54svh;display:grid}.ending-visual span{color:var(--green-bright);text-shadow:0 0 55px #4eda8a8c;font-size:clamp(6rem,16vw,14rem)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes panelIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes signalPulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes slowRotate{to{transform:rotate(360deg)}}@media (width<=980px){.title-screen,.workspace,.ending-screen{grid-template-columns:1fr}.title-visual{order:-1;min-height:42svh}.title-copy{min-height:auto}.case-pane{border-top:1px solid #eadfbf24;border-left:0}.scene-frame{height:58svh;min-height:420px}.investigation-dock{grid-template-columns:1fr}.investigation-dock>div:first-child{border-bottom:1px solid #eadfbf1f;border-right:0}.comparison-grid,.board-grid,.sequence-layout,.investigation-hero{grid-template-columns:1fr}.object-card{grid-template-columns:96px 1fr;align-items:center}.object-card svg{width:96px}.object-card figcaption{text-align:left}.puzzle-modal .option-list:not(.compact){grid-template-columns:1fr}.dialogue-box{grid-template-columns:48px 1fr}.dialogue-box button{grid-column:1/-1}.portrait{width:48px;height:48px;font-size:1.3rem}}@media (width<=640px){.topbar{flex-direction:column;align-items:stretch}.top-actions{justify-content:stretch}.top-actions button{flex:30%}.scene-pane,.case-pane{padding:12px}.scene-frame{min-height:480px}.hotspot{max-width:52%;font-size:.78rem}.investigation-list{grid-template-columns:1fr}.modal{max-height:92svh;padding:20px 16px}.comparison-grid>div{padding:12px}.dialogue-layer{padding:10px}.statusbar{justify-content:flex-start}}
