/* Flight deck overrides are scoped to this mission, leaving the other games intact. */
.arcade-shell:has(.keyboard-quest-cockpit) { max-width: 1600px; padding: 18px 26px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-layout { grid-template-columns: 175px minmax(0, 1fr); gap: 16px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-stage { padding: 20px; background: #080f1b; border-color: #233244; border-radius: 12px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-stage h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); margin: 4px 0; letter-spacing: -.035em; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-description { font-size: .85rem; color: #9cafc3; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-scene { padding: 0; border: 1px solid #283f57; border-radius: 9px; overflow: hidden; background: #020611; }
.keyboard-quest-cockpit { min-height: 0; grid-template-rows: auto auto; border: 0; border-radius: 0; overflow: hidden; background: #061020; }
.keyboard-quest-cockpit .quest-viewport { position: relative; min-height: 380px; height: clamp(380px, 49vh, 640px); overflow: hidden; background: #020611; border: 0; }
.keyboard-quest-cockpit .quest-viewport::before, .keyboard-quest-cockpit .quest-viewport::after, .keyboard-quest-cockpit .quest-scanlines { display: none; }
.quest-flight-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.quest-flight-glass { position: absolute; inset: 0; pointer-events: none; border: 1px solid #6aa9ce26; box-shadow: inset 0 0 50px #02081580; }
.keyboard-quest-cockpit .quest-flight-hud { inset: 0 0 auto; padding: 17px 22px; display: flex; justify-content: space-between; align-items: center; gap: 12px; background: linear-gradient(#031020e8, #03102000); font: 600 10px/1.4 system-ui; letter-spacing: .12em; }
.quest-flight-hud > span { color: #9aafc3; text-transform: uppercase; }
.quest-flight-hud > strong { color: #c9e8f8; font-size: 10px; }
.quest-shields { gap: 5px; }
.quest-shields i { width: 22px; height: 7px; border-radius: 1px; background: #69e4be; box-shadow: 0 0 9px #60e7c030; }
.keyboard-quest-cockpit .quest-shields i { clip-path: none; }
.quest-shields i.is-lost { background: #273447; box-shadow: none; border-color: #485366; }
.quest-navigation { position: absolute; bottom: 17px; left: 23px; right: 23px; display: flex; justify-content: space-between; align-items: end; color: #829cb1; font: 600 9px system-ui; letter-spacing: .15em; pointer-events: none; }
.quest-navigation b { color: #d5f3ff; font: 500 25px ui-monospace, monospace; margin-left: 10px; }
.quest-sector-track { position: absolute; bottom: 0; width: 100%; height: 2px; background: #56738c26; }
.quest-sector-track i { display: block; height: 100%; width: 0; background: #64dcbc; transition: width .25s; box-shadow: 0 0 10px #58ffcb; }
.keyboard-quest-cockpit .quest-console { min-height: 78px; padding: 9px 22px; grid-template-columns: 120px 1fr 110px; gap: 14px; border-top: 1px solid #34516a; background: linear-gradient(120deg, #152435, #08111f 50%, #142638); box-shadow: none; }
.keyboard-quest-cockpit .quest-console::before, .keyboard-quest-cockpit .quest-console::after, .keyboard-quest-cockpit .quest-pilot::before { display: none; }
.keyboard-quest-cockpit .quest-pilot { display: flex; height: 55px; align-items: center; gap: 8px; }
.keyboard-quest-cockpit .quest-pilot-avatar { width: 55px; height: 55px; min-height: 0; border: 0; background: none; }
.keyboard-quest-cockpit .quest-pilot-avatar .pet-size-arcade { width: 55px; height: 55px; }
.keyboard-quest-cockpit .quest-pilot > span { position: static; font-size: 11px; color: #a9c1d2; }
.keyboard-quest-cockpit .quest-control-bank { min-height: 0; display: flex; flex-direction: column; align-items: start; padding: 0; border: 0; box-shadow: none; background: transparent; clip-path: none; }
.keyboard-quest-cockpit .quest-control-bank > i { display: none; }
.keyboard-quest-cockpit .quest-control-bank strong { font-size: 11px; color: #96deed; letter-spacing: .12em; }
.keyboard-quest-cockpit .quest-control-bank small { font-size: 11px; color: #92a6b9; }
.keyboard-quest-cockpit .quest-radar { height: 45px; width: auto; border: none; border-radius: 0; background: transparent; box-shadow: none; }
.keyboard-quest-cockpit .quest-radar::before, .keyboard-quest-cockpit .quest-radar::after, .keyboard-quest-cockpit .quest-radar b { display: none; }
.keyboard-quest-cockpit .quest-radar span { position: static; font: 600 11px ui-monospace, monospace; color: #91bfcc; }
.keyboard-quest-cockpit .quest-briefing-card { left: 5%; top: 50%; translate: 0 -50%; width: min(460px, 70%); text-align: left; border: none; border-left: 2px solid var(--quest-accent); clip-path: none; padding: 24px; background: linear-gradient(90deg, #050e20ef, #050e2080); box-shadow: none; backdrop-filter: blur(5px); }
.keyboard-quest-cockpit .quest-briefing-card strong { font-size: clamp(1.65rem, 3vw, 2.8rem); text-transform: none; line-height: 1.1; letter-spacing: -.035em; }
.keyboard-quest-cockpit .quest-briefing-card small { font-size: 12px; color: #a9cadd; margin-top: 8px; }
.keyboard-quest-cockpit .quest-briefing-card p { font-size: 13px; color: #a5b7c9; }
.arcade-shell:has(.keyboard-quest-cockpit) .quest-live-controls { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px; border: 1px solid #25384e; background: #0c1725; border-radius: 8px; }
.quest-live-controls > div { flex: 1; min-width: 75px; }
.quest-live-controls > div strong { font: 600 15px ui-monospace, monospace; }
.quest-live-controls > div > span { font-size: 9px; letter-spacing: .1em; color: #90a4bc; }
.quest-live-controls .quest-music-readout { flex: 2; min-width: 130px; }
.quest-live-controls .quest-music-readout strong { font: 500 11px system-ui; }
.quest-live-controls button { padding: 8px 12px; font-size: 11px; border-radius: 5px; }
.quest-pause-overlay { position: absolute; inset: 0; z-index: 25; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; background: #030b19da; backdrop-filter: blur(8px); color: #edf8ff; }
.quest-pause-overlay > span { color: #83d5ea; font-size: 11px; letter-spacing: .2em; }
.quest-pause-overlay > strong { font-size: 26px; }
.quest-pause-overlay.is-hidden { display: none; }
.quest-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.arcade-shell:has(.keyboard-quest-cockpit) #arcadeDescription { color: #9cafc3; font-size: 13px; margin: 6px 0; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-topbar { padding: 8px 14px; margin-bottom: 12px; border-radius: 9px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-topbar .pet-size-arcade { width: 48px; height: 45px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-topbar h1 { font-size: 17px; margin: 0; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-topbar .eyebrow { font-size: 9px; margin: 0; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-hud { margin: 10px 0; gap: 12px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-hud > div { padding: 5px 10px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-hud strong { font-size: 13px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-hud span { font-size: 9px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-prompt { margin-top: 10px; font-size: 12px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-controls { margin-top: 8px; }
.arcade-shell:has(.keyboard-quest-cockpit) .arcade-feedback { min-height: 0; margin-top: 8px; font-size: 12px; }
@media (min-width: 900px) and (max-height: 850px) {
  .arcade-shell:has(.keyboard-quest-cockpit.is-flying) { padding-block: 8px; }
  .arcade-shell:has(.keyboard-quest-cockpit.is-flying) .arcade-stage { padding: 12px; }
  .arcade-shell:has(.keyboard-quest-cockpit.is-flying) #arcadeDescription,
  .arcade-shell:has(.keyboard-quest-cockpit.is-flying) #arcadeKicker { display: none; }
  .keyboard-quest-cockpit.is-flying .quest-viewport { min-height: 275px; height: calc(100vh - 440px); }
  .keyboard-quest-cockpit.is-flying .quest-console { min-height: 62px; padding-block: 4px; }
}
@media (max-width: 1050px) {
  .arcade-shell:has(.keyboard-quest-cockpit) { padding: 12px; }
  .arcade-shell:has(.keyboard-quest-cockpit) .arcade-layout { grid-template-columns: 1fr; }
  .arcade-shell:has(.keyboard-quest-cockpit) .arcade-picker { display: flex; flex-wrap: wrap; padding: 8px; }
  .arcade-shell:has(.keyboard-quest-cockpit) .arcade-picker > button { flex: 1; min-height: 38px; font-size: 11px; }
  .arcade-shell:has(.keyboard-quest-cockpit) .arcade-progress-list { display: none; }
}
@media (max-width: 600px) {
  .arcade-shell:has(.keyboard-quest-cockpit) .arcade-stage { padding: 10px; }
  .keyboard-quest-cockpit .quest-viewport { min-height: 370px; height: 48vh; }
  .keyboard-quest-cockpit .quest-flight-hud { padding: 12px; }
  .quest-flight-hud > span, .quest-navigation > span:last-child { display: none; }
  .keyboard-quest-cockpit .quest-console { padding: 8px; grid-template-columns: 65px 1fr; gap: 6px; }
  .keyboard-quest-cockpit .quest-pilot > span, .keyboard-quest-cockpit .quest-radar { display: none; }
  .keyboard-quest-cockpit .quest-briefing-card { width: 83%; padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .keyboard-quest-cockpit *, .keyboard-quest-cockpit *::before, .keyboard-quest-cockpit *::after { animation: none !important; transition: none !important; }
}
