/* Keep the normal flight deck intact; expand only the manual play area. */
.flight-map { width:100%; min-width:0; flex-shrink:0; }
.flight-map canvas { margin-inline:auto; }
.board-actions { display:flex; align-items:center; gap:8px; }
.board-top { gap:8px; }
.board-top .sector-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fullscreen-toggle, .fullscreen-reset {
  pointer-events:auto; display:flex; align-items:center; justify-content:center; gap:7px;
  min-width:44px; min-height:44px; padding:8px 10px; border:1px solid #425466;
  border-radius:8px; background:#13202d; color:#d7e7e8; font-size:12px; letter-spacing:0;
  touch-action:manipulation;
}
.fullscreen-toggle:hover, .fullscreen-reset:hover { background:#25394b; }
.fullscreen-toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }
.fullscreen-only { display:none; }
.manual-fullscreen-open { position:fixed; left:0; width:100%; overflow:hidden; overscroll-behavior:none; }
.space-panel.manual-fullscreen {
  position:fixed; inset:0; z-index:100; width:100%; height:100vh; height:100dvh;
  min-height:0; max-height:none; margin:0; border:0; border-radius:0; aspect-ratio:auto;
  padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:66px minmax(0,1fr) auto;
  gap:10px; align-items:stretch; justify-content:stretch; overscroll-behavior:none;
}
.manual-fullscreen::backdrop { background:#080e18; }
.space-panel.manual-fullscreen::after { display:none; }
.manual-fullscreen .board-top {
  position:relative; inset:auto; grid-area:1/1; align-self:start; width:100%; min-height:44px;
  z-index:6; font-size:11px; letter-spacing:1px;
}
.manual-fullscreen .board-actions { margin-left:auto; }
.manual-fullscreen .fullscreen-reset { display:flex; }
.manual-fullscreen #board-reset { display:none; }
.manual-fullscreen .fuel-label { margin-top:0; }
.manual-fullscreen .relay-status { top:calc(max(8px,env(safe-area-inset-top)) + 50px); left:max(12px,env(safe-area-inset-left)); font-size:11px; }
.manual-fullscreen .flight-map {
  grid-area:2/1; min-height:0; display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.manual-fullscreen .maneuver-controls {
  position:static; grid-area:3/1; justify-self:center; align-self:end; transform:none;
  width:min(100%,620px); max-width:none; padding:12px; box-shadow:none;
}
.manual-fullscreen .fullscreen-launch { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:10px; }
.fullscreen-launch label { display:flex; justify-content:space-between; gap:8px; color:#a8b4c6; font-size:12px; }
.fullscreen-launch output { color:var(--lime); font-variant-numeric:tabular-nums; }
.fullscreen-launch input[type=range] { height:44px; background:transparent; accent-color:var(--lime); appearance:auto; }
.manual-fullscreen .burn-buttons { grid-template-columns:56px minmax(0,1fr) 56px; }
.manual-fullscreen .has-brake .burn-buttons { grid-template-columns:56px minmax(0,1fr) 80px 56px; }
.manual-fullscreen .burn-buttons button { height:58px; font-size:16px; }
.manual-fullscreen .burn-buttons .steer-button { font-size:28px; }
.manual-fullscreen .board-bottom { display:none; }
.manual-fullscreen .arrival-feedback { top:90px; bottom:auto; left:50%; transform:translateX(-50%); width:calc(100% - 24px); }
.manual-fullscreen .attempt-replay { position:static; grid-area:3/1; justify-self:center; align-self:end; transform:none; width:min(100%,620px); max-width:none; }
.manual-fullscreen.show-attempt-replay .maneuver-controls { display:none; }
.manual-fullscreen .result { padding:80px 20px 24px; }
.manual-fullscreen .result-content { max-width:420px; }
@media (max-width:600px) {
  .fullscreen-toggle span { display:none; }
  .manual-fullscreen .fullscreen-toggle span { display:inline; }
  .manual-fullscreen .sector-label { display:none; }
  .manual-fullscreen .board-actions { width:100%; }
  .manual-fullscreen .flight-badge { margin-right:auto; font-size:10px; letter-spacing:.5px; }
  .manual-fullscreen .burn-buttons { grid-template-columns:52px minmax(0,1fr) 52px; }
  .manual-fullscreen .has-brake .burn-buttons { grid-template-columns:44px minmax(0,1fr) 64px 44px; }
  .manual-fullscreen .burn-buttons kbd { display:none; }
}
/* In landscape, the cockpit sits beside the map so short screens keep a useful
   flight area and every control stays above the browser/home-indicator edge. */
@media (orientation:landscape) and (max-height:540px) {
  .space-panel.manual-fullscreen { grid-template-columns:minmax(0,1fr) 280px; grid-template-rows:66px minmax(0,1fr); }
  .manual-fullscreen .board-top { grid-column:1/-1; }
  .manual-fullscreen .maneuver-controls { grid-area:2/2; align-self:center; padding:10px; }
  .manual-fullscreen .fullscreen-launch { gap:12px; margin-bottom:4px; }
  .manual-fullscreen .burn-buttons { grid-template-columns:44px minmax(0,1fr) 44px; gap:6px; }
  .manual-fullscreen .has-brake .burn-buttons { grid-template-columns:44px minmax(0,1fr) 64px 44px; gap:6px; }
  .manual-fullscreen .burn-buttons button { height:48px; font-size:14px; }
  .manual-fullscreen .burn-buttons kbd { display:none; }
  .manual-fullscreen .replay-last { margin-top:6px; min-height:36px; }
  .manual-fullscreen .attempt-replay { grid-area:2/2; align-self:center; width:100%; padding:10px; }
  .manual-fullscreen .attempt-replay-actions { flex-wrap:wrap; }
  .manual-fullscreen .attempt-replay-actions button:last-child { flex-basis:100%; margin-left:0; }
  .manual-fullscreen .arrival-feedback { max-width:calc(100% - 320px); left:12px; transform:none; }
}

/* Match the thumb joystick used by the regular flight deck on touch devices. */
@media (max-width:780px), (any-pointer:coarse) {
  .manual-fullscreen .burn-buttons, .manual-fullscreen .has-brake .burn-buttons { grid-template-columns:minmax(0,1fr); gap:8px; }
  .manual-fullscreen .burn-buttons #boost { height:64px; }
  .manual-fullscreen .burn-buttons #brake { height:48px; }
  @media (orientation:landscape) and (max-height:540px) {
    .manual-fullscreen .maneuver-controls { padding:8px; }
    .manual-fullscreen .pilot-controls { grid-template-columns:96px minmax(0,1fr); gap:12px; }
    .manual-fullscreen .steering-stick { width:96px; height:96px; }
    .manual-fullscreen #steering-output { display:none; }
    .manual-fullscreen .burn-buttons, .manual-fullscreen .has-brake .burn-buttons { gap:6px; }
    .manual-fullscreen .burn-buttons #boost, .manual-fullscreen .burn-buttons #brake { height:44px; }
    /* Fuel is unchanged before launch; use that space for aiming and replay. */
    .manual-fullscreen #fullscreen-launch:not([hidden]) ~ .fuel-label,
    .manual-fullscreen #fullscreen-launch:not([hidden]) ~ #fuel-meter { display:none; }
  }
}
