.flight-forces-shell{max-width:1500px}.flight-forces-hero{background:linear-gradient(135deg,rgba(8,49,75,.98),rgba(23,108,137,.94));color:#fff}.flight-forces-hero .eyebrow,.flight-forces-hero .lede{color:#dff5fc}.flight-lab{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start;margin:18px 0}.flight-stage-card{overflow:hidden;padding:0}.flight-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-bottom:1px solid #bed0d7;background:#eef5f7}.flight-state-heading{display:flex;align-items:center;gap:10px;min-width:0}.flight-state-heading small{display:block;color:#5f737d;font-size:.65rem;font-weight:900;letter-spacing:.12em}.flight-state-heading strong{display:block;color:#173e52;font-size:1rem}.state-lamp{width:18px;height:18px;flex:none;border-radius:50%;background:#4fb06e;box-shadow:0 0 0 5px rgba(79,176,110,.16),inset 0 0 0 2px rgba(0,0,0,.12)}.state-lamp.warning{background:#e2a127;box-shadow:0 0 0 5px rgba(226,161,39,.18)}.state-lamp.danger{background:#db3e35;box-shadow:0 0 0 5px rgba(219,62,53,.18);animation:flightLampPulse .7s ease-in-out infinite alternate}.flight-stage-actions{display:flex;flex-wrap:wrap;gap:7px}.flight-stage-actions button,.flight-controls button,.flight-crash-overlay button{min-height:36px;padding:7px 10px;border:1px solid #91aab5;border-radius:7px;background:#fff;color:#173f52;font:800 .76rem/1.1 system-ui}.flight-stage-actions button:hover,.flight-controls button:hover,.flight-crash-overlay button:hover{border-color:#1b718d;background:#f5fbfd}.flight-stage-actions button[aria-pressed=true]{border-color:#184f67;background:#184f67;color:#fff}.flight-stage{position:relative;height:min(60vh,590px);min-height:470px;overflow:hidden;background:linear-gradient(#d9eef6 0 66%,#b9c5b0 66% 68%,#8ea079 68%);isolation:isolate}.flight-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:58px 58px;pointer-events:none}.flight-stage canvas{position:relative;z-index:1;display:block;width:100%;height:100%;touch-action:none}.flight-stage canvas:focus-visible{outline:4px solid #f8b83b;outline-offset:-4px}.flight-webgl-error{position:absolute;z-index:5;inset:0;display:grid;place-content:center;text-align:center;padding:24px;background:#173846;color:#fff}.flight-webgl-error[hidden]{display:none}.flight-crash-overlay{position:absolute;z-index:8;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;background:radial-gradient(circle,rgba(89,25,20,.72),rgba(25,12,10,.88));color:#fff;text-align:center;backdrop-filter:grayscale(.35)}.flight-crash-overlay[hidden]{display:none}.flight-crash-overlay strong{font:950 clamp(1.7rem,4vw,3.1rem)/1 system-ui;letter-spacing:.1em;text-shadow:0 2px 10px #000}.flight-crash-overlay span{max-width:510px;font:750 .86rem/1.4 system-ui}.flight-crash-overlay button{margin-top:4px;border-color:#fff;background:#fff;color:#7d241e}.flight-loss-banner{position:absolute;z-index:7;top:58px;left:50%;display:grid;gap:2px;max-width:min(470px,78%);padding:8px 15px;border:2px solid #ffd28a;border-radius:7px;background:rgba(112,25,18,.93);color:#fff;text-align:center;transform:translateX(-50%);box-shadow:0 4px 16px rgba(0,0,0,.3);pointer-events:none}.flight-loss-banner[hidden]{display:none}.flight-loss-banner strong{font:950 .76rem/1.1 system-ui;letter-spacing:.11em}.flight-loss-banner span{font:750 .64rem/1.25 system-ui}.flight-stage.is-unrecoverable canvas{filter:saturate(.65) contrast(1.1)}.flight-stage.is-crashed canvas{filter:saturate(.45) brightness(.72)}.flight-stage.is-crashed::after{content:"";position:absolute;z-index:6;left:50%;bottom:15%;width:190px;height:70px;border-radius:50%;background:radial-gradient(ellipse,rgba(194,173,135,.9),rgba(140,119,84,.58) 42%,transparent 72%);filter:blur(7px);transform:translateX(-50%);pointer-events:none}.stall-annunciator{position:absolute;z-index:4;top:14px;left:50%;display:flex;align-items:center;gap:8px;padding:7px 15px;border:2px solid #83332e;border-radius:6px;background:rgba(38,23,22,.9);color:#9faaa9;font:900 .78rem/1 system-ui;letter-spacing:.16em;transform:translateX(-50%);opacity:.65;transition:.18s ease;pointer-events:none}.stall-annunciator span{width:10px;height:10px;border-radius:50%;background:#5e514f}.stall-annunciator.approach{color:#ffd674;border-color:#d79720;opacity:1}.stall-annunciator.approach span{background:#ffc64d;box-shadow:0 0 12px #ffc64d}.stall-annunciator.active{color:#fff;border-color:#ff5a4c;background:rgba(132,27,20,.94);opacity:1;animation:stallPulse .45s ease-in-out infinite alternate}.stall-annunciator.active span{background:#fff;box-shadow:0 0 14px #fff}.force-legend{position:absolute;z-index:3;right:12px;bottom:12px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:610px;padding:7px 9px;border-radius:7px;background:rgba(6,32,45,.78);color:#fff;font:750 .65rem/1.2 system-ui;pointer-events:none}.force-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.force-legend i{width:17px;height:4px;border-radius:3px}.force-lift{background:#19a96b}.force-weight{background:#7149bb}.force-thrust{background:#eb982d}.force-parasite{background:#d94c45}.force-induced{background:#e779ad}.flight-canvas-cue{position:absolute;z-index:3;left:12px;bottom:12px;padding:6px 8px;border-radius:6px;background:rgba(6,32,45,.72);color:#fff;font:850 .62rem/1.15 system-ui;letter-spacing:.08em;pointer-events:none}.flight-status-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b9cbd3;background:#eaf2f5}.flight-status-strip>div{min-width:0;padding:10px 12px;border-right:1px solid #c2d2d8}.flight-status-strip>div:last-child{border:0}.flight-status-strip small{display:block;color:#637781;font-size:.59rem;font-weight:900;letter-spacing:.1em}.flight-status-strip strong{display:block;margin-top:2px;color:#193f51;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-controls{position:sticky;top:78px;padding:17px}.flight-controls header h2{margin:.15rem 0 .25rem;font-size:1.25rem}.flight-controls header p{margin:0 0 12px;color:#5d6f78;font-size:.8rem;line-height:1.4}.flight-slider-control{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "slider slider" "effect effect";align-items:end;gap:3px 9px;min-width:0;margin-top:11px}.flight-slider-control label{grid-area:label;display:grid;min-width:0;color:#173e51}.flight-slider-control label strong{font-size:.83rem;line-height:1.15}.flight-slider-control label small{color:#687b84;font-size:.68rem;line-height:1.2}.flight-slider-control>output{grid-area:value;align-self:end;color:#0c6681;font-size:.76rem;font-weight:900;text-align:right;white-space:nowrap}.flight-slider-control>input[type=range]{grid-area:slider;display:block;width:100%;min-width:0;margin:0;accent-color:#176f8d}.flight-slider-control>.flight-control-effect{grid-area:effect}.flap-selector{margin:14px 0 4px;padding:0;border:0}.flap-selector legend{margin-bottom:5px;color:#173e51;font-size:.83rem;font-weight:850}.flap-selector>div{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.flap-selector button{min-width:0;padding:6px 2px}.flap-selector button[aria-checked=true]{border-color:#126582;background:#126582;color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}.flap-selector small{display:block;margin-top:5px;color:#71838b;font-size:.63rem;line-height:1.35}.flight-control-help{margin-top:14px;border:1px solid #c6d6dc;border-radius:8px;background:#f3f8fa}.flight-control-help summary{padding:9px 11px;color:#17455a;font-size:.77rem;font-weight:850;cursor:pointer}.flight-control-help ul{margin:0;padding:0 25px 11px;color:#52656f;font-size:.72rem;line-height:1.42}.flight-instruments{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 18px}.flight-instrument{min-width:0;padding:13px 12px;border-top:4px solid #4b8ea5}.flight-instrument small{display:block;min-height:2.2em;color:#637781;font-size:.58rem;font-weight:900;letter-spacing:.075em}.flight-instrument strong{display:inline-block;margin-top:3px;color:#153f53;font-size:1.22rem;line-height:1}.flight-instrument span{margin-left:3px;color:#6c7e86;font-size:.63rem;font-weight:750}.flight-instrument.warning{border-top-color:#e09a22;background:#fffaf0}.flight-instrument.danger{border-top-color:#d64038;background:#fff3f2}.flight-explanation,.flight-reference-note{margin-top:18px}.flight-explanation>div:first-child,.flight-reference-note>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:20px}.flight-explanation h2,.flight-reference-note h2{margin:.15rem 0 .5rem}.flight-explanation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.flight-explanation-grid article{padding:15px;border-radius:9px;background:#eef5f7}.flight-explanation-grid h3{margin:0 0 .4rem;color:#15465d;font-size:.98rem}.flight-explanation-grid p{margin:0;color:#50636d;font-size:.82rem}.flight-reference-note{border-left:5px solid #d99a2b}.flight-reference-note p{color:#52636c}.flight-reference-actions{display:flex;flex-wrap:wrap;gap:8px}.flight-reference-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:38px}.flight-forces-page .site-footer{margin-top:25px}
@keyframes flightLampPulse{to{transform:scale(1.08)}}@keyframes stallPulse{to{filter:brightness(1.35);transform:translateX(-50%) scale(1.04)}}
@media(max-width:1100px){.flight-lab{grid-template-columns:1fr}.flight-controls{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.flight-controls header,.flap-selector,.flight-control-help{grid-column:1/-1}.flight-instruments{grid-template-columns:repeat(5,minmax(100px,1fr));overflow:auto}.flight-explanation-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.flight-forces-shell{padding-left:8px;padding-right:8px}.flight-stage-toolbar{align-items:flex-start}.flight-stage-actions{justify-content:flex-end}.flight-stage-actions button{font-size:.68rem}.flight-stage{height:470px;min-height:470px}.flight-controls{display:block;padding:15px}.flight-status-strip{grid-template-columns:1fr 1fr}.flight-status-strip>div:nth-child(2){border-right:0}.flight-status-strip>div:nth-child(-n+2){border-bottom:1px solid #c2d2d8}.flight-instruments{grid-template-columns:repeat(2,1fr);overflow:visible}.flight-explanation-grid{grid-template-columns:1fr}.force-legend{left:8px;right:8px;bottom:40px;justify-content:center}.flight-canvas-cue{left:50%;bottom:9px;transform:translateX(-50%);white-space:nowrap}.flight-reference-actions{display:grid}.flight-reference-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.state-lamp.danger,.stall-annunciator.active{animation:none}}

/* Keep the complete primary wind-tunnel experience within a typical desktop viewport. */
@media(min-width:1000px) and (min-height:680px){
  .flight-forces-page .global-site-header-inner{min-height:58px;padding-top:5px;padding-bottom:5px}
  .flight-forces-shell{padding-top:8px}
  .flight-forces-shell>.breadcrumbs{margin-bottom:6px;font-size:.75rem;line-height:1.2}
  .flight-forces-hero{display:grid;grid-template-columns:minmax(350px,.78fr) minmax(0,1.22fr);align-items:center;gap:20px;min-height:0;padding:8px 15px 9px;margin-bottom:0}
  .flight-forces-hero>div{min-width:0}
  .flight-forces-hero .eyebrow{margin:0 0 2px;font-size:.58rem}
  .flight-forces-hero h1{margin:0;font-size:clamp(1.28rem,1.7vw,1.68rem);line-height:1.05}
  .flight-forces-hero .lede{max-width:none;margin:0;font-size:.73rem;line-height:1.28}
  .flight-lab{grid-template-columns:minmax(0,1fr) minmax(292px,318px);gap:12px;margin:6px 0 10px}
  .flight-lab>.card{margin-bottom:0}
  .flight-stage-toolbar{padding:8px 11px}
  .flight-state-heading{gap:8px}.state-lamp{width:15px;height:15px}
  .flight-state-heading small{font-size:.56rem}.flight-state-heading strong{font-size:.85rem}
  .flight-stage-actions button,.flight-controls button{min-height:31px;padding:5px 8px;font-size:.68rem}
  .flight-stage{height:clamp(320px,calc(100svh - 470px),420px);min-height:320px}
  .flight-status-strip>div{padding:7px 9px}
  .flight-status-strip small{font-size:.52rem}.flight-status-strip strong{font-size:.68rem}
  .flight-controls{position:sticky;top:66px;display:block;padding:11px 13px}
  .flight-controls header .eyebrow{font-size:.58rem}
  .flight-controls header h2{margin:.08rem 0 .12rem;font-size:1rem}
  .flight-controls header p{display:none}
  .flight-slider-control{margin-top:6px;gap:2px 8px}
  .flight-slider-control label strong{font-size:.73rem}.flight-slider-control label small{font-size:.57rem}.flight-slider-control>output{font-size:.67rem}
  .flight-controls input[type=range]{display:block;height:17px;margin:0}
  .flight-rpm-effect{margin:1px 0 0!important;padding:3px 6px!important;font-size:.58rem!important}
  .flap-selector{margin:7px 0 2px}
  .flap-selector legend{margin-bottom:3px;font-size:.72rem}
  .flap-selector>div{gap:3px}.flap-selector button{min-height:29px;padding:4px 1px}
  .flap-selector small{display:none}
  .flight-control-help{margin-top:7px}.flight-control-help summary{padding:7px 9px;font-size:.68rem}
}

/* Model-based range-efficiency and separate performance measures */
.flight-efficiency-panel{margin:0 0 18px;padding:18px;background:linear-gradient(135deg,#eef7f5,#f7faf9 54%,#e9f1f4);border-left:5px solid #268c78}.efficiency-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.efficiency-header h2{margin:.12rem 0 .25rem;color:#153f4d;font-size:1.35rem}.efficiency-header p{max-width:900px;margin:0;color:#526b73;font-size:.82rem;line-height:1.45}.efficiency-status{flex:none;min-width:120px;padding:9px 13px;border:1px solid #78aeb0;border-radius:999px;background:#e0f2eb;color:#166c58;font-size:.78rem;text-align:center}.efficiency-status[data-level=best]{background:#ceefde;color:#0c6b48}.efficiency-status[data-level=fair]{background:#fff1c8;color:#7a5710}.efficiency-status[data-level=poor]{background:#ffe0dc;color:#96352d}
.efficiency-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:center}.efficiency-gauge-wrap{text-align:center}.efficiency-gauge{position:relative;width:250px;max-width:100%;aspect-ratio:1;margin:auto;overflow:hidden;border:8px solid #40535b;border-radius:50%;background:radial-gradient(circle at 50% 55%,#20292c 0 12%,#090d0f 13% 64%,transparent 65%),conic-gradient(from 210deg,#d9453d 0 20%,#e4ae36 20% 45%,#52a56c 45% 67%,#197b62 67% 72%,#27373d 72% 100%);box-shadow:inset 0 0 0 3px #090c0d,inset 0 0 20px #000,0 4px 12px rgba(15,36,44,.24)}.efficiency-gauge::after{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.efficiency-scale{position:absolute;z-index:2;color:#e8eee9;font:900 .57rem/1 system-ui;letter-spacing:.05em}.efficiency-poor{left:12%;bottom:24%;transform:rotate(-43deg)}.efficiency-fair{left:50%;top:11%;transform:translateX(-50%)}.efficiency-best{right:10%;bottom:25%;transform:rotate(43deg)}.efficiency-needle{position:absolute;z-index:5;top:50%;left:50%;width:5px;height:39%;border-radius:4px;background:linear-gradient(90deg,#e6e5da,#fff,#bcbfb8);box-shadow:0 0 5px #000;transform:translate(-50%,-100%) rotate(60deg);transform-origin:50% 100%;transition:transform .2s ease-out}.efficiency-needle::before{content:"";position:absolute;top:-8px;left:50%;border:6px solid transparent;border-bottom:14px solid #f7f5e8;transform:translateX(-50%)}.efficiency-hub{position:absolute;z-index:7;top:50%;left:50%;width:24px;height:24px;border:5px solid #66747a;border-radius:50%;background:#11181a;transform:translate(-50%,-50%)}.efficiency-gauge>strong{position:absolute;z-index:4;left:50%;bottom:25%;color:#fff;font:900 2rem/1 ui-monospace,monospace;transform:translateX(-50%)}.efficiency-gauge>small{position:absolute;z-index:4;left:50%;bottom:14%;color:#aebdc1;font:850 .52rem/1.15 system-ui;letter-spacing:.08em;transform:translateX(-50%)}.efficiency-gauge[data-level=best]{box-shadow:inset 0 0 0 3px #090c0d,inset 0 0 20px #000,0 0 22px rgba(28,142,100,.3)}.efficiency-gauge-wrap>p{min-height:2.8em;margin:9px auto 0;max-width:270px;color:#355964;font-size:.73rem;font-weight:750;line-height:1.35}
.efficiency-factors{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}.efficiency-factor{min-width:0;padding:10px 11px;border:1px solid #c5d8d7;border-radius:9px;background:rgba(255,255,255,.78)}.efficiency-factor>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.efficiency-factor strong{color:#204b58;font-size:.77rem}.efficiency-factor output{color:#126b61;font:900 .73rem/1 ui-monospace,monospace}.efficiency-factor small{display:block;margin-top:5px;color:#657a80;font-size:.61rem;line-height:1.3}.efficiency-track{height:8px;margin-top:7px;overflow:hidden;border-radius:999px;background:#d9e2e3;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.efficiency-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d86045 0,#e2b43c 45%,#2f9a72 78%,#14765e 100%);transition:width .2s ease-out}.drag-balance-readout{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;background:#163d4a;color:#fff;text-align:center}.drag-balance-readout small{display:block;color:#a9c7d0;font-size:.54rem;font-weight:900;letter-spacing:.08em}.drag-balance-readout strong{display:block;margin-top:2px;color:#fff;font:900 1rem/1 ui-monospace,monospace}.drag-balance-readout>span{color:#6fd4c0;font-size:1.5rem}.drag-balance-message{align-self:center;margin:0;padding:8px;color:#385b65;font-size:.72rem;line-height:1.4}.efficiency-disclaimer{margin:13px 0 0;color:#6c7d82;font-size:.65rem;line-height:1.35}
.efficiency-measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}.efficiency-measures article{display:grid;gap:3px;min-width:0;padding:10px 12px;border:1px solid #c8dad9;border-radius:9px;background:rgba(255,255,255,.72)}.efficiency-measures small{color:#526d74;font-size:.58rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.efficiency-measures strong{color:#123f4b;font:900 .93rem/1.2 ui-monospace,monospace}.efficiency-measures span{color:#6a7d82;font-size:.59rem;line-height:1.3}
@media(max-width:900px){.efficiency-layout{grid-template-columns:220px minmax(0,1fr)}.efficiency-gauge{width:210px}.efficiency-factors{grid-template-columns:1fr}}
@media(max-width:620px){.flight-efficiency-panel{padding:14px}.efficiency-header{display:block}.efficiency-status{display:inline-block;margin-top:9px}.efficiency-layout{grid-template-columns:1fr;gap:14px}.efficiency-gauge{width:220px}.efficiency-gauge-wrap>p{max-width:330px}.efficiency-factors{grid-template-columns:1fr}.efficiency-factor small{font-size:.65rem}.efficiency-measures{grid-template-columns:1fr 1fr}.efficiency-measures span{font-size:.62rem}}

/* Live Cessna-style trainer panel */
.cockpit-panel{margin:0 0 18px;padding:16px;background:linear-gradient(145deg,#1b2429,#0d1114 58%,#202b30);border:7px solid #34434a;color:#fff;box-shadow:inset 0 0 0 2px #090c0e,0 8px 24px rgba(5,18,24,.18)}
.cockpit-panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:0 3px 13px;border-bottom:1px solid #45545b}.cockpit-panel-header h2{margin:.12rem 0 .25rem;color:#f4f7f8;font-size:1.32rem}.cockpit-panel-header p{max-width:850px;margin:0;color:#b7c6cc;font-size:.8rem;line-height:1.42}.cockpit-panel .eyebrow{color:#6ec8e3}
.magnetic-compass{width:270px;flex:none;padding:8px 10px;border:2px solid #53636a;border-radius:8px;background:#080b0d;text-align:center;box-shadow:inset 0 0 14px #000}.magnetic-compass small{display:block;color:#9eacb2;font-size:.56rem;font-weight:900;letter-spacing:.11em}.magnetic-compass>strong{display:block;margin:2px 0 5px;color:#f3f2d5;font:900 1rem/1.1 ui-monospace,monospace}.compass-window{position:relative;overflow:hidden;padding:7px 2px;border:1px solid #6d7674;border-radius:4px;background:linear-gradient(#242b2d,#0b0f10);color:#dddcc3;font:800 .67rem/1 ui-monospace,monospace;white-space:nowrap}.compass-window b{color:#fff;font-size:.82rem}.compass-window i{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#ffbf38;transform:translateX(-50%)}
.cockpit-six-pack{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:13px;max-width:900px;margin:0 auto 16px}.cockpit-gauge{text-align:center;min-width:0}.cockpit-gauge h3,.engine-gauge h3{margin:7px 0 0;color:#d6e1e5;font-size:.69rem;letter-spacing:.025em}.cockpit-gauge output,.engine-gauge output{display:block;min-height:1.2em;margin-top:2px;color:#7bd4ee;font:750 .65rem/1.2 ui-monospace,monospace}
.gauge-face,.engine-gauge-dial{position:relative;width:min(100%,220px);aspect-ratio:1;margin:auto;overflow:hidden;border:7px solid #4c565a;border-radius:50%;background:radial-gradient(circle at 50% 54%,#252b2e 0 11%,#0b0e10 12% 72%,#1a2023 73% 100%);box-shadow:inset 0 0 0 2px #050607,inset 0 0 18px #000,0 3px 8px #000}.gauge-face::after,.engine-gauge-dial::after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.16);border-radius:50%;pointer-events:none}.gauge-mark{position:absolute;z-index:2;color:#ecede7;font:800 .66rem/1 ui-monospace,monospace}.mark-n{top:11%;left:50%;transform:translateX(-50%)}.mark-ne{top:24%;right:17%}.mark-e{top:49%;right:10%;transform:translateY(-50%)}.mark-se{right:18%;bottom:21%}.mark-s{bottom:10%;left:50%;transform:translateX(-50%)}.mark-sw{left:16%;bottom:21%}.mark-w{top:49%;left:10%;transform:translateY(-50%)}.mark-nw{top:24%;left:17%}
.gauge-needle{position:absolute;z-index:7;left:50%;top:50%;width:3px;height:39%;border-radius:4px 4px 1px 1px;background:linear-gradient(90deg,#d4d5cf,#fff 45%,#b3b6b1);box-shadow:0 0 3px #000;transform:translate(-50%,-100%) rotate(-135deg);transform-origin:50% 100%;will-change:transform}.gauge-needle::before{content:"";position:absolute;top:-5px;left:-2px;border:4px solid transparent;border-bottom:9px solid #f4f4ed;transform:translateX(-1px)}.gauge-hub{position:absolute;z-index:9;top:50%;left:50%;width:14px;height:14px;border:3px solid #737b7e;border-radius:50%;background:#111618;transform:translate(-50%,-50%);box-shadow:0 1px 3px #000}.gauge-center-value{position:absolute;z-index:3;left:50%;bottom:25%;color:#f0f1e8;font:800 .85rem/1 ui-monospace,monospace;transform:translateX(-50%)}.gauge-unit{position:absolute;z-index:3;left:50%;bottom:14%;width:70%;color:#aeb7b9;font:800 .48rem/1.15 system-ui;letter-spacing:.05em;transform:translateX(-50%)}
.airspeed-face{background:radial-gradient(circle at 50% 50%,#0b0e10 0 67%,transparent 68%),conic-gradient(from 220deg,#1c2225 0 7%,#fff 7% 21%,#36a85b 21% 54%,#efca39 54% 68%,#e84c45 68% 70%,#1c2225 70% 100%)}
.attitude-window{position:absolute;inset:8px;overflow:hidden;border-radius:50%;background:#4aa6d0}.attitude-horizon{position:absolute;left:50%;top:50%;width:160%;height:160%;transform:translate(-50%,-50%);transform-origin:50% 50%;will-change:transform}.attitude-sky,.attitude-ground{position:absolute;left:0;width:100%;height:50%}.attitude-sky{top:0;background:linear-gradient(#3689bd,#67b5d8)}.attitude-ground{bottom:0;background:linear-gradient(#98693e,#654424)}.attitude-ground::before{content:"";position:absolute;top:-2px;left:0;width:100%;height:4px;background:#fff}.pitch-line{position:absolute;left:50%;width:42px;height:1px;background:#fff;color:#fff;font:700 7px/1 sans-serif;text-align:right;transform:translateX(-50%)}.pitch-up{top:42%}.pitch-center{top:50%;width:68px;height:2px}.pitch-down{top:58%}.attitude-aircraft{position:absolute;z-index:5;top:50%;left:50%;display:flex;align-items:center;transform:translate(-50%,-50%)}.attitude-aircraft i{display:block;width:38px;height:4px;background:#efc130;box-shadow:0 0 0 1px #2a2107}.attitude-aircraft b{display:block;width:8px;height:8px;border:3px solid #efc130;border-radius:50%}
.turn-label{position:absolute;top:18%;color:#fff;font:900 .8rem/1 sans-serif}.turn-label.left{left:21%}.turn-label.right{right:21%}.turn-rate{position:absolute;top:31%;color:#aeb7b9;font:800 .44rem/1 sans-serif}.turn-rate.left{left:14%}.turn-rate.right{right:14%}.turn-airplane{position:absolute;z-index:5;left:50%;top:43%;width:70%;height:30px;transform:translate(-50%,-50%);transform-origin:50% 50%;will-change:transform}.turn-airplane::before{content:"";position:absolute;top:13px;left:0;width:100%;height:5px;border-radius:5px;background:#e5e6dd;box-shadow:0 0 2px #fff}.turn-airplane::after{content:"";position:absolute;top:4px;left:50%;width:8px;height:26px;border-radius:6px;background:#e5e6dd;box-shadow:0 0 2px #fff;transform:translateX(-50%)}.inclinometer{position:absolute;left:18%;right:18%;bottom:18%;height:22px;border:2px solid #aeb5b3;border-top:0;border-radius:0 0 50% 50%}.inclinometer i{position:absolute;top:7px;left:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:#f2eee0;box-shadow:0 0 4px #000;will-change:transform}
.heading-card{position:absolute;z-index:3;left:50%;top:50%;width:84%;height:84%;border:2px solid #8b9390;border-radius:50%;transform:translate(-50%,-50%) rotate(-90deg);will-change:transform}.heading-card span,.heading-tick{position:absolute;color:#f1f1e7;font-style:normal;font-weight:900}.heading-n{top:4%;left:50%;transform:translateX(-50%);color:#ff7d66!important}.heading-e{top:50%;right:7%;transform:translateY(-50%)}.heading-s{bottom:4%;left:50%;transform:translateX(-50%)}.heading-w{top:50%;left:7%;transform:translateY(-50%)}.heading-tick{font:800 .55rem/1 ui-monospace,monospace}.tick-ne{top:18%;right:20%}.tick-se{right:20%;bottom:18%}.tick-sw{bottom:18%;left:20%}.tick-nw{top:18%;left:20%}.heading-center-value{position:absolute;z-index:6;top:50%;left:50%;padding:4px 7px;border:1px solid #7a8587;border-radius:4px;background:#090c0e;color:#f4f4ea;font:900 .75rem/1 ui-monospace,monospace;transform:translate(-50%,-50%)}.heading-lubber{position:absolute;z-index:8;top:7%;left:50%;border:7px solid transparent;border-top:15px solid #ffc747;transform:translateX(-50%)}
.cockpit-engine-strip{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:10px;padding:13px;border:1px solid #46545a;border-radius:10px;background:#11171a}.engine-gauge{text-align:center;min-width:0}.engine-gauge-dial{width:min(100%,124px);border-width:5px;background:radial-gradient(circle at 50% 55%,#21282b 0 12%,#090c0e 13% 74%,#1b2326 75%)}.engine-gauge-range{position:absolute;inset:10px;border-radius:50%;background:conic-gradient(from 225deg,#415056 0 9%,#e7c63a 9% 18%,#4db167 18% 60%,#e7c63a 60% 67%,#e1483f 67% 70%,transparent 70% 100%);mask:radial-gradient(transparent 0 73%,#000 74% 86%,transparent 87%);-webkit-mask:radial-gradient(transparent 0 73%,#000 74% 86%,transparent 87%)}.engine-gauge-dial .gauge-needle{height:38%;width:2px}.engine-gauge-dial strong{position:absolute;z-index:4;left:50%;bottom:25%;max-width:74%;overflow:hidden;color:#f2f2e8;font:800 .62rem/1 ui-monospace,monospace;text-overflow:ellipsis;transform:translateX(-50%)}.engine-gauge-dial small{position:absolute;z-index:4;left:50%;bottom:14%;color:#9eabad;font:800 .43rem/1 system-ui;letter-spacing:.04em;transform:translateX(-50%);white-space:nowrap}
.flap-position{position:relative;width:54px;height:124px;margin:auto;border:4px solid #4c565a;border-radius:8px;background:#090c0e;box-shadow:inset 0 0 9px #000}.flap-position span{position:absolute;left:8px;color:#cad4d7;font:800 .48rem/1 ui-monospace,monospace}.flap-position span:nth-child(1){top:6%}.flap-position span:nth-child(2){top:25%}.flap-position span:nth-child(3){top:44%}.flap-position span:nth-child(4){top:63%}.flap-position span:nth-child(5){top:82%}.flap-position i{position:absolute;right:5px;top:8%;width:14px;height:4px;background:#ffd45e;box-shadow:0 0 5px #ffd45e;transition:top .18s ease}.panel-annunciator{display:grid;place-content:center;width:min(100%,124px);aspect-ratio:1;margin:auto;border:5px solid #4c565a;border-radius:12px;background:#090c0e;box-shadow:inset 0 0 10px #000}.panel-annunciator i{width:24px;height:24px;margin:0 auto 8px;border-radius:50%;background:#383c3d}.panel-annunciator strong{color:#7b8588;font:900 .72rem/1 system-ui;letter-spacing:.11em}.panel-annunciator.approach i{background:#f2b83f;box-shadow:0 0 14px #f2b83f}.panel-annunciator.approach strong{color:#f4c65e}.panel-annunciator.active{border-color:#a63b31;background:#421713}.panel-annunciator.active i{background:#ff594d;box-shadow:0 0 18px #ff594d}.panel-annunciator.active strong{color:#fff}.cockpit-panel-note{margin:13px 2px 0;color:#9dadb3;font-size:.68rem;line-height:1.4}
@media(max-width:1100px){.cockpit-engine-strip{grid-template-columns:repeat(6,minmax(90px,1fr))}}
@media(max-width:720px){.cockpit-panel{padding:10px;border-width:4px}.cockpit-panel-header{display:block}.cockpit-panel-header h2{font-size:1.12rem}.magnetic-compass{width:auto;margin-top:12px}.cockpit-six-pack{grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}.gauge-face{border-width:5px}.cockpit-engine-strip{grid-template-columns:repeat(3,minmax(80px,1fr));gap:12px 6px;padding:9px}.cockpit-gauge h3,.engine-gauge h3{font-size:.62rem}.engine-gauge output,.cockpit-gauge output{font-size:.58rem}}
@media(max-width:400px){.cockpit-six-pack{grid-template-columns:repeat(2,minmax(118px,1fr))}.cockpit-engine-strip{grid-template-columns:repeat(2,minmax(100px,1fr))}}
.flight-rpm-effect{margin:5px 0 0;padding:6px 9px;border-left:4px solid #eb982d;border-radius:0 6px 6px 0;background:#fff8eb;color:#6a4716;font:850 .7rem/1.25 system-ui}
.flight-derived-airspeed{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 2px;padding:7px 9px;border:1px solid #b9d3dc;border-radius:7px;background:#edf7fa}.flight-derived-airspeed span{display:grid}.flight-derived-airspeed strong{color:#173e51;font-size:.78rem}.flight-derived-airspeed small{color:#687b84;font-size:.56rem;line-height:1.2}.flight-derived-airspeed output{color:#0c6681;font:900 .78rem/1 ui-monospace,monospace;white-space:nowrap}
.flight-wind-control{margin-top:5px}.flight-wind-control label strong{font-size:.73rem}.flight-wind-control label small{font-size:.54rem;line-height:1.15}.flight-wind-effect{grid-area:effect;color:#617985;font-size:.55rem;font-weight:800;text-align:left;line-height:1.15}
@media(max-width:720px){.flight-slider-control{margin-top:12px;padding-top:2px}.flight-slider-control label strong{font-size:.8rem}.flight-slider-control label small,.flight-wind-effect{font-size:.61rem}.flight-derived-airspeed{margin-bottom:5px}}
.flight-wind-components,.flight-config-pair{display:contents}
@media(min-width:1000px) and (min-height:680px){
  .flight-wind-components,.flight-config-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .flight-wind-components .flight-slider-control,.flight-config-pair .flight-slider-control{margin-top:4px;gap:1px 4px}
  .flight-wind-components .flight-slider-control label strong,.flight-config-pair .flight-slider-control label strong{font-size:.66rem;line-height:1.05}.flight-wind-components .flight-slider-control label small,.flight-config-pair .flight-slider-control label small{font-size:.48rem;line-height:1.08}.flight-wind-components .flight-slider-control>output,.flight-config-pair .flight-slider-control>output{font-size:.62rem}.flight-wind-components .flight-wind-effect{font-size:.48rem;line-height:1.05;white-space:nowrap}
}

/* Full-height MSL altitude tape inside the wind-tunnel viewport. */
.altitude-ribbon{position:absolute;z-index:4;top:10px;bottom:10px;left:10px;width:72px;overflow:visible;border:1px solid rgba(189,225,237,.62);border-radius:7px;background:linear-gradient(90deg,rgba(4,27,40,.9),rgba(12,57,75,.78));box-shadow:0 4px 14px rgba(4,26,38,.28),inset -1px 0 rgba(255,255,255,.12);color:#f1fbff;pointer-events:none}
.altitude-ribbon>strong{position:absolute;z-index:3;top:7px;left:50%;color:#b9dbe6;font:900 .49rem/1 system-ui;letter-spacing:.11em;transform:translateX(-50%)}
.altitude-ribbon-scale{position:absolute;inset:24px 0 26px;overflow:hidden}
.altitude-ribbon-scale span{position:absolute;right:9px;width:auto;height:auto;border:0;color:#d9eff5;font:800 .52rem/1 ui-monospace,monospace;text-align:right;transform:translateY(-50%);transition:top .12s linear}
.altitude-ribbon-scale span::before{content:none}
.altitude-ribbon-scale span.major{color:#fff;font-weight:950}
.altitude-ribbon-readout{position:absolute;z-index:5;top:50%;left:0;display:grid;place-content:center;width:86px;min-height:42px;padding:5px 13px 5px 4px;background:#073b53;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));text-align:center;transform:translateY(-50%)}
.altitude-ribbon-readout output{color:#fff;font:950 .8rem/1 ui-monospace,monospace}.altitude-ribbon-readout small{margin-top:3px;color:#a9d7e7;font:850 .43rem/1 system-ui;letter-spacing:.08em}
.altitude-ribbon-trend{position:absolute;z-index:3;bottom:6px;left:50%;width:68px;color:#b8dce7;font:850 .44rem/1 system-ui;text-align:center;transform:translateX(-50%);white-space:nowrap}
.flight-canvas-cue{left:96px}
@media(max-width:720px){.altitude-ribbon{top:7px;bottom:7px;left:6px;width:60px}.altitude-ribbon-scale span{right:7px;width:auto;font-size:.46rem}.altitude-ribbon-readout{width:72px;min-height:38px;padding-right:11px}.altitude-ribbon-readout output{font-size:.68rem}.altitude-ribbon-trend{width:58px;font-size:.39rem}.flight-canvas-cue{left:50%}}

/* A repeatable, non-public framing mode for homepage artwork captured from the
   real WebGL diagram. It removes only HTML overlays that would be clipped by
   the much tighter teaser crop; the airplane and force vectors remain live. */
[data-capture-mode="flight-forces"] .flight-stage .force-legend,
[data-capture-mode="flight-forces"] .flight-stage .flight-canvas-cue,
[data-capture-mode="flight-forces"] .flight-stage .stall-annunciator{display:none}
.stall-annunciator{left:auto;right:14px;transform:none}
@media(max-width:720px){.stall-annunciator{top:9px;right:8px}}
.flight-instrument-dock{display:grid;grid-template-columns:minmax(140px,152px) minmax(140px,152px) minmax(155px,170px) minmax(138px,1fr);align-items:center;justify-content:start;gap:10px;padding:8px 12px;border-bottom:1px solid #8ca4ad;background:linear-gradient(145deg,#17262d,#0d171c);box-shadow:inset 0 -1px rgba(255,255,255,.06)}
.flight-dock-gauge{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;column-gap:7px;min-width:0;padding:5px 6px;border:1px solid #53666e;border-radius:9px;background:rgba(5,13,17,.72);box-shadow:inset 0 0 11px #000;color:#fff;pointer-events:none}
.flight-dock-gauge .gauge-face{grid-row:1/3;width:82px;border-width:4px}
.flight-dock-gauge .gauge-face::after{inset:3px}
.flight-dock-gauge .gauge-mark{font-size:.4rem}
.flight-dock-gauge .gauge-center-value{bottom:25%;font-size:.56rem}
.flight-dock-gauge .gauge-unit{bottom:12%;font-size:.29rem}
.flight-dock-gauge .gauge-needle{width:2px}
.flight-dock-gauge .gauge-hub{width:9px;height:9px;border-width:2px}
.flight-dock-gauge h3{align-self:end;margin:0;color:#d9ecf2;font-size:.49rem;line-height:1.12;letter-spacing:.055em;text-align:left;text-transform:uppercase}
.flight-dock-gauge output{align-self:start;margin-top:3px;color:#8ee5ff;font:900 .52rem/1.05 ui-monospace,monospace;text-align:left;white-space:nowrap}
.groundspeed-face::before{content:"";position:absolute;z-index:1;inset:7px;border-radius:50%;background:repeating-conic-gradient(from -135deg,#e9efef 0 1.2deg,transparent 1.2deg 13.5deg);-webkit-mask:radial-gradient(transparent 0 72%,#000 73% 83%,transparent 84%);mask:radial-gradient(transparent 0 72%,#000 73% 83%,transparent 84%)}
.groundspeed-face .gs-mark-0{left:16%;bottom:18%}.groundspeed-face .gs-mark-40{top:31%;left:10%}.groundspeed-face .gs-mark-80{top:11%;left:32%}.groundspeed-face .gs-mark-120{top:11%;right:25%}.groundspeed-face .gs-mark-160{top:31%;right:8%}.groundspeed-face .gs-mark-200{right:14%;bottom:18%}
.flight-dock-groundspeed{border-color:#4b7d8d}.flight-dock-groundspeed output{color:#79e2f4}
.crab-indicator{display:grid;grid-template-columns:1fr 66px 1fr;grid-template-rows:auto auto;align-items:center;justify-items:center;gap:2px 7px;min-width:0;padding:6px 9px;border:1px solid #53666e;border-radius:8px;background:rgba(7,35,48,.86);box-shadow:inset 0 0 11px #000;color:#fff;pointer-events:none}
.crab-indicator>span{color:#a9dbea;font:900 .48rem/1 system-ui;letter-spacing:.09em}.crab-indicator>strong{margin-top:2px;color:#ffd36f;font:950 .65rem/1 system-ui;letter-spacing:.05em}.crab-indicator>small{margin-top:3px;color:#d6eef5;font:800 .5rem/1 ui-monospace,monospace;white-space:nowrap}.crab-indicator.limited{border-color:#f5ad55;background:rgba(91,43,17,.91)}
.crab-indicator>span{grid-column:1;grid-row:1}.crab-indicator>strong{grid-column:3;grid-row:1}.crab-indicator>small{grid-column:1/4;grid-row:2}.crab-plan{position:relative;grid-column:2;grid-row:1/3;width:58px;height:52px;margin:0}.crab-track-line{position:absolute;top:2px;bottom:3px;left:50%;width:2px;background:#64d2f0;box-shadow:0 0 5px rgba(100,210,240,.85);transform:translateX(-50%)}.crab-track-line::before{content:"";position:absolute;top:-1px;left:50%;border:4px solid transparent;border-bottom:0;border-top:7px solid #64d2f0;transform:translate(-50%,-1px) rotate(180deg)}
.crab-heading-arrow{position:absolute;bottom:8px;left:50%;width:4px;height:30px;border-radius:3px;background:#ffd36f;box-shadow:0 0 6px rgba(255,211,111,.72);transform:translateX(-50%) rotate(0deg);transform-origin:50% 100%;transition:transform .16s linear}.crab-heading-arrow::before{content:"";position:absolute;top:-7px;left:50%;border:5px solid transparent;border-bottom:8px solid #ffd36f;transform:translateX(-50%)}.crab-plan b{position:absolute;right:-9px;bottom:0;color:#64d2f0;font:850 .4rem/1 system-ui;letter-spacing:.06em}
@media(max-width:920px){.flight-instrument-dock{grid-template-columns:repeat(3,minmax(0,1fr))}.crab-indicator{grid-column:1/-1}.flight-dock-gauge{grid-template-columns:68px minmax(0,1fr)}.flight-dock-gauge .gauge-face{width:68px}.flight-dock-gauge h3{font-size:.44rem}.flight-dock-gauge output{font-size:.47rem}}
@media(max-width:520px){.flight-instrument-dock{gap:5px;padding:6px}.flight-dock-gauge{display:block;padding:4px;text-align:center}.flight-dock-gauge .gauge-face{width:min(25vw,78px)}.flight-dock-gauge h3{margin-top:3px;font-size:.42rem;text-align:center}.flight-dock-gauge output{display:block;margin-top:2px;font-size:.45rem;text-align:center}.flight-dock-gauge .gauge-mark{font-size:.34rem}.flight-dock-gauge .gauge-unit{font-size:.24rem}.crab-indicator{grid-template-columns:1fr 54px 1fr;padding:4px 7px}.crab-indicator>span{font-size:.42rem}.crab-indicator>strong{font-size:.57rem}.crab-indicator>small{font-size:.43rem}.crab-plan{width:50px;height:38px}.crab-heading-arrow{height:24px}}

/* Compact, aircraft-style configuration controls. The gear selector is an
   explicitly labeled retractable-gear comparison for the fixed-gear 172N. */
.flight-configuration-selectors{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:9px;align-items:start}
.gear-selector{min-width:0;margin:14px 0 4px;padding:0;border:0}
.gear-selector legend{margin-bottom:5px;color:#173e51;font-size:.83rem;font-weight:850}
.gear-selector legend span{color:#6b7d85;font-size:.62rem;font-weight:750}
.gear-selector>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.gear-selector button{min-width:0;padding:6px 3px;font-size:.65rem}
.gear-selector button[aria-checked=true]{border-color:#126582;background:#126582;color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.gear-effect{display:block;margin-top:5px;color:#315e71;font-size:.61rem;font-weight:800;line-height:1.25}
.gear-comparison-note{margin:3px 0 0;color:#6b7d85;font-size:.6rem;line-height:1.25}
@media(max-width:1100px){.flight-configuration-selectors{grid-column:1/-1}}
@media(max-width:720px){.flight-configuration-selectors{grid-template-columns:1fr}.gear-selector{margin-top:6px}.gear-selector legend{font-size:.8rem}.gear-selector button{font-size:.7rem}.gear-comparison-note{font-size:.64rem}}
@media(min-width:1000px) and (min-height:680px){.flight-configuration-selectors{gap:6px}.gear-selector,.flap-selector{margin:7px 0 2px}.gear-selector legend{margin-bottom:3px;font-size:.72rem}.gear-selector>div{gap:3px}.gear-selector button{min-height:29px;padding:4px 2px;font-size:.56rem}.gear-effect{margin-top:3px;font-size:.5rem;line-height:1.08}.gear-comparison-note{display:none}}
.flight-stage{background:linear-gradient(#d8edf5,#b7d8e4)}
.flight-stage::before{background:radial-gradient(ellipse at 76% 19%,rgba(255,255,255,.34),transparent 25%),radial-gradient(ellipse at 24% 11%,rgba(255,255,255,.22),transparent 22%);background-size:auto}

/* A momentary, aircraft-style control keeps the slip an intentional input.
   It is compact enough to remain beside the wind-tunnel view on laptops. */
.flight-slip-control{display:grid;grid-template-columns:minmax(132px,.9fr) minmax(0,1.4fr);align-items:center;gap:8px;margin:8px 0 3px;padding:7px;border:1px solid #b8ccd4;border-radius:8px;background:#edf5f7}
.flight-slip-control button{min-height:34px;border-color:#326b80;background:linear-gradient(#fff,#dcebf0);color:#16465a;font-size:.65rem;letter-spacing:.04em;touch-action:none;user-select:none;-webkit-user-select:none}
.flight-slip-control button span{display:inline-block;margin-right:4px;font-size:.9rem}
.flight-slip-control button[aria-pressed=true],.flight-slip-control button.is-held{border-color:#9d4d1e;background:#b95824;color:#fff;box-shadow:inset 0 2px 5px rgba(0,0,0,.24)}
.flight-slip-control small{color:#315d6d;font-size:.58rem;font-weight:800;line-height:1.25}
@media(max-width:720px){.flight-slip-control{grid-template-columns:1fr}.flight-slip-control small{text-align:center}}
@media(min-width:1000px) and (min-height:680px){.flight-slip-control{margin:5px 0 2px;padding:5px}.flight-slip-control button{min-height:29px;padding:4px 6px;font-size:.56rem}.flight-slip-control small{font-size:.5rem}}

/* Progressive high-altitude physiology. The status stays outside the canvas so
   the warning remains readable without covering the airplane or force vectors. */
.flight-status-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
.flight-oxygen-status{transition:background .25s ease}
.flight-oxygen-status[data-level=advisory],.flight-oxygen-status[data-level=caution],.flight-oxygen-status[data-level=required]{background:#fff7d7}
.flight-oxygen-status[data-level=impaired],.flight-oxygen-status[data-level=severe],.flight-oxygen-status[data-level=incapacitated]{background:#ffe4df}
.flight-oxygen-meter{display:block;height:4px;margin-top:5px;overflow:hidden;border-radius:99px;background:#c8d7dc}
.flight-oxygen-meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4da66b 0 22%,#e3a62a 48%,#d94338 78%);transition:width .25s linear}
.flight-oxygen-status em{display:block;margin-top:3px;color:#73858d;font:800 .43rem/1 system-ui;letter-spacing:.07em}
.flight-hypoxia-vision{position:absolute;z-index:6;inset:0;opacity:0;background:radial-gradient(circle at center,transparent 18%,rgba(20,35,54,.42) 58%,rgba(4,9,20,.94) 100%);box-shadow:inset 0 0 75px 30px rgba(28,35,66,.72);transition:opacity .35s linear;pointer-events:none}
@media(max-width:720px){.flight-status-strip{grid-template-columns:1fr 1fr}.flight-status-strip>div:nth-child(even){border-right:0}.flight-status-strip>div:nth-child(-n+4){border-bottom:1px solid #c2d2d8}.flight-status-strip>.flight-oxygen-status{grid-column:1/-1;border-right:0}}

/* Reuse the detailed C172S-style face from the instrument-scan activity. The
   live CSS needle remains separate so the wind-tunnel physics can drive it. */
.flight-dock-airspeed .realistic-airspeed-face{overflow:visible;border:0;background:#080c11;box-shadow:0 4px 10px rgba(0,0,0,.48)}
.flight-dock-airspeed .realistic-airspeed-face::after{content:none}
.realistic-airspeed-face>img{display:block;width:100%;height:100%;border-radius:50%}
.flight-dock-airspeed .realistic-airspeed-face .gauge-needle{width:3px;height:34%;border-radius:2px;background:linear-gradient(90deg,#d9dee3,#fff 45%,#aeb6be);box-shadow:0 1px 3px #000;transform:translate(-50%,-100%) rotate(6.75deg)}
.flight-dock-airspeed .realistic-airspeed-face .gauge-needle::before{top:-4px;left:-2px;border-width:3px;border-bottom-width:8px}
.flight-dock-airspeed .realistic-airspeed-face .gauge-hub{width:11px;height:11px;border:2px solid #aab3bc;background:radial-gradient(circle,#111827 0 27%,#6b7580 30% 72%,#222b34 75%);box-shadow:0 2px 4px #000}
.flight-dock-vsi .realistic-vsi-face{overflow:visible;border:0;background:#080c11;box-shadow:0 4px 10px rgba(0,0,0,.48)}
.flight-dock-vsi{grid-template-columns:92px minmax(0,1fr)}
.flight-dock-vsi .gauge-face{width:92px}
.flight-dock-vsi .realistic-vsi-face::after{content:none}
.realistic-vsi-face>img{display:block;width:100%;height:100%;border-radius:50%}
.flight-dock-vsi .realistic-vsi-face .gauge-needle{width:3px;height:32%;border-radius:2px;background:linear-gradient(90deg,#d9dee3,#fff 45%,#aeb6be);box-shadow:0 1px 3px #000}
.flight-dock-vsi .realistic-vsi-face .gauge-needle::before{top:-4px;left:-2px;border-width:3px;border-bottom-width:8px}
.flight-dock-vsi .realistic-vsi-face .gauge-hub{width:11px;height:11px;border:2px solid #aab3bc;background:radial-gradient(circle,#111827 0 27%,#6b7580 30% 72%,#222b34 75%);box-shadow:0 2px 4px #000}

/* Make an actual aerodynamic stall unmistakable without changing layout. */
.stall-border-warning{position:absolute;z-index:9;inset:0;border:5px solid #ffd326;opacity:0;box-shadow:inset 0 0 18px rgba(255,211,38,.42);pointer-events:none}
.flight-stage.is-stalling .stall-border-warning{animation:stallBorderFlash .62s ease-in-out infinite}
@keyframes stallBorderFlash{0%,100%{border-color:#ffe77a;opacity:.38;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 0 18px rgba(255,211,38,.38)}50%{border-color:#ffd000;opacity:1;box-shadow:inset 0 0 0 5px #ffd000,inset 0 0 46px rgba(255,208,0,.82)}}
@media(prefers-reduced-motion:reduce){.flight-stage.is-stalling .stall-border-warning{animation:none;opacity:1;box-shadow:inset 0 0 0 4px #ffd000,inset 0 0 30px rgba(255,208,0,.66)}}

/* Keep the selected versus live, motor-driven flap position visible. */
.flap-selector small{display:grid;gap:1px}.flap-selector small strong{color:#315e71;font-size:.66rem}.flap-selector small span{display:block}
@media(min-width:1000px) and (min-height:680px){.flap-selector small{display:block;margin-top:2px;font-size:.54rem;line-height:1.08}.flap-selector small strong{font-size:.56rem}.flap-selector small span{display:none}}
