:root{font-family:Microsoft YaHei,Noto Sans SC,sans-serif;color:#e8edf4;background:#080b12;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #e8edf4;--muted: #8d97a7;--faint: #566173;--panel: rgba(13, 18, 28, .9);--panel-solid: #101724;--line: rgba(191, 210, 238, .16);--cyan: #9bdce3;--amber: #e8b47b;--danger: #e88888}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:#080b12}button{font:inherit}button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.game-shell{position:relative;min-height:100vh;overflow:hidden;background:#080b12}.scene-layer{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 70% 16%,rgba(103,137,166,.22),transparent 27%),linear-gradient(145deg,#111a28,#091019 48%,#05070c)}.scene-image{position:absolute;z-index:0;inset:0;background-color:#080b12;background-repeat:no-repeat;background-size:var(--scene-desktop-size, cover);background-position:var(--scene-desktop-position, center center);opacity:0;animation:scene-image-fade .26s ease forwards}.scene-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,13,.12),transparent 46%,rgba(5,8,13,.08))}.scene-layer:before,.scene-layer:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}.scene-layer:before{background:linear-gradient(105deg,transparent 0 55%,rgba(170,196,213,.05) 55.1% 58%,transparent 58.1%),linear-gradient(180deg,transparent 0 68%,rgba(4,6,10,.74) 100%)}.scene-layer:after{opacity:.18;background-image:radial-gradient(rgba(255,255,255,.26) .6px,transparent .7px);background-size:5px 5px;mix-blend-mode:screen}.scene-corridor{background:linear-gradient(90deg,rgba(27,38,53,.96) 0 9%,transparent 9.2% 90%,rgba(12,18,28,.98) 90.2%),repeating-linear-gradient(0deg,rgba(142,166,190,.07) 0 1px,transparent 1px 54px),linear-gradient(140deg,#253344,#0a111c 70%)}.scene-stairwell{background:linear-gradient(125deg,transparent 0 37%,rgba(105,130,143,.16) 37.2% 37.8%,transparent 38%),repeating-linear-gradient(155deg,transparent 0 40px,rgba(183,198,208,.08) 41px 42px,transparent 43px 76px),linear-gradient(145deg,#202b34,#080d14 72%)}.scene-monitor205{background:radial-gradient(circle at 58% 52%,rgba(118,163,149,.12),transparent 25%),linear-gradient(145deg,#13251e,#07100e 66%,#050708)}.scene-silhouette{background:radial-gradient(ellipse at 62% 58%,rgba(121,149,165,.17),transparent 16%),linear-gradient(100deg,rgba(4,6,9,.35),transparent 28% 72%,rgba(0,0,0,.5)),linear-gradient(145deg,#1f2b37,#070b11 67%)}.scene-policePair{background:radial-gradient(ellipse at 65% 54%,rgba(211,176,131,.15),transparent 18%),linear-gradient(90deg,rgba(10,14,19,.94),transparent 22% 70%,rgba(4,6,9,.82)),linear-gradient(145deg,#25323d,#070a0f 74%)}.scene-noise,.scene-window,.scene-geometry,.scene-vignette{position:absolute;pointer-events:none;z-index:2}.scene-noise{inset:0;opacity:.28;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(185,208,225,.03) 4px)}.scene-window{width:min(44vw,610px);height:min(57vh,450px);right:17%;top:9%;border:1px solid rgba(183,213,230,.15);box-shadow:0 0 90px #5a97b71a,inset 0 0 70px #00000073;transform:skewY(-4deg)}.scene-window:before,.scene-window:after{content:"";position:absolute;background:#bed5dc1f}.scene-window:before{width:1px;height:100%;left:52%}.scene-window:after{height:1px;width:100%;top:58%}.scene-geometry-left{width:35vw;height:1px;left:-5vw;bottom:22%;background:#b2c7d63b;transform:rotate(-18deg)}.scene-geometry-right{width:27vw;height:52vh;right:6%;bottom:-18%;border:1px solid rgba(177,195,207,.13);transform:skewY(21deg)}.scene-vignette{inset:0;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.67) 100%)}.has-scene-image .scene-window,.has-scene-image .scene-geometry{opacity:.34}.scene-header,.scene-title-block,.game-content,.game-footer{position:relative;z-index:2}.scene-header{display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 72px));margin:0 auto;padding-top:32px;color:var(--muted);font-family:Consolas,Courier New,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.scene-status{display:flex;align-items:center;gap:8px}.scene-status i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.scene-title-block{position:absolute;left:max(36px,calc((100% - 1180px)/2));bottom:33%;max-width:540px}.scene-index{display:block;margin-bottom:18px;color:#e7eff68a;font-size:clamp(24px,2vw,30px);font-weight:500;letter-spacing:.06em}.scene-placeholder{display:grid;grid-template-columns:20px 1fr;gap:10px 12px;max-width:460px;padding:16px 18px;border:1px solid rgba(177,207,224,.2);background:#070b1175;color:#e6eef499;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.scene-placeholder strong{align-self:center;color:#e6eef4d1;font-size:14px;font-weight:500}.scene-placeholder span:last-child{grid-column:2;color:#becfda7a;font-size:13px;line-height:1.7}.placeholder-mark{color:var(--amber);font-size:13px}.game-content{display:flex;align-items:flex-end;width:min(1180px,calc(100% - 72px));min-height:100vh;margin:0 auto;padding:0 0 42px}.narrative-column{width:clamp(760px,49vw,980px)}.beat-progress{display:flex;gap:5px;width:100%;margin-bottom:10px}.beat-progress span{display:block;flex:1;height:2px;background:#e1ebf12b}.beat-progress span.is-active{background:var(--cyan);box-shadow:0 0 10px #9bdce370}.narrative-card{max-width:none;min-height:188px;padding:28px 32px 26px;border:1px solid var(--line);border-left:2px solid rgba(155,220,227,.8);background:linear-gradient(135deg,#0f1723f0,#090e16db);box-shadow:0 20px 55px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-shell:has(.scene-act2HunterInheritance) .narrative-card{background:linear-gradient(135deg,#0f1723c7,#090e16ad);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(min-width:701px){.game-shell:has(.scene-act2HunterInheritance) .narrative-column{width:clamp(520px,30vw,660px)}}.narrative-eyebrow,.choice-heading span,.ending-overline{color:var(--cyan);font-family:Consolas,Courier New,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.narrative-text{max-width:780px;margin:17px 0 0;color:var(--ink);font-size:clamp(20px,1.45vw,24px);font-weight:500;line-height:1.7}.narrative-detail{margin:4px 0 0;color:#b4becb;font-size:16px;line-height:1.75}.continue-button,.inline-phone-button{display:inline-flex;align-items:center;gap:18px;margin-top:20px;padding:0;border:0;background:transparent;color:var(--cyan);cursor:pointer;font-size:15px;transition:color .16s ease,transform .16s ease}.continue-button:hover,.inline-phone-button:hover{color:#fff;transform:translate(3px)}.continue-arrow,.inline-phone-button span{font-size:18px}.inline-phone-button{display:flex;width:fit-content;margin-top:18px;color:var(--amber);font-size:14px}.choice-panel{margin-top:16px;padding:18px 18px 19px;border:1px solid rgba(232,180,123,.25);background:#0b1019e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.choice-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 14px}.choice-heading span{color:var(--amber)}.choice-heading small{color:var(--faint);font-size:12px}.choice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice-button{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:11px;min-height:108px;padding:16px 15px;border:1px solid rgba(192,211,228,.16);background:#141d2acc;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.choice-button:hover{border-color:#9bdce3b3;background:#1c2f3ae6;transform:translateY(-2px)}.choice-number{padding-top:2px;color:var(--amber);font-family:Consolas,Courier New,monospace;font-size:12px}.choice-copy{display:flex;flex-direction:column;gap:8px}.choice-copy strong{color:#edf4f5;font-size:16px;font-weight:500;line-height:1.5}.choice-copy small{color:var(--muted);font-size:14px;line-height:1.55}.choice-arrow{color:var(--muted);font-size:18px}.phone-layer{position:fixed;z-index:5;top:80px;right:max(28px,calc((100% - 1180px)/2));width:min(344px,30vw);transition:transform .22s ease}.phone-toggle{display:flex;align-items:center;gap:8px;margin:0 0 8px auto;padding:6px 10px;border:1px solid rgba(155,220,227,.28);background:#0a1018cc;color:var(--cyan);cursor:pointer;font-family:Consolas,Courier New,monospace;font-size:11px;letter-spacing:.05em}.phone-toggle-dot{width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.phone-shell{overflow:hidden;border:1px solid rgba(211,230,238,.22);border-radius:20px;background:#182638;box-shadow:0 22px 80px #00000080,0 0 0 5px #0a0f176b;transform-origin:top right;transition:opacity .18s ease,transform .22s ease}.phone-layer.is-closed .phone-shell{opacity:0;pointer-events:none;transform:scale(.93) translateY(-8px)}.phone-layer.is-closed{pointer-events:none}.phone-layer.is-closed .phone-toggle{pointer-events:auto}.phone-layer.is-closed .phone-toggle-dot{animation:blink 1.4s infinite}.phone-topbar,.phone-appbar,.phone-input{display:flex;align-items:center;justify-content:space-between}.phone-topbar{height:28px;padding:0 16px;color:#e2edf28f;font-family:Consolas,Courier New,monospace;font-size:9px}.phone-notch{width:76px;height:13px;border-radius:0 0 9px 9px;background:#070b11}.phone-appbar{min-height:53px;padding:8px 15px;border-top:1px solid rgba(213,229,238,.07);border-bottom:1px solid rgba(213,229,238,.09);background:#1b2a3bb8}.phone-appbar>div{display:grid;gap:2px;flex:1;margin:0 12px}.phone-appbar strong{color:#ecf4f4;font-size:14px;font-weight:500}.phone-appbar small{color:#6f8592;font-family:Consolas,Courier New,monospace;font-size:11px}.phone-back,.phone-more{color:var(--muted);font-size:18px}.phone-more{font-size:12px;letter-spacing:2px}.phone-content{min-height:265px;padding:18px 14px;background:linear-gradient(#1b2a3bfa,#121d2cfa),repeating-linear-gradient(0deg,rgba(144,171,182,.05) 0 1px,transparent 1px 4px)}.message-list{display:grid;gap:13px}.message-row{display:flex;align-items:flex-end;gap:7px;animation:phone-message-in .36s ease both;animation-delay:var(--message-delay, 0ms)}.message-right{justify-content:flex-end}.message-avatar{display:grid;flex:0 0 23px;place-items:center;width:23px;height:23px;border:1px solid rgba(155,220,227,.28);border-radius:50%;color:var(--cyan);font-size:10px}.message-bubble{max-width:79%;padding:8px 10px;border:1px solid rgba(178,205,216,.12);border-radius:3px 10px 10px;background:#2a3d4ff5}.message-right .message-bubble{border-radius:10px 3px 10px 10px;background:#395b5ee6}.message-role-player .message-bubble{border-color:#9bdce34d;background:#356062f5}.message-role-503 .message-bubble{border-color:#9cc3da47;background:#2b455dfa}.message-role-511 .message-bubble{border-color:#bfccd842;background:#3d4654fa}.message-role-312 .message-bubble{border-color:#cdc3b840;background:#464346fa}.message-role-other .message-bubble{border-color:#b2cdd833;background:#303d4cfa}.message-role-player .message-avatar{border-color:#9bdce36b;color:#a8e3e5}.message-role-503 .message-avatar{border-color:#9cc3da66;color:#afd0e0}.message-role-511 .message-avatar{border-color:#bfccd861;color:#c4ced8}.message-role-312 .message-avatar{border-color:#cdc3b85c;color:#d1c7bd}.message-bubble small{display:block;margin-bottom:4px;color:#8ca8ae;font-size:11px}.message-bubble p{margin:0;color:#e2ebec;font-size:16px;line-height:1.7}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.evidence-grid.has-evidence-images{grid-template-columns:1fr}.evidence-card{display:grid;align-content:center;min-height:142px;gap:8px;padding:14px 12px;border:1px solid rgba(232,180,123,.3);background:linear-gradient(135deg,#574d4147,#12181ff5),repeating-linear-gradient(135deg,transparent 0 8px,rgba(232,180,123,.08) 9px 10px);text-align:center}.evidence-card.has-evidence-image{min-height:0;padding:8px;gap:7px;text-align:left}.evidence-media{display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain;background:#0b1119}.evidence-mark{color:var(--amber);font-family:Consolas,Courier New,monospace;font-size:10px}.evidence-card strong{color:#edf4f5;font-size:13px;font-weight:500;line-height:1.5}.evidence-card small{color:var(--muted);font-size:11px;line-height:1.5}.video-placeholder{position:relative;display:grid;align-content:center;justify-items:center;gap:10px;min-height:230px;overflow:hidden;border:1px solid rgba(151,219,198,.35);background:linear-gradient(105deg,transparent 0 48%,rgba(153,211,202,.12) 48.1% 49%,transparent 49.1%),radial-gradient(circle at 50% 56%,rgba(136,203,182,.22),transparent 12%),#0d1a1b;color:#a8d6ca;text-align:center}.video-placeholder.has-video-image{min-height:230px;overflow:hidden;background-color:#0d1118;background-position:center center;background-size:cover;box-shadow:inset 0 0 0 1px #a4dcd14d,inset 0 0 34px #00000057}.video-placeholder.has-video-image:before{background:linear-gradient(180deg,rgba(3,8,12,.32),transparent 26%,transparent 76%,rgba(3,8,12,.48)),repeating-linear-gradient(0deg,transparent 0 5px,rgba(209,245,238,.04) 6px 7px)}.video-placeholder.has-video-image:after{width:100%;height:100%;background:linear-gradient(90deg,transparent 49.7%,rgba(154,220,202,.24) 50%,transparent 50.3%);box-shadow:0 0 0 transparent}.video-placeholder.has-video-image .video-rec{align-self:start;color:#f3a2a2;text-shadow:0 1px 5px rgba(0,0,0,.9)}.video-placeholder.has-video-image strong,.video-placeholder.has-video-image small{padding:3px 7px;background:#050b10b3;text-shadow:0 1px 5px rgba(0,0,0,.9)}.video-placeholder.has-video-image small{color:#e2f5f0c2}.video-placeholder:before,.video-placeholder:after{content:"";position:absolute;pointer-events:none}.video-placeholder:before{inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(209,245,238,.04) 6px 7px)}.video-placeholder:after{width:75%;height:1px;background:#9adcca59;box-shadow:0 90px #9adcca2e,0 -90px #9adcca2e}.video-placeholder strong,.video-placeholder small,.video-rec,.video-crosshair{position:relative;z-index:1}.video-placeholder strong{font-family:Consolas,Courier New,monospace;font-size:10px;font-weight:400}.video-placeholder small{color:#a8d6ca8c;font-size:9px}.video-rec{align-self:start;margin:10px 0 0 12px;color:#eaa1a1;font-family:Consolas,Courier New,monospace;font-size:9px}.video-crosshair{position:absolute;color:#afdecf6b;font-size:25px}.phone-input{margin:0 14px 14px;padding:9px 10px;border:1px solid rgba(174,201,210,.14);background:#0a121d47;color:#657582;font-size:10px}.phone-input b{color:#8bbcc0;font-size:15px;font-weight:400}.game-footer{position:fixed;right:max(36px,calc((100% - 1180px)/2));bottom:25px;left:max(36px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;color:#adbbc673;font-family:Consolas,Courier New,monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.debug-panel{position:fixed;z-index:10;right:18px;bottom:18px;width:220px;border:1px solid rgba(233,180,123,.32);background:#0b0f16f0;color:var(--muted);font-family:Consolas,Courier New,monospace;font-size:9px}.debug-panel summary{padding:8px 10px;color:var(--amber);cursor:pointer}.debug-body{padding:0 10px 10px}.debug-actions{display:flex;flex-wrap:wrap;gap:4px}.debug-actions button{padding:4px 6px;border:1px solid rgba(155,220,227,.23);background:#17212d;color:var(--cyan);cursor:pointer;font-family:inherit;font-size:9px}.debug-body pre{max-height:180px;overflow:auto;margin:9px 0 0;color:#71818c;white-space:pre-wrap}.ending-screen{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;background:#030407;color:#f2f4f2}.loop-ending-visual{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.42}.ending-screen:before,.ending-screen:after{content:"";position:absolute;width:70vw;height:1px;background:#9bdce333;transform:rotate(-18deg)}.ending-screen:after{width:45vw;transform:rotate(26deg);background:#e8b47b2e}.ending-scanline{position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.08) 5px 6px)}.ending-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:34px;text-align:center}.ending-overline{color:var(--amber)}.ending-content h1{margin:24px 0 8px;font-size:clamp(42px,7vw,88px);font-weight:500;letter-spacing:.15em;text-indent:.15em}.ending-content p{margin:0;color:#aeb7c1;font-size:16px;letter-spacing:.22em;text-indent:.22em}.ending-divider{width:62px;height:1px;margin:35px 0 28px;background:var(--cyan);box-shadow:0 0 16px #9bdce3bf}.restart-button{padding:12px 21px;border:1px solid rgba(155,220,227,.52);background:#132029bd;color:var(--cyan);cursor:pointer;font-size:13px;letter-spacing:.08em;transition:background .16s ease,color .16s ease}.restart-button:hover{background:var(--cyan);color:#071015}.ending-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.act2-entry-button{border-color:#e8b47b85;color:var(--amber)}@keyframes blink{50%{opacity:.3}}@keyframes scene-image-fade{0%{opacity:0}to{opacity:1}}@keyframes phone-message-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:701px){.scene-header{color:#9ba8b8;font-size:14px}.scene-index{color:#e7eff69e}.narrative-eyebrow,.choice-heading span,.ending-overline{font-size:15px}.choice-heading small{color:#657284;font-size:13px}.narrative-text{font-size:clamp(23px,1.7vw,28px);line-height:1.65}.narrative-detail{font-size:18px;line-height:1.7}.continue-button{display:flex;width:fit-content;margin-top:28px;padding:12px 16px;border:1px solid rgba(155,220,227,.46);background:#192e37c7;color:#b7edf0;font-size:17px;font-weight:600;letter-spacing:.04em;box-shadow:0 8px 24px #0000002e}.continue-button:hover{border-color:#9bdce3e6;background:#24464ceb}.choice-copy strong{font-size:18px}.choice-copy small{font-size:15px}.choice-button{min-height:116px;padding:18px 16px}.phone-layer{width:min(430px,34vw)}.phone-toggle{margin-bottom:10px;padding:9px 13px;border-color:#9bdce37a;background:#121f2bf0;font-size:13px}.phone-shell{border-color:#d3e6ee75;box-shadow:0 24px 84px #0000008f,0 0 0 7px #0c141f9e,inset 0 1px #e1eff414}.phone-topbar{font-size:10px}.phone-appbar strong{font-size:15px}.phone-appbar small{font-size:12px}.phone-content{min-height:300px;padding:21px 18px}.message-list{gap:16px}.message-bubble{padding:10px 12px}.message-bubble p{font-size:18px;line-height:1.62}.message-bubble small{font-size:12px}.phone-input{font-size:11px}}@media(max-width:900px){.phone-layer{right:18px;width:min(344px,38vw)}.narrative-column{width:min(720px,67vw)}}@media(max-width:1100px)and (min-width:701px){.narrative-column{width:min(720px,64vw)}}@media(max-width:700px){.scene-header,.game-content{width:calc(100% - 36px)}.scene-header{padding-top:20px}.scene-header .scene-status{display:none}.scene-window{width:72vw;right:-10%}.scene-image{background-position:var(--scene-mobile-position, center center);background-size:var(--scene-mobile-size, var(--scene-desktop-size, cover))}.scene-title-block{left:18px;bottom:40%;max-width:calc(100% - 36px)}.scene-index{font-size:20px}.scene-placeholder{max-width:min(380px,calc(100vw - 36px));padding:13px 15px}.scene-placeholder strong{font-size:12px}.scene-placeholder span:last-child{font-size:11px}.game-content{padding-bottom:28px}.narrative-column{width:100%}.narrative-card{min-height:145px;padding:19px 18px 17px}.narrative-text{font-size:16px;line-height:1.7}.narrative-detail{font-size:13px}.message-bubble p{font-size:14px}.continue-button,.inline-phone-button{font-size:13px}.choice-list{grid-template-columns:1fr}.choice-button{min-height:58px}.choice-copy small{display:none}.phone-layer{top:20px;right:18px;left:18px;width:auto}.phone-layer.is-closed{left:auto;width:auto}.phone-shell{max-height:calc(100vh - 105px);overflow-y:auto}.phone-content{min-height:200px}.game-footer{display:none}.loop-ending-visual{object-fit:contain}.debug-panel{right:10px;top:10px;bottom:auto}}@media(max-height:820px)and (min-width:701px){.scene-title-block{bottom:58%}.game-content{padding-bottom:28px}.narrative-card{min-height:164px;padding:22px 26px 20px}.phone-layer{top:52px;width:min(400px,32vw)}.phone-shell{max-height:calc(100dvh - 112px);overflow-x:hidden;overflow-y:auto}.phone-content{min-height:220px}}
