:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f2f7f4;--muted:#91a6aa;--line:#bee0d82e;--glass:#051119c7;--lime:#c7ff4a;--cyan:#6de8db;--orange:#ff9d42;--danger:#ff5d50;--display:"Arial Narrow", "Roboto Condensed", Impact, sans-serif;--body:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#app{background:#07131d;width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--body);color:var(--ink);-webkit-user-select:none;user-select:none;overscroll-behavior:none}button,select,input{font:inherit}button,select{color:inherit}button{cursor:pointer}#sim-canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.overlay{z-index:20;position:fixed;inset:0}.muted{color:var(--muted)}.eyebrow{color:var(--cyan);font:600 .69rem/1 var(--body);letter-spacing:.22em;margin:0}.glass{border:1px solid var(--line);-webkit-backdrop-filter:blur(24px);background:linear-gradient(135deg,#0d202aeb,#030c12d1);box-shadow:0 30px 80px #00000059}.glass-subtle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#010a107a;border:1px solid #d2f2eb24}.boot-screen{text-align:center;background:radial-gradient(circle at 50% 42%,#123244,#051019 65%);place-content:center;justify-items:center;transition:opacity .55s;display:grid}.boot-screen.fade-out{opacity:0;pointer-events:none}.boot-mark{border:1px solid #6de8db40;border-radius:50%;place-items:center;width:74px;height:74px;margin-bottom:22px;animation:5s linear infinite spin;display:grid}.boot-mark:before,.boot-mark span{content:"";background:var(--cyan);width:35px;height:2px;box-shadow:0 0 14px var(--cyan);position:absolute;transform:rotate(-25deg)}.boot-mark span{width:22px;transform:rotate(25deg)}.boot-screen h1{font:500 2.1rem/1 var(--display);letter-spacing:.03em;margin:12px 0 26px}.boot-screen p:last-child{font-size:.72rem}.load-track{background:#ffffff1a;width:min(320px,68vw);height:2px;overflow:hidden}.load-track i{background:var(--lime);width:8%;height:100%;box-shadow:0 0 12px var(--lime);transition:width .4s;display:block}@keyframes spin{to{transform:rotate(360deg)}}.hangar{background:linear-gradient(90deg,#02090ef5 0%,#030d14c7 42%,#030d1414 73%),radial-gradient(circle at 83% 42%,#67c7cd21,#0000 32%);padding:clamp(22px,3vw,48px) clamp(22px,5vw,76px);overflow-y:auto}.hangar:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:46px 46px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 70%);mask-image:linear-gradient(90deg,#000,#0000 70%)}.brand-row{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand strong,.brand small{letter-spacing:.22em;display:block}.brand strong{font:600 1rem var(--body)}.brand small{color:var(--muted);margin-top:2px;font-size:.49rem}.brand-wing{width:34px;height:34px;color:var(--lime);font:700 1.25rem var(--display);border:1px solid #c7ff4a80;place-items:center;display:grid;transform:skew(-8deg)}.icon-btn,.close-btn{border:1px solid var(--line);width:42px;height:42px;color:var(--muted);background:#00000038;border-radius:50%}.hero-copy{z-index:1;margin:clamp(50px,8vh,100px) 0 40px;position:relative}.hero-copy h1{font:500 clamp(3.5rem, 6.5vw, 6.8rem)/.83 var(--display);letter-spacing:-.025em;text-transform:uppercase;margin:13px 0 18px}.hero-copy h1 em{color:var(--lime);font-style:normal}.hero-copy>p:last-child{color:#a7b8ba;max-width:490px;font-size:.85rem;line-height:1.7}.setup-panel{z-index:1;width:min(860px,100%);padding:25px;position:relative}.section-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.section-heading h2,.modal h2{font:500 2rem/1 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:8px 0 0}.counter{white-space:nowrap;font:500 1rem var(--display);color:var(--muted);flex:none;margin-left:12px}.aircraft-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.aircraft-card{text-align:left;min-height:140px;color:var(--ink);background:#ffffff06;border:1px solid #ffffff17;padding:15px;transition:all .2s;position:relative;overflow:hidden}.aircraft-card:hover{border-color:#6de8db6b;transform:translateY(-2px)}.aircraft-card.selected{border-color:var(--lime);background:linear-gradient(140deg,#c7ff4a1c,#ffffff05)}.aircraft-card .tag{color:var(--muted);letter-spacing:.16em;font-size:.57rem}.aircraft-card h3{font:600 1.45rem var(--display);letter-spacing:.04em;margin:6px 0 2px}.aircraft-card p{color:var(--muted);margin:0;font-size:.62rem}.plane-silhouette{place-items:center;height:48px;margin:12px 0 7px;display:grid;position:relative}.plane-silhouette i{clip-path:polygon(0 45%,42% 10%,48% 0,51% 0,58% 10%,100% 45%,100% 60%,57% 52%,53% 100%,46% 100%,42% 52%,0 60%);background:linear-gradient(90deg,#0000,#8ca1a5 18%,#dce6e5 50%,#8ca1a5 82%,#0000);width:74%;height:8px;position:absolute;transform:rotate(-5deg)}.aircraft-card:nth-child(2) .plane-silhouette i{width:88%;height:12px}.aircraft-card:nth-child(3) .plane-silhouette i{width:82%;height:15px;transform:skew(-18deg)}.stats{gap:14px;display:flex}.stats span{color:var(--muted);font:500 .53rem var(--body)}.stats b{color:var(--cyan);font-weight:600}.setup-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 13px;display:grid}.setup-grid label>span{color:var(--muted);letter-spacing:.16em;margin:0 0 7px 2px;font-size:.54rem;display:block}select{appearance:none;border:1px solid var(--line);background:#00000040 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2391a6aa'/%3E%3C/svg%3E") right 12px center no-repeat;border-radius:0;outline:none;width:100%;padding:12px 34px 12px 12px;font-size:.68rem}select:focus{border-color:var(--cyan)}.primary-btn,.secondary-btn,.text-btn{letter-spacing:.15em;border:0;width:100%;min-height:48px;font-size:.67rem;font-weight:700}.primary-btn{color:#0a1510;background:var(--lime);justify-content:space-between;align-items:center;padding:0 18px;display:flex;box-shadow:0 8px 30px #c7ff4a1f}.primary-btn:hover{filter:brightness(1.08)}.primary-btn b{font-size:1.2rem}.build-note{z-index:1;color:#63777b;letter-spacing:.19em;margin-top:15px;font-size:.49rem;position:relative}.hud{z-index:10;pointer-events:none;font-family:var(--display);text-shadow:0 2px 8px #000c;position:fixed;inset:0}.hud button{pointer-events:auto}.hud:before{content:"";pointer-events:none;background:linear-gradient(#00080d61,#0000 20% 74%,#00080d85);position:absolute;inset:0}.hud-top{top:max(18px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left));right:max(20px, env(safe-area-inset-right));justify-content:space-between;align-items:start;display:flex;position:absolute}.flight-badge{color:#d6e6e4;letter-spacing:.16em;background:#01090e47;border-left:1px solid #6de8db80;align-items:center;gap:9px;padding:7px 10px;font-size:.67rem;display:flex}.flight-badge i{background:var(--lime);width:6px;height:6px;box-shadow:0 0 9px var(--lime);border-radius:50%}.objective{text-align:center}.objective small{color:var(--muted);letter-spacing:.2em;font-size:.5rem;display:block}.objective strong{letter-spacing:.08em;margin-top:4px;font-size:.9rem;font-weight:500;display:block}.hud-actions{gap:7px;display:flex}.hud-actions button{min-width:44px;height:34px;color:var(--ink);font:600 .6rem var(--body);background:#00090e59;border:1px solid #ffffff30;padding:0 10px}kbd{color:#d9e4e3;font:500 .5rem var(--body);box-shadow:none;background:#ffffff0a;border:1px solid #ffffff40;padding:2px 4px}.instrument{background:linear-gradient(#010c1285,#010c1214);border-top:1px solid #6de8db99;width:112px;padding:5px 10px 9px;position:absolute;top:40%}.instrument small{color:var(--cyan);letter-spacing:.16em;font-size:.53rem;display:block}.instrument strong{font:500 2.35rem/.95 var(--display);letter-spacing:.05em;display:block}.instrument>span{color:#b6c8c8;letter-spacing:.08em;font-size:.58rem}.instrument:after,.instrument:before{content:"";border:5px solid #0000;position:absolute;top:50%}.speed-tape{text-align:right;left:max(4.5vw,24px)}.speed-tape:after{border-left-color:var(--cyan);right:-10px}.alt-tape{right:max(4.5vw,24px)}.alt-tape:after{border-right-color:var(--cyan);left:-10px}.tape-line{background:linear-gradient(#0000,#ffffff40,#0000);width:1px;position:absolute;top:-68px;bottom:-68px}.speed-tape .tape-line{right:-1px}.alt-tape .tape-line{left:-1px}.reticle{color:#c7ff4ae0;width:330px;height:190px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.reticle-wings{align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reticle-wings span{border-top:2px solid;width:52px;height:10px}.reticle-wings span:first-child{border-left:2px solid}.reticle-wings span:last-child{border-right:2px solid}.reticle-wings b{border:2px solid;width:7px;height:7px;transform:rotate(45deg)}.flight-path{font-size:1.2rem;position:absolute;top:68%;left:50%;transform:translate(-50%)}.horizon{width:210px;height:100px;transition:transform 60ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.horizon i{border-top:1px dashed #c7ff4ab3;position:absolute;top:50%;left:0;right:0}.horizon .pitch{text-align:center;border-top:1px solid #c7ff4a8c;width:76px;margin-left:-38px;font-size:.5rem;position:absolute;left:50%}.horizon .p-up{top:26%}.horizon .p-down{top:74%}.system-stack{right:max(4.5vw,24px);bottom:max(30px, env(safe-area-inset-bottom));width:240px;padding:11px;position:absolute}.system-row{grid-template-columns:29px 1fr 38px;align-items:center;gap:7px;margin-bottom:7px;font-size:.58rem;display:grid}.system-row>span{color:var(--muted);letter-spacing:.12em}.system-row b{text-align:right;font-weight:500}.bar{background:#ffffff1f;height:3px}.bar i{background:var(--lime);width:0%;height:100%;display:block;box-shadow:0 0 7px #c7ff4aa6}.bar.fuel i{background:var(--cyan);width:100%}.system-switches{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:11px;display:grid}.system-switches button{color:var(--ink);background:#ffffff08;border:1px solid #ffffff1f;padding:7px 3px}.system-switches small{color:var(--muted);font:500 .46rem var(--body);letter-spacing:.12em;display:block}.system-switches b{font:600 .63rem var(--display)}.system-switches button.active{border-color:var(--lime);color:var(--lime)}.minimap{left:max(4.5vw,24px);bottom:max(30px, env(safe-area-inset-bottom));background:#000c1185;border:1px solid #6de8db40;border-radius:50%;width:152px;height:152px;position:absolute}.compass{text-align:center;color:#d7e4df;letter-spacing:.12em;white-space:nowrap;width:min(430px,42vw);font-size:.66rem;position:absolute;top:90px;left:50%;overflow:hidden;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000);mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000)}.compass i{background:var(--lime);width:1px;height:7px;margin:4px auto;display:block}.desktop-hints{left:50%;bottom:max(18px, env(safe-area-inset-bottom));color:#9aacac;font:500 .48rem var(--body);letter-spacing:.08em;gap:14px;display:flex;position:absolute;transform:translate(-50%)}.desktop-hints kbd{margin-right:4px}.warning-stack{justify-items:center;gap:5px;display:grid;position:absolute;top:66%;left:50%;transform:translate(-50%)}.warning{color:#160b08;background:var(--danger);font:700 .62rem var(--body);letter-spacing:.18em;padding:5px 12px;animation:1s step-end infinite alert}.warning.caution{color:#1a1106;background:var(--orange)}@keyframes alert{50%{opacity:.65}}.mission-panel{text-align:right;border-right:2px solid var(--lime);padding-right:9px;position:absolute;top:108px;right:max(4.5vw,24px)}.mission-panel span{color:var(--muted);letter-spacing:.18em;font-size:.48rem}.mission-panel strong{font-size:1.2rem;display:block}.mission-panel em{color:var(--lime);font-size:.68rem;font-style:normal}.modal-wrap{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;background:#00080cad;place-items:center;display:grid}.modal{width:min(380px,100vw - 36px);padding:30px;position:relative}.modal h2{margin-bottom:26px;font-size:2.6rem}.modal .primary-btn,.modal .secondary-btn{margin-top:9px}.secondary-btn{color:var(--ink);border:1px solid var(--line);background:#ffffff0b}.text-btn{color:var(--muted);background:0 0}.close-btn{font-size:1.35rem;position:absolute;top:18px;right:18px}.settings-modal{width:min(520px,100vw - 36px)}.range-label{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:15px 0;display:flex}.range-label span b,.range-label span small{display:block}.range-label span b{font-size:.76rem}.range-label span small{color:var(--muted);margin-top:4px;font-size:.6rem}.range-label select{width:145px}input[type=range]{accent-color:var(--lime);width:145px}input[type=checkbox]{width:38px;height:20px;accent-color:var(--lime)}.help-modal{width:min(620px,100vw - 36px)}.help-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.help-grid div{border:1px solid var(--line);align-items:center;gap:12px;padding:11px;display:flex}.help-grid kbd{text-align:center;min-width:80px}.help-grid span{color:#b9c8c8;font-size:.66rem}.tip{color:var(--muted);margin:18px 0 0;font-size:.69rem;line-height:1.65}.toast{z-index:50;color:#10170b;background:var(--lime);text-align:center;min-width:230px;font:700 .65rem var(--body);letter-spacing:.14em;padding:11px 18px;animation:.25s forwards toast-in;position:fixed;top:20%;left:50%;transform:translate(-50%,-8px);box-shadow:0 12px 30px #0000004d}@keyframes toast-in{to{transform:translate(-50%)}}.crash-overlay{z-index:40;text-align:center;background:radial-gradient(circle,#3c100a80,#02070ae6);place-content:center;justify-items:center;display:grid}.crash-overlay h2{font:600 clamp(3rem,8vw,6rem)/1 var(--display);margin:12px 0}.crash-overlay>p:nth-child(3){color:#b7c4c4}.crash-overlay>div{gap:10px;width:min(410px,100vw - 36px);margin-top:22px;display:flex}.crash-overlay button{flex:1}.mobile-controls{pointer-events:none;display:none}@media (width<=820px),(pointer:coarse){.hangar{background:linear-gradient(#02090eed,#030d14c7);padding:20px}.hero-copy{margin:50px 0 28px}.hero-copy h1{font-size:clamp(3.4rem,17vw,5.5rem)}.hero-copy>p:last-child{font-size:.75rem}.setup-panel{padding:17px}.aircraft-cards{scrollbar-width:none;scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.aircraft-cards::-webkit-scrollbar{display:none}.aircraft-card{scroll-snap-align:center;flex:0 0 78%}.setup-grid{grid-template-columns:1fr}.build-note{margin-bottom:25px}.desktop-hints,.minimap,.system-stack{display:none}.hud-top{left:12px;right:12px}.objective{width:90vw;position:absolute;top:45px;left:50%;transform:translate(-50%)}.objective strong{font-size:.75rem}.instrument{width:88px;top:34%}.speed-tape{left:9px}.alt-tape{right:9px}.instrument strong{font-size:1.75rem}.instrument small{font-size:.44rem}.tape-line{display:none}.reticle{width:260px;transform:translate(-50%,-50%)scale(.8)}.compass{width:60vw;top:76px}.mission-panel{top:120px;right:12px}.mobile-controls{display:block;position:absolute;inset:0}.flight-stick,.mobile-buttons,.touch-throttle{pointer-events:auto}.flight-stick{left:max(20px, env(safe-area-inset-left));bottom:max(26px, env(safe-area-inset-bottom));touch-action:none;background:radial-gradient(circle,#6de8db14,#00000038);border:1px solid #ffffff38;border-radius:50%;width:130px;height:130px;position:absolute}.flight-stick:before,.flight-stick:after{content:"";background:#ffffff1f;position:absolute}.flight-stick:before{width:1px;height:100%;left:50%}.flight-stick:after{width:100%;height:1px;top:50%}.flight-stick>span{width:100%;color:var(--muted);text-align:center;font:500 .46rem var(--body);letter-spacing:.12em;position:absolute;bottom:-18px}#stick-knob{z-index:2;border:1px solid var(--cyan);background:#071b22c7;border-radius:50%;width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #6de8db26}.touch-throttle{right:max(25px, env(safe-area-inset-right));bottom:max(26px, env(safe-area-inset-bottom));touch-action:none;width:44px;height:150px;position:absolute}.touch-track{background:#0000004d;border:1px solid #fff3;width:18px;position:absolute;top:0;bottom:20px;left:13px}.touch-track i{background:linear-gradient(#6de8db33,#c7ff4aa6);height:0%;position:absolute;bottom:0;left:0;right:0}.touch-track b{background:var(--lime);width:34px;height:12px;position:absolute;bottom:-6px;left:-9px;box-shadow:0 0 10px #c7ff4a66}.touch-throttle>span{text-align:center;width:100%;color:var(--muted);font-size:.5rem;position:absolute;bottom:0}.mobile-buttons{right:max(72px, calc(env(safe-area-inset-right) + 62px));bottom:max(28px, env(safe-area-inset-bottom));grid-template-columns:repeat(3,46px);gap:6px;display:grid;position:absolute}.mobile-buttons button{color:#d9e4e3;height:42px;font:500 .49rem var(--body);background:#010b1173;border:1px solid #fff3}.mobile-buttons button span,.mobile-buttons button b{display:block}.mobile-buttons button span{color:var(--muted);letter-spacing:.08em;font-size:.43rem}.mobile-buttons button b{font:600 .54rem var(--display);margin-top:2px}.mobile-buttons button.active{color:var(--lime);border-color:#c7ff4aa6}.warning-stack{top:61%}.compass{top:108px}}@media (width<=520px){.brand-row .icon-btn{width:36px;height:36px}.hero-copy{margin-top:42px}.setup-panel{padding:14px}.aircraft-card{min-height:128px}.plane-silhouette{height:37px;margin:7px 0}.flight-badge{font-size:.53rem}.hud-actions button{min-width:38px;padding:0 6px}.hud-actions kbd{display:none}.flight-stick{width:116px;height:116px}.mobile-buttons{bottom:max(24px, env(safe-area-inset-bottom))}.reticle{top:45%}}@media (width>=821px) and (height<=800px){.hangar{padding-top:22px;padding-bottom:22px}.hero-copy{margin:28px 0 22px}.hero-copy h1{margin:9px 0 12px;font-size:clamp(3.2rem,5.2vw,4.6rem)}.hero-copy>p:last-child{margin-bottom:0;line-height:1.45}.setup-panel{padding:18px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:1.65rem}.aircraft-card{min-height:112px;padding:11px 14px}.plane-silhouette{height:29px;margin:6px 0 4px}.setup-grid{margin:12px 0 10px}.setup-grid select{padding-top:9px;padding-bottom:9px}.primary-btn{min-height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
