.mission-maps { scroll-margin-top: 9rem; }
.mission-map-heading { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:.75rem 2rem; }
.mission-map-heading h2 { margin:.5rem 0; max-width:800px; }
.map-epoch { color:var(--muted); font-size:.9rem; margin:.5rem 0; }
.map-epoch time { display:block; color:var(--text); font-variant-numeric:tabular-nums; }
.map-legend { display:flex; flex-wrap:wrap; gap:1.2rem; margin:1.5rem 0; }
.map-legend-item { display:flex; align-items:center; gap:.6rem; color:var(--muted); text-decoration:none; }
.map-legend-item.selected { color:var(--text); font-weight:700; }
.map-legend-item span { width:.7rem; height:.7rem; border-radius:50%; background:var(--gold); }
.map-legend-item.v2 span { background:var(--blue); }
.mission-map-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.mission-map-panel { min-width:0; padding:clamp(1rem,2vw,1.7rem); background:#0b171e; border:1px solid var(--line); border-radius:var(--radius); }
.map-panel-number { display:block; color:var(--muted); letter-spacing:.12em; font-size:.72rem; direction:ltr; text-align:start; }
.mission-map-panel h3 { font-size:clamp(1.3rem,2.1vw,1.8rem); margin:.5rem 0 1.25rem; line-height:1.3; }
.mission-map-panel p { color:var(--muted); font-size:.92rem; line-height:1.8; }
.mission-map-svg { display:block; width:100%; height:auto; overflow:visible; direction:ltr; }
.map-field { fill:#09131a; stroke:var(--line); }
.map-gridline { stroke:#263943; stroke-width:1; }
.map-equator { stroke:#60737d; stroke-width:1.5; }
.map-ecliptic { stroke:#a6b8c0; stroke-width:1.5; stroke-dasharray:7 6; }
.map-tick { fill:#b5c4ca; font-size:19px; font-variant-numeric:tabular-nums; }
.map-axis-label { fill:#b5c4ca; font-size:18px; }
.map-craft-label { font-size:21px; fill:var(--blue); paint-order:stroke; stroke:#0b171e; stroke-width:5px; stroke-linejoin:round; }
.map-craft-label.v1 { fill:var(--gold); }
.map-craft-label.selected { font-weight:750; }
.map-halo { fill:var(--blue); opacity:.13; }
.map-halo.v1 { fill:var(--gold); }
.map-dot { fill:var(--blue); stroke:#0b171e; stroke-width:2; }
.map-dot.v1 { fill:var(--gold); }
.map-trajectory { fill:none; stroke:var(--blue); stroke-width:2; stroke-dasharray:5 5; }
.map-trajectory.v1 { stroke:var(--gold); }
.map-trajectory.selected { stroke-width:3; stroke-dasharray:none; }
.map-sun { fill:#fff5ce; }
.map-sun-label { fill:#fff5ce; font-size:21px; }
.map-readings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; padding-top:1.25rem; border-top:1px solid var(--line); margin:1.25rem 0; }
.map-readings dt { font-size:.73rem; color:var(--muted); overflow-wrap:anywhere; }
.map-readings dd { font-size:clamp(.95rem,1.5vw,1.2rem); margin:.4rem 0 0; font-variant-numeric:tabular-nums; font-weight:650; white-space:nowrap; }
.map-readings div:last-child dd { white-space:normal; overflow-wrap:anywhere; }
.map-readings small { display:block; color:var(--muted); font-size:.75rem; font-weight:400; }
.map-plane-key { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; }
.map-plane-key span { width:1.5rem; border-top:2px dashed var(--muted); }
.mission-map-method { border-block:1px solid var(--line); margin-top:1.5rem; padding:1rem 0; }
.mission-map-method summary { cursor:pointer; color:var(--text); font-weight:600; }
.mission-map-method p { max-width:85ch; color:var(--muted); }
@media(max-width:900px) { .mission-map-panels { grid-template-columns:minmax(0,1fr); } }
@media(max-width:420px) { .mission-map-panel { padding:1rem .75rem; } .map-readings dd { font-size:.95rem; } }
@media print { .mission-map-panels { display:block; } .mission-map-panel { break-inside:avoid; } }
