/* FLIGHTDECK — phone layout refinements. Loaded after the other sheets; everything is scoped to phones (≤800px) except the text-size guard. */
html{-webkit-text-size-adjust:100%}
@media(max-width:800px){
/* View switcher: stays pinned while scrolling the long cockpit; all six tabs scroll sideways instead of clipping behind the sim-rate controls. */
.viewbar{position:sticky;top:0;z-index:6;background:var(--bg);margin-top:8px;gap:8px}
.view-tabs{flex:1;min-width:0;gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}
.view-tabs::-webkit-scrollbar{display:none}
.view-tabs button{flex:0 0 auto;white-space:nowrap;padding:14px 9px;min-height:44px;font-size:13px;scroll-snap-align:start}
.view-tabs button:first-child{padding-left:2px}
.view-tabs button:last-child{margin-right:26px}
.speed-control{gap:6px}
.speed-control button{min-width:36px;height:36px;font-size:12px}
/* Mission bar: the spoken first-officer button was squeezed to 10px; keep it as an icon-only 44px target. */
.mission-bar #voice-button{flex:0 0 auto;min-width:44px;min-height:44px;padding:8px}
.mission-bar #voice-button>span{display:none}
/* Cockpit focus switcher: wrap into full rows instead of leaving one orphan button; tools sit on their own row. */
.camera-zones{display:flex;flex-wrap:wrap;gap:6px}
.camera-zones button{flex:1 1 30%;min-height:44px}
.camera-tools{width:100%;margin-left:0;justify-content:flex-end}
.lighting-bar input{flex:1;min-width:90px}
/* Toggle switches: the handle overhangs the track by ~8px in both positions, so the ON/OFF captions were drawn through it. */
.switch-button{gap:4px}
.switch-track{margin:9px 0}
.switch-position{font-size:10px}
/* Engine display: two engine columns stay side by side, but the readouts stack one per row so values no longer spill past the screen edge. */
.engine-readings{gap:10px}
.engine-meta,.cockpit-surface .engine-meta{grid-template-columns:1fr;gap:5px;padding:0 2px}
.engine-meta>div,.cockpit-surface .engine-meta>div{font-size:10px;min-width:0}
.engine-meta strong,.cockpit-surface .engine-meta strong{font-size:15px}
/* Cutaway schematic is wider than the phone; tell the reader it scrolls. */
.cutaway-stage{position:relative}
.cutaway-scroll{overscroll-behavior-x:contain;scrollbar-width:thin}
.cutaway-scroll:after{content:'SWIPE TO EXPLORE \2194';position:sticky;left:calc(100% - 132px);bottom:0;display:inline-block;margin:-30px 0 8px;padding:5px 8px;border:1px solid #526b7b;border-radius:3px;background:#0b1925d9;font:9px var(--mono);letter-spacing:1px;color:#90adbf;pointer-events:none}
/* Tap targets: bring the remaining sub-32px controls up to comfortable sizes without moving their neighbours. */
.checklist-heading button{padding:10px 12px;margin:-10px -12px;font-size:12px}
.mode-switch button{min-height:36px}
.camera-switch button{padding:9px 10px;font-size:10px}
.situational-coach button,.cause-strip>button{min-height:40px;padding:8px 0}
.scope-note #source-links{gap:4px 18px}
.scope-note #source-links a{display:inline-block;padding:6px 0}
.max-dial-controls>button:not(.max-rotary){width:30px;min-height:40px}
/* Legibility: lift the 6–8px mono captions to 9px; letter-spacing is reduced so they still fit. */
.session-state,.gate-label,.gate-bottom,.weather>span,.windshield .weather>span:nth-of-type(2),.panel-section-label,.panel-section-label>span:last-child,.cause-strip>span,.cockpit-surface .annunciator,.cockpit-surface .systems-command-bar label,.cockpit-surface .v3-type-strip,.cockpit-surface .v3-type-strip b{font-size:9px}
.gate-bottom,.gate-label{letter-spacing:1px}
.cockpit-surface .display-header{font-size:8px}
.max-toggle,.max-area-title span,.max-du h4,.max-discharge,.max-unlock,.max-fire-handle>span,.max-radio-row>span,.max-radio-row label,.engine-inline-status,.step-topline>span:last-child,.deck-footer>span:first-child,.gate-bottom span:last-child,.apu-caption small{font-size:9px}
.max-area-title span{max-width:140px}
.energy-flow,.thermal-values span{font-size:8px}
/* Safe areas on notched phones. */
body{padding-bottom:env(safe-area-inset-bottom)}
.toast{bottom:calc(24px + env(safe-area-inset-bottom))}
}
/* Narrow phones: give the engine gauges room. */
@media(max-width:400px){
.gauge{width:100px;height:98px}
.engine-meta strong,.cockpit-surface .engine-meta strong{font-size:14px}
}

/* Touch-first CDU controls also remain usable on the full desktop flight deck. */
.cdu-row>button{flex:1;min-width:0;min-height:43px;padding:3px 0;text-align:left;background:none;border:0;color:inherit;font:inherit;border-radius:2px}
.cdu-row>button:last-child{text-align:right}.cdu-row>button:hover{background:#bed9c00c}.cdu-row>button:focus-visible{outline:2px solid #e4ba78;outline-offset:1px}.cdu-row>button small{display:block}.cdu-row>button strong{display:block}
.cdu-linekeys button{font:9px var(--mono)}.cdu-position-help{margin:12px 0;padding:12px;background:#162f3c;border:1px solid #668a9b;border-radius:5px}.cdu-position-help[hidden]{display:none}.cdu-position-help p{font-size:12px;line-height:1.5;margin:0 0 9px;color:#b9d0dc}.cdu-position-help>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cdu-position-help button{min-height:48px;font:11px var(--mono);padding:9px;background:#314d5e;border:1px solid #93b4b7;border-radius:4px;color:#f0e4c9}.cdu-position-help button:disabled{opacity:.6;cursor:default}.cdu-position-help button:active{background:#657e83}.cdu-feedback{font:11px/1.65 var(--mono);min-height:36px;margin:12px 2px 3px;color:#e9c490}.cdu-keyboard-toggle{display:none}
.mobile-console-header,.mobile-dock{display:none}.mobile-sheet{color:#e6eceb;background:#13222e;border:1px solid #657b8b;border-radius:18px 18px 0 0;width:min(100%,560px);max-width:100%;max-height:88dvh;padding:0;margin:auto auto 0;box-shadow:0 -12px 50px #0008}.mobile-sheet::backdrop{background:#02080dbb;backdrop-filter:blur(3px)}.mobile-sheet>header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#1c303e;padding:12px 18px;border-bottom:1px solid #466070}.mobile-sheet>header h2{font-size:18px;margin:0}.mobile-sheet>header button{width:44px;height:44px;background:#324c5c;color:#f2e6d3;border-radius:50%;font-size:26px}.mobile-sheet button:focus-visible{outline:2px solid #edbe82;outline-offset:2px}
.compact-flightdeck{padding-bottom:0;--mobile-accent:#f1bd7c}.compact-flightdeck .topbar{height:58px;padding:0 13px;gap:5px}.compact-flightdeck .wordmark{font-size:15px;letter-spacing:1.5px;gap:8px}.compact-flightdeck .brand-icon{width:25px;height:25px;font-size:20px;line-height:26px}.compact-flightdeck .top-actions{gap:2px}.compact-flightdeck .icon-button{width:40px;height:44px}.compact-flightdeck .reset-button{width:42px;height:44px;display:grid;place-items:center;border:0;padding:0}.compact-flightdeck .reset-button>span:last-child,.compact-flightdeck .edition,.compact-flightdeck .aircraft-tag{display:none}
.compact-flightdeck .workspace{display:block;padding:0 12px 144px;max-width:760px}.compact-flightdeck .scenario-heading,.compact-flightdeck .windshield,.compact-flightdeck .viewbar,.compact-flightdeck .deck-footer{display:none}.compact-flightdeck .mission-bar{margin:10px 0;padding:0;gap:8px;display:flex;background:none;border:0}.compact-flightdeck .mission-bar>button{min-width:0;min-height:48px;padding:8px 10px;border:1px solid #3e596a;border-radius:7px;background:#1c2d39;flex:1}.compact-flightdeck .mission-bar>button>span{font-size:8px}.compact-flightdeck .mission-bar>button strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-flightdeck .mission-bar #voice-button{flex:0 0 44px;min-width:44px}.compact-flightdeck .mission-bar #voice-button>span{display:none}
.compact-flightdeck .mobile-console-header{display:block;position:sticky;top:0;z-index:8;background:#111d27;box-shadow:0 8px 16px #07101b55;border:1px solid #41586b;border-radius:9px;margin-bottom:12px;overflow:hidden}.mobile-task-row{display:flex;gap:10px;align-items:center;padding:10px 11px;border-bottom:1px solid #3c5363;background:linear-gradient(120deg,#263848,#172b36)}.mobile-task-row #mobile-task-details{background:none;text-align:left;padding:0;flex:1;min-width:0}.mobile-task-row #mobile-task-count{font:9px var(--mono);color:#e6b986;letter-spacing:1px;display:block;margin-bottom:5px}.mobile-task-row strong{font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#e9e6de}.mobile-task-row #mobile-follow{flex:0 0 98px;min-height:44px;background:#e5b782;color:#1a2731;border-radius:5px;font-size:11px;font-weight:700;padding:8px 6px}
.mobile-panelbar{display:flex;align-items:center;gap:6px;padding:4px 7px}.mobile-panelbar>button{min-height:44px;background:none;border:0;color:#c5d4de}.mobile-panelbar>button:disabled{opacity:.25}.mobile-panelbar>button:first-child,.mobile-panelbar>button:last-child{width:42px;font-size:30px;flex-shrink:0}.mobile-panelbar #mobile-panel-picker{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;gap:2px 7px;text-align:left;padding:5px 0}.mobile-panelbar #mobile-panel-group{font:8px var(--mono);color:#839fae;text-transform:uppercase;letter-spacing:.5px;grid-column:1/-1}.mobile-panelbar #mobile-panel-title{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-panelbar small{font-size:9px;color:#d6b68e;align-self:center}.outside-cockpit .mobile-panelbar{display:none}
.compact-flightdeck .cockpit-camera,.compact-flightdeck .lighting-bar{display:none}.compact-flightdeck .cockpit-viewport{border:0;padding:0;background:none;overflow:visible;max-height:none;touch-action:pan-y}.compact-flightdeck .cockpit-surface{zoom:1!important;filter:brightness(var(--panel-brightness));animation:none}.compact-flightdeck .mobile-path{display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;gap:0!important}.compact-flightdeck .mobile-path>:not(.mobile-path):not(.mobile-panel-active){display:none!important}.compact-flightdeck .mobile-panel-active{display:block!important;margin:0!important;width:100%;max-width:none!important;scroll-margin-top:140px}.compact-flightdeck .mobile-panel-active.max-control-grid{display:grid!important}.compact-flightdeck .mobile-panel-active.max-thrust-rails{display:flex!important}
.compact-flightdeck .mobile-panel-active:is(.panel,.max-panel){padding:19px 14px;border-radius:9px}.compact-flightdeck .mobile-panel-active.max-control-grid,.compact-flightdeck #max-fuel-levers.mobile-panel-active{padding:20px 12px;border:1px solid #728391;border-radius:9px;background:linear-gradient(135deg,#3c4e5a,#233743)}.compact-flightdeck .mobile-panel-active .max-control-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:15px 8px}.compact-flightdeck .max-panel h3{font-size:12px;margin-bottom:19px}.compact-flightdeck .max-control label{font-size:11px}.compact-flightdeck .max-control output{font-size:12px}.compact-flightdeck .max-selector-options{font-size:10px}.compact-flightdeck .max-dial-controls>button:not(.max-rotary){width:33px;min-height:44px}.compact-flightdeck .max-dial{touch-action:pan-y;cursor:pointer}.compact-flightdeck .max-panel-note,.compact-flightdeck .max-inline-readout{font-size:11px;line-height:1.65}.compact-flightdeck .mobile-panel-active.max-thrust-rails input{height:200px}.compact-flightdeck #max-fuel-levers .fuel-levers{margin:10px 0;gap:45px}
.compact-flightdeck .max-du.mobile-panel-active{max-width:420px!important;margin:auto!important;border-width:8px}.compact-flightdeck .max-du.mobile-panel-active svg{max-height:none}.compact-flightdeck #engine-console.mobile-panel-active{margin:0!important;padding:12px}.compact-flightdeck .engine-meta,.compact-flightdeck .cockpit-surface .engine-meta{grid-template-columns:1fr 1fr;gap:8px}.compact-flightdeck .engine-meta>div{font-size:9px!important;display:flex;flex-wrap:wrap}.compact-flightdeck .engine-meta strong{font-size:16px!important;display:block;width:100%}.compact-flightdeck .gauge{max-width:100%;height:auto}.compact-flightdeck .gauge-row{gap:0}
.compact-flightdeck .max-cdu{padding:15px 10px;border-radius:9px}.compact-flightdeck .cdu-face{display:block}.compact-flightdeck .cdu-linekeys{display:none}.compact-flightdeck .cdu-screen{padding:13px 11px;border-width:6px}.compact-flightdeck .cdu-screen header{font-size:14px;margin-bottom:8px}.compact-flightdeck .cdu-row{gap:9px;min-height:49px}.compact-flightdeck .cdu-row.empty{display:none}.compact-flightdeck .cdu-row>button{min-height:49px;padding:5px 2px;border-bottom:1px solid #65859d22}.compact-flightdeck .cdu-row small{font-size:10px;line-height:1.5;letter-spacing:0}.compact-flightdeck .cdu-row strong{font-size:12px;line-height:1.6}.compact-flightdeck .cdu-screen[data-page="POS INIT"] .cdu-row:nth-of-type(2)>button:last-child{display:none}.compact-flightdeck .cdu-scratch{font-size:12px;min-height:35px}.compact-flightdeck .cdu-pagekeys{gap:7px;margin:12px 0}.compact-flightdeck .cdu-pagekeys button{min-height:44px;font-size:10px}.compact-flightdeck .cdu-position-help{margin:10px 0;padding:10px}.compact-flightdeck .cdu-position-help button{font-size:12px;min-height:52px}.compact-flightdeck .cdu-position-help p{font-size:11px}.compact-flightdeck .cdu-keyboard{display:none}.compact-flightdeck .keyboard-open .cdu-keyboard{display:grid;margin-top:10px;grid-template-columns:repeat(6,1fr)}.compact-flightdeck .cdu-keyboard button{min-height:44px;font-size:13px}.compact-flightdeck .cdu-keyboard-toggle{display:block;width:100%;min-height:42px;background:#243d4c;color:#c6d8e2;border:1px solid #738995;border-radius:4px;font-size:12px}.compact-flightdeck .cdu-feedback{font-size:12px;min-height:20px}.compact-flightdeck .cdu-brief{font-size:13px;min-height:44px}
.compact-flightdeck .mobile-dock{display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#142431;border-top:1px solid #4b6374;box-shadow:0 -8px 30px #030b1266;padding-bottom:env(safe-area-inset-bottom)}.mobile-live{display:flex;align-items:center;gap:7px;padding:5px 12px;border-bottom:1px solid #3c5668}.mobile-live>button{background:none;color:#c0d6df;min-height:40px;min-width:40px;border-radius:4px;font:13px var(--mono);padding:4px}.mobile-live #mobile-live-engines{flex:1;text-align:left;display:flex;flex-direction:column;gap:5px;font:10px var(--mono);color:#b0daca}.mobile-live #mobile-rate,.mobile-live #mobile-pause{background:#2c4455}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);max-width:760px;margin:auto}.mobile-nav button{min-height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:10px;color:#a9c0d0;background:none;border:0}.mobile-nav button>span{font-size:19px;color:#e4c19a;line-height:1.1}.mobile-nav button:active,.mobile-nav .attention{background:#3b4f5c;color:#ffe2ae}
.mobile-search{position:sticky;top:69px;background:#13222e;padding:14px 17px;z-index:2}.mobile-search input{width:100%;min-height:46px;font-size:15px;color:#e6eeee;border:1px solid #547284;border-radius:7px;background:#0b1a25;padding:10px 13px}#mobile-panel-list{padding:0 17px 25px;display:grid;grid-template-columns:1fr 1fr;gap:8px}#mobile-panel-list h3{grid-column:1/-1;margin:17px 0 2px;color:#e5bb88;font:11px var(--mono);text-transform:uppercase;letter-spacing:1px}#mobile-panel-list>button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:57px;border:1px solid #435e70;border-radius:6px;background:#213745;text-align:left;padding:11px;font-size:12px;line-height:1.4}#mobile-panel-list>button[aria-current=true]{border-color:#dbba82;background:#394b52;color:#f5dfb9}#mobile-panel-list>button>span{color:#ceb993}.mobile-empty{grid-column:1/-1;color:#a4bac8;padding:20px 0}.mobile-view-menu{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 17px 30px}.mobile-view-menu button{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:60px;text-align:left;border:1px solid #435e70;border-radius:6px;background:#213745;padding:12px;font-size:13px}.mobile-view-menu button span{color:#dfbe8e}
.compact-flightdeck #mobile-instructor-slot .instructor{display:block;position:static;width:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:#172833;overflow:visible}.compact-flightdeck #mobile-instructor-slot .instructor-top{padding:17px 20px}.compact-flightdeck #mobile-instructor-slot .instructor-top h2{display:none}.compact-flightdeck #mobile-instructor-slot .lesson-progress{margin:0 20px;padding:14px 0}.compact-flightdeck #mobile-instructor-slot .instruction{padding:17px 20px}.compact-flightdeck #mobile-instructor-slot .instruction h3{font-size:22px}.compact-flightdeck #mobile-instructor-slot .instruction p{font-size:15px;line-height:1.65}.compact-flightdeck #mobile-instructor-slot .locate-button{min-height:48px;font-size:14px}.compact-flightdeck #mobile-instructor-slot .instructor-bottom{display:none}.compact-flightdeck #mobile-instructor-slot .checklist{max-height:270px}.compact-flightdeck .toast{bottom:calc(130px + env(safe-area-inset-bottom));max-width:calc(100vw - 26px);font-size:12px;z-index:20}.compact-flightdeck .view-panel:not(#cockpit-view){padding-bottom:12px}.compact-flightdeck .mission-brief{margin-top:12px}

.compact-flightdeck .mobile-path::before,.compact-flightdeck .mobile-path::after{display:none!important}.compact-flightdeck .max-control output[role=button]{min-height:36px;padding:9px 7px;cursor:text;border-bottom:2px solid #d7b27f}.compact-flightdeck .max-control output[role=button]:after{content:' ✎';font-size:10px;color:#e0bd89}#mobile-value-form{padding:22px 20px 30px;display:grid;gap:15px}#mobile-value-form label{font-size:13px;color:#a9c2d0}#mobile-value-input{width:100%;min-height:58px;background:#0b1c27;border:1px solid #7b9daf;color:#f0e9da;border-radius:7px;padding:12px;font:24px var(--mono)}#mobile-value-form>button{min-height:48px;background:#e5b782;color:#172835;border-radius:6px;font-size:15px;font-weight:bold}
