@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-condensed-latin-400-normal-Dc2u_eUW.woff2) format("woff2"),url(/assets/barlow-condensed-latin-400-normal-BXL2z6Kg.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}:root{font-family:DM Sans,Arial,sans-serif;color:#f0f1e7;background:#243d3c;font-synthesis:none;--hud: #dce4bd;--subtle: #e2e7d38a;--line: #e0e5ce30;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #e3eab7;outline-offset:5px}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}canvas.scene{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#0b24283d,transparent 25%,transparent 65%,#0a202953),radial-gradient(ellipse at 50% 44%,transparent 40%,#16272838 100%);z-index:1}.hud{position:fixed;inset:0;z-index:2;pointer-events:none;text-shadow:0 1px 4px #10222470}.hud button,.hud a,.hud select,.hud dialog{pointer-events:auto}.topbar{position:absolute;top:0;left:0;right:0;height:107px;margin:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:#f4f4e9}.brand>svg{width:48px;height:33px}.brand>div{font-size:25px;letter-spacing:7px;font-weight:500;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:3.25px;margin-top:10px;font-weight:500}.session{font-family:var(--mono);font-size:9px;letter-spacing:1.8px;display:flex;align-items:center;gap:10px;margin-left:40px}.live-dot{width:5px;height:5px;border-radius:100%;background:#dae5ac;display:inline-block;box-shadow:0 0 8px #d3e5a32e;flex-shrink:0}.live-dot.caution{background:#f0af7d}.session-divider{height:14px;width:1px;background:var(--line);margin:0 12px}.sun-symbol{font-size:19px;margin-left:8px;vertical-align:-2px;color:#efd0a2}.toolbar{display:flex;gap:9px}.icon-button{border:1px solid transparent;background:transparent;padding:10px;display:grid;place-items:center;border-radius:50%;transition:background .2s,border-color .2s}.icon-button:hover{background:#e5ead312;border-color:#e5ead330}.icon-button.muted{opacity:.5}.icon-button[aria-pressed=true]{background:#e5ead31a}.location{position:absolute;top:140px;left:40px}.eyebrow{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:1.8px;color:var(--hud);display:flex;align-items:center;gap:9px}.tiny-cross{font-size:17px;font-weight:400;margin-right:4px}.location p{font-size:20px;letter-spacing:-.4px;margin:9px 0 10px;font-weight:400}.location>span{font-family:var(--mono);font-size:8px;letter-spacing:.5px;opacity:.55}.location>span b{font-weight:400;padding:0 9px}.flight-status{position:absolute;right:40px;top:146px;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:8px;letter-spacing:1px}.flight-status small{font-size:8px;opacity:.45;padding-left:12px;border-left:1px solid var(--line);margin-left:6px}.compass{position:absolute;left:50%;top:133px;transform:translate(-50%);width:360px;text-align:center;color:var(--hud);font-family:var(--mono)}.compass-heading{display:flex;align-items:baseline;justify-content:center;gap:10px;font-size:9px;letter-spacing:1.5px}.compass-heading b{font-size:20px;font-weight:400;letter-spacing:3px}.compass-heading>span{opacity:.6}.compass-window{height:45px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}#compass-track{position:relative;height:42px}#compass-track>span{position:absolute;top:12px;transform:translate(-50%);font-size:8px;color:#e3e6c79c}#compass-track i{display:block;height:6px;width:1px;background:#dce4bd77;margin:0 auto 7px}#compass-track .cardinal{font-weight:500;color:#edf2ca}#compass-track .cardinal i{height:9px;margin-bottom:4px}.compass-pointer{position:absolute;top:30px;left:calc(50% - 3px);border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--hud)}.flight-instruments{position:absolute;inset:33% 0 31%;color:var(--hud);font-family:var(--mono)}.tape{position:absolute;top:50%;transform:translateY(-50%);width:120px}.speed-tape{left:max(42px,calc(50% - 360px))}.altitude-tape{right:max(42px,calc(50% - 360px));text-align:right}.instrument-label{font-size:9px;letter-spacing:1.8px;display:flex;justify-content:space-between;align-items:center}.instrument-label small{font-size:8px;opacity:.5;letter-spacing:1px}.tape-body{height:180px;position:relative;margin-top:16px;margin-bottom:8px}.tick-list{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}.tick-list>span{position:absolute;left:0;right:0;display:flex;justify-content:flex-end;align-items:center;gap:13px;transform:translateY(-50%);padding-right:8px}.tick-list b{font-size:10px;font-weight:400;opacity:.55}.tick-list i{width:13px;border-top:1px solid #dce4bd6e}.altitude-tape .tick-list>span{flex-direction:row-reverse;padding:0 0 0 8px}.tape-number{position:absolute;top:66px;height:48px;width:122px;display:flex;align-items:center;justify-content:space-between;background:#1d303552;border:1px solid #dfe6be85;font-size:28px;font-weight:400;padding:0 12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tape-number i{width:6px;height:6px;border-top:1px solid var(--hud);border-right:1px solid var(--hud);transform:rotate(45deg);margin-right:-16px;background:#3d514d}.altitude-tape .tape-number i{transform:rotate(-135deg);margin-right:0;margin-left:-16px}.altitude-tape .tape-number{font-size:24px}.tape-caption{font-size:7px;letter-spacing:1.4px;opacity:.6}.aim{position:absolute;left:50%;top:50%;width:110px;height:34px;transform:translate(-50%,-50%);opacity:.8}.aim-left,.aim-right{position:absolute;top:14px;width:37px;height:6px;border-top:1px solid var(--hud)}.aim-left{left:0;border-right:1px solid var(--hud)}.aim-right{right:0;border-left:1px solid var(--hud)}.aim-dot{position:absolute;left:52px;top:11px;width:6px;height:6px;border:1px solid var(--hud);border-radius:50%}.aim-bottom{position:absolute;left:54px;top:25px;height:5px;border-left:1px solid var(--hud)}.pitch-ladder{position:absolute;width:210px;height:200px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.28;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}#pitch-ladder-inner{position:absolute;inset:0;transform-origin:center}.pitch-line{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:8px;gap:10px}.pitch-line i{width:43px;border-top:1px solid var(--hud);height:4px}.pitch-line i:first-of-type{border-right:1px solid var(--hud)}.pitch-line i:last-of-type{border-left:1px solid var(--hud)}.pitch-line.zero{visibility:hidden}.warning{position:absolute;top:27%;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:10px;letter-spacing:2px;background:#502f20a8;border:1px solid #dca57766;color:#ffddb2;padding:12px 20px;opacity:0;transition:opacity .4s;white-space:nowrap}.warning.visible{opacity:1}.aircraft-info{position:absolute;left:40px;bottom:109px;width:294px}.aircraft-info h1{font-family:Barlow Condensed,Arial,sans-serif;font-size:49px;font-weight:400;letter-spacing:1px;margin:12px 0 3px;line-height:1.05}.aircraft-subtitle{font-family:var(--mono);font-size:7px;letter-spacing:2.2px;opacity:.5}.muted-text{opacity:.35;margin:0 4px}.engine-row{margin-top:26px;display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:9px}.engine-row>span{opacity:.55;font-size:8px;letter-spacing:1px}.throttle-track{height:4px;flex:1;background:#dce4bd22}.throttle-track>div{height:100%;background:var(--hud);width:64%;transition:width .15s}.engine-row b{font-size:15px;font-weight:400;min-width:40px;text-align:right}.engine-row b>span{font-size:9px;opacity:.5;margin-left:4px}.aircraft-data{display:flex;justify-content:space-between;margin-top:22px;padding-top:17px;border-top:1px solid var(--line);font-family:var(--mono)}.aircraft-data>div>span{display:block;font-size:7px;letter-spacing:.7px;opacity:.45;margin-bottom:7px}.aircraft-data b{font-size:12px;font-weight:400}.aircraft-data small{font-size:7px;opacity:.5}.camera-panel{position:absolute;left:50%;bottom:111px;transform:translate(-50%);text-align:center}.camera-panel>.eyebrow{justify-content:center;font-size:8px;letter-spacing:1.5px;margin-bottom:13px}.camera-panel .eyebrow kbd{font-size:8px;padding:2px 4px;min-width:16px}.camera-switch{display:flex;border:1px solid #e0e5ce40;background:#243b3b59;padding:4px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.camera-switch button{display:flex;gap:7px;align-items:center;padding:11px 13px;border:0;background:transparent;font-size:10px;font-weight:400;color:#e5e8d6a6;transition:background .2s,color .2s}.camera-switch button>span{font:7px var(--mono);opacity:.5}.camera-switch button.active{background:#dce4bd;color:#233b37;text-shadow:none}.camera-switch button:hover:not(.active){background:#dce4bd16;color:#f0f4de}.camera-panel>p{font-size:9px;letter-spacing:.2px;opacity:.45;margin:12px 0 0}.attitude-panel{position:absolute;right:40px;bottom:110px;width:144px}.attitude-panel>.eyebrow{justify-content:center;font-size:8px;margin-bottom:9px}.attitude{position:relative;width:140px;height:140px}.attitude svg{width:100%;height:100%}.outer-ring{fill:none;stroke:#e0e5ce20;stroke-width:.6}.inner-ring{fill:none;stroke:#e0e5ce3a;stroke-width:.7}.bank-ticks{stroke:#dce4bd99;stroke-width:1}.horizon-line{stroke:#dce4bd77;stroke-width:.8;fill:none}.fixed-wing{stroke:#edf0c6;stroke-width:1.5;fill:none}.attitude>span{position:absolute;bottom:27px;left:0;right:0;text-align:center;font:9px var(--mono);color:var(--hud)}.attitude-caption{display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:.7px;opacity:.65;margin-top:9px}.controls-bar{position:absolute;bottom:0;height:67px;left:38px;right:38px;border-top:1px solid var(--line);display:flex;gap:25px;align-items:center}.control-pair{display:flex;align-items:center;gap:4px}kbd{font:8px var(--mono);font-weight:400;border:1px solid #e0e5ce38;min-width:21px;height:21px;padding:4px;text-align:center;border-radius:3px;color:#e5e8d2b3;display:inline-flex;align-items:center;justify-content:center}.control-pair>span{font-size:9px;color:#dfe6cf85;margin-left:5px}#hide-hud{background:none;border:none;font:10px var(--mono);padding:0;color:#e5e8d2b3;margin-left:auto}#hide-hud>span{font:9px DM Sans,Arial;margin-left:7px;opacity:.65}.footer-tag{font:7px var(--mono);letter-spacing:1.6px;opacity:.35;margin-left:15px}.touch-controls{display:none}.pause-overlay{position:absolute;inset:0;background:#14292c7d;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:grid;place-items:center;pointer-events:auto}.pause-card{width:420px;max-width:90%;background:#213b3cef;border:1px solid #dce4bd30;padding:42px;text-align:center}.pause-card .eyebrow{justify-content:center}.pause-card h2,dialog h2{font-size:29px;font-weight:400;letter-spacing:-.7px;margin:18px 0 12px}.pause-card p,dialog>p{font-size:12px;line-height:1.8;opacity:.6}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:#dce4bd;color:#243b37;padding:15px 18px;margin-top:26px;font-size:12px}.primary-button:hover{background:#eaf0d0}.primary-button>span{font-size:20px}.text-button{display:block;background:none;border:0;font-size:10px;opacity:.6;margin:19px auto 0}.text-button:hover{opacity:1}dialog{position:fixed;inset:0;background:#213b3cf7;border:1px solid #dce4bd40;color:#edf0e0;width:440px;max-width:calc(100% - 32px);max-height:90dvh;overflow:auto;padding:35px;box-shadow:0 25px 100px #0b161966;text-shadow:none}dialog::backdrop{background:#11242880;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.close-button{position:absolute;right:17px;top:13px;font-size:24px;font-weight:400;background:transparent;border:0;opacity:.6}.help-grid{display:grid;grid-template-columns:1fr auto;gap:13px;align-items:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:23px;font-size:11px}.help-grid>span{opacity:.7}.help-grid>kbd{justify-self:start}.help-tip{font-size:10px!important;line-height:1.9!important;margin-top:20px}.quality-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-top:20px;gap:15px}.quality-label select{background:#152c2f;border:1px solid #dce4bd40;color:#dce4bd;font-size:10px;padding:8px;max-width:210px}#show-hud{position:absolute;right:30px;bottom:25px;padding:10px 14px;background:#19333365;border:1px solid var(--line);font-size:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#show-hud kbd{margin-left:10px}.hud-hidden>*:not(#show-hud):not(.pause-overlay):not(dialog){opacity:0;pointer-events:none}.hud-hidden>*:not(#show-hud):not(.pause-overlay):not(dialog) button{pointer-events:none}.error-screen{position:fixed;inset:0;display:grid;place-content:center;padding:40px;background:#193638;color:#ecf0d4;text-align:center;z-index:10}.error-screen h1{font-weight:400}.error-screen p{max-width:480px;font-size:14px;line-height:1.8;opacity:.7}.error-screen button{padding:14px;border:1px solid #dce4bd;background:none;color:inherit;margin-top:20px}@media(min-width:1600px){.topbar{height:120px;margin:0 52px}.location{left:54px;top:160px}.flight-status{right:54px;top:168px}.compass{top:155px}.aircraft-info{left:54px;bottom:125px;width:315px}.attitude-panel{right:54px;bottom:125px}.camera-panel{bottom:125px}.controls-bar{left:52px;right:52px;height:78px}.speed-tape{left:calc(50% - 410px)}.altitude-tape{right:calc(50% - 410px)}}@media(max-width:1100px){.session{margin-left:0;font-size:8px;letter-spacing:1px}.footer-tag{display:none}.controls-bar{gap:17px}.aircraft-info{width:250px}.camera-switch button{padding:10px}.camera-panel{left:53%}.attitude-panel{right:30px;width:120px}.attitude{width:120px;height:120px}.flight-status{font-size:7px}.flight-status small{display:none}.location>span{display:none}.location p{font-size:17px}.compass{width:300px}.compass-window{width:360px;margin-left:-30px}}@media(max-width:800px){.topbar{height:83px;margin:0 22px}.brand{gap:10px}.brand>svg{width:35px}.brand>div{font-size:20px;letter-spacing:5px}.brand small{font-size:6px;letter-spacing:2px}.session{display:none}.toolbar{gap:2px}.icon-button{padding:9px}.location{top:106px;left:24px}.location p{font-size:14px}.location .eyebrow{font-size:8px}.flight-status{top:110px;right:24px;font-size:6px}.compass{top:153px;width:230px}.compass-window{margin-left:-65px;transform:scale(.8);transform-origin:top}.compass-heading b{font-size:17px}.flight-instruments{top:31%;bottom:36%}.tape{width:85px}.speed-tape{left:25px}.altitude-tape{right:25px}.instrument-label{font-size:7px;letter-spacing:1px}.instrument-label small{font-size:6px}.tape-number{width:88px;font-size:22px;padding:0 9px;height:42px;top:69px}.altitude-tape .tape-number{font-size:19px}.tape-caption{font-size:6px;letter-spacing:.5px}.tape-number i{margin-right:-13px}.altitude-tape .tape-number i{margin-left:-13px}.tick-list b{font-size:8px}.aircraft-info{left:25px;width:210px;bottom:145px}.aircraft-info h1{font-size:37px}.aircraft-info>.eyebrow{font-size:7px;letter-spacing:1px}.aircraft-subtitle{font-size:6px;letter-spacing:1.5px}.engine-row{margin-top:18px}.aircraft-data{margin-top:13px;padding-top:12px;gap:15px}.aircraft-data>div>span{font-size:6px}.aircraft-data b{font-size:10px}.aircraft-data>div:last-child{display:none}.attitude-panel{bottom:145px;right:25px;width:100px}.attitude{width:100px;height:100px}.attitude>span{bottom:19px;font-size:7px}.attitude-panel>.eyebrow{font-size:7px}.attitude-caption{font-size:6px}.camera-panel{bottom:60px;left:50%;width:max-content}.camera-panel>.eyebrow{font-size:6px;margin-bottom:9px}.camera-panel>p{display:none}.camera-switch button{padding:9px 16px;font-size:9px}.controls-bar{height:42px;left:23px;right:23px;gap:13px;justify-content:center}.controls-bar kbd{font-size:6px;min-width:16px;height:17px;padding:2px}.control-pair>span{font-size:7px;margin-left:2px}.control-pair{gap:2px}.controls-bar .throttle-controls kbd{font-size:5px}.controls-bar .control-pair:nth-of-type(6){display:none}#hide-hud{display:none}.warning{font-size:8px;top:25%;letter-spacing:1px}.pitch-ladder{width:160px;opacity:.2}}@media(max-height:650px){.topbar{height:70px}.location{top:90px}.flight-status{top:93px}.compass{top:88px}.location p{font-size:15px}.aircraft-info{bottom:88px}.aircraft-info h1{font-size:36px}.aircraft-data{display:none}.engine-row{margin-top:13px}.camera-panel{bottom:90px}.attitude-panel{bottom:90px;width:100px}.attitude{width:100px;height:100px}.attitude>span{bottom:20px;font-size:7px}.tape-body{height:120px}.tick-list{height:120px;top:-30px}.tape-number{top:36px}.controls-bar{height:50px}.flight-instruments{top:30%;bottom:33%}.location>span{display:none}}@media(pointer:coarse){.touch-controls{display:flex;position:absolute;left:24px;right:24px;bottom:165px;justify-content:space-between;align-items:center}.touch-controls>div:first-child{display:grid;grid-template-columns:repeat(3,38px);gap:5px}.touch-controls>div:last-child{display:flex;flex-direction:column;gap:7px}.touch-controls button{touch-action:none;background:#19353875;border:1px solid #dce4bd50;width:38px;height:35px;font-size:15px;border-radius:4px}.touch-controls>div:last-child button{width:61px;font:8px var(--mono)}.touch-controls button.pressed{background:#dce4bd;color:#193538}.aircraft-info{bottom:290px}.aircraft-info .aircraft-data,.aircraft-subtitle{display:none}.attitude-panel{bottom:275px}.controls-bar{display:none}.camera-panel{bottom:60px}.location p{display:none}}@media(max-width:800px)and (pointer:coarse){.touch-controls{bottom:235px}.aircraft-info{bottom:142px;width:calc(100% - 50px)}.aircraft-info>.eyebrow{display:none}.aircraft-info h1{font-size:19px;margin:0 0 6px}.aircraft-info .engine-row{margin-top:5px}.attitude-panel{display:none}.pitch-line.zero{visibility:visible}}.combat-mode .location{display:none}.combat-hud{position:absolute;inset:0;pointer-events:none;font-family:var(--mono);color:var(--hud)}.mission-panel{position:absolute;left:38px;top:138px;width:275px}.mission-panel h2{font:29px Barlow Condensed,sans-serif;letter-spacing:2px;margin:9px 0 5px}.mission-panel p{font:10px DM Sans,sans-serif;color:var(--subtle);margin:0 0 15px}#mission-clock{float:right}#objectives{font-size:10px;line-height:2.1}#objectives .done{color:#b9e3a3}.weapons-panel{position:absolute;top:192px;right:38px;width:245px;padding:17px;border:1px solid var(--line);background:#142e3066;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.weapons-panel .eyebrow{font-size:8px;letter-spacing:1px}#combat-score{float:right}.weapon-buttons{display:flex;gap:6px;margin:14px 0 10px}.weapon-buttons button{flex:1;font:9px var(--mono);padding:10px 5px;background:transparent;border:1px solid var(--line)}.weapon-buttons button.active{background:#dce4bd20;border-color:#dce4bd80}.weapon-buttons kbd{display:block;font-size:8px;margin:0 auto 8px;width:fit-content}.weapon-buttons b{font-size:16px;margin-left:5px}#selected-weapon,#weapon-message{font-size:8px;line-height:1.9}#weapon-message{color:#f0c693;min-height:30px}#cycle-target{border:0;border-top:1px solid var(--line);background:none;width:100%;text-align:left;padding:12px 0;font:9px var(--mono)}#target-info{display:grid;gap:7px;font-size:10px}#target-info span,#target-info small{font-size:9px;color:var(--subtle)}#target-info strong{color:#b9e3a3;letter-spacing:2px;font-size:10px}.world-marker{position:absolute;transform:translate(-50%,-50%);font-size:8px;text-align:center;text-shadow:0 1px 3px #142b2b}.world-marker i{display:block;width:14px;height:14px;margin:0 auto 7px;border:1px solid currentColor;transform:rotate(45deg)}.world-marker span{white-space:nowrap}.ground-marker{color:#f5cca2}.air-marker{color:#dfddbc}.air-marker i{width:25px;height:25px;transform:none;border-style:dashed}.air-marker.selected{color:#c8ffad;z-index:1}.air-marker.selected i{width:60px;height:44px;border:2px solid currentColor;clip-path:polygon(0 0,25% 0,25% 6%,75% 6%,75% 0,100% 0,100% 25%,96% 25%,96% 75%,100% 75%,100% 100%,75% 100%,75% 94%,25% 94%,25% 100%,0 100%,0 75%,4% 75%,4% 25%,0 25%)}.world-marker.offscreen i{width:9px;height:9px;border-width:2px 2px 0 0;transform:rotate(-45deg)}.world-marker.offscreen span:after{content:" / OFFSCREEN";font-size:6px}.bomb-pipper{color:#edf2d1}.bomb-pipper i{width:28px;height:28px;border-radius:50%;transform:none}.bomb-pipper.on-target{color:#b9ff99}#combat-popup{position:absolute;top:29%;left:50%;transform:translate(-50%);font-size:12px;letter-spacing:2px;white-space:nowrap}#hit-marker{position:absolute;left:50%;top:46%;font-size:32px;color:#ffe3b6;transform:translate(-50%,-50%);text-align:center}#hit-marker small{display:block;font-size:9px}.strike-hint{position:absolute;bottom:194px;left:50%;transform:translate(-50%);font-size:9px;text-align:center;line-height:2;white-space:nowrap}.strike-hint span{font-size:8px;color:var(--subtle)}#mission-complete{z-index:5}#mission-complete .pause-card{max-width:530px}@media(max-width:1100px){.mission-panel{width:225px;left:25px}.weapons-panel{width:206px;right:25px}.combat-mode .tape{opacity:.65}}@media(max-width:800px){.mission-panel{top:96px;left:20px;width:200px}.mission-panel h2{font-size:21px;margin:5px 0}.mission-panel p{display:none}#objectives{font-size:8px;line-height:1.8}.combat-mode .compass{top:208px}.combat-mode .flight-status{display:none}.weapons-panel{top:auto;bottom:150px;right:15px;width:167px;padding:10px}.weapons-panel .eyebrow{font-size:6px}.weapon-buttons{margin:8px 0}.weapon-buttons button{font-size:7px;padding:5px 3px}#weapon-message{display:none}#target-info{font-size:8px}#target-info span,#target-info small{font-size:7px}#cycle-target{font-size:7px;padding:8px 0}.combat-mode .aircraft-info{width:155px;bottom:153px}.combat-mode .aircraft-info h1{font-size:26px}.combat-mode .aircraft-data,.combat-mode .attitude-panel,.combat-mode .aircraft-subtitle{display:none}.strike-hint{bottom:113px;font-size:7px}.strike-hint span{font-size:6px}#combat-popup{top:29%;font-size:9px;letter-spacing:0}.world-marker{font-size:7px}}@media(pointer:coarse)and (max-width:800px){.combat-mode .touch-controls{bottom:360px}.combat-mode .aircraft-info{bottom:170px;width:140px}}@media(max-height:650px)and (min-width:801px){.mission-panel{top:90px}.weapons-panel{top:112px}.strike-hint{bottom:160px}}.combat-mode .camera-panel>.eyebrow{display:none}.world-marker.distant span{display:none}.world-marker.distant i{width:8px;height:8px;opacity:.5}@media(min-width:801px){.strike-hint{bottom:218px}}.main-menu{position:fixed;inset:0;z-index:5;padding:32px 4.4vw 20px;display:flex;flex-direction:column;background:linear-gradient(90deg,#0b151de8 0%,#0b151d8c 31%,transparent 64%),linear-gradient(0deg,#09151df5 0%,transparent 68%);transition:opacity .45s,transform .45s}.main-menu.leaving{opacity:0;transform:scale(1.025);pointer-events:none}.menu-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.menu-brand{color:#f3f2df;font:26px var(--mono);text-decoration:none;letter-spacing:6px}.menu-brand span{display:block;padding-left:43px;margin-top:5px;font:8px var(--mono);letter-spacing:3px;color:#839b9f}.menu-status,.menu-version,.menu-footer,.menu-eyebrow,.menu-section-label,.card-top,.aircraft-stats{font-family:var(--mono)}.menu-status,.menu-version{font-size:10px;letter-spacing:1.5px;color:#9baead}.menu-status i{display:inline-block;width:5px;height:5px;background:#d7edb4;border-radius:50%;box-shadow:0 0 12px #d7edb4;margin-right:10px}.menu-intro{margin-top:clamp(35px,7vh,80px);pointer-events:none}.menu-eyebrow{color:#c6d5b0;font-size:10px;letter-spacing:2.6px}.menu-intro h1{font:clamp(70px,8vw,124px)/.9 "Barlow Condensed",sans-serif;letter-spacing:-2px;margin:20px 0}.menu-intro h1 span{color:#d3e6b1}.menu-intro p{font-size:13px;color:#a4b4b8}.preview-caption{position:absolute;top:42%;right:7%;width:190px;pointer-events:none}.preview-caption>span:first-child{font:9px var(--mono);letter-spacing:3px;color:#abc4c5}#preview-name{font:30px Barlow Condensed,sans-serif;margin:9px 0 5px}#preview-tagline{color:#a3b5b8;font-size:11px}.preview-line{display:block;margin-top:19px;height:1px;background:linear-gradient(90deg,#cbe5bd80,transparent)}.menu-bottom{margin-top:auto;display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:end;padding-top:30px}.menu-section-label{display:flex;gap:15px;align-items:center;color:#c9dfb0;font-size:10px;letter-spacing:1.4px;margin-bottom:16px}.menu-section-label span{color:#bac9cb}.menu-section-label small{margin-left:auto;color:#687e87;font-size:8px}.aircraft-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.aircraft-card{text-align:left;padding:21px 22px 22px;border:1px solid #8cacb42b;background:#12232bab;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:3px;transition:border-color .2s,background .2s,transform .2s}.aircraft-card:hover{transform:translateY(-4px);background:#233b42ba;border-color:#93b2b6}.aircraft-card[aria-pressed=true]{border-color:#c4dba0aa;box-shadow:inset 0 2px #d0e4ae,0 0 28px #b5ddb30a;background:linear-gradient(135deg,#35463b9c,#16262dd9)}.card-top{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.8px;color:#9cb0b4}.selection-indicator{font-weight:400;color:#d5e8b8;white-space:nowrap}.aircraft-card h2{font:34px Barlow Condensed,sans-serif;margin:19px 0 20px}.aircraft-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid #aac4c31c;padding-top:17px}.aircraft-stats span{display:block;font-size:7px;letter-spacing:.8px;color:#849da4;margin-bottom:7px}.aircraft-stats b{font-size:10px;font-weight:400;color:#d1d9d8}.launch-panel h2{font:29px Barlow Condensed,sans-serif;text-transform:uppercase;margin:0 0 10px}.launch-panel p{font-size:11px;line-height:1.8;color:#9cafb5;margin:0 0 18px;min-height:58px}.start-button{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #e0edbb;border-radius:2px;padding:17px 22px;background:#d3e4af;color:#17261e;font:14px var(--mono);letter-spacing:3px;transition:background .2s,box-shadow .2s}.mission-choice{display:grid;gap:8px;margin-bottom:14px;color:#a4b4b8;font:10px var(--mono)}.mission-choice select{width:100%;padding:10px;border:1px solid #8cacb450;color:#d3e4af;background:#12232b;font:inherit}.launch-panel #launch-error{color:#ffbe9b;min-height:0}.start-button span{font-size:24px;line-height:20px;transition:transform .2s}.start-button:hover{background:#e9f3cb;box-shadow:0 0 28px #c9e5a928}.start-button:hover span{transform:translate(5px)}.menu-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #a1baba26;padding-top:17px;margin-top:29px;font-size:8px;letter-spacing:1.2px;color:#657d87}.loading-screen{position:fixed;inset:0;z-index:20;background:#0d1a23f2;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:menu-fade .35s ease}.loading-screen h2{font:42px Barlow Condensed,sans-serif;letter-spacing:3px}.loading-track{width:220px;height:2px;background:linear-gradient(90deg,transparent,#d3e4af,transparent);animation:loading-pulse .8s alternate infinite}@keyframes loading-pulse{0%{opacity:.2;transform:scaleX(.3)}to{opacity:1;transform:scaleX(1)}}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}.return-home{display:block;margin:12px auto 0}.fighter-mode{--hud: #bcebdd}.fighter-mode .location,.fighter-mode .attitude-panel,.fighter-mode .aim,.fighter-mode .pitch-ladder,.fighter-mode #bomb-pipper{display:none}.fighter-mode .aircraft-info{bottom:92px}.fighter-mode .aircraft-info h1{font-size:30px}.fighter-mode .mission-panel{border-left:2px solid #a4dcd0;padding-left:18px}.fighter-mode .weapons-panel{width:290px}.fighter-mode .flight-instruments{opacity:.92}.fighter-reticle{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border:1px solid #bcebdd8a;border-radius:50%}.fighter-reticle:before,.fighter-reticle:after{content:"";position:absolute;background:#bcebdd}.fighter-reticle>i{position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(#e7ef90 var(--lock-progress, 0deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 65%,#000 67%);mask:radial-gradient(circle,transparent 65%,#000 67%)}.fighter-reticle:before{width:18px;height:1px;top:30px;left:21px}.fighter-reticle:after{width:1px;height:18px;left:30px;top:21px}.fighter-reticle span{position:absolute;top:75px;left:50%;transform:translate(-50%);white-space:nowrap;font:9px var(--mono);letter-spacing:1.5px;color:#c4e9d9}.fighter-reticle.locked{border-color:#e6ee8c;box-shadow:0 0 16px #e6ee8c30}.fighter-mode .world-marker.air-marker.selected i{border-color:#e7ef90;box-shadow:0 0 12px #e7ef9033;width:44px;height:44px}.fighter-extra{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.fighter-extra button{background:#15353970;border:1px solid #c3ded13b;padding:8px;font:9px var(--mono)}#ground-info{width:100%;font:9px var(--mono);margin-top:5px;color:#d3e4af}.fighter-mode .strike-hint{max-width:560px}.hud-hidden #pause-overlay,.hud-hidden #mission-complete{visibility:visible;opacity:1}@media(max-width:1100px){.main-menu{padding:24px 3vw 18px}.menu-bottom{grid-template-columns:1fr 265px;gap:22px}.aircraft-card{padding:16px 13px}.card-top{flex-direction:column}.aircraft-card h2{font-size:28px;margin:13px 0}.menu-section-label small{display:none}.preview-caption{top:35%;right:4%}}@media(max-width:700px){.main-menu{overflow-y:auto;padding:22px 20px 15px;background:linear-gradient(0deg,#09151d 12%,#09151d5c 80%)}.menu-status,.menu-version,.preview-caption,.menu-footer span:last-child{display:none}.menu-brand{font-size:22px}.menu-intro{margin-top:35px}.menu-intro h1{font-size:68px;margin:15px 0}.menu-intro p{max-width:200px;font-size:11px}.menu-eyebrow{font-size:8px}.menu-bottom{display:block;padding-top:30px}.aircraft-card h2{font-size:25px}.card-top{font-size:7px}.aircraft-stats{grid-template-columns:1fr 1fr;gap:12px;padding-top:12px}.aircraft-stats b{font-size:9px}.launch-panel{margin-top:22px}.launch-panel .menu-section-label{margin-bottom:8px}.launch-panel h2{font-size:25px}.launch-panel p{min-height:0}.menu-footer{font-size:6px;line-height:1.8;margin-top:20px}.fighter-mode .weapons-panel{width:185px}.fighter-mode .aircraft-info{bottom:198px}.fighter-mode .aircraft-info h1{font-size:22px}.fighter-mode .strike-hint{display:none}.fighter-extra button{font-size:8px;padding:5px}}@media(prefers-reduced-motion:reduce){.main-menu,.aircraft-card,.start-button,.start-button span{transition:none}.loading-track,.loading-screen{animation:none}}.scene.mission-enter{animation:mission-enter .65s ease}.campaign-screen{position:fixed;inset:0;z-index:8;overflow:auto;background:linear-gradient(135deg,#0b171ff5,#142a2bf7);padding:32px 4vw}.campaign-header{display:flex;align-items:center;gap:32px;border-bottom:1px solid #aecac526;padding-bottom:24px}.campaign-header h1{font:40px Barlow Condensed,sans-serif;margin:8px 0 0}.credit-balance{margin-left:auto;text-align:right;font-family:var(--mono)}.credit-balance small{display:block;font-size:9px;color:#91abae;letter-spacing:2px}.credit-balance b{display:block;margin-top:8px;color:#d3e4af;font-size:25px}.credit-balance b span{font-size:12px}.campaign-heading{margin:24px 0}.campaign-heading h2,.sortie-brief h2{font:38px Barlow Condensed,sans-serif;margin:0 0 10px}.campaign-heading p,.sortie-brief p{color:#9cb5b8;font-size:12px;line-height:1.8}.mission-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.mission-card{text-align:left;padding:0;overflow:hidden;border:1px solid #a6c5c52c;background:#162930;transition:transform .2s,border-color .2s}.mission-card:hover:not(:disabled){transform:translateY(-5px);border-color:#d3e4af}.mission-card.locked{opacity:.6;cursor:not-allowed}.mission-art{display:flex;justify-content:space-between;align-items:start;height:150px;padding:17px;background:linear-gradient(155deg,#354c62 10%,#a3bc9d60 55%,#34494d 56%,#162930)}.terrain-desert .mission-art,.terrain-canyon .mission-art{background:linear-gradient(155deg,#b06f39,#e0b47766 50%,#825139 51%,#382f2b)}.terrain-snow .mission-art{background:linear-gradient(135deg,#374b68,#b6c9dc 50%,#536677 51%,#192530)}.terrain-city .mission-art{background:repeating-linear-gradient(90deg,transparent 0 18px,#142531 18px 30px),linear-gradient(#18253e,#bc7856)}.terrain-islands .mission-art,.terrain-coastline .mission-art{background:linear-gradient(165deg,#795c80,#eaa58170 49%,#345e67 50%,#1a303f)}.mission-art span{font:8px var(--mono);letter-spacing:1px}.mission-art b{font:36px Barlow Condensed;color:#e0edba}.mission-card-body{padding:18px}.mission-card-body>small{color:#90b0b5;text-transform:uppercase;font:8px var(--mono);line-height:1.7}.mission-card h3{font:29px Barlow Condensed;margin:12px 0}.difficulty{color:#cddcaa;font-size:12px;letter-spacing:3px}.mission-card p{color:#acbec0;font-size:11px;line-height:1.8;min-height:140px}.mission-record{border-top:1px solid #9dbbbb25;padding-top:12px;display:grid;gap:9px}.mission-record span{display:flex;justify-content:space-between;font:8px var(--mono);color:#839fa6}.mission-record b{color:#d4e4d7}.mission-card strong{display:block;margin-top:22px;color:#d3e4af;font:8px var(--mono);line-height:1.8}.campaign-footer{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font:9px var(--mono);color:#77959a}.campaign-footer button{font-size:9px;color:#93a4a8}.loadout-layout{display:grid;grid-template-columns:310px 1fr;gap:40px}.sortie-brief{padding-top:32px}.sortie-brief h2{margin-top:16px}.sortie-brief ul{padding-left:18px;color:#b4c8bf;font-size:12px;line-height:2}.loadout-stats{display:grid;gap:12px;margin:24px 0;padding:20px 0;border-block:1px solid #9dbbbb25}.loadout-stats span{display:flex;justify-content:space-between;font:10px var(--mono);color:#90b0b5}.loadout-stats b{color:#d3e4af}.sortie-brief .loadout-tip{font-size:10px;margin:20px 0}.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.upgrade-card{background:#1b303780;border:1px solid #9dbbbb25;padding:18px}.upgrade-card h3{font:23px Barlow Condensed;margin:0 0 8px}.upgrade-level{color:#d3e4af;font:10px var(--mono)}.upgrade-card p{font-size:11px;line-height:1.7;color:#9cb5b8;min-height:40px}.upgrade-card button{width:100%;padding:12px 6px;background:#d3e4af;color:#17261e;border:1px solid #d3e4af;font:9px var(--mono)}.upgrade-card button:disabled{background:transparent;color:#748b8e;border-color:#9dbbbb25;cursor:not-allowed}.save-warning{color:#efbc87;font-size:12px}@media(max-width:1100px){.mission-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.campaign-screen{padding:20px}.campaign-header{flex-wrap:wrap;gap:12px}.campaign-header h1{font-size:28px}.credit-balance{text-align:left;margin-left:0}.mission-cards{grid-template-columns:1fr}.mission-card p{min-height:0}.mission-art{height:90px}.loadout-layout{grid-template-columns:1fr;gap:12px}.upgrade-grid{grid-template-columns:1fr 1fr}.campaign-footer{flex-wrap:wrap;line-height:2}}@keyframes mission-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.scene.mission-enter{animation:none}}.integrity-panel{position:absolute;left:38px;top:340px;width:230px;padding:14px;background:#112d3280;border:1px solid #bbd6c52e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:9px var(--mono)}.integrity-panel>span{display:flex;justify-content:space-between;letter-spacing:1px}.integrity-track{margin:10px 0;height:5px;background:#ffffff20}.integrity-track i{display:block;height:100%;background:#cce4ab;transition:width .15s}.integrity-panel small{color:#b5cfcc}.critical .integrity-track i{background:#ff916b}.critical .integrity-panel small{color:#ffc496}#boost-button{display:block;width:100%;margin-top:12px;padding:8px;font:9px var(--mono);color:#cce4ab;border:1px solid #cce4ab60;background:#142c34}#boost-button:disabled{opacity:.6}#incoming-warning{position:absolute;top:29%;left:50%;transform:translate(-50%);font:11px var(--mono);letter-spacing:1px;color:#ffbc8c;text-shadow:0 1px 8px #301017}#damage-direction{position:absolute;top:35%;left:50%;width:180px;height:180px;text-align:center;color:#ff9b72;font-size:20px;transform-origin:50% 50%}#damage-flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 35%,#d8412655 75%,#d84126b0)}#radio-message{position:absolute;top:108px;left:50%;transform:translate(-50%);max-width:52%;text-align:center;font:10px/1.8 var(--mono);letter-spacing:.8px;color:#e6e7c7;background:#142934bb;padding:7px 14px}#radio-message:empty{display:none}#boss-panel{position:absolute;top:190px;left:50%;transform:translate(-50%);width:min(460px,38vw);text-align:center;background:#18252eab;padding:12px 16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#boss-name{font:20px Barlow Condensed;letter-spacing:5px}#boss-panel>div{height:6px;background:#fddabb20;margin:8px 0}#boss-health{display:block;height:100%;background:linear-gradient(90deg,#d88d63,#efc78b);transition:width .2s}#boss-phase{font:8px/1.7 var(--mono);color:#e9cdaa}#friendly-status{position:absolute;top:282px;left:38px;width:245px;font:9px/1.8 var(--mono);color:#9ae4d0}.objective-pending{opacity:.5}.navigation-marker{color:#bde7c3}.navigation-marker i{width:28px;height:28px;border:2px solid #bde7c3;border-radius:50%}.target-lead{position:absolute;width:13px;height:13px;border:1px dashed #e2e9a0;border-radius:50%;transform:translate(-50%,-50%)}.friendly-marker{color:#a0efdc}.friendly-marker i{width:22px;height:22px;border:2px solid #a0efdc;transform:rotate(45deg)}.world-marker.shielded{opacity:.45}.world-marker.shielded span:after{content:" / SHIELDED"}.campaign-mode #mission-complete .pause-card{width:min(520px,94vw);max-height:92vh;overflow:auto}.result-rank{font:85px/.95 Barlow Condensed;color:#d3e4af;margin:16px 0}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 0;border-block:1px solid #d3e4af25;text-align:left}.result-grid span{font:8px var(--mono);color:#9cb6b7}.result-grid b{display:block;font:19px Barlow Condensed;color:#e3ead4;margin-top:7px}.result-credits{font:26px Barlow Condensed;color:#d3e4af;margin:20px 0}.result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 24px}.result-actions .primary-button{flex-basis:100%}.campaign-mode .mission-panel{max-width:275px}.campaign-mode .mission-panel h2{font-size:24px}.campaign-mode #objectives{font-size:10px}@media(max-width:800px){.integrity-panel{left:20px;top:285px;width:150px;padding:9px;font-size:7px}#radio-message{top:82px;max-width:75%;font-size:7px}#incoming-warning{top:42%;font-size:8px;width:85%;text-align:center}#boss-panel{top:196px;left:auto;right:14px;transform:none;width:175px;padding:8px}#boss-name{font-size:17px;letter-spacing:2px}#boss-phase{font-size:6px}#friendly-status{top:240px;left:20px;font-size:7px;width:155px}.campaign-mode .mission-panel{max-width:270px;top:118px}.campaign-mode .mission-panel h2{font-size:19px}.campaign-mode #objectives{font-size:8px}.result-grid{gap:12px}}.campaign-screen{background:linear-gradient(135deg,#0b171f,#142a2b)}.campaign-header>.text-button{margin:0;flex-shrink:0}.campaign-footer>.text-button{margin:0}
