:root{--paper:#f3f4ec;--ink:#182622;--muted:#748078;--line:#daddd1;--lime:#d7f275;--orange:#e99666;--deck:#20302a;--mono:'Courier New',monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans)}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d87946;outline-offset:4px}button:disabled{opacity:.35;cursor:default}button[hidden],[hidden]{display:none!important}a{color:inherit;text-decoration:none}.app{max-width:1280px;margin:auto;padding:0 48px}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:900;letter-spacing:-.6px}.brand svg{height:29px;width:29px;transform:rotate(30deg)}.brand-dot{color:#829541}.header-actions{display:flex;align-items:center;gap:10px}.connection{font:10px var(--mono);letter-spacing:1px;margin-right:15px;display:flex;align-items:center;gap:7px}.connection i,.live-dot{width:6px;height:6px;background:#879f58;display:inline-block}.icon-button{height:34px;min-width:34px;border:1px solid var(--line);border-radius:6px;background:transparent;font-family:var(--mono);font-size:17px}.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;vertical-align:middle}.install{font:11px var(--mono);padding:0 10px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:35px 0 27px}.eyebrow{font:10px var(--mono);letter-spacing:1.5px;margin:0 0 12px;color:#69746b}h1{font-size:42px;line-height:1.05;letter-spacing:-1.7px;margin:0;font-weight:800}h1 span{color:#819648}.intro-copy{font-size:12px;line-height:1.8;color:#69746b;margin:0 0 2px}.flight-deck{background:var(--deck);border-radius:12px;overflow:hidden;border:1px solid var(--deck)}.deck-header{height:51px;padding:0 18px;display:flex;align-items:center;gap:8px;color:#b7c2b5}.approach-label{font:9px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:7px;flex:1}.live-dot{background:var(--lime)}.airports{display:flex;gap:4px;margin-right:14px}.airport{border:none;background:transparent;color:#819589;font:10px var(--mono);padding:9px 12px;border-radius:4px;white-space:nowrap}.airport span{margin-left:7px}.airport.active{background:#3c4c39;color:var(--lime)}.deck-button{color:#b7c2b5;background:transparent;border:1px solid #4a5b4c;border-radius:4px;height:26px;width:28px;font-size:18px;line-height:1}.scene{height:405px;position:relative;overflow:hidden;background:#c6dcd0}canvas{height:100%;width:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.scene-top{position:absolute;top:19px;left:23px;right:23px;display:flex;justify-content:space-between;color:#486a60;font:bold 10px var(--mono);letter-spacing:1px;pointer-events:none}.scene-callout{position:absolute;left:23px;bottom:65px;display:flex;gap:9px;align-items:center;color:#f1f4dc;font:10px var(--mono);pointer-events:none;background:#20362acb;padding:8px 10px}.crosshair{color:var(--lime);font-size:18px}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#9db8a524,transparent);display:flex;align-items:center;padding:30px}.overlay.is-hidden{display:none}.launch-card{width:335px;background:#f3f4eefa;border:1px solid #f5f6e9;border-radius:8px;padding:25px;box-shadow:5px 6px 0 #3d615928}.card-tag{font:9px var(--mono);letter-spacing:1.1px;color:#7c896b}h2{font-size:28px;line-height:1.05;letter-spacing:-1px;margin:13px 0 14px}.launch-card p{font-size:12px;line-height:1.65;color:#687565;margin:0}.landing-targets{display:flex;gap:18px;border-top:1px solid #d9dfce;padding-top:13px;margin:16px 0 18px}.landing-targets span{font:8px var(--mono);color:#7b846f}.landing-targets b{font-size:19px;display:block;color:var(--ink);margin-bottom:5px;font-weight:normal}.primary{border:0;border-radius:4px;background:var(--lime);color:var(--ink);padding:14px 16px;text-align:left;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px;font-weight:bold;box-shadow:0 2px 0 #bed05e}.primary span{font-size:20px;line-height:1}.primary:hover{background:#e0fb84}.start-note{display:block;text-align:center;font:8px var(--mono);color:#7e8977;margin-top:13px;letter-spacing:.5px}.route-strip{position:absolute;bottom:0;left:0;right:0;height:40px;background:#1c3023c7;display:flex;align-items:center;gap:14px;padding:0 23px;font:8px var(--mono);letter-spacing:.8px;color:#a9bea0}.route-track{height:2px;background:#667d61;flex:1;position:relative}.route-runway{position:absolute;width:37%;height:5px;right:0;background:#c3d0ad;top:-2px}.route-plane{position:absolute;color:var(--lime);font-size:21px;line-height:20px;top:-9px;left:6%;transform:translateX(-50%)}.instruments{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 26px 19px;color:#e6ebdd;gap:29px}.instrument{border-right:1px solid #3d4d40;padding-right:29px}.instrument:last-child{border:0;padding-right:0}.instrument-label{display:flex;justify-content:space-between;color:#9cad9a;font:9px var(--mono);letter-spacing:1px}.instrument-label>span{letter-spacing:0;font-size:8px;color:#637c66}.readout{display:flex;align-items:baseline;gap:8px;margin:8px 0 9px}.readout b{font:29px var(--mono);letter-spacing:-1px;line-height:1}.readout>span{font:9px var(--mono);color:#849780}.meter{height:4px;position:relative;background:#465640;overflow:hidden}.meter i{display:block;height:100%;width:75%;background:var(--orange);transition:width .1s}.meter .safe-range{position:absolute;left:30.5%;width:27.8%;background:#d7f275;opacity:.55;height:100%;top:0}.instrument:nth-child(2) .meter i,.instrument:nth-child(4) .meter i{background:#a3b794}.sink-scale{position:relative;height:4px;display:flex;justify-content:space-between;background:linear-gradient(90deg,#c48d68 0 33%,#6d8351 33% 66%,#485d43 66% 100%)}.sink-scale>span{font:7px var(--mono);transform:translateY(7px);color:#7a9274}.sink-scale i{position:absolute;left:41%;top:-3px;width:2px;height:10px;background:#e1f18b;transition:left .1s}.flight-advice{min-height:43px;background:#182622;display:flex;align-items:center;padding:10px 24px;gap:10px;color:#bccdb0}.flight-advice>span:first-child{color:var(--lime);font-size:17px}.flight-advice p{margin:0;font-size:11px;line-height:1.4;flex:1}.flight-advice>span:last-child{font:9px var(--mono);letter-spacing:.3px;color:#81977a;white-space:nowrap}.controls-panel{display:grid;grid-template-columns:1fr 1fr .85fr;gap:26px;padding:24px 0 22px}.group-heading{font:bold 9px var(--mono);letter-spacing:1px;margin-bottom:10px;display:flex;align-items:center;gap:8px}.group-heading>span{color:#9ca78b;font-weight:normal}.group-heading small{font:8px var(--mono);letter-spacing:.3px;margin-left:auto;color:#929b8b}.control-buttons{display:flex;gap:8px}.control{min-height:53px;flex:1;border:1px solid #d4dacb;border-bottom:3px solid #ced5c5;background:#e8ecdf;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:bold;color:#34462f;touch-action:none;user-select:none;-webkit-user-select:none}.control-icon{font:22px var(--mono);font-weight:normal}.control kbd{font:9px var(--mono);color:#8b9781;margin-left:3px}.control:hover{background:#e1e8d4}.control.held,.control:active{border-bottom-width:1px;background:#d7e6b7;transform:translateY(2px)}.brake{width:100%;background:#e8e2d5;border-color:#d7cdbb;color:#7c6444}.brake:hover{background:#e5d9c5}.brake.held{background:#edc49b;border-color:#c99566}.brake-icon{font:23px var(--mono)}.flight-school{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;gap:15px}.school-label{font:9px var(--mono);color:#7c8874;letter-spacing:.8px}.flight-school p{font-size:10px;margin:0;color:#7c8874}.flight-school b{color:#32472e;margin-right:5px}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0 27px;color:#9aa58f;font:8px var(--mono);letter-spacing:.3px}.footer-plane{font-size:15px;padding-left:7px;color:#677c50}dialog{background:var(--paper);border:1px solid #a6b194;border-radius:10px;width:min(490px,calc(100% - 28px));padding:26px;color:var(--ink);box-shadow:10px 10px 0 #18262233}dialog::backdrop{background:#18262299}.help-heading{display:flex;align-items:center;justify-content:space-between}.help-heading .eyebrow{margin:0}dialog h2{font-size:30px}dialog ol{padding-left:21px}dialog li,dialog p{font-size:13px;line-height:1.7}dialog li{margin-bottom:10px}dialog .help-secondary{font:11px/1.8 var(--mono);color:#718165;margin:20px 0}.is-warning{color:#edab80!important}.is-safe{color:#d7f275!important}
@media(min-width:1500px){.app{max-width:1400px}.scene{height:460px}.intro{padding-top:45px}}
@media(max-width:1000px){.app{padding:0 26px}.scene{height:370px}.instrument{padding-right:17px}.instruments{gap:17px}.controls-panel{gap:15px}.control{gap:5px;font-size:10px}.control kbd{font-size:8px}.intro-copy{font-size:11px}.flight-school{flex-wrap:wrap}.school-label{width:100%;margin-bottom:0}footer{font-size:7px}}
@media(max-width:650px){.app{padding:0 14px}.site-header{height:66px}.brand{font-size:17px;gap:8px}.brand svg{width:24px}.connection{display:none}.header-actions{gap:6px}.icon-button{height:31px;min-width:31px}.intro{padding:23px 0 20px}.eyebrow{font-size:8px;letter-spacing:.8px;margin-bottom:9px}h1{font-size:31px;letter-spacing:-1px}.intro-copy{display:none}.deck-header{padding:0 10px;height:43px;gap:5px}.approach-label{display:none}.airports{flex:1;margin-right:0;gap:1px}.airport{padding:8px 7px;font-size:8px}.airport span{margin-left:4px}.deck-button{width:25px;height:24px;font-size:17px}.scene{height:270px}canvas{object-fit:cover}.scene-top{left:13px;right:13px;top:12px;font-size:8px}.overlay{padding:12px;justify-content:center;background:#47675b22}.launch-card{padding:18px;width:280px}.card-tag{font-size:8px}h2{font-size:23px;margin:10px 0}.launch-card p{font-size:11px;line-height:1.5}.landing-targets{margin:11px 0 13px;padding-top:9px}.landing-targets b{font-size:17px}.primary{padding:12px}.start-note{font-size:7px;margin-top:10px}.scene-callout{left:12px;bottom:45px;font-size:8px;padding:6px 8px}.route-strip{height:30px;padding:0 12px;font-size:6px;gap:9px}.instruments{grid-template-columns:repeat(4,minmax(0,1fr));padding:16px 12px 19px;gap:10px}.instrument{padding-right:10px}.instrument-label{font-size:7px;letter-spacing:0}.instrument-label>span{display:none}.readout{gap:4px;margin-top:8px;margin-bottom:9px}.readout b{font-size:22px}.readout>span{font-size:7px}.flight-advice{padding:9px 12px;gap:7px;min-height:47px}.flight-advice p{font-size:10px}.flight-advice>span:last-child{display:none}.controls-panel{grid-template-columns:1fr 1fr;gap:15px 12px;padding:18px 0}.brake-group{grid-column:1/-1}.group-heading{font-size:8px;letter-spacing:.5px;margin-bottom:7px}.group-heading small{font-size:6px;letter-spacing:0}.control{min-height:53px;font-size:10px;gap:6px}.control-icon{font-size:19px}.control kbd{display:none}.brake{min-height:45px}.brake-group .group-heading{margin-bottom:6px}.flight-school{padding:14px 0;gap:9px}.school-label{font-size:8px}.flight-school p{font-size:9px;width:100%}footer{padding-top:16px;flex-wrap:wrap;gap:10px}footer>span:last-child{display:none}}
@media(max-height:560px) and (orientation:landscape){.site-header{height:45px}.intro,.flight-school,footer{display:none}.flight-deck{margin-top:10px}.scene{height:220px}.deck-header{height:36px}.instruments{padding:10px 20px}.readout b{font-size:21px}.readout{margin:5px 0}.flight-advice{min-height:32px;padding:5px 20px}.controls-panel{padding:12px 0;grid-template-columns:1fr 1fr .8fr;gap:12px}.brake-group{grid-column:auto}.control{min-height:44px}.group-heading{margin-bottom:5px}.group-heading small{display:none}.launch-card{padding:15px;width:320px}.launch-card p{font-size:10px}.landing-targets{display:none}.start-note{display:none}h2{margin:8px 0}.primary{margin-top:12px;padding:10px}}
@media(prefers-reduced-motion:reduce){.meter i,.sink-scale i{transition:none}}

.fleet-line{margin-bottom:17px}.fleet-label{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.8px;color:#4c6043;margin-bottom:9px}.fleet-label>span{font-size:8px;color:#8a9681}#fleet{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}#fleet li{display:flex;align-items:center;gap:9px;background:#e9ece0;border:1px solid #e1e5d7;border-radius:4px;padding:10px 13px;font:bold 10px var(--mono);color:#9aa38e}#fleet li>span{font-size:8px;font-weight:normal;color:#a5af99}#fleet li>b{margin-left:auto;font-size:15px;font-weight:normal}#fleet li.current{background:#dce8bd;border-color:#c4d398;color:#344a29}#fleet li.completed{background:#e6edda;color:#778d59}#fleet li.completed>b{color:#718e48}.overlay{justify-content:flex-end}.overlay.crash-overlay{background:#5e2d2520}.crash-overlay .landing-targets b{color:#a64f32}.crash-overlay .primary{background:#f0be8b;box-shadow:0 2px 0 #d2a576}.damage-detail{font:9px/1.7 var(--mono)!important;background:#eee7d9;padding:8px!important;margin:0 0 13px!important;color:#927351!important}.flight-log{margin-top:28px;padding:23px 25px;border:1px solid #d9dfd1;border-radius:8px;background:#ecefe4}.log-heading{display:flex;justify-content:space-between;align-items:center}.log-heading .eyebrow{font-size:8px;margin-bottom:7px}.log-heading h2{font-size:23px;margin:0;letter-spacing:-.5px}.log-heading>span{font:8px var(--mono);color:#8b977f}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:23px}.stat-grid>div{border-right:1px solid #d8dfce}.stat-grid>div:last-child{border:none}.stat-grid span{font:8px var(--mono);color:#839177;display:block;letter-spacing:.3px}.stat-grid b{font:27px var(--mono);margin-top:9px;display:block;color:#4b6241}.stat-grid .loss-stat b{color:#ab7858}.log-foot{display:flex;justify-content:space-between;gap:10px;font:8px var(--mono);color:#93a082;margin-top:19px;border-top:1px solid #d8dfce;padding-top:14px}.scene-top>span:nth-child(2){color:#597965;font-size:9px}.scene-callout.crash-hint{color:#ffc797;background:#643829e6}
@media(max-width:650px){.fleet-line{margin-bottom:12px}.fleet-label{font-size:8px;letter-spacing:0}.fleet-label>span{font-size:6px}#fleet li{padding:8px 5px;justify-content:center;gap:4px;font-size:7px}#fleet li>span{font-size:6px}#fleet li>b{display:none}.overlay{justify-content:center}.scene-top>span:nth-child(2){font-size:7px}.scene-top>span:first-child{font-size:7px}.scene-top>span:last-child{font-size:7px}.flight-log{padding:17px 15px;margin-top:19px}.log-heading h2{font-size:20px}.log-heading>span{font-size:6px;max-width:75px;text-align:right;line-height:1.5}.stat-grid{grid-template-columns:repeat(3,1fr);row-gap:20px;margin-top:20px;gap:17px 10px}.stat-grid>div:nth-child(3){border:none}.stat-grid span{font-size:6px}.stat-grid b{font-size:22px}.log-foot{font-size:6px;flex-wrap:wrap;gap:8px}.log-foot span{width:45%}.damage-detail{font-size:8px!important;padding:6px!important;margin-bottom:8px!important}.crash-overlay .launch-card{padding:14px}.crash-overlay h2{font-size:21px}.crash-overlay .launch-card p{font-size:10px}.crash-overlay .landing-targets{margin:8px 0}.crash-overlay .start-note{margin-top:8px;font-size:6px}}
@media(max-height:560px) and (orientation:landscape){.fleet-line,.flight-log{display:none}.crash-overlay .damage-detail{display:none}.crash-overlay .landing-targets{display:flex;padding:5px 0;margin:7px 0}.crash-overlay .landing-targets b{font-size:16px}.crash-overlay .launch-card p{font-size:9px}.crash-overlay .primary{margin-top:6px}.crash-overlay .launch-card{padding:12px}.crash-overlay h2{font-size:20px}}
@media(max-width:650px) and (orientation:portrait){body.flight-active .intro,body.flight-active .fleet-line{display:none}body.flight-active .flight-deck{margin-top:12px}.scene.report-open{height:330px}body.flight-active .flight-school{display:none}}
@media(max-height:560px) and (orientation:landscape){.app{padding:0 20px}.site-header{height:31px}.brand{font-size:14px}.brand svg{width:20px;height:20px}.icon-button{height:25px;min-width:25px;font-size:14px}.flight-deck{margin-top:7px}.deck-header{height:30px}.scene{height:167px}.scene-top{top:8px;left:14px;right:14px;font-size:8px}.scene-top>span:nth-child(2){font-size:8px}.scene-callout{left:14px;bottom:38px;font-size:8px;padding:4px 8px}.route-strip{height:27px;font-size:7px}.instruments{padding:7px 17px 12px}.instrument-label{font-size:8px}.readout{margin:4px 0 6px}.readout b{font-size:18px}.flight-advice{min-height:25px;padding:4px 17px}.flight-advice p{font-size:10px}.controls-panel{padding:9px 0;gap:12px}.group-heading{font-size:8px;margin-bottom:5px}.control{min-height:39px;font-size:10px}.overlay{padding:8px}.launch-card{padding:10px 14px;width:315px}.card-tag{font-size:7px}.launch-card h2{font-size:20px;margin:7px 0}.launch-card p{font-size:9px;line-height:1.5}.launch-card .primary{padding:9px 12px;font-size:10px;margin-top:9px}.crash-overlay .launch-card{padding:9px 12px}.crash-overlay .landing-targets{padding:5px 0;margin:6px 0}.crash-overlay .landing-targets b{font-size:15px}.crash-overlay .landing-targets span{font-size:6px}.crash-overlay .primary{margin-top:6px}}
@media(max-height:375px) and (orientation:landscape){.scene{height:139px}.site-header{height:28px}.flight-advice{display:none}.crash-overlay .launch-card h2{font-size:18px;margin:5px 0}.launch-card .primary{padding:8px 12px}}
body{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.boot-status{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:20px;background:#cfdfd3}.boot-card{width:min(360px,100%);padding:24px;background:var(--paper);border-radius:8px;box-shadow:5px 6px 0 #3d615928}.boot-card strong{font-size:23px;letter-spacing:-.6px}.boot-card p{font-size:13px;line-height:1.6;color:#687565;margin:12px 0 0}.boot-card button{margin-top:18px}
@media(max-height:560px) and (orientation:landscape){.control{min-height:44px}.scene{height:clamp(115px,calc(100dvh - 228px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)),162px)}}
@media(max-height:375px) and (orientation:landscape){.scene{height:clamp(110px,calc(100dvh - 209px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)),134px)}}
.controls-panel{grid-template-columns:1fr 1fr .85fr .85fr;gap:18px}.gear{width:100%;background:#e4e7dc}.gear-icon{font:22px var(--mono)}.gear-text{display:flex;flex-direction:column;gap:3px}.gear-text small{font:8px var(--mono);color:#8a7458;letter-spacing:.3px}.gear.gear-down{background:#dcebbd;border-color:#bdd394}.gear.gear-down small{color:#53753e}.gear.gear-warning{background:#edcfad;border-color:#d49b68}.gear.gear-warning small{color:#8c502f}
@media(max-width:1000px){.controls-panel{gap:12px}.control{gap:5px}.group-heading small{display:none}}
@media(max-width:650px) and (orientation:portrait){.controls-panel{grid-template-columns:1fr 1fr;gap:14px 12px}.brake-group{grid-column:auto}.brake,.gear{min-height:53px}.gear-text small{font-size:7px}.gear-icon{font-size:19px}}
@media(max-height:560px) and (orientation:landscape){.controls-panel{grid-template-columns:1fr 1fr .85fr .85fr;gap:9px}.control{font-size:9px;gap:4px;min-height:44px}.control kbd{display:none}.control-icon,.gear-icon{font-size:17px}.gear-text small{font-size:6px}.group-heading{font-size:7px;letter-spacing:0}}
.scene-callout{top:43px;bottom:auto;max-width:calc(100% - 26px);line-height:1.4}
@media(max-width:650px){.scene-callout{top:31px}}
@media(max-height:560px) and (orientation:landscape){.scene-callout{top:28px}}
.night-scene{background:#121d32}.night-scene .scene-top>span{color:#bacbde}.night-scene .scene-top>span:nth-child(2){color:#d6e5ba}.night-scene .scene-callout{background:#0e1b2be8;color:#d9e8c8}.night-scene .scene-callout.crash-hint{background:#5b332ae8;color:#ffca9c}.night-scene .route-strip{background:#111b2bdf;color:#aec4bd}.night-scene .route-track{background:#46546b}.night-scene .route-runway{background:#aed7ba}.night-scene .overlay{background:linear-gradient(90deg,#0b172322,transparent)}
@media(max-width:650px){.deck-header{height:46px}.airports{min-width:0;gap:0}.airport{font-size:0;padding:4px 5px;min-height:42px}.airport span{font-size:8px;margin-left:0}}
@media(max-height:560px) and (orientation:landscape){.deck-header{height:30px}.airport{min-height:26px;padding-top:4px;padding-bottom:4px}}

.fullscreen-button{display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;font:10px var(--mono);white-space:nowrap}
.fullscreen-button[aria-pressed="true"]{background:#dce8bd;border-color:#bdce99}
#fullscreen-dialog{max-height:calc(100dvh - 28px);overflow:auto}
.install-instructions{padding:2px 15px;background:#e8eddf;border:1px solid #d9e1cd;border-radius:6px}
.install-instructions p{font-size:12px;line-height:1.6}
#fullscreen-install{margin-bottom:12px}
@media(max-width:650px){.header-actions{gap:6px}.fullscreen-button{height:38px;padding:0 8px}.header-actions .install{display:none}.brand{gap:7px}}

/* Let the runway take the remaining screen space in fullscreen and installed apps. */
body.immersive-mode{overflow:hidden;overscroll-behavior:none}
body.immersive-mode .app{height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-width:none;padding:0 18px;display:flex;flex-direction:column}
body.immersive-mode .site-header{height:52px;flex-shrink:0;border-bottom:0}
body.immersive-mode main{display:flex;flex-direction:column;flex:1;min-height:0}
body.immersive-mode .intro,body.immersive-mode .fleet-line,body.immersive-mode .flight-school,body.immersive-mode .flight-log,body.immersive-mode footer{display:none}
body.immersive-mode .flight-deck{margin-top:0;display:flex;flex-direction:column;flex:1;min-height:0}
body.immersive-mode .deck-header,body.immersive-mode .instruments,body.immersive-mode .flight-advice{flex-shrink:0}
body.immersive-mode .scene,body.immersive-mode .scene.report-open{height:auto;min-height:0;flex:1}
body.immersive-mode .controls-panel{flex-shrink:0;padding:12px 0}
body.immersive-mode .overlay{overflow:auto;align-items:flex-start}
body.immersive-mode .launch-card{margin-block:auto}
@media(max-width:650px) and (orientation:portrait){
  body.immersive-mode .app{padding:0 12px}
  body.immersive-mode .site-header{height:52px}
  body.immersive-mode .controls-panel{padding:12px 0;gap:11px 12px}
  body.immersive-mode .instruments{padding:12px 12px 16px}
  body.immersive-mode .flight-advice{min-height:37px;padding:6px 12px}
  body.immersive-mode .overlay{padding:10px}
  body.immersive-mode .launch-card{max-width:100%;padding:17px 20px}
  body.immersive-mode .launch-card h2{font-size:25px;margin:9px 0}
  body.immersive-mode .launch-card p{font-size:11px}
  body.immersive-mode .landing-targets{margin:12px 0}
}
@media(max-height:560px) and (orientation:landscape){
  .fullscreen-button{height:27px;font-size:9px}
  body.immersive-mode .site-header{height:35px}
  body.immersive-mode .controls-panel{padding:8px 0}
  body.immersive-mode .instruments{padding:6px 17px 11px}
  body.immersive-mode .flight-advice{min-height:25px;padding:4px 17px}
  body.immersive-mode .icon-button{height:29px;min-width:29px}
}
@media(max-width:350px){.fullscreen-button{padding:0 7px}.fullscreen-button span{display:none}}
@media(max-height:760px) and (max-width:650px) and (orientation:portrait){
  body.immersive-mode .launch-card{padding:12px 16px}
  body.immersive-mode .launch-card h2{font-size:22px;margin:7px 0}
  body.immersive-mode .launch-card p{font-size:10px}
  body.immersive-mode .landing-targets{margin:9px 0;padding-top:9px}
  body.immersive-mode .start-note{display:none}
}
/* Short screens retain scrolling so the controls and flight report remain reachable. */
@media(max-height:600px) and (orientation:portrait){body.immersive-mode .launch-card{padding:8px 12px}body.immersive-mode .launch-card h2{font-size:20px;margin:6px 0}body.immersive-mode .launch-card p{font-size:9px}body.immersive-mode .landing-targets{display:none}}
@media(max-height:480px) and (orientation:portrait){body.immersive-mode{overflow:auto}body.immersive-mode .app{min-height:580px}body.immersive-mode .scene{min-height:200px}}
@media(max-height:300px) and (orientation:landscape){body.immersive-mode{overflow:auto}body.immersive-mode .app{min-height:320px}body.immersive-mode .scene{min-height:110px}}
