@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Barlow:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{color-scheme:dark;--text:#e9e8dc;--muted:#aab4a3;--amber:#e8ad59;--border:#56604a;--mono:'IBM Plex Mono',monospace;--condensed:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Barlow',Arial,sans-serif;--hud-height:84px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#08100d;color:var(--text);font:16px var(--body)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--amber);outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.game-shell{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden;isolation:isolate;background:#09130f}#game{display:block;width:100%;height:100%;outline:none;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px 12px #0005}.game-top{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:8;pointer-events:none}.location{display:flex;gap:13px;align-items:center;text-shadow:0 2px 5px #000}.corner-mark{height:32px;width:12px;border-left:2px solid #bca878;border-top:2px solid #bca878;border-bottom:2px solid #bca878}.micro{display:block;font:500 12px var(--mono);letter-spacing:1px;color:#afbaa1}.location strong{display:block;font:600 20px var(--condensed);letter-spacing:1.5px;margin-top:4px}.in-game-actions{display:flex;gap:7px;pointer-events:auto}.icon-button,.pause-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;gap:4px;background:#0b1710d9;border:1px solid #58654699;color:#c2cbb4;font:600 12px var(--mono)}.icon-button:hover,.pause-button:hover,.flashlight-button[aria-pressed=true],.icon-button[aria-pressed=true]{color:var(--amber);border-color:#b6965b;background:#28281bcc}.pause-button span{display:block;height:14px;width:3px;background:currentColor}.game-shell:not(.playing) .pause-button,.game-shell:not(.playing) .location{visibility:hidden}.objective{position:absolute;left:49px;top:78px;display:none;gap:8px;align-items:center;color:#edd4a3;font:12px var(--mono);letter-spacing:.8px;text-shadow:0 2px 4px #000;z-index:4}.playing .objective{display:flex}.objective-dot{width:5px;height:5px;background:var(--amber);transform:rotate(45deg)}.game-menu{position:absolute;inset:0 0 var(--hud-height);display:flex;align-items:center;overflow-y:auto;background:linear-gradient(90deg,#06100ef2,#0b1714d9 39%,#07141066 71%,#06110f22);padding:82px 7% 54px;z-index:6}.menu-content{width:min(540px,60%);flex-shrink:0;position:relative}.menu-eyebrow{display:flex;align-items:center;gap:10px;color:var(--amber);font:500 12px var(--mono);letter-spacing:2.4px}.menu-eyebrow i{width:25px;height:1px;background:var(--amber)}.game-title{font:900 clamp(48px,6.8vw,82px)/.95 Impact,var(--condensed);letter-spacing:-1.8px;white-space:nowrap;color:#d7dccb;margin:25px 0 0;text-shadow:0 5px #717d6c,0 10px #233024;filter:drop-shadow(0 8px 8px #0008)}.menu-subtitle{font:600 20px var(--condensed);letter-spacing:4px;margin-top:26px;color:#e8c58a}.menu-content>p{color:#c0c7b8;font:16px/1.5 var(--body);margin:22px 0}.difficulty{display:flex;align-items:center;gap:16px;margin:20px 0}.difficulty>span{font:12px var(--mono);color:#9faa95}.difficulty-options{display:flex;border-bottom:1px solid #5c684a}.difficulty-options button{font:600 15px var(--condensed);letter-spacing:.7px;padding:10px 13px;border-bottom:2px solid transparent;background:transparent;color:#b0bda2}.difficulty-options button.selected{color:var(--amber);border-color:var(--amber);background:#cc9e4715}.action-row{display:flex;gap:10px;max-width:480px}.primary-button,.secondary-button{flex:1 1 0;min-width:0;min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;text-align:center;position:relative;isolation:isolate;overflow:hidden}.primary-button{font:700 17px var(--condensed);letter-spacing:1px;color:#162014;background:var(--amber)}.primary-button:hover:not(:disabled){background:#f6bd73}.primary-button:disabled{background:#514a30;color:#f3d49e}.secondary-button{font:600 15px var(--body);color:#d5dbc8;border:1px solid #7a8961aa;background:#142016b8}.secondary-button:hover{border-color:var(--amber);color:#ffe2b2}.button-arrow{font-size:24px}.button-progress{position:absolute;inset:0 auto 0 0;width:0;background:#b58d45;z-index:-1;transition:width .16s}.primary-button[aria-busy=false] .button-progress{display:none}.load-status{min-height:16px;font:12px var(--mono);color:#dcc18b;margin-top:10px}.load-status:empty{display:none}.text-button{display:block;padding:10px 0;background:transparent;color:#bfcaaf;font:14px var(--body);text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:var(--amber)}.continue-note{font:12px/1.5 var(--mono)!important;color:#b9c6a6!important;margin:8px 0!important}.menu-controls{display:flex;gap:18px;margin-top:22px;font:12px var(--mono);color:#a9b398;flex-wrap:wrap}.menu-controls>span{display:flex;gap:4px;align-items:center}kbd{font:500 12px/22px var(--mono);min-width:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border:1px solid #6b7557;background:#202c1f;color:#d4dec4;border-radius:2px}.menu-side{margin-left:auto;width:28%;color:#c7cbb4;text-shadow:0 2px 7px #000b;display:flex;flex-direction:column}.crosshair-mark{font:32px var(--mono);color:var(--amber);margin-bottom:22px}.menu-side>span:not(.crosshair-mark),.menu-side small{font:12px var(--mono);letter-spacing:1px}.menu-side b{font:600 36px/1 var(--condensed);margin-top:12px;letter-spacing:2px}.menu-side small{margin-top:26px;line-height:1.5}.menu-side em{font-style:normal;color:var(--amber)}.menu-footer{position:absolute;bottom:20px;left:7%;right:7%;display:flex;justify-content:space-between;font:12px var(--mono);letter-spacing:1px;color:#92a080}.game-title.state-title{font:800 clamp(48px,6vw,86px)/.94 var(--condensed);letter-spacing:0;text-shadow:none;filter:none}.mission-results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;max-width:480px}.mission-results>div{padding:10px 12px;border:1px solid #68775366;background:#132218ba}.mission-results b{display:block;color:#e9bd76;font:600 26px var(--condensed)}.mission-results span{display:block;color:#c3cdb7;font:12px var(--mono);margin-top:3px}.mission-results .result-best{grid-column:1/-1;border:0;background:transparent;font:12px var(--mono);padding:0;color:#a2b48e}.hud{height:calc(var(--hud-height) + env(safe-area-inset-bottom));position:absolute;bottom:0;left:0;right:0;padding:0 max(24px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(24px,env(safe-area-inset-left));display:flex;align-items:center;gap:28px;background:linear-gradient(#111c15eb,#0a140cf7);border-top:1px solid #667247aa;z-index:7}.hud-stat{display:flex;align-items:center;gap:10px}.hud-art{width:36px;height:36px;flex:none}.stat-value{display:flex;align-items:baseline;gap:7px}.stat-value b{font:600 34px/1 var(--condensed);margin-top:3px}.stat-value>span{font:13px var(--mono);color:#a1af90}.armor-stat{padding-left:24px;border-left:1px solid #4b5b3d}.health-bars{display:flex;gap:3px;margin-left:3px}.health-bars i{height:23px;width:4px;background:#d2b274}.health-bars i.empty{background:#3c4c31}.hud-middle{margin-left:auto;padding:0 16px;color:#c5d0b9;text-align:center;background:transparent}.hud-middle:hover{color:var(--amber)}.hud-middle>span{font:12px var(--mono);letter-spacing:.6px}.weapon-silhouette{display:block;width:104px;height:35px;margin:2px auto 0}.ammo-stat{background:none;text-align:left;border-right:1px solid #4b5b3d;padding-right:24px}.ammo-stat:hover{color:var(--amber)}.key-stat{min-width:135px}.key-art{opacity:.35;filter:grayscale(1)}.key-art.found{opacity:1;filter:drop-shadow(0 0 6px #e8bd6577)}.key-value{font:600 16px var(--condensed);letter-spacing:1px;margin-top:3px}.power-value{display:block;font:10px var(--mono);color:#db9b6d;margin-top:3px}.power-value.on{color:#bada87}.toast{position:absolute;top:20%;left:50%;transform:translate(-50%,-8px);max-width:85%;width:max-content;padding:12px 18px;background:#0a1a12ed;border:1px solid #a9ac69;color:#f1d79f;font:13px/1.5 var(--mono);text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:5}.toast.visible{opacity:1;transform:translate(-50%,0)}.save-indicator{position:absolute;top:76px;right:24px;color:#c5dca8;font:12px var(--mono);opacity:0;transition:opacity .2s;z-index:5;pointer-events:none}.save-indicator.visible{opacity:1}.boss-bar{position:absolute;left:32%;right:28%;top:25px;color:#ffd0a2;font:12px var(--mono);z-index:5}.boss-bar>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.boss-track{height:7px;background:#33271e;border:1px solid #966645}.boss-track i{display:block;height:100%;background:#d07848;transition:width .1s}.boss-warning{position:absolute;top:99px;left:50%;transform:translateX(-50%);max-width:80%;padding:8px 14px;color:#ffdab0;border:1px solid #bf874c88;background:#301f14eb;font:600 15px/1.3 var(--condensed);letter-spacing:1px;text-align:center;pointer-events:none;z-index:5}.interact-prompt{position:absolute;left:50%;bottom:calc(var(--hud-height) + 20px);transform:translateX(-50%);background:#122319e8;border:1px solid #bba86b;padding:9px 14px;color:#f1d9a8;display:flex;align-items:center;gap:8px;font:600 14px var(--condensed);letter-spacing:.7px;z-index:5;max-width:75%;white-space:nowrap}.touch-controls{display:none;position:absolute;bottom:calc(var(--hud-height) + var(--control-height,20px) + env(safe-area-inset-bottom));left:max(var(--control-inset,16px),env(safe-area-inset-left));right:max(var(--control-inset,16px),env(safe-area-inset-right));justify-content:space-between;align-items:flex-end;gap:12px;pointer-events:none;z-index:5;--touch-unit:min(var(--control-size,64px),calc((100vw - 88px)/4))}.touch-controls.force-hide{display:none!important}.playing .touch-controls.force-show{display:flex}.touch-controls>div{display:flex;gap:7px}.touch-controls .touch-actions{display:grid;grid-template-columns:repeat(2,var(--touch-unit));gap:7px}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;width:var(--touch-unit);height:var(--touch-unit);min-height:44px;border:1px solid #d3cfaa99;border-radius:9px;background:#102119c9;box-shadow:inset 0 1px #e4e4bc30,0 3px 8px #0007;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:26px;line-height:1;color:#edf3da}.touch-controls button small{font:600 12px var(--condensed);letter-spacing:.6px}.touch-controls .touch-utility{height:44px;font-size:17px}.touch-actions [data-control=interact]{grid-column:1/-1;width:100%;height:38px;min-height:38px;flex-direction:row}.touch-controls .touch-fire{background:#956e32e0;border-color:#f5c883}.touch-controls button.active{background:#b99451ed;transform:translateY(2px)}.touch-controls.left-handed{flex-direction:row-reverse}.touch-preview .touch-controls{display:flex;opacity:.3;pointer-events:none;z-index:1}.help-dialog{width:calc(100% - 32px);max-width:520px;max-height:87dvh;overflow-y:auto;padding:32px;background:#142015;border:1px solid #687a4e;color:var(--text);box-shadow:0 20px 80px #000b}.help-dialog::backdrop{background:#010b06c9;backdrop-filter:blur(3px)}.close-help{position:absolute;right:10px;top:6px;background:none;color:#ccd8bf;width:36px;height:36px;font-size:27px}.help-dialog h2{font:600 36px var(--condensed);margin:18px 0 12px}.help-dialog h3{font:600 23px var(--condensed);margin:24px 0 8px}.help-dialog p{font-size:16px;line-height:1.55;color:#c5d0b7}.help-dialog .help-note{font-size:14px;color:#a4b593}.control-list{margin:20px 0}.control-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #3b5030;font-size:14px}.setting-row{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #3b5030;font-size:14px}.setting-row label{flex:1}.setting-row input[type=range]{width:43%;accent-color:var(--amber)}.setting-row input[type=checkbox]{width:21px;height:21px;accent-color:var(--amber)}.setting-row select{width:46%;padding:8px;background:#20311c;border:1px solid #5b7147;color:var(--text);font:14px var(--body)}.log-entry{border-top:1px solid #4b6240;padding:16px 0}.log-entry h3{margin:4px 0 8px}.log-entry small{font:12px var(--mono);color:var(--amber)}.log-entry p{margin:0}.log-entry.locked{color:#728069;font:14px var(--mono)}.reloading .ammo-stat{color:var(--amber)}
@media(max-width:1100px){.health-bars{display:none}.hud{gap:19px}.armor-stat{padding-left:18px}.hud-middle{padding:0 4px}.hud-middle>span{font-size:11px}.ammo-stat{padding-right:18px}.key-stat{min-width:110px}.boss-bar{top:105px;left:24%;right:24%}.boss-warning{top:139px}.menu-side b{font-size:30px}.menu-footer{font-size:10px}}
@media(max-width:700px){:root{--hud-height:76px}.game-top{top:max(12px,env(safe-area-inset-top));left:14px;right:14px;align-items:flex-start}.location{gap:8px}.location strong{font-size:16px}.location .micro{font-size:10px}.corner-mark{height:28px;width:8px}.in-game-actions{gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:180px}.icon-button,.pause-button{width:34px;height:34px}.icon-button svg{width:19px;height:19px}.objective{left:14px;top:97px;font-size:11px;max-width:90%;letter-spacing:0}.save-indicator{top:80px;right:14px;font-size:10px}.game-menu{padding:88px 26px 36px}.menu-content{width:100%;max-width:490px;margin:auto}.menu-side,.menu-footer{display:none}.game-title{font-size:clamp(38px,9.9vw,66px)}.game-title.state-title{font-size:60px}.menu-subtitle{font-size:18px}.menu-content>p{font-size:15px;margin:18px 0}.menu-eyebrow{font-size:11px}.menu-controls{font-size:11px;gap:12px}.hud{gap:14px;padding-left:14px;padding-right:14px}.hud-art{display:none}.hud-middle{padding:0;margin-left:auto}.hud-middle>span{font:600 13px var(--condensed)}.weapon-silhouette{width:70px;height:27px}.stat-value b{font-size:28px}.stat-value>span{font-size:10px}.micro{font-size:10px;letter-spacing:.5px}.armor-stat{padding-left:14px}.ammo-stat{padding-right:14px}.key-stat{min-width:80px}.key-value{font-size:13px}.power-value{font-size:9px}.boss-bar{left:16%;right:16%;top:135px;font-size:10px}.boss-warning{top:166px;font-size:13px}.toast{top:27%;font-size:11px}.help-dialog{padding:25px}.interact-prompt{bottom:calc(var(--hud-height) + 205px);font-size:13px;max-width:92%}.mission-results{gap:6px}.mission-results>div{padding:9px}.mission-results b{font-size:24px}}
@media(max-width:480px){.hud{gap:11px}.hud-middle{display:none}.ammo-stat{margin-left:auto}.game-menu{padding:84px 20px 22px}.game-title{font-size:clamp(36px,9.5vw,46px)}.game-title.state-title{font-size:52px}.difficulty{gap:9px}.difficulty>span{font-size:10px}.difficulty-options button{font-size:14px;padding:9px 10px}.primary-button{font-size:15px;letter-spacing:.5px;padding:10px}.secondary-button{font-size:13px;padding:10px}.menu-controls{font-size:10px;gap:9px}.menu-content>p{font-size:15px}.menu-subtitle{font-size:17px}.mission-results span{font-size:10px}.mission-results b{font-size:22px}}
@media(max-height:600px) and (orientation:landscape){:root{--hud-height:61px}.game-menu{padding:48px 5% 12px;align-items:center}.menu-content{width:67%;max-width:570px;margin:0}.game-title{font-size:clamp(36px,5.7vw,64px);margin-top:12px}.game-title.state-title{font-size:48px}.menu-subtitle{font-size:14px;margin-top:12px}.menu-content>p{font-size:13px;margin:10px 0}.menu-eyebrow{font-size:10px}.difficulty{margin:8px 0}.difficulty-options button{padding:7px 10px}.menu-controls,.menu-footer,.continue-note{display:none}.primary-button,.secondary-button{min-height:44px;padding:8px 10px}.menu-side{display:flex;align-self:center}.menu-side b{font-size:27px}.game-top{top:10px;right:12px;left:14px}.location{display:none}.in-game-actions{margin-left:auto;max-width:none}.icon-button,.pause-button{height:34px;width:34px}.objective{top:18px;left:16px;max-width:50%;font-size:10px}.save-indicator{top:48px;font-size:10px}.hud-art{display:none}.hud{gap:18px}.stat-value b{font-size:26px}.hud .micro{font-size:10px}.health-bars{display:none}.weapon-silhouette{height:25px}.boss-bar{top:55px;left:32%;right:25%;font-size:10px}.boss-warning{top:85px;font-size:12px}.touch-controls{--touch-unit:min(var(--control-size,64px),14vh)}.touch-controls .touch-actions{gap:5px}.touch-controls .touch-utility{height:38px;min-height:38px}.touch-actions [data-control=interact]{height:32px;min-height:32px}.touch-controls button small{font-size:10px}.interact-prompt{bottom:calc(var(--hud-height) + 15px);font-size:12px}.mission-results{margin:10px 0;grid-template-columns:repeat(6,1fr);gap:5px}.mission-results>div{padding:7px}.mission-results b{font-size:21px}.mission-results span{font-size:9px}.text-button{padding:6px 0}.toast{top:31%;font-size:11px}}
@media(max-height:400px) and (orientation:landscape){.game-menu{align-items:flex-start;padding-top:46px}.menu-eyebrow,.menu-side{display:none}.game-title{font-size:40px;margin:4px 0}.menu-subtitle{margin-top:9px}.menu-content>p{margin:8px 0}.game-title.state-title{font-size:36px}.difficulty{margin:5px 0}.menu-content{width:78%}.mission-results{margin:7px 0}.touch-controls .touch-actions{grid-template-columns:repeat(3,var(--touch-unit))}.touch-actions [data-control=interact]{grid-column:auto;width:var(--touch-unit);height:38px;min-height:38px}.touch-controls{--touch-unit:44px}.touch-controls button{font-size:20px;min-height:38px}}
@media(hover:none) and (pointer:coarse){.menu-controls{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
