:root{color-scheme:dark;--ink:#e1f1f4;--muted:#8fa7b5;--mint:#a5f3d3;--line:#bfdde325;--mono:'Cascadia Code','Consolas',monospace;font-family:'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#081520;color:var(--ink);overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#simulator{height:100dvh;min-height:580px;position:relative;isolation:isolate;outline:none;overflow:hidden}#world{position:absolute;width:100%;height:100%;inset:0;display:block;z-index:-3}.vignette{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#03101bb8,transparent 25%,transparent 56%,#04111bd9),linear-gradient(90deg,#04101b24,transparent 40%,#04101b18)}.topbar{position:absolute;top:0;left:0;right:0;height:100px;padding:27px 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#08152330}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:11px;font-size:22px;letter-spacing:3px;font-weight:700}.brand svg{width:35px;height:35px;fill:none;stroke:var(--mint);stroke-width:1.5}.brand .light{font-weight:300}.brand small{display:block;font-size:7px;letter-spacing:1.65px;color:#92aeb8;margin-top:4px}.operation{font:10px var(--mono);letter-spacing:2px;display:flex;align-items:center;gap:12px;margin-left:-65px}.operation>span{color:#657f90}.operation small{font-size:8px;letter-spacing:1px;border:1px solid #a4d6d534;padding:5px 7px;color:#afcfcc;margin-left:7px}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px #96e9d3}.actions{display:flex;gap:9px}.actions button{width:34px;height:34px;border:1px solid var(--line);background:#0b1d2e55;border-radius:50%;font-size:18px}.actions button:hover,.toolbar button:hover{background:#afd9d624}.eyebrow{font:9px var(--mono);letter-spacing:1.7px;color:#91aeba;display:block}.scoreboard{position:absolute;left:50%;top:123px;transform:translateX(-50%);display:flex;gap:28px;align-items:center;background:linear-gradient(90deg,transparent,#07172565,transparent);padding:8px 35px}.scoreboard strong{font:34px var(--mono);letter-spacing:1px;display:block;margin-top:7px}.divider{width:1px;height:45px;background:var(--line)}.upgrade strong{font-size:23px;color:var(--mint);white-space:nowrap}.upgrade strong small{font-size:8px;color:#93adb3;letter-spacing:1px;margin-left:9px}.upgrade .meter{margin-top:9px;width:100%}.kills strong{font-size:25px}.mission-state{position:absolute;top:138px;left:39px}.mission-state>div{display:flex;align-items:center;gap:9px;font-size:12px;margin-top:10px}.mission-state p{font-size:10px;color:var(--muted);margin-top:6px}.survival{position:absolute;right:39px;top:138px;width:205px}.survival .eyebrow{font-size:8px;display:flex;justify-content:space-between;letter-spacing:1.3px}.lives{display:flex;gap:5px;margin-top:12px}.lives i{display:block;flex:1;height:6px;background:var(--mint);box-shadow:0 0 12px #a5f3d312}.lives i.lost{background:#ff655b30}.threat{font:8px var(--mono);letter-spacing:1px;margin-top:15px;display:flex;gap:7px;align-items:center;color:#92adb6}.threat.danger{color:#ff9a77}.threat.danger .dot{background:#ff8266;box-shadow:0 0 12px #ff7855;animation:blink .6s infinite}.compass{position:absolute;top:231px;left:50%;transform:translateX(-50%);font:9px var(--mono);word-spacing:18px;color:#a6c3cb85;text-align:center}.compass b{font-weight:400;color:var(--mint);word-spacing:0;margin:0 10px}.compass span{opacity:.6}.compass>i{display:block;margin:9px auto 0;width:1px;height:10px;background:var(--mint)}.reticle{position:absolute;width:62px;height:62px;transform:translate(-50%,-50%);top:42%;left:50%;color:#e6f7efbd;pointer-events:none}.reticle:before{content:'';position:absolute;inset:12px;border:1px solid currentColor;border-radius:50%;opacity:.65}.reticle:after{content:'';position:absolute;inset:5px;border:1px dashed currentColor;border-radius:50%;opacity:.18}.reticle>span{position:absolute;display:block;background:currentColor}.reticle .a,.reticle .b{width:15px;height:1px;top:30px}.reticle .a{left:-5px}.reticle .b{right:-5px}.reticle .c,.reticle .d{width:1px;height:15px;left:30px}.reticle .c{top:-5px}.reticle .d{bottom:-5px}.reticle>i{position:absolute;left:29px;top:29px;width:3px;height:3px;background:currentColor;border-radius:50%}.reticle small{position:absolute;top:75px;left:50%;transform:translateX(-50%);font:8px var(--mono);letter-spacing:2px;white-space:nowrap}.reticle.locked{color:#8affaf;filter:drop-shadow(0 0 6px #69ff8e)}.reticle.locked:before{border-width:2px}.target-marker{position:absolute;width:44px;height:30px;transform:translate(-50%,-50%);border:1px solid #fca88c80;clip-path:polygon(0 0,22% 0,22% 6%,78% 6%,78% 0,100% 0,100% 30%,95% 30%,95% 70%,100% 70%,100% 100%,78% 100%,78% 94%,22% 94%,22% 100%,0 100%,0 70%,5% 70%,5% 30%,0 30%);pointer-events:none}.target-label{position:absolute;transform:translateX(-50%);font:8px var(--mono);color:#ffbaa0;white-space:nowrap;letter-spacing:1px;pointer-events:none}.target-marker.locked{border:2px solid #8affaf}.target-label.locked{color:#8affaf}.intro{position:absolute;left:6.8%;top:28%;width:405px;padding:10px 0 25px;text-shadow:0 2px 25px #04111b}.intro:before{content:'';position:absolute;inset:-30px -55px;background:radial-gradient(ellipse,#06182cd6,transparent 73%);z-index:-1}.intro-tag{font:8px var(--mono);letter-spacing:2px;color:var(--mint)}h1{font-size:49px;letter-spacing:-1.5px;font-weight:400;line-height:1.11;margin:23px 0 20px}h1 em{font-style:normal;color:var(--mint)}.intro p{font-size:12px;line-height:1.9;color:#b5cbd3}.intro-steps{display:flex;flex-direction:column;gap:10px;margin:21px 0 25px}.intro-steps div{display:flex;gap:13px;font-size:11px;color:#c7dbde}.intro-steps b{font:9px var(--mono);color:#86b5b8}.primary{background:var(--mint);color:#102b2b;font-size:12px;font-weight:600;border:0;padding:16px 18px;border-radius:3px;display:flex;align-items:center;justify-content:space-between;gap:35px;transition:background .15s,transform .15s}.primary:hover{background:#c8ffe6;transform:translateY(-1px)}.intro .primary,.intro .secondary{width:315px}.primary span{font-size:18px;font-weight:400}.secondary{margin-top:9px;border:1px solid #b8dddd45;background:#0c233b65;font-size:11px;display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-radius:3px}.secondary:hover{background:#264b5b77}.intro-foot{font:7px var(--mono);letter-spacing:1px;color:#b4cccf;margin-top:22px}.intro-foot span{margin:0 7px;color:var(--mint)}.privacy{font-size:8px;color:#7f9faa;display:block;margin-top:9px}.camera-panel{position:absolute;bottom:93px;left:39px;width:216px;background:#07172493;border:1px solid #bddee82b;border-radius:4px;overflow:hidden;backdrop-filter:blur(7px)}.panel-caption{display:flex;align-items:center;justify-content:space-between;font:7px var(--mono);letter-spacing:1.1px;padding:11px 10px;color:#a9c4cb}.panel-caption button{background:none;border:0;color:#96c7be;font-size:8px;padding:0}.camera-panel .dot{width:4px;height:4px;background:#5a7b8f;margin-right:4px}.camera-panel .dot.active{background:var(--mint)}.camera-view{height:119px;position:relative;background:linear-gradient(145deg,#1b344380,#0a2033)}.camera-view video,.camera-view canvas{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.camera-view video{transform:scaleX(-1);opacity:.8}.camera-view canvas{z-index:1}#camera-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#74949c;font-size:8px;gap:6px}#camera-placeholder svg{width:128px;height:73px;fill:none;stroke:#a3cebe;stroke-width:1.1;opacity:.5}.input-source{position:absolute;bottom:7px;left:8px;font:5px var(--mono);letter-spacing:1.3px;color:#729ca7;z-index:2}.tracking-row{display:flex;justify-content:space-between;padding:9px 10px;font:7px var(--mono);color:#7a9aa5;border-bottom:1px solid var(--line)}.tracking-row .active{color:var(--mint)}.text-button{background:none;border:0;padding:8px 10px;color:#99b4bd;font-size:8px;width:100%;text-align:left}.instruments{position:absolute;bottom:108px;left:50%;transform:translateX(-50%);display:flex;gap:31px;align-items:center;background:linear-gradient(90deg,transparent,#0919276e,transparent);padding:16px}.instruments>div{min-width:87px}.instruments .eyebrow{font-size:8px;white-space:nowrap;letter-spacing:1.4px}.instruments .eyebrow small{color:#648796;margin-left:7px;font-size:7px}.instruments strong{font:35px var(--mono);display:block;margin:6px 0 7px;letter-spacing:-1px}.instruments strong small{font-size:15px;margin-left:2px;color:#9fc1c0}.meter{height:2px;background:#829ca930;width:85px}.meter i{display:block;height:100%;width:35%;background:var(--mint)}.instrument-meta{font:8px var(--mono);color:#89b7b8}.flight-mode{border-left:1px solid var(--line);padding-left:28px;min-width:155px!important}.flight-mode b{display:block;color:var(--mint);font:9px var(--mono);letter-spacing:1px;margin:13px 0 8px}.flight-mode>small{display:block;color:#7897a1;font-size:8px}.radar-panel{position:absolute;right:39px;bottom:102px;width:171px}.radar-panel .panel-caption{font-size:6px;padding:0 0 12px}.radar{width:152px;height:152px;margin:auto;border:1px solid #93c5c23b;border-radius:50%;position:relative;overflow:hidden;background:#08212635}.radar-grid{position:absolute;inset:23px;border:1px solid #93c5c223;border-radius:50%}.radar-grid:before{content:'';position:absolute;inset:23px;border:1px solid #93c5c223;border-radius:50%}.radar:before,.radar:after{content:'';position:absolute;background:#93c5c226}.radar:before{width:1px;height:100%;left:50%}.radar:after{width:100%;height:1px;top:50%}.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 280deg,#a5f3d320 360deg);animation:sweep 7s linear infinite}.radar-player{position:absolute;top:calc(50% - 6px);left:calc(50% - 4px);color:var(--mint);font-size:10px}.radar-n{position:absolute;top:4px;left:calc(50% - 2px);font:6px var(--mono);color:#b3d3cf}.radar-blip{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffab81;box-shadow:0 0 7px #ff855c}.radar-note{text-align:center;font:6px var(--mono);letter-spacing:1px;color:#73949f;margin-top:13px}.bottom-bar{position:absolute;bottom:0;left:39px;right:39px;height:66px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font:9px var(--mono)}#flight-time{color:#bfd6d7;letter-spacing:1px}.footer-label{font-size:7px;color:#708c99;letter-spacing:1px;margin-left:8px}.toolbar{display:flex;gap:25px;margin-left:-50px}.toolbar button{background:none;border:0;padding:8px;font-size:15px;color:#afc9cf;border-radius:3px}.toolbar span{font:9px 'Segoe UI',Arial,sans-serif;margin-left:5px}.footer-code{font-size:7px;letter-spacing:2px;color:#7696a3}.weapon{position:absolute;left:50%;bottom:234px;transform:translateX(-50%);width:158px;text-align:center;font:8px var(--mono);letter-spacing:1.5px;color:var(--mint)}.weapon .meter{margin:9px auto;width:80px}.weapon small{font-size:6px;color:#7da7b1;letter-spacing:1.4px}.notice{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%) translateY(10px);font:12px var(--mono);letter-spacing:2px;color:var(--mint);padding:13px 22px;background:#082032bc;border:1px solid #a5f3d32a;opacity:0;pointer-events:none;transition:.25s}.notice.visible{opacity:1;transform:translate(-50%,-50%)}#damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 150px 60px #ff352b;opacity:0;z-index:15;transition:opacity .1s}#damage-flash.hit{opacity:.48}.pause-overlay{position:absolute;z-index:8;inset:100px 0 66px;background:#071623a3;backdrop-filter:blur(7px);display:flex;flex-direction:column;align-items:center;justify-content:center}.pause-overlay h2{font-size:34px;font-weight:400;margin:18px 0}.pause-overlay p{font-size:12px;color:#a3bec7;max-width:460px;text-align:center;line-height:1.8;padding:0 20px}.pause-overlay .primary{margin-top:20px}dialog{border:1px solid #a2d1d332;background:#0b1d2d;color:var(--ink);border-radius:7px;padding:38px;width:550px;max-width:calc(100% - 30px);box-shadow:0 25px 100px #0008}dialog::backdrop{background:#020e1bbb;backdrop-filter:blur(8px)}dialog h2{font-size:32px;font-weight:400;letter-spacing:-.6px;margin:16px 0 24px}dialog p{font-size:12px;line-height:1.8;color:#91afb9}.dialog-close{position:absolute;right:17px;top:12px;background:none;border:0;color:#92aeb6;font-size:25px}dl{margin:0 0 27px}dt{font-size:11px;color:var(--mint);margin-top:15px}dd{font-size:11px;margin:6px 0 0;color:#9eb7c0;line-height:1.7}.results{display:flex;gap:35px;padding:25px 0;margin-bottom:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.results span{font:8px var(--mono);letter-spacing:2px;color:#88a9b4}.results strong{font:27px var(--mono);display:block;margin-top:9px;color:var(--mint)}#fatal-error{position:absolute;inset:35%;background:#162333;padding:30px;font-size:14px;line-height:1.8;z-index:50}.touch-controls{display:none}.running .intro{display:none}body:not(.running) .mission-state{display:none}body:not(.running) .camera-panel{display:none}body:not(.running) .weapon,body:not(.running) .reticle,body:not(.running) #target-markers{opacity:0}.playing-camera #camera-placeholder{display:none}.playing-camera .camera-view{height:135px}@keyframes sweep{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.25}}
@media(max-height:790px) and (min-width:1051px){.topbar{height:80px;padding-top:18px;padding-bottom:18px}.scoreboard{top:100px}.survival{top:118px}.compass{top:190px}.mission-state{top:112px}.intro{top:26%;left:7%;width:360px}h1{font-size:41px;margin:16px 0 13px}.intro-steps{gap:8px;margin:15px 0}.intro p{font-size:11px}.intro-foot{margin-top:15px}.camera-panel{width:183px;bottom:80px}.camera-view{height:84px}.camera-view svg{height:48px!important}.panel-caption{padding:8px}.instruments{bottom:95px}.weapon{bottom:216px}.radar-panel{bottom:90px}.radar{width:128px;height:128px}.bottom-bar{height:56px}}
@media(max-width:1100px){.topbar{padding:20px;height:80px}.brand{font-size:19px}.brand small{font-size:6px}.operation{font-size:8px;letter-spacing:1px;margin-left:0}.operation small{display:none}.scoreboard{top:100px;gap:18px;padding:8px}.scoreboard strong{font-size:27px}.upgrade strong{font-size:20px}.mission-state{left:23px;top:116px}.survival{right:23px;top:117px;width:170px}.compass{top:195px}.intro{left:6%;top:26%;width:350px}h1{font-size:41px}.camera-panel{left:23px;width:174px;bottom:85px}.camera-view{height:82px}.instruments{gap:16px;bottom:100px}.instruments strong{font-size:29px}.instruments>div{min-width:67px}.flight-mode{display:none}.radar-panel{right:23px;width:133px}.radar{width:120px;height:120px}.radar-panel .panel-caption{font-size:5px;letter-spacing:.5px}.radar-note{font-size:5px}.bottom-bar{left:23px;right:23px}.weapon{bottom:211px}.toolbar{margin-left:0;gap:10px}.footer-code{font-size:6px}}
@media(max-width:700px){#simulator{min-height:580px}.topbar{padding:15px;height:69px}.brand{font-size:17px;gap:7px;letter-spacing:2px}.brand svg{width:27px}.brand small{font-size:5px;letter-spacing:1px}.operation{display:none}.actions button{width:29px;height:29px;font-size:16px}.scoreboard{top:82px;left:16px;transform:none;gap:15px;justify-content:flex-start;padding:0}.eyebrow{font-size:7px;letter-spacing:1px}.scoreboard strong{font-size:26px}.divider{height:32px}.upgrade strong{font-size:19px}.upgrade strong small,.scoreboard .kills{display:none}.survival{right:17px;top:88px;width:98px}.survival .eyebrow{font-size:5px;letter-spacing:.5px}.lives{gap:3px;margin-top:10px}.lives i{height:4px}.threat{font-size:5px;letter-spacing:0;gap:4px;margin-top:8px}.compass{top:160px;white-space:nowrap;font-size:7px;word-spacing:8px}.mission-state{left:18px;top:189px}.mission-state .eyebrow{font-size:6px}.mission-state>div{font-size:10px}.mission-state p{font-size:8px}.intro{left:24px;top:27%;width:calc(100% - 48px)}.intro:before{inset:-30px -20px}h1{font-size:39px;margin:18px 0 12px}.intro-tag{font-size:6px;letter-spacing:1.5px}.intro p{font-size:10px}.intro-steps{gap:8px;margin:16px 0 20px}.intro-steps div{font-size:10px}.intro .primary,.intro .secondary{width:280px}.primary{padding:14px 16px;font-size:11px}.secondary{padding:11px 16px;font-size:10px}.intro-foot{font-size:5px;margin-top:15px}.privacy{font-size:6px}.camera-panel{left:16px;bottom:71px;width:122px}.camera-view{height:66px}.camera-view svg{height:40px!important}.panel-caption{padding:7px 6px;font-size:5px;letter-spacing:.5px}.panel-caption button{font-size:6px}.tracking-row{font-size:5px;padding:6px}.text-button{padding:5px;font-size:6px}.input-source{font-size:4px;bottom:4px;left:5px;letter-spacing:.5px}.camera-view #camera-status{font-size:6px}.instruments{left:auto;right:15px;transform:none;bottom:82px;gap:13px;padding:0}.instruments>div{min-width:49px}.instruments strong{font-size:23px;margin-top:6px}.instruments .eyebrow{font-size:6px;letter-spacing:.3px}.instruments .eyebrow small{font-size:5px;margin-left:2px}.meter{width:48px}.instrument-meta{font-size:6px}.instruments>div:nth-child(3),.radar-panel{display:none}.bottom-bar{height:52px;left:16px;right:16px}.toolbar{gap:4px}.toolbar button{font-size:13px;padding:6px}.toolbar span{font-size:8px;margin-left:3px}.footer-label,.footer-code{display:none}#flight-time{font-size:8px}.weapon{bottom:210px;width:140px;font-size:7px}.weapon small{font-size:5px}.notice{font-size:9px;letter-spacing:1px;width:max-content;max-width:90%;text-align:center}.reticle{transform:translate(-50%,-50%) scale(.8)}.pause-overlay{inset:69px 0 52px}.pause-overlay h2{font-size:25px}.pause-overlay p{font-size:11px}.results{gap:25px}dialog{padding:28px 24px}dialog h2{font-size:27px}.playing-camera .camera-view{height:80px}body:not(.running) .instruments{bottom:81px;opacity:.6}body:not(.running) .compass{opacity:.5}}
@media(hover:none){.running .touch-controls{display:flex;position:absolute;bottom:168px;left:16px;right:16px;justify-content:space-between;gap:6px}.touch-controls button{background:#142c3caa;border:1px solid #a4d3d44a;width:43px;height:35px;border-radius:4px;font-size:13px;touch-action:none}.touch-controls #touch-fire{width:65px;font-size:9px;color:var(--mint)}.weapon{bottom:230px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
body:not(.running) .instruments{left:63%}
@media(max-width:700px){body:not(.running) .instruments{left:auto}}
@media(min-width:701px){.weapon{bottom:260px}}
