/* Foreground airframe and cabin trim. The city remains the visual centre. */
.flight-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;isolation:isolate;perspective:var(--flight-look-perspective,1080px);perspective-origin:50% 50%;opacity:var(--flight-interior-opacity,1);}
.flight-aircraft{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.flight-aircraft-canvas{position:absolute;display:block;left:0;top:0;width:100%;height:100%;pointer-events:none;}
.flight-aircraft-fallback{display:none;position:absolute;left:50%;top:66%;width:var(--flight-fallback-span,180px);height:auto;translate:-50% -50%;transform:rotate(var(--flight-scene-bank,0deg));filter:drop-shadow(0 2px 1px #20262230);}
.flight-scene[data-renderer=illustration] .flight-aircraft-canvas{display:none;}
.flight-scene[data-view=chase][data-renderer=illustration] .flight-aircraft-fallback{display:block;}
.flight-passenger-preview,.flight-fan-preview{display:none;}
.flight-scene[data-view=chase][data-renderer=illustration] .flight-aircraft-fallback{transform:translate(var(--flight-chase-x,0px),var(--flight-chase-y,0px)) rotate(var(--flight-scene-bank,0deg)) rotateX(var(--flight-scene-pitch,0deg));}
.flight-cockpit-frame,.flight-passenger-frame,.flight-cockpit-instruments,.flight-cockpit-interior,.flight-cockpit-peripheral{display:none;}
.flight-scene[data-view=cockpit] .flight-aircraft{display:none;}
.flight-scene[data-view=cockpit] .flight-cockpit-interior{display:block;position:absolute;inset:0;transform-origin:50% 50% var(--flight-look-perspective,1080px);transform:rotateX(var(--flight-look-pitch,0deg)) rotateY(var(--flight-look-yaw,0deg));opacity:var(--flight-front-opacity,1);backface-visibility:hidden;}
/* The peripheral window becomes visible only when the passenger turns away
   from the front. Thin trim avoids the previous tunnel-like cabin frame. */
.flight-scene[data-view=cockpit] .flight-cockpit-peripheral{display:block;position:absolute;inset:-8% -9% -11%;border:21px solid #353a3d;border-radius:16%/22%;box-shadow:inset 0 0 0 2px #848c8e,inset 0 0 0 7px #282e31,inset 0 0 16px 5px #11171966,0 0 0 80px #3e4344;opacity:var(--flight-side-opacity,0);}
.flight-scene[data-view=cockpit] .flight-cockpit-frame{display:block;position:absolute;inset:0;filter:drop-shadow(0 1px 3px #10171940);}
.flight-cockpit-frame>svg{display:block;width:100%;height:100%;}
/* A quiet instrument row replaces the three floating, round dials. Its
   typography is numeric, not a decorative HUD over the windshield. */
.flight-scene[data-view=cockpit] .flight-cockpit-instruments{display:grid;position:absolute;left:38%;right:7%;bottom:97px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;color:#e4ecee;}
.flight-gauge{position:relative;min-width:0;display:grid;grid-template-columns:1fr auto;align-content:center;align-items:baseline;gap:2px 9px;text-align:left;font-family:var(--mono,monospace);padding:11px 13px 9px;background:#111a1e;border:1px solid #77868c;border-radius:3px;box-shadow:0 0 0 4px #282f32,0 2px 0 5px #141a1d,inset 0 0 14px #02090b;}
.flight-gauge:before{content:'';position:absolute;inset:4px;border:1px solid #77868c27;border-radius:1px;pointer-events:none;}
.flight-gauge-label{grid-column:1/-1;display:block;font:600 7px/1.2 var(--font,system-ui);letter-spacing:.12em;color:#9eaeb3;margin:0 0 4px;}
.flight-gauge-value{font:500 25px/1 var(--mono,monospace);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:#e8f0ee;text-shadow:none;}
.flight-gauge-unit{display:block;font:8px/1.3 var(--mono,monospace);color:#9aaeb4;margin:0;}
.flight-gauge-bearing{bottom:0;min-width:0;}
.flight-scene[data-view=passenger] .flight-aircraft{inset:0;width:100%;height:100%;transform:none;}
.flight-scene[data-view=passenger] .flight-passenger-frame{display:block;position:absolute;inset:-4.5% -5.5% -7%;border:24px solid #d7dbda;border-radius:18%/24%;box-shadow:inset 0 0 0 2px #68767d,inset 0 0 0 7px #f4f5ee,inset 0 0 0 9px #a3adae,inset 0 0 14px 10px #1c313c66,0 0 0 100px #d7dbda;transform:translate(var(--flight-window-x,0px),var(--flight-window-y,0px));}
.flight-window-reflection{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(117deg,transparent 56%,#fffefa06 57%,#fffefa06 59%,transparent 60%);box-shadow:inset 8px 0 15px #fff1,inset -3px 0 10px #192c3112;}
.flight-window-latch{position:absolute;left:50%;bottom:-13px;width:54px;height:9px;transform:translateX(-50%);border-radius:3px;background:linear-gradient(#f1f3f0,#abb4b6);box-shadow:0 1px 2px #20262240;}
.flight-scene[data-view=passenger][data-renderer=illustration] :is(.flight-passenger-preview,.flight-fan-preview){display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center;transform:translate(var(--flight-window-x,0px),var(--flight-window-y,0px));}
@media(max-height:700px){.flight-scene[data-view=cockpit] .flight-cockpit-instruments{bottom:92px;left:39%;right:7%;gap:8px;}.flight-gauge{padding:8px 10px 7px;}.flight-gauge-value{font-size:21px;}.flight-gauge-label{margin-bottom:3px;}}
@media(max-width:900px){.flight-scene[data-view=cockpit] .flight-cockpit-instruments{left:34%;right:5%;gap:7px;}.flight-gauge{padding:9px 10px 7px;}.flight-gauge-value{font-size:22px;}}
@media(max-width:620px){.flight-scene[data-view=cockpit] .flight-cockpit-instruments{left:12%;right:8%;bottom:122px;gap:7px;}.flight-gauge{padding:8px 9px 7px;}.flight-gauge-value{font-size:20px;}.flight-gauge-label{font-size:6px;}.flight-gauge-unit{font-size:7px;}.flight-scene[data-view=passenger] .flight-passenger-frame{border-width:18px;inset:-3.5% -11% -5%;border-radius:17%/21%;}}
@media(prefers-reduced-motion:reduce){.flight-aircraft,.flight-cockpit-frame,.flight-passenger-frame{transition:none;}}

/* Real cabin geometry replaces the old screen-shaped mockup when loaded. */
.flight-scene[data-model-ready=true][data-view=cockpit] .flight-aircraft{display:block;}
.flight-scene[data-model-ready=true] :is(.flight-cockpit-interior,.flight-cockpit-peripheral,.flight-passenger-frame){display:none;}
.flight-scene[data-model-ready=true]:is([data-view=cockpit],[data-view=passenger]) .flight-aircraft-canvas{transform:translate(var(--flight-cabin-x,0px),var(--flight-cabin-y,0px)) rotate(var(--flight-cabin-roll,0deg));filter:none;}
