@charset "UTF-8";
:root{--paper:#eeeade;--muted:#9caeaf;--orange:#ffa854;--cyan:#80d9db;--line:#d8e7df33;--mono:"SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#17242c;color:var(--paper);font-family:"PingFang SC","Microsoft YaHei",sans-serif;user-select:none;-webkit-user-select:none;touch-action:none}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}#viewport,#viewport canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hidden{display:none!important}#grain{position:absolute;inset:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#00000008 4px);opacity:.35}#hurt{position:absolute;inset:0;pointer-events:none;z-index:6;box-shadow:inset 0 0 130px 50px #d83632;opacity:0}#flash{position:absolute;inset:0;background:#eacaa5;opacity:0;pointer-events:none;z-index:3}.screen{position:absolute;inset:0;z-index:5;padding:30px 4.5vw 26px;background:linear-gradient(90deg,#0b171ee8 0%,#0b171ead 30%,#0b171e10 68%),linear-gradient(0deg,#0a151bd9,transparent 24%);display:flex;flex-direction:column}.topline{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);letter-spacing:.12em;color:#b9c5c5}.topline i,footer i{color:var(--orange);font-style:normal}.brand{display:flex;align-items:center;gap:12px}.brand b{display:grid;place-items:center;width:31px;height:28px;border:1px solid #c8d6ce77;color:var(--paper);font:700 12px var(--mono)}.title-content{margin:auto 0;padding:30px 0 15px;width:max-content;max-width:100%}.eyebrow{font:11px var(--mono);letter-spacing:.16em;color:var(--orange);display:flex;align-items:center;gap:10px}.eyebrow>i{width:5px;height:5px;background:var(--orange);display:inline-block;box-shadow:0 0 15px #ffb06b}.eyebrow>span{color:#8ba3a7;margin-left:20px;font-size:9px}h1{font-size:clamp(80px,10.8vw,168px);line-height:1.1;letter-spacing:.12em;font-weight:800;margin:22px 0 20px;text-shadow:0 4px 35px #0003}h1>span{color:var(--orange)}h1 small{display:block;font-size:clamp(20px,2.7vw,37px);font-weight:400;letter-spacing:.5em;margin-top:7px}.premise{color:#c5cfcc;font-size:13px;line-height:2.1;letter-spacing:.12em;margin:24px 0 26px}.menu-actions{display:flex;gap:10px}.primary,.outline{min-height:48px;min-width:175px;padding:0 24px;border:1px solid var(--line);font-size:13px;letter-spacing:.15em;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#12232c66;transition:.16s}.primary{background:var(--orange);border-color:var(--orange);color:#17242b;font-weight:700}.primary:hover{background:#ffc088}.outline:hover{border-color:var(--cyan);background:#83c3c31c}.brief{display:flex;align-items:center;gap:14px;margin-top:30px;font-size:10px;color:#a8b7b6}.brief i{font:9px var(--mono);font-style:normal;color:var(--orange);margin-right:5px}.brief>b{color:#637e83;font-weight:400}.scene-note{position:absolute;right:4.5vw;bottom:105px;display:flex;gap:12px;align-items:flex-start;font-size:11px;line-height:1.8;letter-spacing:.1em}.scene-note>i{width:7px;height:7px;border:1px solid var(--cyan);margin-top:5px;border-radius:50%;box-shadow:0 0 12px #73e5d377}.scene-note b{font:9px var(--mono);font-weight:400;color:#a5b5b5}footer{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);color:#e1e4d9;border-top:1px solid var(--line);padding-top:20px;gap:15px}footer b{font-weight:400;color:#99adae}footer>span:last-child{color:#a4b6b9}.modal{position:absolute;inset:0;z-index:20;background:#09151bdd;backdrop-filter:blur(9px);display:grid;place-items:center;padding:22px;overflow:auto}.panel{width:430px;max-width:100%;padding:35px;border:1px solid #adc2bb3b;border-top:2px solid var(--orange);background:#14232bd9;box-shadow:0 20px 100px #0005}.panel h2{font-size:30px;letter-spacing:.1em;margin:18px 0 20px}.panel .primary,.panel .outline{width:100%;margin-top:13px}.subtle{font-size:12px;color:#a9bcbe;line-height:1.9}.keys{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}.keys p{margin:0;display:flex;align-items:center;justify-content:space-between;font-size:11px}.keys span{color:#a7bbbc}kbd{display:inline-block;font:10px var(--mono);border:1px solid #b7cbc955;padding:4px 5px;color:#efe7d8}.setting{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}.setting select,.small{background:#243640;color:var(--paper);border:1px solid #82979766;padding:6px 12px}.setting input{width:120px;accent-color:var(--orange)}#end-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}#end-stats>div{border-bottom:1px solid var(--line);padding:10px 0}#end-stats small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}#end-stats strong{font:24px var(--mono)}#hud{position:absolute;inset:0;z-index:4;pointer-events:none;text-shadow:0 2px 8px #000b}.mission{position:absolute;left:32px;top:30px;border-left:2px solid var(--orange);padding-left:14px}.mission .eyebrow{font-size:9px;color:#dbd7c8;gap:6px}.mission h3{font-size:16px;margin:8px 0 13px;letter-spacing:.1em;font-weight:500}#beacon-pips{display:flex;gap:20px;font:10px var(--mono)}#beacon-pips span{display:flex;gap:6px;align-items:center;color:#ccd5cf}#beacon-pips i{display:inline-block;border:1px solid var(--orange);width:6px;height:6px}#beacon-pips .done i{background:var(--cyan);border-color:var(--cyan)}.compass{position:absolute;left:50%;top:26px;transform:translateX(-50%);text-align:center}.compass>span{font:11px var(--mono);letter-spacing:.18em}.compass>i{display:block;height:7px;margin:8px 0;border-top:1px solid #dbe4d766;background:repeating-linear-gradient(90deg,transparent 0 14px,#c5d6c666 14px 15px);width:180px}.compass small{font-size:9px;letter-spacing:.3em;color:#c7d3c9}.hud-button{position:absolute;right:25px;top:25px;width:36px;height:36px;border:1px solid var(--line);background:#14232b55;pointer-events:auto}#crosshair{position:absolute;left:50%;top:50%;width:0;height:0;opacity:.9}#crosshair i{position:absolute;background:#eef3e3;box-shadow:0 0 3px #0008}#crosshair i:nth-child(1){width:1px;height:6px;left:0;top:-14px}#crosshair i:nth-child(2){width:1px;height:6px;left:0;top:9px}#crosshair i:nth-child(3){height:1px;width:6px;top:0;left:-14px}#crosshair i:nth-child(4){height:1px;width:6px;top:0;left:9px}#crosshair b{display:block;width:2px;height:2px;transform:translate(-.5px,-.5px);background:var(--paper)}#crosshair.ads i{opacity:0}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:38px var(--mono);color:#ffc18a;opacity:0}.health{position:absolute;left:32px;bottom:30px;width:190px}.health>div:first-child{display:flex;align-items:baseline;gap:12px}.health b{font-size:10px;font-weight:400;letter-spacing:.15em}.health strong{font:27px var(--mono)}.health span{font-size:16px;color:var(--cyan);margin-left:auto}.health-track{height:3px;background:#dae5d32b;margin:9px 0}.health-track i{display:block;height:100%;background:var(--cyan);width:100%;transition:width .15s}.health small,.ammo small{color:#b9c7c7;font:9px var(--mono);letter-spacing:.12em}.ammo{position:absolute;right:32px;bottom:30px;width:190px;text-align:right}#weapon-status{font:9px var(--mono);letter-spacing:.15em;color:#c5d2cc}.ammo strong{font:60px var(--mono);font-weight:400;letter-spacing:-.08em}.ammo span{color:#a0b5b9;font:17px var(--mono);margin-left:8px}.ammo span b{font-weight:400}.ammo-track{display:flex;gap:3px;justify-content:flex-end;margin:4px 0 9px}.ammo-track i{height:6px;width:3px;background:#dae6da}.ammo-track i.used{background:#bcd1cb33}.run-stats{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font:10px var(--mono);color:#b8c7c4;display:flex;gap:12px}.run-stats i{color:var(--orange);font-style:normal}#radio{position:absolute;left:50%;bottom:115px;transform:translateX(-50%);text-align:center;max-width:570px;width:80%;opacity:0;transition:opacity .2s}#radio>span{font-size:9px;letter-spacing:.2em;color:var(--orange)}#radio>span b{font-size:6px;margin-left:6px}#radio p{font-size:12px;line-height:1.8;background:#10212b99;padding:9px 16px;margin:8px 0}#toast{position:absolute;top:22%;left:50%;transform:translateX(-50%);text-align:center;font-size:13px;letter-spacing:.15em;color:#ffcc95;opacity:0}#interact{position:absolute;left:50%;top:60%;transform:translateX(-50%);font-size:12px;text-align:center}#interact kbd{margin-right:5px}#interact b{font-weight:400}#interact>div{height:2px;background:#d4e0d744;margin-top:10px}#interact-bar{display:block;width:0;background:var(--orange);height:2px}.marker{position:absolute;text-align:center;transform:translate(-50%,-100%);color:var(--orange);font:10px var(--mono);text-shadow:0 2px 6px #000;min-width:44px}.marker:before{content:"";width:8px;height:8px;display:block;transform:rotate(45deg);border:1px solid currentColor;margin:0 auto 9px;background:#111a2255}.marker.off{color:var(--cyan)}.marker small{display:block;font-size:8px;color:#d2ddd6;margin-top:4px}#loading{position:absolute;inset:0;z-index:40;background:#101e26;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;font-size:16px;letter-spacing:.2em}#loading>i{width:150px;height:2px;background:linear-gradient(90deg,var(--orange),var(--cyan));animation:pulse 1s alternate infinite}#loading small{font-size:10px;color:var(--muted);letter-spacing:.1em}@keyframes pulse{to{opacity:.2;transform:scaleX(.6)}}#touch{position:absolute;inset:0;z-index:8;pointer-events:none}#joystick{position:absolute;width:120px;height:120px;bottom:50px;left:25px;border:1px solid #dce6dc33;border-radius:50%;pointer-events:auto;background:#16303d22}#joystick>i{position:absolute;inset:21px;border:1px solid #dce6dc22;border-radius:50%}#joystick>b{position:absolute;left:44px;top:44px;width:30px;height:30px;background:#b6d2d377;border:1px solid #dce6dc88;border-radius:50%}#look-zone{position:absolute;left:35%;right:0;top:16%;bottom:0;pointer-events:auto}#touch button{position:absolute;pointer-events:auto;border-radius:50%;background:#14303a55;border:1px solid #cfddd65c;color:#e4ecdf;font-size:11px;width:45px;height:45px}#touch-fire{right:35px;bottom:75px;width:76px!important;height:76px!important;border-color:#ffb266!important;color:#ffc48d!important}#touch-ads{right:124px;bottom:70px}#touch-reload{right:26px;bottom:165px}#touch-jump{right:85px;bottom:190px}#touch-use{right:145px;bottom:140px}.is-touch .health{bottom:auto;top:130px;width:120px}.is-touch .ammo{bottom:auto;top:90px;right:22px;width:120px}.is-touch .ammo strong{font-size:38px}.is-touch .ammo-track{gap:2px}.is-touch .ammo-track i{width:2px;height:4px}.is-touch #radio{bottom:30px;width:60%}.is-touch .run-stats{bottom:10px}
@media(max-height:650px){.screen{padding-top:20px}.topline{font-size:9px}.title-content{padding:10px 0}.title-content h1{font-size:80px;margin:12px 0}.title-content h1 small{font-size:22px}.premise{margin:16px 0;font-size:11px}.brief{margin-top:18px}footer{padding-top:12px;font-size:9px}.scene-note{bottom:80px}.panel{padding:24px}.panel h2{font-size:24px;margin:12px 0}.keys{gap:6px}.panel .subtle{font-size:10px}.mission{top:20px;left:20px}.health{left:20px;bottom:20px}.ammo{right:20px;bottom:20px}}
@media(max-width:650px){.screen{padding:22px}.topline>span:last-child{font-size:8px;letter-spacing:0}.title-content{margin:auto 0}.title-content h1{font-size:90px}.title-content .eyebrow>span{display:none}.premise{font-size:11px}.menu-actions{gap:8px}.menu-actions button{min-width:135px;padding:0 15px;gap:22px;font-size:12px}.brief{gap:8px;font-size:9px}.scene-note{display:none}footer{font-size:8px;line-height:1.8}footer>span:last-child{display:none}.mission{left:16px;top:18px}.mission h3{font-size:13px}.mission .eyebrow{font-size:8px}.compass{top:20px;left:64%}.compass>i{width:80px}.compass small{display:none}.health{width:130px;left:16px}.ammo{width:130px;right:16px}.run-stats{font-size:8px;gap:5px}.panel{padding:25px}#radio p{font-size:10px}#beacon-pips{gap:14px}.hud-button{right:15px;top:15px;width:30px;height:30px}}
.is-touch .health{width:138px;top:116px}.is-touch .health>div:first-child{gap:8px}.is-touch .health b{font-size:9px;white-space:nowrap}.is-touch .health strong{font-size:24px}.is-touch .health small{font-size:8px}.is-touch #reload-hint{display:none}.is-touch #touch-jump{bottom:169px}.is-touch #touch-reload{bottom:159px}
@media(max-height:450px){.screen{padding:18px 4.5vw}.screen footer{display:none}.title-content{padding:10px 0}.title-content h1{font-size:64px;margin:12px 0}.title-content h1 small{font-size:18px}.premise{line-height:1.7;margin:12px 0 18px}.brief{margin-top:15px}.scene-note{bottom:35px}.is-touch #radio{bottom:20px}.is-touch #radio p{font-size:10px;padding:7px 12px}}
.modal{display:flex;align-items:flex-start;justify-content:center}.panel{margin:auto 0;flex-shrink:0}

#touch-light{right:205px;bottom:78px}#touch-light.on{border-color:#ffd18f;background:#c28b3e77;color:#ffe5bd}
