/* 微缩模型成为主视觉；其余指挥组件继续使用原有可访问的 DOM。 */
.command-screen { background: radial-gradient(ellipse at 40% 0%, #334c3d 0%, #202d26 57%, #19231e 100%); padding: 20px clamp(12px, 2.6vw, 44px); }
.command-desk { max-width: 1800px; }
.desk-header { padding-bottom: 16px; }
.desk-heading { margin: 20px 0 14px; }
.desk-heading h1 { font-size: clamp(28px, 2.7vw, 42px); }
.desk-heading h1:focus { outline: none; }
.desk-steps { margin-bottom: 16px; }
.desk-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; }
.desk-map-panel { background: #24392f; border: 1px solid #c7b7912a; box-shadow: 0 15px 50px #08170f30; }
.desk-map-panel > .desk-panel-heading { min-height: 58px; background: #25392f; color: #e3d6b9; border-color: #ac9c7733; }
.desk-map-panel > .desk-panel-heading span { color: #c3c6ac; }
.desk-map-panel .desk-zoom { color: #dec79c; border-color: #968d644d; min-height: 36px; }
.desk-map.has-diorama { width: 100%; height: clamp(480px, 62vh, 740px); min-height: 480px; aspect-ratio: auto; background: radial-gradient(ellipse at 50% 37%, #51654b 0%, #344a39 48%, #23392e 100%); margin: 0; isolation: isolate; }
.has-diorama > .desk-geography { display: none; }
.battlefield-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; }
.battlefield-canvas:active { cursor: grabbing; }
.desk-map:not(.has-diorama) > .battlefield-canvas { display: none; }
.has-diorama .desk-location { padding: 7px 12px; min-height: 45px; background: #203a2ce8; border: 1px solid #b8bc9275; color: #f1e4bd; box-shadow: 0 3px 12px #0e201b45; transform: translate(-50%, -100%); border-radius: 2px; backdrop-filter: blur(6px); z-index: 2; }
.has-diorama .desk-location::after { content: ""; position: absolute; left: 50%; top: 100%; height: 16px; border-left: 1px solid #dcc59088; }
.has-diorama .desk-location span { font-size: 14px; letter-spacing: .1em; }
.has-diorama .desk-location small { color: #c0c6a8; font-size: 10px; }
.has-diorama .desk-location[aria-pressed="true"] { background: #913b2bed; border-color: #e3a568; color: #ffedce; box-shadow: 0 0 0 3px #d7a85f26, 0 3px 14px #14231a60; }
.has-diorama .desk-location[aria-pressed="true"] small { color: #efd0b1; }
.has-diorama[data-step="2"] .desk-location[aria-pressed="true"] { transform: translate(-50%, -100%); }
.has-diorama .desk-map-caption { color: #d9d2b6; left: 20px; bottom: 18px; font-size: 10px; pointer-events: none; }
.has-diorama .desk-red-dot { background: #de7753; }.has-diorama .desk-hatch-dot { border-color: #b2c5bf; }.has-diorama .desk-dash { border-color: #edc890; }
.desk-map-panel > .desk-map-note { color: #c9c8ac; background: #25392f; border-top-color: #ac9c7733; padding: 11px 18px; }
.diorama-heading,.diorama-controls,.diorama-instruction { display: none; }
.diorama-fallback { display: none; }.desk-map[data-renderer="fallback"] .diorama-fallback { display: block; position: absolute; bottom: 32px; left: 12px; right: 12px; margin: 0; padding: 8px 10px; color: #493c28; background: #f3e9cfee; font: 12px/1.6 var(--sans); }
.has-diorama .diorama-heading { display: grid; gap: 5px; position: absolute; top: 20px; left: 22px; pointer-events: none; color: #e0d3ad; z-index: 1; }
.diorama-heading span { font: 10px/1.2 var(--sans); letter-spacing: .25em; color: #aebd9e; }.diorama-heading b { font: 14px var(--serif); letter-spacing: .14em; }
.has-diorama .diorama-controls { display: flex; position: absolute; bottom: 46px; right: 18px; gap: 3px; background: #182e24c9; border: 1px solid #a1ad7944; padding: 3px; border-radius: 3px; z-index: 4; }
.diorama-controls button { min-width: 36px; min-height: 36px; padding: 6px; color: #e8debd; background: transparent; border: 0; font-size: 13px; }.diorama-controls button:hover { background: #6e805552; }
.has-diorama .diorama-instruction { display: block; position: absolute; right: 20px; bottom: 20px; color: #bdc5a9; font-size: 10px; letter-spacing: .06em; pointer-events: none; }
.desk-map-dialog:has(.has-diorama) { background: #23392e; color: #e5dcc0; border-color: #9a9d71; width: min(1500px, calc(100vw - 24px)); overflow: hidden; }
.desk-zoom-host:has(.has-diorama) { max-height: none; overflow: hidden; }
.desk-zoom-host .desk-map.has-diorama { width: 100%; height: calc(100svh - 140px); min-height: 320px; }
.desk-intel-panel { background: #e2dbc7; border-top: 3px solid #b4945b; box-shadow: 0 10px 30px #0a160d33; }
.desk-telegram { padding: 18px 22px 10px; }.desk-telegram h2 { font-size: 22px; }.desk-telegram > p { font-size: 15px; line-height: 1.85; }
.desk-order { margin-top: 16px; padding: 20px 24px 0; background: #ded8c2; }.desk-order h2 { font-size: 21px; }.desk-order-columns { padding: 18px 0; }.desk-route-options button,.desk-task-options button { min-height: 82px; padding: 12px; }.desk-signoff { padding: 14px 0; }
.desk-footer { margin-top: 16px; }
@media (max-width: 1100px) { .desk-layout { grid-template-columns: minmax(0,1fr) 295px; }.desk-map.has-diorama { height: 620px; }.desk-map-panel > .desk-panel-heading span { display: none; }.has-diorama .diorama-instruction { display: none; }.has-diorama .diorama-controls { bottom: 43px; right: 12px; } }
@media (max-width: 760px) {
  .command-screen { padding: 14px 10px; }.desk-heading { margin-top: 20px; }.desk-heading h1 { font-size: 30px; }.desk-mission { margin-top: 9px; }.desk-mission span { display: block; margin: 4px 0 0; }.desk-layout { grid-template-columns: 1fr; }
  .desk-map.has-diorama { height: 420px; min-height: 420px; }.desk-map-panel > .desk-panel-heading { min-height: 53px; }.desk-map-panel > .desk-panel-heading span { display: none; }
  .has-diorama .desk-location { min-height: 42px; padding: 6px 8px; }.has-diorama .desk-location span { font-size: 12px; }.has-diorama .desk-location small { font-size: 9px; }.has-diorama .diorama-heading { top: 14px; left: 14px; }.diorama-heading span { font-size: 9px; }.diorama-heading b { font-size: 12px; }
  .has-diorama .diorama-controls { right: 9px; bottom: 45px; left: 9px; justify-content: center; }.diorama-controls button { min-width: 44px; min-height: 44px; padding: 8px; }.has-diorama .desk-map-caption { font-size: 10px; bottom: 16px; left: 14px; }
  .desk-map-dialog header { padding: 12px; }.desk-map-dialog h2 { font-size: 18px; }.desk-map-dialog header p { font-size: 11px; max-width: 240px; }.desk-zoom-host .desk-map.has-diorama { min-height: 280px; height: calc(100svh - 150px); }
  .desk-telegram > p { font-size: 16px; }.desk-order { padding: 20px 16px 0; }.desk-order-columns { gap: 20px; }.desk-order button b { font-size: 15px; }.desk-order button small { font-size: 12px; }
}
