/* One front door. All flight choices are overlays over the rendered airplane. */
.dispatch-overlay,.plans-overlay { z-index:8;background:#0a16288a;padding:20px; }
.dispatch-panel,.plans-panel { width:min(850px,100%);height:min(580px,100%);min-height:0;display:flex;flex-direction:column;background:var(--bg);border:2px solid var(--border);box-shadow:var(--drop); }
.dispatch-header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);flex-shrink:0; }
.dispatch-header h1 { font-size:clamp(13px,1.6vw,22px);line-height:1.5;margin-top:5px; }
.dispatch-header .label { font-size:clamp(6px,.65vw,9px); }
.career-header-actions { display:flex;align-items:center;gap:14px; }
.dispatch-body { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-height:0;flex:1;padding:16px 18px; }
.dispatch-jobs,.career-scroll { overflow-y:auto;min-width:0;min-height:0;scrollbar-width:none;touch-action:pan-y; }
.dispatch-jobs *, .career-scroll * { touch-action:pan-y; }
.dispatch-jobs::-webkit-scrollbar,.career-scroll::-webkit-scrollbar { display:none; }
.dispatch-jobs>.label { padding-bottom:8px;border-bottom:1px solid var(--border); }
.dispatch-jobs .mission-section { margin:12px 0 7px;font-size:clamp(6px,.65vw,8px); }
.dispatch-jobs .mission-card { padding:10px;gap:8px;min-height:64px;font-size:clamp(7px,.7vw,10px); }
.dispatch-jobs .mission-card small { font-size:clamp(18px,1.5vw,22px); }
.dispatch-jobs .mission-card em { font-size:clamp(5px,.5vw,7px); }
.dispatch-panel .mission-brief { padding:0;border:0; }
.dispatch-panel .mission-brief h2 { margin:9px 0 12px;font-size:clamp(13px,1.45vw,20px);line-height:1.6; }
.dispatch-panel .mission-brief p,.dispatch-status { font-family:var(--font-pixel-body);font-size:clamp(22px,1.8vw,26px);line-height:1.12;margin:12px 0; }
.dispatch-panel #mission-goal,.dispatch-panel #mission-lock,.dispatch-status { color:var(--dim); }
.dispatch-status { border-top:1px solid var(--border);padding-top:12px; }
.dispatch-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--border);flex-shrink:0; }
.dispatch-footer .career-links { display:flex;gap:8px; }
.dispatch-footer button { font-size:clamp(7px,.7vw,10px);padding:8px 10px;min-height:44px; }
.dispatch-footer #career-launch { min-width:180px; }
#title-screen.plans-overlay { padding:20px;display:flex;align-items:center;justify-content:center;gap:0;background:#0a16288a; }
.plans-panel { width:min(580px,100%);height:min(680px,100%); }
.plans-panel .departure-panel { padding:16px 18px;border:0;box-shadow:none;flex:1;height:auto;align-self:auto; }
.plans-panel .departure-content { overflow-y:auto;min-height:0;scrollbar-width:none;touch-action:pan-y; }
.plans-panel .departure-content * { touch-action:pan-y; }
.plans-panel .departure-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px; }
.plans-panel .departure-actions button { min-width:0;min-height:44px; }
.plans-panel .plane-choice { margin-top:0; }
#mission-progress { display:flex;gap:5px;margin-top:8px; }
#mission-progress span { flex:1;height:3px;background:var(--border); }
#mission-progress span.done { background:var(--accent); }
#radio-next { pointer-events:auto;margin-top:10px;min-height:44px;font-size:clamp(7px,.7vw,10px); }
#mission-panel.debrief { border-color:var(--border); }.in-debrief #flight-message { display:none; }
body[data-screen="career"] #flight-ui,body[data-screen="title"] #flight-ui { opacity:.6; }
@media (max-width:599px) {
 .dispatch-overlay,#title-screen.plans-overlay { padding:12px; }
 .dispatch-panel,.plans-panel { height:min(660px,100%); }
 .dispatch-header { padding:10px;gap:8px; }
 .dispatch-header h1 { font-size:clamp(12px,3.7vw,18px); }
 .dispatch-header .label { font-size:clamp(5px,1.45vw,7px); }
 .career-header-actions { gap:8px; }
 .dispatch-header button { font-size:clamp(7px,1.8vw,9px);padding:8px; }
 .dispatch-body { grid-template-columns:1fr;grid-template-rows:minmax(100px,.8fr) minmax(0,1fr);gap:10px;padding:10px; }
 .dispatch-jobs .mission-card { font-size:clamp(7px,1.9vw,10px);min-height:54px;padding:8px; }
 .dispatch-jobs .mission-card em { font-size:clamp(5px,1.4vw,7px); }
 .dispatch-panel .mission-brief h2 { font-size:clamp(12px,3.4vw,17px);margin:5px 0 7px; }
 .dispatch-panel .mission-brief p,.dispatch-status { font-size:clamp(21px,5.5vw,25px);margin:8px 0; }
 .dispatch-panel #mission-reward { font-size:clamp(7px,1.8vw,10px); }
 .dispatch-footer { display:grid;grid-template-columns:1fr;padding:10px;gap:8px; }
 .dispatch-footer .career-links { display:grid;grid-template-columns:1fr 1fr; }
 .dispatch-footer button { font-size:clamp(7px,1.8vw,9px); }
 .dispatch-footer #career-launch { min-width:0; }
 .plans-panel .departure-panel { padding:10px; }
 #radio-next { font-size:clamp(6px,1.7vw,8px);padding:8px; }
}
@media (max-height:600px) and (orientation:landscape) {
 .dispatch-overlay,#title-screen.plans-overlay { padding:10px 14px; }
 .dispatch-panel { width:min(850px,100%);height:100%; }
 .dispatch-header { padding:8px 12px; }
 .dispatch-header .label { font-size:clamp(5px,.75vw,7px); }
 .dispatch-header h1 { font-size:clamp(12px,1.8vw,17px);margin:0; }
 .dispatch-body { grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:10px 12px;gap:12px; }
 .dispatch-footer { display:flex;padding:8px 12px;gap:8px; }
 .dispatch-footer #career-launch { min-width:145px; }
 .dispatch-footer button { font-size:clamp(6px,.9vw,8px);padding:7px; }
 .dispatch-footer .career-links { display:flex;gap:6px; }
 .plans-panel { height:100%;width:min(600px,100%); }
 .plans-panel .departure-panel { padding:10px 12px; }
 .plans-panel .departure-actions { margin-top:6px;padding-top:6px; }
 #radio-next { margin-top:7px; }
}

@media (max-width:599px) and (max-height:700px) and (orientation:portrait) {
 .in-story #mission-panel.debrief { top:142px;right:85px; }
}
@media (max-height:600px) and (orientation:landscape) {
 #mission-panel.debrief { display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:5px 8px; }
 #mission-panel.debrief #mission-mentor { grid-column:1/-1; }
 #mission-panel.debrief p { margin-top:0;font-size:clamp(18px,2.3vw,21px); }
 #mission-panel.debrief #radio-next { margin-top:0;align-self:center;font-size:clamp(6px,.9vw,8px);padding:7px; }
}

/* Ground beats use the radio card and stay clear of the flight controls. */
#crew-watch { pointer-events:auto;min-height:44px;margin-top:8px;font-size:clamp(7px,.7vw,10px); }
.ground-turn .flight-strip,.ground-turn #flight-message { display:none; }
#start-weather { grid-column:1/-1; }
.weather-copy { color:var(--dim);font-family:var(--font-pixel-body);font-size:clamp(20px,1.8vw,25px);line-height:1.15; }
.flight-wallet { flex-wrap:wrap;max-width:114px; }
#weather-status { flex-basis:100%;color:var(--dim);font-size:clamp(5px,.52vw,7px);line-height:1.7;white-space:nowrap; }
@media (max-width:599px) { #crew-watch { font-size:clamp(6px,1.7vw,8px);padding:8px; }#weather-status { font-size:clamp(5px,1.35vw,6px); }.weather-copy { font-size:clamp(21px,5.5vw,25px); } }
@media (max-width:599px) and (max-height:700px) and (orientation:portrait) { #mission-panel.ground-turn { top:142px;right:85px; } }
@media (max-height:600px) and (orientation:landscape) {
 #mission-panel.ground-turn { display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:5px 8px; }
 #mission-panel.ground-turn #mission-mentor { grid-column:1/-1; }
 #mission-panel.ground-turn p { margin-top:0;font-size:clamp(18px,2.3vw,21px); }
 #mission-panel.ground-turn #crew-watch { margin-top:0;align-self:center;font-size:clamp(6px,.9vw,8px);padding:7px; }
}
