:root{color-scheme:dark;--orange:#ff9c67;--text:#f0eee8;--muted:#9ba9b1;--line:#c9deec26;--green:#8effb2;--mono:Consolas,'Courier New',monospace;--sans:'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#080c12;color:var(--text);font-family:var(--sans);overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}#simulator{width:100vw;height:100dvh;min-height:540px;position:relative;isolation:isolate;overflow:clip;outline:none}.nebula{position:absolute;inset:-3%;background:linear-gradient(90deg,#060b15b5,#080e1725 65%,#07121b22),url('./assets/nebula.jpg') center/cover;filter:saturate(.78) brightness(.62);z-index:-3}#world{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 59% 43%,transparent 25%,#0206109e 100%);z-index:-1}#damage-flash{position:absolute;inset:0;box-shadow:inset 0 0 130px 45px #ff453d;opacity:0;pointer-events:none;z-index:7}.topbar{position:absolute;left:36px;right:36px;top:25px;display:flex;align-items:center;justify-content:space-between;height:54px;border-bottom:1px solid var(--line);padding-bottom:17px;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:750;font-size:20px;letter-spacing:3px}.brand svg{width:35px;height:31px;fill:var(--orange)}.brand svg path+path{fill:none;stroke:var(--orange);stroke-width:2}.brand small{display:block;font-size:7px;letter-spacing:1.55px;color:#b6bfc6;font-weight:500;margin-top:4px}.top-center{font:10px var(--mono);letter-spacing:1.6px;color:#c5ced3;display:flex;gap:11px;align-items:center}.top-separator{color:#69777f;margin:0 12px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange);box-shadow:0 0 10px #ff9c6766}.topbar nav{display:flex;gap:7px}.icon-button{background:#17212b44;border:1px solid var(--line);width:32px;height:32px;font-size:17px;border-radius:3px}.icon-button:hover{background:#ffffff15;border-color:#aab5bf77}.eyebrow{font:10px var(--mono);letter-spacing:2px;color:var(--orange);display:flex;align-items:center;gap:9px}.hud{transition:opacity .35s}.mission-panel{position:absolute;left:36px;top:112px;width:235px}.mission-panel .eyebrow i{width:6px;height:6px;border:1px solid var(--orange);transform:rotate(45deg)}.mission-panel h2{font-size:22px;letter-spacing:-.5px;font-weight:500;margin:14px 0 6px}.mission-panel p{color:#aebac3;font-size:11px;margin:0}.mission-stats{display:flex;gap:36px;margin-top:26px}.mission-stats>span{font:8px var(--mono);letter-spacing:2px;color:var(--muted)}.mission-stats strong{display:block;font:25px var(--mono);letter-spacing:0;color:var(--text);margin-top:7px}.mission-stats strong b{font-weight:400}.mission-stats strong small{font-size:13px;color:#778c98}.mission-state{font:8px var(--mono);letter-spacing:1.4px;color:#9fadb7;margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.ship-panel{position:absolute;right:36px;top:114px;width:226px}.ship-panel .eyebrow{color:#c9d3da;justify-content:space-between}.ship-panel .eyebrow span{color:#8699a6;font-size:8px}.hull-title{display:flex;align-items:baseline;justify-content:space-between;margin-top:17px}.hull-title>span{font:8px var(--mono);letter-spacing:1px;color:#afbfc8}.hull-title strong{font:26px var(--mono)}.hull-title small{font-size:10px;color:#8e9eaa}.hp-track{height:4px;background:#fff2;margin-top:10px}.hp-track>div{height:100%;width:100%;background:var(--orange);transition:width .2s}.ship-meta{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.6px;margin-top:17px;color:#bcc7ce}.ship-meta i{display:inline-block;width:4px;height:4px;background:var(--green);border-radius:50%;margin-left:4px}.ship-meta.muted{color:#80949e;margin-top:8px}.intro{position:absolute;inset:0;z-index:4;background:linear-gradient(90deg,#080d18c9 5%,#080d1875 36%,transparent 65%)}.intro-copy{position:absolute;left:9%;top:20%;max-width:460px}.intro-copy .eyebrow{font-size:9px;letter-spacing:2.8px}.intro h1{font-size:clamp(65px,7.1vw,112px);font-weight:650;line-height:.9;letter-spacing:-6px;margin:27px 0 25px}.intro h1 em{font-style:normal;color:var(--orange);font-weight:350}.intro-copy>p{font-size:19px;line-height:1.5;font-weight:350;color:#d3dae1;margin:0}.intro-line{width:40px;height:1px;background:#ff9c6799;margin:24px 0 19px}.intro-copy .intro-description{font-size:12px;color:#92a4b3;line-height:1.8;margin-bottom:26px}.primary-button{background:var(--orange);color:#171a20;border:1px solid var(--orange);padding:17px 21px;font:700 10px var(--mono);letter-spacing:1.2px;display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:280px;transition:background .2s,transform .2s}.primary-button:hover{background:#ffb78e;transform:translateY(-1px)}.primary-button span{font-size:19px;line-height:12px}.text-button{border:0;border-bottom:1px solid #b6c6d244;background:none;padding:12px 0 9px;font:11px var(--sans);color:#d1dbe3;margin-top:9px;width:280px;text-align:left}.text-button span{float:right}.local-note{font:8px var(--mono);display:block;color:#8097a5;margin-top:17px}.local-note span{color:#acb8bf;margin-right:6px}.intro-ship-caption{position:absolute;left:69%;bottom:24%;display:flex;align-items:center;gap:14px;font:9px var(--mono);letter-spacing:1.3px;color:#e0e5e8}.caption-line{width:42px;height:1px;background:var(--orange);position:relative}.caption-line:before{content:'';position:absolute;left:0;top:-2px;width:4px;height:4px;border:1px solid var(--orange);border-radius:50%}.intro-ship-caption small{display:block;font:10px var(--sans);color:#b6bcc1;letter-spacing:0;margin-top:7px}.intro-bottom{position:absolute;bottom:32px;left:36px;right:36px;border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);letter-spacing:1.5px;color:#90a0ab}.intro-bottom>div{display:flex;align-items:center;gap:12px}.intro-bottom b{font-size:12px;font-weight:400;color:#e3e6e7;margin-left:17px}.intro-bottom>div span{font-size:7px;letter-spacing:1px}.camera-card{position:absolute;bottom:31px;left:36px;width:212px;background:#0b1521ba;border:1px solid var(--line);backdrop-filter:blur(12px);z-index:3;transition:opacity .35s}.camera-heading{height:30px;padding:0 11px;display:flex;align-items:center;gap:7px;font:8px var(--mono);letter-spacing:1px;color:#b1c1cc}.camera-dot{width:4px;height:4px;background:#647782;border-radius:50%}.camera-dot.tracking{background:var(--green);box-shadow:0 0 8px #8effb280}.camera-heading button{margin-left:auto;background:none;border:0;font-size:15px;color:#90a5b2}.camera-preview{position:relative;height:119px;margin:0 7px;background:#050c15a0;overflow:hidden}.camera-preview video,.camera-preview canvas{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.camera-preview video{transform:scaleX(-1);opacity:.75}.camera-corners{position:absolute;inset:5px;pointer-events:none;border-top:1px solid #ff9c6730;border-bottom:1px solid #ff9c6730}#camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}#camera-placeholder svg{width:64px;height:53px;fill:none;stroke:#526a7a;stroke-width:1.5}#camera-message{font:8px var(--mono);color:#6f8a9c;max-width:180px;text-align:center;line-height:1.4}#tracking-badge{position:absolute;bottom:7px;left:8px;font:7px var(--mono);color:var(--green)}.camera-controls{display:flex;margin:8px;gap:3px}.camera-controls button{flex:1;background:none;border:1px solid transparent;font:7px var(--mono);letter-spacing:1px;color:#758b9b;padding:7px}.camera-controls .active{border-color:#ff9c6744;background:#ff9c670b;color:var(--orange)}.calibration-line{padding:0 8px 8px;display:flex;gap:5px;justify-content:space-between;align-items:center;font:6px var(--mono);color:#7e96a7}.calibration-line button{padding:3px;border:0;background:none;color:#b9cbd5;font:7px var(--mono)}.telemetry{position:absolute;bottom:43px;left:284px;display:flex;gap:30px;align-items:center}.telemetry>div{min-width:62px}.telemetry>div>span{display:block;font:8px var(--mono);letter-spacing:1.8px;color:#a2b2bd}.telemetry small{font-size:7px;margin-left:5px;color:#667d8d}.telemetry strong{display:block;font:35px var(--mono);font-weight:400;line-height:1.3}.telemetry i{font:7px var(--mono);color:#96aab8;font-style:normal;display:block;letter-spacing:.6px}.telemetry .throttle-block{margin-left:5px;min-width:110px}.throttle-block>span{font-size:7px!important;letter-spacing:1px!important}.throttle-block b{float:right;color:var(--orange);margin-left:14px}.throttle-track{width:100%;height:3px;background:#ffffff22;margin:17px 0 14px}.throttle-track i{height:100%;background:var(--orange);width:0;transition:width .15s}.control-hint{position:absolute;left:50%;bottom:161px;transform:translateX(-50%);text-align:center;min-width:390px}.control-hint>.eyebrow{justify-content:center;color:#bacad3;font-size:8px;letter-spacing:2px;margin-bottom:12px}.control-hint>div{display:flex;gap:17px;justify-content:center;font:8px var(--sans);color:#aebac3}.control-hint b{font-weight:500;color:#d6e0e5;margin-right:3px}.control-hint kbd{background:#1b2c3b80;border:1px solid #8197a744;border-radius:2px;font:8px var(--mono);min-width:16px;padding:2px 3px;margin-right:3px;color:#d6e0e5}#keyboard-panel{margin-top:17px;display:block;text-align:left;max-width:340px;margin-left:auto;margin-right:auto}#keyboard-panel label{display:block;font:7px var(--mono);letter-spacing:1px;color:#9bb0bf}#keyboard-panel label b{float:right;color:var(--orange)}#keyboard-panel input{width:100%;height:3px;display:block;margin:12px 0;accent-color:var(--orange);cursor:pointer}#keyboard-panel>div{display:flex;justify-content:space-between;font:6px var(--mono);color:#7f96a7;align-items:center}#level-wings{background:none;border:0;font:7px var(--mono);color:var(--orange);padding:2px}.fire-button{position:absolute;right:36px;bottom:38px;width:122px;height:94px;border:1px solid #ff9c6755;background:#0c1925a0;backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.fire-button:hover{background:#ff9c6717;border-color:var(--orange)}.fire-button>span{font-size:26px;color:var(--orange);line-height:27px}.fire-button b{font:9px var(--mono);letter-spacing:1.5px}.fire-button small{font:7px var(--mono);color:#8da5b5;margin-top:3px}.fire-button.firing{border-color:var(--green);box-shadow:0 0 24px #8effb233}.aim{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;color:#d6e5ec99;pointer-events:none}.aim-brackets{position:absolute;inset:0;transition:transform .18s}.aim-brackets i{position:absolute;width:17px;height:17px;border-color:currentColor;border-style:solid}.aim-brackets i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.aim-brackets i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.aim-brackets i:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px}.aim-brackets i:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0}.aim-dot{position:absolute;width:3px;height:3px;background:currentColor;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}.aim:before,.aim:after{content:'';position:absolute;background:currentColor;opacity:.6;width:10px;height:1px;top:50%}.aim:before{left:-24px}.aim:after{right:-24px}.aim>span,.aim>small{position:absolute;left:50%;white-space:nowrap;transform:translateX(-50%);font:7px var(--mono);letter-spacing:1.8px}.aim>span{top:calc(100% + 15px)}.aim>small{top:calc(100% + 30px);opacity:.8;letter-spacing:1px}.aim.locked{color:var(--green);filter:drop-shadow(0 0 7px #8effb255)}.aim.locked .aim-brackets{transform:scale(.88)}.target-card{position:absolute;top:calc(50% + 105px);left:50%;transform:translateX(-50%);width:170px;display:flex;justify-content:space-between;font:7px var(--mono);color:#9fc4b2;letter-spacing:.5px}.target-card strong{font-weight:400;color:var(--green)}.target-card>div{position:absolute;top:18px;width:100%;height:2px;background:#8effb222}.target-card i{display:block;height:100%;background:var(--green);width:100%}.target-marker{position:absolute;width:48px;height:42px;transform:translate(-50%,-50%);border:1px solid #ff8d7955;pointer-events:none}.target-marker:before{content:'';position:absolute;inset:5px;border:1px solid #ff8d7918}.target-label{position:absolute;transform:translate(-50%,-50%);font:6px var(--mono);color:#eaa48d;letter-spacing:1px;pointer-events:none;white-space:nowrap}.target-label .enemy-bar{display:block;margin-top:5px;width:52px;height:2px;background:#ffffff28}.enemy-bar i{display:block;height:100%;background:#f48d75}.state-overlay{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);background:#09131bef;border:1px solid #a1b8c333;backdrop-filter:blur(18px);padding:42px 48px;z-index:9;width:440px;text-align:center}.state-overlay .eyebrow{justify-content:center}.state-overlay h2{font-size:31px;font-weight:400;letter-spacing:-1px;margin:18px 0 13px}.state-overlay p{font-size:12px;color:#a0b4c2;line-height:1.8}.state-overlay button{width:100%;margin-top:25px;min-width:0}.state-overlay>small{display:block;color:#738b9b;font:8px var(--mono);margin-top:14px}.result-stats{display:flex;gap:30px;justify-content:center;margin-top:25px}.result-stats span{font:8px var(--mono);letter-spacing:1px;color:#8fa4b3}.result-stats b{display:block;font-size:24px;font-weight:400;color:#eee;margin-top:9px}.toast{position:absolute;bottom:16px;left:50%;transform:translate(-50%,12px);opacity:0;transition:opacity .2s,transform .2s;max-width:600px;background:#0c1a26ed;border:1px solid #ff9c6744;padding:13px 20px;font:10px var(--sans);color:#d2dde5;z-index:15;pointer-events:none;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.fatal{position:absolute;inset:40% 20%;text-align:center;z-index:30;background:#151b22;padding:40px}dialog{background:#0c1722;color:#dbe4eb;border:1px solid #b0c2d044;max-width:650px;padding:40px 44px;max-height:85dvh}dialog::backdrop{background:#020812bf;backdrop-filter:blur(8px)}dialog h2{font-size:31px;font-weight:400;margin:16px 0 20px}dialog ol{padding-left:19px;font-size:12px;line-height:1.75;color:#a7bac8}dialog li{padding-left:6px;margin:9px 0}dialog li b{color:#e0e6ea;font-weight:500}dialog>p{font-size:10px;color:#7893a5;line-height:1.7}dialog .primary-button{margin-top:23px;width:100%}.dialog-close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:25px;color:#9fb0bc}.intro-open .hud,.intro-open .camera-card{opacity:0;pointer-events:none}.intro-open .topbar{z-index:6}.intro-open .topbar nav button:last-child{visibility:hidden}.playing .intro{display:none}.playing .control-hint{bottom:166px}.playing.keyboard-mode .control-hint{bottom:45px}.paused #world{filter:brightness(.6)}
@media(min-width:1600px){.intro-copy{top:21%;left:10%}.intro h1{font-size:118px}.intro-copy>p{font-size:22px}.intro-copy .intro-description{font-size:13px}.telemetry{gap:45px}}
@media(max-height:760px) and (min-width:850px){.intro-copy{top:17%}.intro h1{font-size:74px;margin:20px 0}.intro-copy>p{font-size:17px}.intro-line{margin:16px 0}.intro-copy .intro-description{margin-bottom:18px;font-size:11px}.intro .primary-button{padding:14px 18px}.local-note{margin-top:12px}.camera-card{width:180px;bottom:24px}.camera-preview{height:100px}.telemetry{left:242px;gap:22px;bottom:37px}.playing.keyboard-mode .control-hint{left:61%}.ship-panel,.mission-panel{top:103px}}
@media(max-width:1000px){.top-center{display:none}.topbar{left:22px;right:22px}.mission-panel{left:22px;width:190px}.ship-panel{right:22px;width:185px}.mission-panel h2{font-size:19px}.telemetry{left:255px;gap:20px}.throttle-block{display:none}.fire-button{right:22px;width:98px}.camera-card{left:22px}.intro-copy{left:7%}.intro h1{font-size:77px}.intro-ship-caption{left:65%;font-size:7px}.intro-bottom{left:22px;right:22px}.intro-bottom>span:last-child{display:none}.intro-bottom>div{gap:7px}.intro-bottom b{margin-left:10px}.playing.keyboard-mode .control-hint{left:64%;bottom:46px;min-width:300px}.control-hint>div{gap:10px}}
@media(max-width:650px){#simulator{min-height:560px}.topbar{top:18px;height:46px;left:18px;right:18px;padding-bottom:13px}.brand{font-size:16px;gap:9px}.brand svg{width:28px}.brand small{font-size:5.5px}.topbar nav{gap:4px}.icon-button{width:28px;height:28px;font-size:14px}.mission-panel{left:18px;top:87px;width:160px}.mission-panel h2{font-size:17px;margin-top:11px}.mission-panel p{font-size:9px}.mission-stats{margin-top:16px;gap:22px}.mission-stats strong{font-size:21px}.mission-state{font-size:6px;margin-top:12px;letter-spacing:.6px}.ship-panel{top:88px;right:18px;width:145px}.ship-panel .eyebrow{font-size:8px}.hull-title{margin-top:13px}.hull-title>span{font-size:6px}.hull-title strong{font-size:21px}.ship-meta{font-size:6px;letter-spacing:0;margin-top:11px}.ship-meta.muted{margin-top:7px}.intro-copy{left:8%;top:19%;max-width:85%}.intro-copy .eyebrow{font-size:7px;letter-spacing:1.7px}.intro h1{font-size:69px;letter-spacing:-3.5px;margin-top:23px;margin-bottom:20px}.intro-copy>p{font-size:18px}.intro-copy .intro-description{font-size:11px;max-width:220px}.intro-line{margin:20px 0 16px}.intro .primary-button{min-width:255px;font-size:8px;padding:16px}.text-button{width:255px;font-size:10px}.intro-ship-caption{display:none}.intro-bottom{left:18px;right:18px;bottom:20px;padding-top:14px;flex-direction:column;align-items:flex-start;gap:13px}.intro-bottom>div{gap:7px}.intro-bottom b{margin-left:0;font-size:10px}.intro-bottom>div span{font-size:6px;margin-right:10px}.camera-card{left:18px;bottom:20px;width:130px}.camera-heading{height:25px;font-size:6px;padding:0 6px;letter-spacing:.4px;gap:4px}.camera-preview{height:79px;margin:0 5px}.camera-preview svg{width:43px!important;height:34px!important}#camera-message{font-size:6px;max-width:110px}.camera-controls{margin:4px}.camera-controls button{font-size:6px;padding:5px}.calibration-line{flex-direction:column;font-size:5px;padding-bottom:5px;gap:3px}.calibration-line button{font-size:6px}.telemetry{left:168px;bottom:34px;gap:20px}.telemetry>div{min-width:40px}.telemetry>div>span{font-size:6px;letter-spacing:.5px}.telemetry strong{font-size:25px}.telemetry small{font-size:5px;margin-left:2px}.telemetry i{font-size:5px;letter-spacing:0}.fire-button{bottom:22px;right:18px;width:66px;height:75px;gap:4px}.fire-button b{font-size:7px;letter-spacing:.4px}.fire-button small{font-size:5px}.fire-button>span{font-size:21px}.control-hint,.playing .control-hint{bottom:220px;min-width:300px}.control-hint>.eyebrow{font-size:6px;letter-spacing:1px}.control-hint>div{font-size:6px;gap:10px}.playing.keyboard-mode .control-hint{bottom:216px;left:50%;min-width:290px}#keyboard-panel{margin-top:14px}.aim{width:60px;height:60px}.target-card{top:calc(50% + 97px);font-size:6px;width:145px}.state-overlay{width:calc(100% - 36px);padding:32px 26px}.state-overlay h2{font-size:27px}.toast{max-width:calc(100% - 34px);width:max-content;font-size:9px;bottom:9px}dialog{max-width:calc(100% - 28px);padding:28px 25px}dialog ol{font-size:11px}.target-label{font-size:5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


