/* Shared by all seven campaign scenes. No height breakpoint can turn it back into a long page. */
.scene-layout.active { position:fixed; inset:0; height:100dvh; min-height:0; overflow:hidden; padding:8px 12px max(8px,env(safe-area-inset-bottom)); }
.scene-layout .command-desk { height:100%; max-width:none; display:grid; grid-template-rows:48px minmax(0,1fr) auto; gap:8px; }
.scene-layout .desk-header { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:16px; margin:0; padding:0 0 6px; }
.scene-layout .desk-header #deskTitle { font:700 24px/1.2 var(--serif); margin:0; color:#eee0bb; }
.scene-layout .desk-header .desk-brand,.scene-layout .desk-heading,.scene-layout .desk-steps,.scene-layout .desk-footer { display:none; }
.scene-layout .desk-dateline { display:block; width:auto; order:0; font-size:12px; text-align:right; }.scene-layout .desk-dateline span { display:none; }
.scene-layout .desk-header #deskExit { min-height:44px; padding:6px 8px; font-size:12px; }
.scene-layout .desk-layout { display:block; min-height:0; height:100%; }
.scene-layout .dual-map-panel { height:100%; min-height:0; display:flex; flex-direction:column; overflow:hidden; border-color:#b4b08350; }
.scene-layout .perspective-bar { flex-shrink:0; padding:6px 10px; gap:8px; flex-wrap:nowrap; }
.scene-layout .perspective-bar button { min-height:40px; font-size:12px; padding:8px 12px; }
.scene-layout .mobile-workspace-nav { display:none; }
.scene-layout #mapPlanStrip { padding:6px 12px; font-size:11px; line-height:1.5; flex-shrink:0; }
.scene-layout .dual-map-panel > #localHost,.scene-layout .dual-map-panel > #strategicHost { flex:1; min-height:0; }
.scene-layout .dual-map-panel #deskMap { height:100%; min-height:0; aspect-ratio:auto; }
.scene-layout .local-force-keys { display:none; }
.scene-layout .dual-map-panel .battle-map { position:relative; inset:auto; margin:0; width:100%; max-width:none; height:100%; display:flex; flex-direction:column; border:0; }
.scene-layout .dual-map-panel .map-canvas { flex:1; min-height:0; height:0; max-height:none; aspect-ratio:auto; }
.scene-layout .dual-map-panel .map-canvas svg { height:100%; width:100%; aspect-ratio:auto; }
.scene-layout .dual-map-panel .map-heading { padding:6px 12px; }.scene-layout .dual-map-panel .map-heading b { font-size:12px; }.scene-layout .dual-map-panel .map-heading small { display:none; }
.scene-layout .dual-map-panel .map-legend { padding:4px 12px; font-size:10px; }
.scene-layout .battlefield-readout { display:none; }
.scene-layout .diorama-controls { inset:auto 12px 12px auto; }.scene-layout .diorama-controls button { min-width:40px; min-height:40px; }
.scene-layout .diorama-instruction { display:none; }.scene-layout .diorama-heading { top:12px; left:14px; }
.scene-layout .local-fallback { min-height:0; height:100%; padding:20px; }
.scene-dock { display:flex; align-items:stretch; gap:16px; padding:10px; background:#172b23; color:#ede2c5; border:1px solid #a69f704d; }
.scene-dock nav { display:flex; gap:6px; flex-shrink:0; }
.scene-dock button { min-height:44px; border:1px solid #8d987255; background:#294032; color:#eadebd; padding:8px 16px; font-size:13px; }
.scene-dock nav button { min-width:88px; display:grid; gap:5px; text-align:left; }.scene-dock nav b { font-size:15px; }.scene-dock nav span { font-size:11px; color:#b8c3a2; }
.scene-dock .scene-command { display:flex; flex:1; align-items:center; gap:10px; min-width:0; }
.scene-command-copy { flex:1; min-width:0; display:grid; gap:5px; }
.scene-command-copy b { font-size:14px; line-height:1.5; }.scene-command-copy span { font-size:12px; color:#bdc8b0; line-height:1.5; }
.scene-dock #scenePrimary { background:#a34a30; border-color:#ce895c; color:#fff0d4; min-width:120px; font-weight:700; }
.scene-dock #sceneAnalyze { background:transparent; }
.scene-drawer { position:fixed; inset:12px 12px 12px auto; margin:0; width:min(440px,calc(100vw - 24px)); height:calc(100dvh - 24px); max-width:none; max-height:none; padding:0; border:1px solid #b7a276; background:#e5ddc8; color:#352e24; box-shadow:-12px 0 50px #07150e70; }
.scene-drawer[open] { display:flex; flex-direction:column; }
.scene-drawer::backdrop { background:#07170e33; }
.scene-drawer-head { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid #b5a583; }
.scene-drawer-head span { font-size:11px; color:#78613e; }.scene-drawer-head h2 { font:700 23px/1.4 var(--serif); margin:4px 0 0; }
.scene-drawer-head button { min-height:44px; padding:8px 10px; background:transparent; color:#75452d; border:1px solid #b09c77; }
.scene-drawer-tabs { display:flex; gap:5px; padding:8px 14px; flex-shrink:0; background:#d6ccb4; }.scene-drawer-tabs button { flex:1; min-height:40px; border:1px solid transparent; background:transparent; color:#584a32; }
.scene-drawer-tabs button[aria-pressed="true"] { background:#f6ebd2; color:#842f24; border-color:#b08455; }
.scene-drawer-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scroll-padding:16px; }
.scene-drawer .desk-inspector { display:block; border:0; margin:0; overflow:visible; }
.scene-drawer .inspector-tabs { display:none; }.scene-drawer .inspector-body { max-height:none; overflow:visible; scrollbar-gutter:auto; }
.scene-drawer .desk-order { padding:18px; margin:0; }
.scene-drawer .desk-order-heading { display:block; }.scene-drawer .desk-order-heading h2 { font-size:20px; line-height:1.6; }.scene-drawer .desk-order-heading > span { display:block; max-width:none; font-size:12px; margin:10px 0; }
.scene-drawer .desk-order-columns { display:block; padding:8px 0; }.scene-drawer .desk-order h3 { margin:16px 0 10px; font-size:14px; }
.scene-drawer .desk-route-options { grid-template-columns:1fr; }.scene-drawer .desk-task-options { grid-template-columns:1fr 1fr; }
.scene-drawer .desk-route-options button,.scene-drawer .desk-task-options button { min-height:74px; padding:12px; }.scene-drawer .desk-order button b { font-size:15px; line-height:1.6; }.scene-drawer .desk-order button small { font-size:12px; line-height:1.6; }
.scene-drawer .desk-signoff { display:block; padding:12px 0 0; }.scene-drawer .desk-signoff p { font-size:12px; }.scene-drawer .desk-signoff b { font-size:14px; }
.scene-drawer #deskIssue { display:none; }.scene-drawer .desk-intel-gate { padding:12px; margin:12px 0 0; display:block; background:#f9edcc; border:1px solid #b79854; }.scene-drawer .desk-intel-gate p { display:block; margin-bottom:10px; }
.scene-drawer .desk-intel-gate button { width:100%; min-height:44px; }
.scene-drawer-foot { flex-shrink:0; padding:10px 16px; border-top:1px solid #b5a583; }.scene-drawer-foot:has(button[hidden]) { display:none; }.scene-drawer-foot button { min-height:44px; width:100%; background:#8d3c2b; color:#fff0d6; border:0; padding:10px; }
.scene-drawer-foot button:disabled { opacity:.5; }
.scene-boundaries { margin:14px; border-top:1px solid #b5a583; }.scene-boundaries summary { padding:14px 0; cursor:pointer; font-size:13px; }
.scene-drawer .dual-map-note,.scene-drawer .model-boundary { display:block; color:#66583e; font-size:12px; padding:10px 0; border:0; }
@media(max-width:900px) {
  .scene-layout.active { padding:6px; }.scene-layout .command-desk { gap:6px; grid-template-rows:42px minmax(0,1fr) auto; }
  .scene-layout .desk-header { gap:8px; padding:0; }.scene-layout .desk-header #deskTitle { font-size:20px; }.scene-layout .desk-dateline { display:none; }
  .scene-layout .perspective-bar { padding:4px 6px; }.scene-layout .perspective-bar button { min-height:40px; padding:7px 9px; }
  .scene-layout .diorama-controls { left:10px; right:10px; bottom:10px; justify-content:center; }.scene-layout .diorama-controls button { min-width:40px; min-height:40px; }
  .scene-dock { display:block; padding:8px; }.scene-dock nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.scene-dock nav button { min-width:0; display:flex; align-items:center; justify-content:space-between; padding:8px 12px; gap:5px; }
  .scene-dock .scene-command { margin-top:8px; gap:6px; flex-wrap:wrap; }.scene-command-copy { flex-basis:100%; gap:2px; }.scene-command-copy b { font-size:13px; }.scene-command-copy span { font-size:11px; }
  .scene-dock #scenePrimary { flex:1; }.scene-dock #sceneAnalyze { flex:1; }
  .scene-drawer { inset:auto 0 0; width:100%; height:min(80dvh,720px); border-radius:16px 16px 0 0; border-bottom:0; box-shadow:0 -10px 45px #07150e80; }
  .scene-drawer-head { padding:10px 16px; }.scene-drawer-head h2 { font-size:21px; }.scene-drawer-head span { display:none; }
}
@media(max-height:500px) {
  .scene-layout .command-desk { grid-template-rows:34px minmax(0,1fr) auto; gap:4px; }.scene-layout .desk-header #deskTitle { font-size:17px; }
  .scene-layout #mapPlanStrip,.scene-layout .diorama-heading { display:none; }.scene-layout .perspective-bar button { min-height:32px; }
  .scene-dock { display:flex; gap:8px; padding:5px; }.scene-dock nav { display:flex; }.scene-dock nav button { min-width:50px; padding:6px; }.scene-dock nav span { display:none; }
  .scene-dock .scene-command { margin:0; }.scene-command-copy span { display:none; }.scene-command-copy b { font-size:11px; }
  .scene-drawer { height:calc(100dvh - 8px); }
}
