#pilotApp h1{font-size:clamp(1.8rem,3.2vw,2.9rem);line-height:1.25}#pilotApp .hero{padding:24px 0;gap:20px}#pilotApp .hero-lead{line-height:1.8;margin-top:12px}#pilotApp .observatory-layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px}#pilotApp .observation-panel{padding:14px}#pilotApp .stage{height:clamp(400px,48vw,680px);isolation:isolate}#flightCanvas{display:block;width:100%;height:100%;outline-offset:-4px;touch-action:none}#flightCanvas:focus-visible{outline:3px solid #91e4ef}#pilotApp .cockpit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.air-label{position:absolute;left:8%;right:8%;top:7%;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#153849;font-weight:bold;pointer-events:none}.air-label #warning{background:#3d230ae0;color:#ffe3a7;padding:2px 6px}.air-label #warning:empty{display:none}
.instruments{position:absolute;left:11%;right:11%;bottom:3%;height:19%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:6px;pointer-events:none}.instruments>div{min-width:0;text-align:center;border:2px solid #586867;border-radius:7px;background:#0a181eea;padding:4px 2px;box-shadow:0 2px 5px #000}.instruments span,.instruments small{display:block;color:#bed7d2;font:10px/1.5 monospace}.instruments strong{font:600 clamp(17px,2.2vw,29px)/1.2 monospace;color:#f0dfac}.attitude{position:relative;height:35px;overflow:hidden;border-radius:50%;max-width:60px;margin:auto;background:#77b7d6}.attitude i{position:absolute;left:-60%;right:-60%;top:50%;height:200%;background:#ab8354;border-top:2px solid white;transform-origin:50% 0}.attitude b{position:relative;color:#fff3b2;font:16px monospace}
#pilotApp .flight-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}#pilotApp .flight-actions button{padding:9px 4px;font-size:.78rem}#pilotApp .flight-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:14px}#pilotApp .stick-wrap{font-size:.72rem;color:var(--cw-muted)}#stick{position:relative;height:100px;max-width:240px;margin:8px auto 0;border:1px solid var(--cw-line-strong);border-radius:45%;background:radial-gradient(ellipse,#243b43,#09151c);touch-action:none;cursor:grab;user-select:none;outline-offset:3px}#stick:focus-visible{outline:3px solid #91e4ef}.stick-cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:52px/1 monospace;color:#45616b}#stickKnob{position:absolute;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 25%,#b4c9bd,#456167 65%,#132c33);border:2px solid #a2b8b6;box-shadow:0 4px 10px #0008;pointer-events:none}.power{display:grid;gap:5px}.power label{display:flex;justify-content:space-between;font-size:.82rem}.power input{min-height:44px;width:100%;margin:0}#pilotApp .power button{font-size:.78rem;padding:5px}#pilotApp .bench-tag{font-size:.6rem;color:var(--cw-amber)}#pilotApp .control-panel{padding:16px}#pilotApp .preset-grid{display:grid;gap:8px}#pilotApp [aria-pressed=true]{border-color:var(--cw-amber)}#pilotApp select{width:100%;min-height:44px;padding:8px;background:#142a36;color:#fff}#pilotApp #resetButton{width:100%;margin-top:16px}#pilotApp .canvas-help,#pilotApp .control-hint,#pilotApp .small-note{font:.78rem/1.8 "Yu Gothic",Meiryo,sans-serif;color:var(--cw-muted)}#pilotApp .flight-plan{padding-left:22px;font:.9rem/2 "Yu Gothic",Meiryo,sans-serif}#pilotApp .flight-plan .done{color:var(--cw-green)}#pilotApp .flight-plan .done:after{content:' ✓'}#pilotApp .limits-section p{font:.85rem/1.8 "Yu Gothic",Meiryo,sans-serif;color:var(--cw-muted)}#pilotApp button:disabled{opacity:.45;cursor:not-allowed}.skip-link{position:fixed;z-index:40;top:8px;left:8px;padding:12px;background:#d4fbff;color:#07121b;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
#pilotApp .observation-panel.expanded{position:fixed;inset:0;z-index:50;max-width:none;background:#07121b;overflow:auto;padding:8px}#pilotApp .expanded .stage{height:calc(100dvh - 245px);min-height:250px}#pilotApp .expanded .panel-heading,#pilotApp .expanded .canvas-help{display:none}#pilotApp .expanded .flight-inputs{max-width:650px;margin:auto}#pilotApp .expanded .flight-actions{max-width:850px;margin:8px auto}#pilotApp .expanded #stick{height:82px}
@media(max-width:1100px){#pilotApp .observatory-layout{grid-template-columns:1fr}#pilotApp .control-panel{display:block}#pilotApp .preset-grid{grid-template-columns:repeat(3,1fr)}#pilotApp .stage{height:clamp(390px,62vw,610px)}}
@media(max-width:600px){#pilotApp .hero{padding:20px 0 14px}#pilotApp .hero-lead{font-size:.86rem}#pilotApp .status-rack{padding:10px}#pilotApp .observation-panel{padding:8px}#pilotApp .stage{height:385px}#pilotApp .panel-heading h2{font-size:1.02rem}#pilotApp .bench-tag{display:none}.instruments{left:3%;right:3%;gap:3px;bottom:3%}.instruments span,.instruments small{font-size:8px}.instruments strong{font-size:17px}.instruments>div{border-width:1px}.attitude{height:27px}#pilotApp .flight-actions{grid-template-columns:1fr 1fr}.air-label{font-size:8px;left:8%;right:8%}#pilotApp .preset-grid{grid-template-columns:1fr}#pilotApp .flight-inputs{gap:10px}.stick-wrap>span{display:block;min-height:34px}#pilotApp .expanded .stage{height:calc(100dvh - 320px);min-height:230px}#pilotApp .expanded .flight-inputs{padding-top:4px}}
#pilotApp .power input[type=range]{min-height:44px}
#radarControls[hidden]{display:none!important}.radar-controls{margin-top:12px;padding:14px;border:1px solid #47756d;border-radius:8px;background:#102925}.radar-controls h3{font-size:.95rem;margin:0 0 8px}.radar-controls p{font-size:.78rem;line-height:1.7;color:#b8d3c7;margin:6px 0}.radar-settings{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:10px;margin:12px 0}.radar-settings label{font-size:.78rem;display:grid;gap:5px;min-width:0}#pilotApp .radar-settings select,#pilotApp .radar-settings button{min-height:44px;max-width:100%;font-size:.78rem}.radar-controls output{display:block;color:#ffe28a;font:600 .88rem/1.7 "Yu Gothic",Meiryo,sans-serif}.radar-message:empty{display:none}.radar-message{display:block;font-size:.75rem;margin-top:5px;color:#ade6c3}#crewMenu .equipment-tag{align-self:flex-start;color:#c0f4ce;border:1px solid #517867;padding:3px 7px;border-radius:4px;font:10px monospace}#pilotApp .expanded .radar-controls{max-width:850px;margin:8px auto}#pilotApp .radar-limit{font-size:.7rem;color:#91b2a3}
@media(max-width:600px){.radar-settings{grid-template-columns:1fr 1fr}.radar-settings button{grid-column:1/-1}.radar-controls{padding:10px}}
.instrument-deck{position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(#384449,#14232b 22%,#0b171f);border-top:3px solid #87918b;clip-path:polygon(0 18%,12% 4%,35% 0,65% 0,88% 4%,100% 18%,100% 100%,0 100%);pointer-events:none}
#crewMenu .aircraft-art{display:block;width:100%;height:205px;object-fit:contain;filter:drop-shadow(0 8px 8px #0005)}
@media(max-width:600px){#crewMenu .aircraft-art{height:166px}.instrument-deck{height:24%}}
#pilotApp .expanded #rearHelp{display:block;max-width:850px;margin:6px auto;font-size:.73rem}#pilotApp .autopilot .flight-inputs{display:none}#pilotApp .autopilot #canvasHelp{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important}}
.seat-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden}.seat-overlay[hidden]{display:none!important}.seat-badge{position:absolute;z-index:2;left:12px;top:12px;padding:6px 9px;background:#102b35df;color:#d6e8e2;border:1px solid #77999b;border-radius:5px;font:12px/1.4 monospace;pointer-events:none}.rear-seat{box-shadow:inset 0 0 0 2px #628b96}.rear-readout{position:absolute;bottom:12px;left:10px;right:10px;background:#10212be0;border:1px solid #63818b;color:#e6dbb4;font:12px/1.6 monospace;padding:6px;text-align:center;pointer-events:none}#rearLook{position:absolute;inset:0;pointer-events:auto;touch-action:none;cursor:grab;outline-offset:-5px}#rearLook:focus-visible{outline:3px solid #91e4ef}#frontLook{position:absolute;inset:0;pointer-events:auto;touch-action:auto;cursor:grab;outline-offset:-5px}#frontLook:focus-visible{outline:3px solid #91e4ef}.look-cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#f4f5ce88;pointer-events:none}#pilotApp .tandem .cockpit path:nth-of-type(3){fill:#78a5ae}.crew-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:.78rem;color:#c5dcdb}.crew-bar>span{flex:1;min-width:150px}#pilotApp .crew-bar button{min-height:44px;padding:8px 10px;font-size:.75rem}#pilotApp button[hidden],#pilotApp p[hidden]{display:none!important}.autopilot .flight-inputs{opacity:.6}.autopilot #stick{cursor:default}.dual-view .instruments{left:3%;right:3%;gap:2px}.dual-view .instruments strong{font-size:17px}.dual-view .instruments span,.dual-view .instruments small{font-size:8px}#pilotApp .dual-view .air-label{top:12%;font-size:9px}
#crewMenu{color:#d8eae7;background:#0c202a;border:1px solid #527883;border-radius:12px;padding:24px;width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 16px);max-height:90dvh;box-sizing:border-box;overflow:auto;font-family:"Yu Gothic",Meiryo,sans-serif;box-shadow:0 18px 90px #000a}#crewMenu::backdrop{background:#051017c9;backdrop-filter:blur(5px)}#crewMenu h2{font-size:clamp(1.25rem,3vw,1.8rem);margin:8px 0 14px}#crewMenu p{font-size:.84rem;line-height:1.7}#crewMenu .kicker{font:11px monospace;color:#a3c8cb;letter-spacing:.12em}#crewMenu fieldset{border:0;padding:0;margin:20px 0;min-width:0}#crewMenu legend{font-size:.82rem;color:#bcd4d2;margin-bottom:10px}.aircraft-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.aircraft-card{position:relative;display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #486572;border-radius:8px;background:#122d39;cursor:pointer;min-width:0}.aircraft-card:has(input:checked){border-color:#e1c17c;box-shadow:inset 0 0 0 1px #e1c17c}.aircraft-card svg{width:100%;height:88px}.aircraft-card strong{font-size:.88rem}.aircraft-card span{font-size:.78rem;line-height:1.6;color:#acc3c5}.aircraft-card input{position:absolute;top:12px;right:12px;width:20px;height:20px;accent-color:#dfbf80}.ride-option{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px;margin:6px 0;border:1px solid #405c68;border-radius:7px;cursor:pointer}.ride-option:has(input:checked){border-color:#e1c17c;background:#203640}.ride-option:has(input:disabled){opacity:.45;cursor:default}.ride-option input{width:20px;height:20px;accent-color:#dfbf80}.ride-option strong{font-size:.84rem}.ride-option small{display:block;color:#b1c5c5;margin-top:4px;line-height:1.5}.menu-actions{display:flex;flex-wrap:wrap;gap:10px}.menu-actions button{min-height:46px;padding:10px 18px;border:1px solid #91aaa8;border-radius:6px;background:#1d3c47;color:#edf2dc;font:inherit;cursor:pointer}#boardButton{background:#dfc17f;color:#172931;font-weight:bold}#boardButton:disabled{opacity:.5;cursor:wait}#crewMenu input:focus-visible,#crewMenu button:focus-visible{outline:3px solid #8be0ee;outline-offset:3px}#menuHint{padding:10px;background:#18343e;color:#e9d7a4;border-radius:6px}.menu-note{color:#b6c9c9}.expanded .crew-bar{max-width:850px;margin:5px auto}#pilotApp .expanded .stage{height:calc(100dvh - 300px)}
@media(max-width:600px){#crewMenu{padding:16px}.aircraft-options{grid-template-columns:1fr}.aircraft-card{padding:12px 14px}.aircraft-card svg{height:60px}.seat-badge{font-size:10px;top:7px;left:7px}.rear-readout{font-size:10px}#pilotApp .expanded .stage{height:calc(100dvh - 375px);min-height:260px}#pilotApp .stage.dual-view{height:620px}#pilotApp .expanded .stage.dual-view{height:560px}.crew-bar>span{flex-basis:100%}}
#gunnerControls[hidden]{display:none!important}#gunFireOverlay{position:absolute;z-index:4;right:10px;top:48px;pointer-events:auto;min-height:44px;padding:9px 14px;background:#483f28;color:#fff1bc;border:1px solid #b8a366;border-radius:5px}#gunnerMessage{display:block;margin-top:6px;color:#bcefc9;font-size:.8rem}#gunnerControls button{min-height:44px}
#weaponButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}#weaponButtons button{min-width:0;font:600 .78rem monospace}#weaponButtons button[aria-pressed=true]{background:#6b4d28;color:#fff1bc;border-color:#e5bd67}#weaponReadout{display:block;color:#ffe28a;font:600 .82rem/1.7 monospace}#gunnerReadout{display:block;color:#bcefc9;font:600 .82rem/1.7 monospace}
#monitorCloseupChrome[hidden]{display:none!important}.monitor-closeup-chrome{position:absolute;z-index:3;inset:0;display:grid;grid-template-columns:12.5% minmax(0,75%) 12.5%;pointer-events:none;overflow:hidden}.monitor-closeup-frame{min-width:0;background:#020607;box-shadow:inset 0 0 0 1px #1a292d;pointer-events:none}.monitor-closeup-screen{min-width:0;pointer-events:none}.monitor-closeup-actions{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:8px;padding:6px;box-sizing:border-box}#pilotApp .monitor-closeup-actions button{pointer-events:auto;min-width:44px;min-height:44px;padding:4px 2px;background:#172b31;color:#f4f4d7;border:1px solid #99b8aa;border-radius:4px;font:600 10px/1.15 "Yu Gothic",Meiryo,sans-serif;cursor:pointer;overflow-wrap:anywhere;word-break:break-word}#pilotApp .monitor-closeup-actions button:focus-visible{outline:3px solid #8be0ee;outline-offset:2px}.monitor-closeup-actions span{color:#d5e7c8;font:9px/1.35 monospace;text-align:center;overflow-wrap:anywhere}
#flightStage.gunship-view .look-cross{display:none}
@media(max-width:600px){.monitor-closeup-chrome{grid-template-columns:14% minmax(0,72%) 14%}.monitor-closeup-actions{padding:2px;gap:4px}#pilotApp .monitor-closeup-actions button{flex:0 0 44px;width:44px;height:44px;max-width:100%;max-height:44px;font-size:0;line-height:1;overflow:hidden}#pilotApp .monitor-closeup-actions #monitorThermalButton::after{content:'W/H';font:600 10px/1 "Yu Gothic",Meiryo,sans-serif}#pilotApp .monitor-closeup-actions #monitorThermalButton[aria-pressed=true]::after{content:'DAY'}#pilotApp .monitor-closeup-actions #monitorCloseButton::after{content:'CABIN';font:600 9px/1 "Yu Gothic",Meiryo,sans-serif}.monitor-closeup-actions span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.monitor-closeup-actions span::after{content:none}}
#pilotApp .stage{position:relative}
#startMenu{color:#d8eae7;background:#0c202a;border:1px solid #527883;border-radius:12px;padding:28px;width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 16px);max-height:90dvh;box-sizing:border-box;overflow:auto;font-family:"Yu Gothic",Meiryo,sans-serif;box-shadow:0 18px 90px #000a}
#startMenu::backdrop{background:#051017d9;backdrop-filter:blur(5px)}
#startMenu form{display:grid;gap:12px;justify-items:center;text-align:center;margin:0}
#startMenu h2{margin:0;font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.2;letter-spacing:.02em}
#startMenu .start-kicker{margin:0;color:#a3c8cb;font:11px/1.4 monospace;letter-spacing:.14em}
#startMenu .start-subtitle{margin:0;color:#f0dfac;font-size:1.05rem;letter-spacing:.08em}
#startMenu #startIntro{margin:2px 0 10px;color:#c7d9d5;font-size:.9rem;line-height:1.7}
#startMenu #startButton{min-width:220px;min-height:48px;padding:11px 20px;border:1px solid #f0d28e;border-radius:6px;background:#dfc17f;color:#172931;font:600 1rem/1.3 "Yu Gothic",Meiryo,sans-serif;cursor:pointer}
#startMenu #startButton:focus-visible{outline:3px solid #8be0ee;outline-offset:3px}
@media(max-width:600px){#startMenu{padding:22px 16px}#startMenu #startButton{width:100%;min-width:0}}
@media(max-width:600px){#pilotApp .flight-actions button,#pilotApp .power button,#pilotApp #resetButton{min-height:44px}}

#monitorControlRack[hidden]{display:none!important}.monitor-control-rack{position:absolute;z-index:5;top:calc(50% - 8px);right:0;width:12.5%;min-width:86px;max-width:160px;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;padding:8px 6px;box-sizing:border-box;background:#020607;border:1px solid #1a292d;box-shadow:inset 0 0 0 1px #0d1719;pointer-events:auto;overflow:hidden}.monitor-control-rack #gunFireOverlay{position:static;z-index:auto;width:100%;min-width:0;margin:0;padding:4px 2px;background:#172b31;color:#f4f4d7;border:1px solid #99b8aa;border-radius:4px;font:600 10px/1.15 "Yu Gothic",Meiryo,sans-serif;cursor:pointer}.monitor-control-rack #weaponButtons{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.monitor-control-rack #weaponButtons button{width:100%;min-width:0;min-height:44px;height:44px;padding:4px 2px;background:#172b31;color:#f4f4d7;border:1px solid #99b8aa;border-radius:4px;font:600 10px/1.15 monospace;cursor:pointer;overflow-wrap:anywhere;word-break:break-word}.monitor-control-rack #weaponButtons button[aria-pressed=true]{background:#6b4d28;color:#fff1bc;border-color:#e5bd67}.monitor-closeup-actions{justify-content:flex-end;padding-bottom:12px}
@media(max-width:600px){.monitor-control-rack{width:14%;min-width:0;max-width:none;padding:2px;gap:4px}.monitor-control-rack #gunFireOverlay,.monitor-control-rack #weaponButtons button{width:44px;max-width:100%;min-width:44px;min-height:44px;height:44px;padding:2px;font-size:9px;line-height:1;overflow:hidden}.monitor-control-rack #weaponButtons{gap:4px}.monitor-closeup-actions{padding-bottom:6px}}

.monitor-control-rack{top:calc(50% - 40px)}.monitor-control-zoom{display:grid;gap:2px;min-width:0;color:#d5e7c8;font:600 9px/1.1 "Yu Gothic",Meiryo,sans-serif;text-align:center;letter-spacing:.06em}.monitor-control-zoom select{width:100%;min-width:0;min-height:44px;height:44px;padding:2px 0;background:#172b31;color:#f4f4d7;border:1px solid #99b8aa;border-radius:4px;font:600 10px/1 monospace;text-align:center}.monitor-control-rack #gunFireOverlay{background:#4a2426;color:#ffd8d5;border-color:#a66b6b}.monitor-control-rack #gunFireOverlay:hover:not(:disabled){background:#633033;border-color:#d08a89}.monitor-control-rack #gunFireOverlay:active:not(:disabled){background:#742d31}.monitor-control-rack #gunFireOverlay:focus-visible{outline:3px solid #f0b1a9;outline-offset:2px}.monitor-control-rack #gunFireOverlay:disabled{background:#291d20;color:#927476;border-color:#5a4548}
@media(max-width:600px){.monitor-control-zoom{gap:2px;font-size:8px}.monitor-control-zoom select{width:44px;max-width:100%;font-size:9px}}

#monitorCloseupChrome[hidden] ~ #monitorControlRack{left:66.5%;right:auto;top:calc(50% + 35px)}
@media(max-width:600px){#monitorCloseupChrome[hidden] ~ #monitorControlRack{left:auto;right:0;top:calc(50% - 40px)}}

@media(max-width:600px){.monitor-control-rack{width:52px;max-width:52px}.monitor-control-zoom select{width:44px;min-width:44px;max-width:44px}}

#monitorCloseupChrome[hidden] ~ #monitorControlRack{display:none!important}

/* Keep the pilot control inside the visible front-seat canvas. */
#pilotApp .seat-overlay #stick{position:absolute;right:clamp(10px,3vw,28px);bottom:25%;z-index:30;width:min(160px,36vw);height:clamp(88px,14vh,118px);max-width:none;margin:0;pointer-events:auto}
#pilotApp .seat-overlay #brakeButton{position:absolute;left:clamp(10px,3vw,28px);top:clamp(52px,10%,72px);bottom:auto;z-index:31;min-width:44px;min-height:48px;padding:8px 10px;box-sizing:border-box;background:#102b35e8;color:#f4f4d7;border:1px solid #a1c2bc;border-radius:6px;font:600 .78rem/1.2 "Yu Gothic",Meiryo,sans-serif;white-space:nowrap;pointer-events:auto;cursor:pointer}
#pilotApp .seat-overlay #brakeButton:focus-visible{outline:3px solid #8be0ee;outline-offset:2px}
#pilotApp .autopilot .seat-overlay #stick{display:none}

/* Expanded view gives the canvas most of the viewport and keeps its controls reachable. */
#pilotApp .observation-panel.expanded .stage:not(.dual-view){height:calc(100dvh - 78px);min-height:min(240px,calc(100dvh - 98px))}
#pilotApp .observation-panel.expanded .stage.dual-view{height:calc(100dvh - 78px);min-height:min(320px,calc(100dvh - 98px))}
#pilotApp .observation-panel.expanded .flight-actions{position:fixed;z-index:70;left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(850px,calc(100% - 16px));max-width:none;margin:0}
#pilotApp .observation-panel.expanded{--flight-actions-reserve:78px;padding-bottom:calc(16px + var(--flight-actions-reserve) + env(safe-area-inset-bottom,0px))}
#pilotApp .observation-panel.expanded .flight-actions{box-sizing:border-box;padding:8px;background:#07121b;border:1px solid var(--cw-line-strong);border-radius:8px;box-shadow:0 -6px 24px #000b}

@media(max-width:600px){
  #pilotApp .observation-panel .seat-overlay .throttle-control{top:auto;bottom:28%;left:8px;width:min(90px,25vw);height:clamp(150px,40%,190px)}
  #pilotApp .seat-overlay #stick{right:3%;bottom:26%;width:min(146px,38vw);height:clamp(84px,12vh,102px)}
  #pilotApp .seat-overlay #brakeButton{left:3%;top:52px;bottom:auto;min-height:48px;padding:7px 8px;font-size:.72rem}
  #pilotApp .observation-panel.expanded .stage:not(.dual-view),#pilotApp .observation-panel.expanded .stage.dual-view{height:calc(100dvh - 130px);min-height:min(320px,calc(100dvh - 150px))}
  #pilotApp .observation-panel.expanded .flight-actions{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;grid-template-columns:repeat(2,minmax(0,1fr));transform:none}
  #pilotApp .observation-panel.expanded{--flight-actions-reserve:128px}
}

/* Fullscreen and fallback keep the canvas and every flight action on one screen. */
#pilotApp .flight-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
#pilotApp .screen-view-toggle{position:absolute;z-index:90;top:10px;right:10px;min-height:44px;padding:8px 12px;background:#102b35e8;color:#f4f4d7;border:1px solid #a1c2bc;border-radius:6px;font:600 .82rem/1.25 "Yu Gothic",Meiryo,sans-serif;cursor:pointer}
#pilotApp .screen-view-toggle:focus-visible,#pilotApp .control-drawer>summary:focus-visible,#pilotApp #restartFlightButton:focus-visible{outline:3px solid #8be0ee;outline-offset:2px}
#pilotApp .view-mode-status{position:absolute;z-index:90;top:60px;right:10px;max-width:min(330px,calc(100% - 20px));padding:5px 8px;background:#07121be8;color:#f0dfac;border:1px solid #607b7c;border-radius:4px;font-size:.72rem;text-align:right}
#pilotApp .view-mode-status[hidden],#pilotApp .flight-restart[hidden]{display:none!important}
#pilotApp .flight-restart{position:absolute;z-index:65;top:50%;left:50%;display:grid;gap:9px;width:min(360px,calc(100% - 32px));padding:18px;box-sizing:border-box;transform:translate(-50%,-50%);background:#081a22f2;border:1px solid #e0c17e;border-radius:10px;color:#fff1c7;text-align:center;box-shadow:0 12px 50px #000b}
#pilotApp .flight-restart strong{font-size:clamp(1.1rem,3vw,1.5rem)}
#pilotApp .flight-restart p{margin:0;color:#d4e2d9;font-size:.86rem;line-height:1.65}
#pilotApp #restartFlightButton{min-height:48px;padding:10px 16px;background:#dfc17f;color:#172931;border:1px solid #f0d28e;border-radius:6px;font:600 .95rem/1.3 "Yu Gothic",Meiryo,sans-serif;cursor:pointer}
#pilotApp .control-drawer>summary{display:none}
#pilotApp .flight-setup{display:grid;gap:9px;margin-top:12px;padding:12px;border:1px solid #536f75;border-radius:8px;background:#10212b}
#pilotApp .flight-setup h3{margin:0;font-size:.95rem}
#pilotApp .flight-setup .control-hint{margin:0}
body.pilot-view-expanded{overflow:hidden;overscroll-behavior:none}
body.pilot-view-expanded #pilotApp>.site-header,body.pilot-view-expanded #pilotApp>.site-footer,body.pilot-view-expanded #pilotApp .hero,body.pilot-view-expanded #pilotApp .control-panel,body.pilot-view-expanded #pilotApp .notes,body.pilot-view-expanded #pilotApp .limits-section,body.pilot-view-expanded>.skip-link{display:none!important}
#pilotApp .observation-panel.expanded{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;width:auto;height:100dvh;max-width:none;min-height:0;margin:0;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow:hidden;background:#07121b;border:0;border-radius:0}
#pilotApp .observation-panel.expanded .panel-heading{display:none!important}
#pilotApp .observation-panel.expanded .stage{position:relative;inset:auto;grid-row:1;width:100%;height:auto!important;min-height:0!important;max-height:none;margin:0;align-self:stretch}
#pilotApp .observation-panel.expanded .flight-actions{position:relative;z-index:75;grid-row:2;left:auto;right:auto;top:auto;bottom:auto;width:100%;max-width:none;margin:0;transform:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;background:#07121bf2;border:1px solid var(--cw-line-strong);border-radius:8px;box-shadow:0 3px 18px #0008}
#pilotApp .observation-panel.expanded .flight-actions button{min-width:0;min-height:46px;padding:7px 4px;font-size:clamp(.72rem,2vw,.88rem)}
#pilotApp .observation-panel.expanded .control-drawer{position:relative;z-index:76;grid-row:3;min-width:0}
#pilotApp .observation-panel.expanded .control-drawer>summary{display:flex;align-items:center;justify-content:center;min-height:46px;padding:7px 12px;box-sizing:border-box;background:#17333d;color:#f4f4d7;border:1px solid #8caeaa;border-radius:7px;font-size:.85rem;cursor:pointer;list-style:none}
#pilotApp .observation-panel.expanded .control-drawer>summary::-webkit-details-marker{display:none}
#pilotApp .observation-panel.expanded .control-drawer[open]>summary::after{content:"▲";margin-left:9px;font-size:.68rem}
#pilotApp .observation-panel.expanded .control-drawer:not([open])>summary::after{content:"▼";margin-left:9px;font-size:.68rem}
#pilotApp .observation-panel.expanded .control-drawer-content{position:absolute;right:0;bottom:calc(100% + 7px);left:0;max-height:min(66dvh,560px);padding:10px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:#0b2029f5;border:1px solid #7b9997;border-radius:9px;box-shadow:0 8px 30px #000b}
#pilotApp .observation-panel.expanded .flight-inputs{display:block;max-width:none;margin:8px 0;padding:8px 0 0;border-top:1px solid #3a5660}
#pilotApp .observation-panel.expanded .flight-inputs .stick-wrap{display:none}
#pilotApp .observation-panel.expanded .flight-inputs .power{grid-template-columns:1fr 1fr;align-items:center;gap:8px}
#pilotApp .observation-panel.expanded .flight-inputs .power label,#pilotApp .observation-panel.expanded .flight-inputs .power input{grid-column:1/-1}
#pilotApp .observation-panel.expanded .flight-inputs .power button{min-height:44px}
#pilotApp .observation-panel.expanded .flight-setup{margin-top:8px}
#pilotApp .observation-panel.expanded .preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#pilotApp .observation-panel.expanded .preset-grid button{min-width:0;min-height:44px;padding:7px 3px;font-size:.76rem}
#pilotApp .observation-panel.expanded #resetButton{min-height:44px;margin-top:2px}
#pilotApp .observation-panel.expanded .radar-controls{max-width:none;margin:8px 0;padding:10px}
#pilotApp .observation-panel.expanded .radar-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
#pilotApp .observation-panel.expanded .radar-settings button{min-height:44px}
html:fullscreen{overflow:hidden;background:#07121b}
html:fullscreen body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
html:fullscreen #pilotApp>.site-header,html:fullscreen #pilotApp>.site-footer,html:fullscreen #pilotApp .hero,html:fullscreen #pilotApp .control-panel,html:fullscreen #pilotApp .notes,html:fullscreen #pilotApp .limits-section,html:fullscreen body>.skip-link{display:none!important}
html:fullscreen #pilotApp{width:100%;max-width:none;min-height:100dvh;margin:0;overflow:hidden}
@media(max-width:600px){
  #pilotApp .flight-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  #pilotApp .screen-view-toggle{top:7px;right:7px;max-width:calc(100% - 14px);padding:7px 9px;font-size:.76rem}
  #pilotApp .view-mode-status{top:55px;right:7px;max-width:calc(100% - 14px);font-size:.68rem}
  #pilotApp .observation-panel.expanded{gap:6px;padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}
  #pilotApp .observation-panel.expanded .flight-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px}
  #pilotApp .observation-panel.expanded .flight-actions button{min-height:44px;padding:6px 2px;font-size:.72rem}
  #pilotApp .observation-panel.expanded .control-drawer-content{max-height:min(68dvh,560px);padding:8px}
  #pilotApp .observation-panel.expanded .flight-inputs .power{gap:6px}
  #pilotApp .observation-panel.expanded .preset-grid button{font-size:.7rem;overflow-wrap:anywhere}
}
/* Vertical throttle quadrant stays in the pilot view and clear of other controls. */
#pilotApp .seat-overlay .throttle-control{
  position:absolute;
  top:auto;
  bottom:34%;
  left:clamp(8px,2.5vw,24px);
  z-index:32;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:3px;
  width:clamp(84px,24vw,98px);
  height:clamp(156px,42%,260px);
  padding:6px;
  box-sizing:border-box;
  background:linear-gradient(145deg,#17333bef,#0b1b22f2);
  border:1px solid #a1c2bc;
  border-radius:7px;
  box-shadow:0 3px 9px #0008,inset 0 1px #d3e0cb28;
  color:#f4f4d7;
  user-select:none;
  -webkit-user-select:none;
  pointer-events:auto;
}
#pilotApp .seat-overlay .throttle-control label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  color:#d8e8df;
  font:600 .62rem/1.2 "Yu Gothic",Meiryo,sans-serif;
  white-space:nowrap;
}
#pilotApp .seat-overlay .throttle-control output{
  color:#ffe28a;
  font:700 .76rem/1.15 monospace;
  font-variant-numeric:tabular-nums;
}
#pilotApp .throttle-quadrant{
  display:grid;
  grid-template-columns:20px minmax(42px,1fr);
  gap:5px;
  min-height:0;
}
#pilotApp .throttle-markings{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  padding:8px 0;
  color:#b8cfca;
  font:9px/1 monospace;
  font-variant-numeric:tabular-nums;
  pointer-events:none;
}
#pilotApp .throttle-channel{
  position:relative;
  min-width:42px;
  min-height:0;
  overflow:visible;
  touch-action:none;
}
#pilotApp .throttle-channel::before{
  position:absolute;
  inset:2px 13px;
  border:1px solid #607b78;
  border-radius:8px;
  background:repeating-linear-gradient(to top,transparent 0 19px,#8ba49a 19px 20px,transparent 20px 38px),linear-gradient(90deg,#08151b,#20363b 48%,#09171d);
  box-shadow:inset 0 1px 4px #000b,0 1px #c9d6ce33;
  content:"";
  pointer-events:none;
}
#pilotApp .throttle-fill{
  position:absolute;
  z-index:1;
  left:calc(50% - 4px);
  bottom:4px;
  width:8px;
  height:var(--throttle-level,0%);
  max-height:calc(100% - 8px);
  border-radius:5px;
  background:linear-gradient(to top,#648c79,#e1c375);
  box-shadow:0 0 5px #f3d38c66;
  pointer-events:none;
}
#pilotApp .throttle-handle{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:var(--throttle-level,0%);
  display:block;
  width:42px;
  height:24px;
  transform:translate(-50%,50%);
  border:1px solid #e5d19a;
  border-radius:6px;
  background:repeating-linear-gradient(90deg,transparent 0 6px,#e7e3c755 6px 7px,transparent 7px 12px),linear-gradient(180deg,#d8c48d,#69766d 50%,#29383a);
  box-shadow:0 2px 7px #000b,inset 0 1px #fff7;
  pointer-events:none;
}
#pilotApp .throttle-handle>span{
  position:absolute;
  inset:5px 9px;
  border-top:1px solid #24383b;
  border-bottom:1px solid #e9e0c7aa;
  border-radius:2px;
}
#pilotApp .seat-overlay .throttle-control input{
  position:absolute;
  top:-12px;
  right:0;
  bottom:-12px;
  left:0;
  width:auto;
  height:auto;
  min-height:0;
  margin:0;
  opacity:0;
  cursor:ns-resize;
  touch-action:none;
  writing-mode:vertical-lr;
  direction:rtl;
}
#pilotApp .seat-overlay .throttle-control:focus-within{
  outline:3px solid #8be0ee;
  outline-offset:2px;
}
#pilotApp .throttle-help{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
#pilotApp .autopilot .seat-overlay .throttle-control{opacity:.6}
#pilotApp .expanded-operation-guide{display:none}
#pilotApp .expanded .control-drawer .expanded-operation-guide{display:block;max-width:850px;margin:6px auto 10px;padding:8px 10px;border:1px solid var(--cw-line-strong);border-radius:6px;background:#10212b;color:var(--cw-muted);font:.76rem/1.6 "Yu Gothic",Meiryo,sans-serif}
#pilotApp .expanded #rearHelp{display:none}
#pilotApp #flightStage{background:linear-gradient(180deg,#91a9a6 0%,#4b7c88 42%,#234c5a 43%,#0c202a 100%)}
#pilotApp .stage>.stage-screen{position:absolute;z-index:20;inset:8px;box-sizing:border-box;width:auto;max-width:none;height:auto;max-height:calc(100% - 16px);margin:0;padding:14px;overflow:auto;overscroll-behavior:contain;border:1px solid #527883;border-radius:10px;color:#d8eae7;background:#0c202aef;box-shadow:0 10px 32px #0008;font-family:"Yu Gothic",Meiryo,sans-serif}
#pilotApp .stage.menu-open .seat-overlay,#pilotApp .stage.menu-open .seat-overlay *{visibility:hidden!important;pointer-events:none!important}
#pilotApp .flight-actions[hidden],#pilotApp .control-drawer[hidden]{display:none!important}
#pilotApp .observation-panel:has(.stage.menu-open) .flight-actions,#pilotApp .observation-panel:has(.stage.menu-open) .control-drawer{display:none!important}
#pilotApp .observation-panel.expanded.menu-screen-open{--flight-actions-reserve:0px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
#pilotApp .observation-panel.expanded.menu-screen-open .stage{height:calc(100dvh - 16px - env(safe-area-inset-bottom,0px));min-height:min(240px,calc(100dvh - 16px - env(safe-area-inset-bottom,0px)))}
#pilotApp .stage>.stage-screen[hidden]{display:none!important}
#pilotApp #flightStage>#startMenu{display:grid;align-content:center;justify-items:center;text-align:center;background:linear-gradient(180deg,#0c202ae8,#0c202af5),radial-gradient(ellipse at 50% 0%,#355e69 0%,#0c202a 72%)}
#startMenu form{display:grid;gap:10px;justify-items:center;width:100%;max-width:620px;margin:0}
#startMenu .start-instructions{display:grid;gap:7px;width:100%;margin:0;padding:0;list-style:none;text-align:left}
#startMenu .start-instructions li{padding:8px 10px;border-left:2px solid #91d3d5;border-radius:4px;background:#142f39;color:#d8eae7;font-size:.82rem;line-height:1.55}
#startMenu .start-instructions strong{margin-right:6px;color:#ffe4a0}
#startMenu .boarding-notice{margin:2px 0 0;color:#ffe28a;font-size:.88rem;font-weight:600;line-height:1.6}
#startMenu #startButton{width:min(100%,420px);min-height:48px;padding:11px 20px;border:1px solid #f0d28e;border-radius:6px;background:#dfc17f;color:#172931;font:600 1rem/1.3 "Yu Gothic",Meiryo,sans-serif;cursor:pointer}
#startMenu #startButton:focus-visible{outline:3px solid #8be0ee;outline-offset:3px}
#crewMenu.stage-screen{padding:14px}
#crewMenu form{margin:0}
#crewMenu .menu-actions{display:grid;grid-template-columns:1fr;gap:8px}
#crewMenu .menu-actions button{min-height:48px}
@media(max-width:600px){
 #pilotApp .stage>.stage-screen{inset:6px;max-height:calc(100% - 12px);padding:10px}
 #pilotApp #flightStage>#startMenu{align-content:start}
 #startMenu .start-instructions li{font-size:.76rem}
 #crewMenu.stage-screen{padding:10px}
 #crewMenu #menuTitle{box-sizing:border-box;min-height:44px;padding-right:104px}
}
