.landing-simulator-shell{max-width:1500px}
.landing-hero{background:linear-gradient(135deg,#0b3049,#17647d);color:#fff}
.landing-hero .eyebrow,.landing-hero .lede{color:#def5fb}
.landing-game-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start;margin:16px 0}
.landing-stage-card{overflow:hidden;padding:0}
.landing-stage-shell{position:relative}
.landing-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid #b9ced6;background:#edf6f8}
.landing-stage-toolbar small{color:#56727e;font-size:.65rem;font-weight:900;letter-spacing:.1em}
.landing-stage-toolbar h2{margin:2px 0 0;color:#163f53;font-size:1.1rem}
.landing-toolbar-stats{display:flex;gap:8px}
.landing-toolbar-stats span{min-width:100px;padding:5px 8px;border:1px solid #c5d7dd;border-radius:7px;background:#fff;text-align:center}
.landing-toolbar-stats small,.landing-toolbar-stats strong{display:block}
.landing-toolbar-stats small{font-size:.55rem;color:#6a7d85;font-weight:900;letter-spacing:.08em}
.landing-toolbar-stats strong{margin-top:2px;color:#0f607b;font-size:.78rem}
.landing-stage{position:relative;height:min(66vh,640px);min-height:500px;overflow:hidden;isolation:isolate;background:linear-gradient(#bfe2f2 0 48%,#779062 48%)}
.landing-stage canvas{position:relative;z-index:1;display:block;width:100%;height:100%;touch-action:none}
.landing-stage canvas:focus-visible{outline:4px solid #ffc44b;outline-offset:-4px}
.landing-swipe-cue{display:none}
.landing-webgl-error{position:absolute;z-index:10;inset:0;display:grid;place-content:center;gap:4px;padding:24px;background:#193d4c;color:#fff;text-align:center}
.landing-webgl-error[hidden]{display:none}
.landing-annunciators{position:absolute;z-index:4;top:10px;left:50%;display:grid;justify-items:center;gap:2px;max-width:52%;padding:7px 13px;border:1px solid #8da7b0;border-radius:7px;background:rgba(5,31,43,.84);color:#fff;transform:translateX(-50%);pointer-events:none}
.landing-annunciators strong{font-size:.75rem;letter-spacing:.11em}
.landing-annunciators span{font-size:.62rem;color:#d4e9ef}
.landing-stage.is-warning .landing-annunciators{border-color:#ffc44b;background:rgba(105,66,5,.92)}
.landing-stage.is-danger .landing-annunciators{border-color:#ff6a59;background:rgba(116,26,18,.94)}
.landing-papi{position:absolute;z-index:4;top:10px;right:10px;display:grid;grid-template-columns:repeat(4,13px);gap:3px;align-items:center;padding:7px 8px;border-radius:7px;background:rgba(5,31,43,.82);color:#fff;pointer-events:none}
.landing-papi span{width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff}
.landing-papi span.is-red{background:#f33;box-shadow:0 0 7px #f33}
.landing-papi strong{grid-column:1/-1;margin-top:2px;font-size:.53rem;text-align:center;letter-spacing:.06em}
.landing-instruments{position:absolute;z-index:4;top:10px;left:10px;display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:5px;max-width:230px;pointer-events:none}
.landing-instruments article{padding:6px 8px;border:1px solid #829aa4;border-radius:6px;background:rgba(4,29,40,.86);color:#fff}
.landing-instruments small,.landing-instruments strong,.landing-instruments span{display:block}
.landing-instruments small{font-size:.5rem;color:#bad9e4;font-weight:900;letter-spacing:.08em}
.landing-instruments strong{margin-top:1px;font-size:1rem}
.landing-instruments span{font-size:.49rem;color:#d2e5eb}
.landing-runway-status{position:absolute;z-index:4;left:50%;bottom:33px;display:flex;gap:4px;width:min(620px,78%);transform:translateX(-50%);pointer-events:none}
.landing-runway-status span{flex:1;min-width:0;padding:6px 8px;border-radius:6px;background:rgba(4,29,40,.82);color:#fff;text-align:center}
.landing-runway-status small,.landing-runway-status strong{display:block}
.landing-runway-status small{font-size:.48rem;color:#bad9e4;font-weight:900;letter-spacing:.07em}
.landing-runway-status strong{margin-top:2px;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.landing-view-label{position:absolute;z-index:4;right:9px;bottom:8px;color:#fff;font-size:.54rem;font-weight:900;letter-spacing:.06em;text-shadow:0 1px 3px #000;pointer-events:none}
.landing-result-overlay{position:absolute;z-index:8;inset:0;display:grid;place-content:center end;padding:20px;background:linear-gradient(90deg,rgba(7,25,34,.08) 0 52%,rgba(7,25,34,.56) 100%);pointer-events:none}
.landing-result-overlay[hidden]{display:none}
.landing-result-panel{width:min(390px,38vw);padding:19px;border:1px solid #b5ccd5;border-radius:13px;background:rgba(255,255,255,.97);color:#173d4d;text-align:left;box-shadow:0 18px 60px #071a24aa;pointer-events:auto}
.landing-result-panel h2{margin:.25rem 0 .45rem}
.landing-result-panel p{margin:.35rem auto;color:#546a73}
.landing-result-panel dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}
.landing-result-panel dl div{padding:8px;border-radius:7px;background:#edf5f7}
.landing-result-panel dt{font-size:.55rem;color:#647982;font-weight:850;letter-spacing:.05em}
.landing-result-panel dd{margin:2px 0 0;font-weight:900}
.landing-result-panel button{width:100%;min-width:180px}
.landing-stall-border{position:absolute;z-index:6;inset:6px;border:5px solid transparent;border-radius:8px;pointer-events:none}
.landing-stage.is-stalling .landing-stall-border{border-color:#ffcf33;animation:landingStallPulse .55s ease-in-out infinite}
.landing-stage.is-danger .landing-stall-border{border-color:#ff5144}
@keyframes landingStallPulse{50%{opacity:.25}
}
.landing-controls{position:sticky;top:72px;padding:14px}
.landing-controls header h2{margin:.12rem 0 .25rem;font-size:1.2rem}
.landing-controls header p{margin:0;color:#5f7179;font-size:.75rem;line-height:1.35}
.landing-control{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label output" "range range";gap:3px 8px;margin-top:11px}
.landing-control label{grid-area:label;display:grid;color:#183f51}
.landing-control label strong{font-size:.82rem}
.landing-control label small{font-size:.64rem;color:#6c7d84}
.landing-control output{grid-area:output;align-self:end;color:#0d6680;font-size:.75rem;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.landing-elevator-control output{inline-size:13ch;min-width:13ch}
.landing-control input{grid-area:range;width:100%;margin:0;accent-color:#176d8a}
.landing-flaps{margin:13px 0 8px;padding:0;border:0}
.landing-flaps legend{margin-bottom:5px;color:#183f51;font-size:.82rem;font-weight:900}
.landing-flaps>div{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.landing-flaps button{min-width:0;padding:7px 2px}
.landing-flaps button[aria-checked=true]{border-color:#126582;background:#126582;color:#fff}
.landing-flaps small{display:block;margin-top:5px;color:#71838b;font-size:.61rem}
.landing-slip-button{display:grid;width:100%;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;margin:11px 0 4px;padding:9px;text-align:left;touch-action:none}
.landing-slip-button>span{grid-row:1/3;font-size:1.4rem}
.landing-slip-button strong{font-size:.67rem}
.landing-slip-button small{font-size:.58rem;color:#647781}
.landing-slip-button[aria-pressed=true]{border-color:#b26a16;background:#fff0ce;color:#6c3d08}
.landing-control-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.landing-help{margin-top:11px;border:1px solid #c7d7dd;border-radius:8px;background:#f4f8fa}
.landing-help summary{padding:8px 10px;color:#17455a;font-size:.73rem;font-weight:900;cursor:pointer}
.landing-help ul{margin:0;padding:0 23px 10px;color:#536871;font-size:.68rem;line-height:1.4}
.landing-progress{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:20px;margin:0 0 16px}
.landing-progress h2{margin:.18rem 0 .4rem}
.landing-progress p{margin:0;color:#586c75}
.landing-start-over{margin-top:12px;padding:7px 10px;border-color:#a9bcc4;background:#fff;color:#34515d;font-size:.68rem}
.landing-progress ol{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0;padding:0;list-style:none}
.landing-progress li{overflow:hidden;border:1px solid #cbd9de;border-radius:8px;background:#f6f9fa}
.landing-progress li button{display:block;width:100%;height:100%;padding:9px;border:0;border-radius:0;background:transparent;color:inherit;text-align:left}
.landing-progress li button:not(:disabled){cursor:pointer}
.landing-progress li button:not(:disabled):hover{background:#eaf5f8}
.landing-progress li.is-current{border-color:#16718d;background:#e8f7fb;box-shadow:inset 3px 0 #16718d}
.landing-progress li.is-complete:not(.is-current){border-color:#72a589;background:#eff9f3}
.landing-progress li.is-locked{opacity:.58}
.landing-progress li small,.landing-progress li strong,.landing-progress li span{display:block}
.landing-progress li small{font-size:.54rem;color:#657981;font-weight:900;letter-spacing:.07em}
.landing-progress li strong{margin-top:2px;font-size:.75rem;color:#183f51}
.landing-progress li span{margin-top:2px;font-size:.59rem;color:#657981}
.landing-reference-note{border-left:5px solid #d99a2b}
.landing-reference-note h2{margin:.15rem 0 .45rem}
.landing-reference-note p{color:#52666e}
.landing-reference-actions{display:flex;flex-wrap:wrap;gap:7px}
.landing-reference-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:38px}

@media(min-width:1000px) and (min-height:680px){.landing-stage{height:clamp(480px,calc(100svh - 300px),640px);min-height:480px}
.landing-hero{margin-bottom:10px}
.landing-game-grid{margin-top:10px}
}

@media(max-width:980px){.landing-game-grid{grid-template-columns:1fr}
.landing-controls{position:static}
.landing-progress{grid-template-columns:1fr}
}

@media(max-width:700px){.landing-simulator-shell{padding-left:7px;padding-right:7px}
.landing-stage-toolbar{align-items:flex-start}
.landing-toolbar-stats{flex-direction:column}
.landing-toolbar-stats span{min-width:96px}
.landing-stage{height:520px;min-height:520px}
.landing-instruments{top:62px;left:7px;grid-template-columns:repeat(2,82px)}
.landing-annunciators{top:7px;max-width:62%}
.landing-papi{top:62px;right:7px}
.landing-runway-status{bottom:32px;width:96%}
.landing-runway-status small{font-size:.43rem}
.landing-runway-status strong{font-size:.58rem}
.landing-view-label{left:8px;right:auto;font-size:.47rem}
.landing-result-overlay{place-content:end center;padding:10px;background:linear-gradient(180deg,rgba(7,25,34,.04) 0 42%,rgba(7,25,34,.66) 100%)}
.landing-result-panel{width:min(100%,430px);max-height:54%;overflow:auto;padding:14px;text-align:center}
.landing-result-panel dl{grid-template-columns:1fr}
.landing-progress ol{grid-template-columns:repeat(2,1fr)}
}

@media(prefers-reduced-motion:reduce){.landing-stage.is-stalling .landing-stall-border{animation:none}
}


/* Reuse the project's detailed analog instrument faces in the landing view. */
.landing-instruments{--landing-gauge-size:136px;grid-template-columns:repeat(2,var(--landing-gauge-size));gap:8px;max-width:none;padding:9px;border:1px solid rgba(152,179,190,.72);border-radius:12px;background:rgba(5,20,27,.76);box-shadow:0 5px 16px rgba(0,0,0,.28),inset 0 0 12px rgba(0,0,0,.38)}

.landing-instruments .landing-gauge{min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff;text-align:center}

.landing-gauge-face{position:relative;width:var(--landing-gauge-size);max-width:100%;aspect-ratio:1;margin:auto}

.landing-gauge-face>img{display:block;width:100%;height:100%;border-radius:50%;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}

.landing-gauge-needle,.landing-altimeter-hand{position:absolute;z-index:3;top:50%;left:50%;width:4px;height:34%;border-radius:2px;background:linear-gradient(90deg,#cbd2d8,#fff 47%,#a8b1ba);box-shadow:0 1px 3px #000;transform:translate(-50%,-100%) rotate(0deg);transform-origin:50% 100%;will-change:transform}

.landing-gauge-needle::before,.landing-altimeter-hand::before{content:"";position:absolute;top:-5px;left:50%;border:4px solid transparent;border-bottom:10px solid #f6f8f9;transform:translateX(-50%)}

.landing-gauge-hub{position:absolute;z-index:5;top:50%;left:50%;width:15px;height:15px;border:2px solid #aab3bc;border-radius:50%;background:radial-gradient(circle,#111827 0 27%,#6b7580 30% 72%,#222b34 75%);box-shadow:0 2px 4px #000;transform:translate(-50%,-50%)}

.landing-instruments .landing-gauge output{display:block;min-height:1em;margin-top:2px;color:#9ce8ff;font:900 .52rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}

.landing-altimeter-hundreds{height:35%;width:4px}
.landing-altimeter-thousands{height:27%;width:5px}
.landing-altimeter-ten-thousands{height:20%;width:6px;background:#c8d0d6}

.landing-altimeter-agl{position:absolute;z-index:2;bottom:20%;left:50%;padding:2px 4px;border-radius:2px;background:rgba(0,0,0,.7);color:#c9e5ef;font:900 .46rem/1 system-ui;letter-spacing:.08em;transform:translateX(-50%)}

.landing-runway-status{width:min(760px,90%)}

.landing-brake-button{display:grid;width:100%;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;margin:11px 0 4px;padding:10px 12px;border-color:#6c7d84;background:linear-gradient(#f8fafb,#e3e9ec);color:#183f51;text-align:left;touch-action:none;user-select:none}
.landing-brake-button .landing-brake-pedals{grid-row:1/3;display:flex;gap:3px;align-items:flex-end;padding:5px 6px;border:1px solid #65747b;border-radius:5px;background:#26343b;box-shadow:inset 0 2px 4px #1118}
.landing-brake-pedals i{display:block;width:11px;height:18px;border:1px solid #d4dadd;border-radius:2px;background:repeating-linear-gradient(0deg,#aab5ba 0 2px,#56656c 2px 4px);transform:skewX(-4deg)}
.landing-brake-button strong{font-size:.7rem;letter-spacing:.035em}
.landing-brake-button small{color:#647781;font-size:.59rem}
.landing-brake-button[aria-pressed=true]{border-color:#8c260f;background:linear-gradient(#b43c22,#7d1e0d);color:#fff;box-shadow:inset 0 3px 8px #3c0c0c99}
.landing-brake-button[aria-pressed=true] small{color:#ffe0d8}
.landing-brake-button:disabled{opacity:.48}

@media(max-width:700px){.landing-instruments{--landing-gauge-size:96px;top:60px;left:6px;grid-template-columns:repeat(2,var(--landing-gauge-size));gap:5px;max-width:none;padding:6px}
.landing-instruments .landing-gauge output{font-size:.43rem}
.landing-runway-status{display:grid;grid-template-columns:1fr 1fr;width:96%}
.landing-runway-status small{font-size:.4rem}
.landing-runway-status strong{font-size:.53rem}
}


/* Optional live corrective guidance. The status remains diagnostic when this is off. */
.landing-advice-switch{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:10px 0 5px;padding:8px 10px;border:1px solid #c2d3d9;border-radius:8px;background:#f3f8fa;color:#183f51;cursor:pointer}
.landing-advice-switch>span{display:grid}
.landing-advice-switch strong{font-size:.78rem}
.landing-advice-switch small{color:#647781;font-size:.6rem}
.landing-advice-switch input{position:absolute;width:1px;height:1px;opacity:0}
.landing-advice-switch i{position:relative;width:46px;height:26px;border-radius:999px;background:#7d8e95;box-shadow:inset 0 1px 3px #25333a66;transition:background .18s ease}
.landing-advice-switch i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #14242c66;transition:transform .18s ease}
.landing-advice-switch input:checked+i{background:#176d8a}
.landing-advice-switch input:checked+i::after{transform:translateX(20px)}
.landing-advice-switch:focus-within{outline:3px solid #f0ae28;outline-offset:2px}

.landing-hints{margin:9px 0 6px;padding:9px;border:1px solid #d7bd7d;border-radius:8px;background:#fff9e9;color:#183f51}
.landing-hints>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.landing-hints>div strong{font-size:.78rem}
.landing-hints>div small{color:#765e2e;font-size:.58rem;text-align:right}
.landing-hints>button{width:100%;margin-top:7px;padding:7px 9px;border-color:#bb842d;background:#fff;color:#714b0f;font-size:.68rem;font-weight:900}
.landing-hints>button:disabled{border-color:#c9d2d5;background:#edf1f2;color:#6d7b81}
.landing-hints ol{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}
.landing-hints li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding:6px 7px;border-left:3px solid #d49a37;border-radius:4px;background:#fff;color:#425b65;font-size:.64rem;line-height:1.35}
.landing-hints li strong{color:#815612;white-space:nowrap}
.landing-hint-checkout{margin-top:8px;padding:10px;border:1px solid #c4d5dd;border-radius:7px;background:#fff;box-shadow:0 7px 22px rgba(20,47,61,.13)}
.landing-hint-checkout[hidden]{display:none}
.landing-hint-checkout>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}
.landing-hint-checkout>div:first-child strong{font-size:.72rem;color:#173f53}
.landing-hint-checkout>div:first-child button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #aebfc7;border-radius:50%;background:#fff;color:#344f5b;font-size:1.15rem;line-height:1}
.landing-hint-checkout>p{margin:7px 0;font-size:.62rem;line-height:1.4}
.landing-hint-checkout .success{color:#176a3a;font-weight:800}
.landing-hint-checkout .error{color:#a62828;font-weight:800}
[data-hint-paypal-button]{min-height:42px}

@media(prefers-reduced-motion:reduce){.landing-advice-switch i,.landing-advice-switch i::after{transition:none}
}

.landing-elevator-control{grid-template-areas:"label output" "range range" "ends ends"}
.landing-range-ends{grid-area:ends;display:flex;justify-content:space-between;color:#607781;font-size:.52rem;font-weight:900;letter-spacing:.035em}


/* A synchronized second camera renders into this transparent viewport. */
.landing-side-view{position:absolute;z-index:5;right:10px;bottom:74px;display:grid;grid-template-rows:25px minmax(0,1fr);width:clamp(280px,34%,370px);height:190px;overflow:hidden;border:2px solid rgba(224,241,247,.92);border-radius:10px;background:transparent;box-shadow:0 6px 18px rgba(3,19,27,.42);pointer-events:none}

.landing-side-view-heading{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 9px;background:rgba(4,29,40,.92);color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.09em}

.landing-side-view-heading span{color:#aee8f8;font-size:.54rem;letter-spacing:.04em}

.landing-side-view-render{min-width:0;min-height:0;background:transparent}

@media(max-width:700px){.landing-side-view{right:6px;bottom:101px;width:47%;height:122px;grid-template-rows:22px minmax(0,1fr);border-width:1px;border-radius:7px}
.landing-side-view-heading{padding:0 6px;font-size:.48rem}
.landing-side-view-heading span{font-size:.45rem}
}


/* The main camera can switch between the overview and the pilot's eye point. */
.landing-view-toggle{position:absolute;z-index:5;top:78px;right:10px;display:flex;padding:3px;border:1px solid rgba(181,211,221,.88);border-radius:8px;background:rgba(4,29,40,.88);box-shadow:0 3px 10px rgba(0,0,0,.25)}

.landing-view-toggle button{min-height:30px;padding:5px 9px;border:0;border-radius:5px;background:transparent;color:#d8edf4;font-size:.6rem;font-weight:900;letter-spacing:.055em}

.landing-view-toggle button[aria-pressed=true]{background:#eaf8fc;color:#10546b;box-shadow:0 1px 3px rgba(0,0,0,.3)}

@media(max-width:700px){.landing-view-toggle{top:135px;right:7px}
.landing-view-toggle button{min-height:38px;padding:5px 8px;font-size:.56rem}
}

/* Phone cockpit: keep the runway clear, dock the instruments, and make every
   flight control reachable with one thumb. */
@media(max-width:700px){
  .landing-simulator-shell{padding-inline:5px}
  .landing-simulator-shell .breadcrumbs{margin-block:3px 6px}
  .landing-hero{gap:8px;padding:12px}
  .landing-hero h1{font-size:clamp(1.3rem,6vw,1.75rem);line-height:1.04}
  .landing-hero .lede{display:none}
  .landing-hero .interactive-aircraft-picker{margin:0;padding:7px 9px}
  .landing-hero .interactive-aircraft-picker label small{display:none}
  .landing-game-grid{gap:7px;margin:7px 0 12px}
  .landing-stage-card{border-radius:11px}
  .landing-stage-toolbar{align-items:center;gap:7px;padding:7px 9px}
  .landing-stage-toolbar h2{max-width:48vw;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .landing-stage-toolbar>div:first-child>small{font-size:.54rem}
  .landing-toolbar-stats{flex-direction:row;gap:4px}
  .landing-toolbar-stats span{min-width:0;padding:4px 5px}
  .landing-toolbar-stats small{font-size:.42rem}
  .landing-toolbar-stats strong{font-size:.61rem;white-space:nowrap}
  .landing-stage-shell{display:flex;flex-direction:column;background:#071e29}
  .landing-stage{order:1;height:clamp(350px,52svh,470px);min-height:350px}
  .landing-instruments{position:static;order:2;--landing-gauge-size:clamp(66px,21vw,86px);display:grid;grid-template-columns:repeat(4,var(--landing-gauge-size));justify-content:space-evenly;gap:3px;width:100%;max-width:none;padding:7px 3px calc(7px + env(safe-area-inset-bottom,0px));border:0;border-top:1px solid #3b5661;border-radius:0;background:linear-gradient(#102d39,#071b24);box-shadow:inset 0 5px 14px rgba(0,0,0,.32)}
  .landing-gauge-hub{width:11px;height:11px}
  .landing-gauge-needle,.landing-altimeter-hand{width:3px}
  .landing-altimeter-agl{bottom:18%;font-size:.34rem}
  .landing-side-view{display:none}
  .landing-annunciators{top:7px;left:7px;right:104px;justify-items:start;max-width:none;padding:6px 8px;transform:none}
  .landing-annunciators strong{font-size:.65rem}
  .landing-annunciators span{max-width:100%;font-size:.53rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .landing-papi{top:7px;right:7px}
  .landing-view-toggle{top:52px;right:7px;padding:2px}
  .landing-view-toggle button{min-width:48px;min-height:44px;padding:5px 7px;font-size:.54rem}
  .landing-runway-status{bottom:7px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;width:calc(100% - 12px)}
  .landing-runway-status span{padding:4px 5px}
  .landing-runway-status span:nth-child(3),.landing-runway-status span:nth-child(4){display:none}
  .landing-runway-status small{font-size:.38rem}
  .landing-runway-status strong{font-size:.52rem}
  .landing-view-label{display:none}
  .landing-swipe-cue{position:absolute;z-index:5;right:7px;bottom:48px;display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid rgba(194,223,233,.62);border-radius:999px;background:rgba(4,29,40,.78);color:#dff6fd;font-size:.54rem;font-weight:850;letter-spacing:.025em;pointer-events:none;transition:background .16s ease,transform .16s ease}
  .landing-swipe-cue span{color:#72daf5;font-size:.68rem}
  .landing-swipe-cue b{color:#66828d}
  .landing-stage.is-gesture-active .landing-swipe-cue{background:rgba(12,93,119,.94);transform:translateY(-1px)}
  .landing-result-overlay{place-content:end center;padding:7px;background:linear-gradient(180deg,rgba(7,25,34,.03) 0 28%,rgba(7,25,34,.7) 100%)}
  .landing-result-panel{width:100%;max-height:calc(100% - 14px);padding:11px;text-align:left}
  .landing-result-panel h2{font-size:1.05rem}
  .landing-result-panel p{font-size:.76rem;line-height:1.32}
  .landing-result-panel dl{display:none}
  .landing-result-panel button{min-height:48px;margin-top:8px}
  .landing-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;position:static}
  .landing-controls>header,.landing-control,.landing-flaps,.landing-advice-switch,.landing-hint-unavailable,.landing-hints,.landing-control-actions,.landing-help{grid-column:1/-1;margin:0}
  .landing-controls>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .landing-controls>header .eyebrow,.landing-controls>header p{display:none}
  .landing-controls>header h2{margin:0;font-size:1rem}
  .landing-control{gap:2px 7px}
  .landing-control label strong{font-size:.78rem}
  .landing-control label small{font-size:.56rem}
  .landing-control output{font-size:.7rem}
  .landing-control input[type=range]{min-height:44px;margin:-4px 0;touch-action:pan-y}
  .landing-range-ends{font-size:.46rem}
  .landing-flaps>div{gap:5px}
  .landing-flaps button{min-height:44px;padding:6px 2px;font-size:.72rem}
  .landing-flaps>small{display:none}
  .landing-advice-switch{min-height:48px;padding:7px 9px}
  .landing-hints>button{min-height:44px}
  .landing-slip-button,.landing-brake-button{min-height:68px;margin:0;padding:8px;line-height:1.18}
  .landing-slip-button strong,.landing-brake-button strong{font-size:.64rem}
  .landing-slip-button small,.landing-brake-button small{display:none}
  .landing-control-actions{gap:8px}
  .landing-control-actions button{min-height:48px}
  .landing-help summary{min-height:44px;display:flex;align-items:center}
  .landing-progress{gap:10px;padding:12px}
  .landing-progress-copy p{font-size:.75rem}
  .landing-progress ol{grid-template-columns:1fr 1fr}
}

@media(max-width:360px){
  .landing-stage{height:350px}
  .landing-stage-toolbar h2{max-width:42vw}
  .landing-instruments{--landing-gauge-size:clamp(62px,20.5vw,74px)}
  .landing-swipe-cue{font-size:.49rem}
  .landing-view-toggle button{min-width:43px;padding-inline:5px}
}

/* Short landscape phones keep the simulator and its primary controls in one
   screen instead of inheriting the tall desktop composition. */
@media(max-height:600px) and (max-width:950px) and (orientation:landscape) and (pointer:coarse){
  .landing-simulator-shell{max-width:none;padding:4px}
  .landing-simulator-shell>.breadcrumbs,.landing-hero{display:none}
  .landing-game-grid{grid-template-columns:minmax(0,1fr) minmax(280px,37vw);gap:6px;margin:3px 0}
  .landing-stage-toolbar{padding:5px 8px}
  .landing-stage{height:calc(100svh - 108px);min-height:310px}
  .landing-instruments{--landing-gauge-size:64px;top:7px;left:7px;grid-template-columns:repeat(2,var(--landing-gauge-size));gap:3px;padding:5px}
  .landing-side-view{right:7px;bottom:68px;width:38%;height:105px}
  .landing-controls{position:static;max-height:calc(100svh - 58px);overflow:auto;padding:8px}
  .landing-controls>header p,.landing-flaps>small,.landing-help{display:none}
  .landing-control{margin-top:7px}
  .landing-control input[type=range],.landing-flaps button,.landing-control-actions button{min-height:42px}
  .landing-slip-button,.landing-brake-button{min-height:54px;margin-top:7px}
}

