.orbit-workspace { grid-template-columns: 294px minmax(0, 1fr); }
.orbit-stage { padding-bottom: 24px; }
.preset-control { min-width: 0; margin: 0 0 27px; padding: 0; border: 0; }
.preset-control legend { margin-bottom: 10px; font-size: 13px; }
.orbit-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); }
.orbit-presets button { min-width: 0; min-height: 38px; padding: 7px 4px; border: 0; font-size: 11px; }
.orbit-presets button:nth-child(even) { border-left: 1px solid var(--line); }
.orbit-presets button:nth-child(n+3) { border-top: 1px solid var(--line); }
.orbit-presets button.active { color: #08211f; background: var(--cyan); }
.orbit-status { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 11px 13px; border: 1px solid var(--line); color: #c9d8d5; font-size: 12px; line-height: 1.5; }
.orbit-status strong { color: var(--orange); font: 500 12px "DM Mono", monospace; }
.orbit-progress { height: 3px; margin-bottom: 14px; background: #294247; }
.orbit-progress span { display: block; width: 0; height: 100%; background: var(--cyan); }
.orbit-canvas { min-width: 0; overflow: hidden; border: 1px solid var(--line-soft); background: #09171b; }
.orbit-scene { display: block; width: 100%; height: auto; }
.orbit-grid-line { stroke: #1c343a; stroke-width: 1; stroke-dasharray: 2 8; }
.future-path { fill: none; stroke: var(--cyan); stroke-width: 2.1; opacity: .65; }
.travelled-path { fill: none; stroke: var(--yellow); stroke-width: 3.2; }
.planet-halo { fill: rgba(120,174,247,.08); stroke: rgba(120,174,247,.22); stroke-width: 1; }
.planet { stroke: #9ec7ff; stroke-width: 1.5; filter: drop-shadow(0 0 13px rgba(120,174,247,.25)); }
.planet-label, .apsis-label { fill: #91aaa8; font: 10px "DM Mono", monospace; paint-order: stroke; stroke: #09171b; stroke-width: 4px; }
.apsis-point { fill: var(--cyan); }
.satellite { fill: var(--orange); stroke: #fff1d8; stroke-width: 2; filter: drop-shadow(0 0 8px rgba(255,173,104,.7)); }
.orbit-vector { stroke-width: 2.4; }
.velocity-vector { stroke: var(--orange); }
.gravity-vector { stroke: var(--red); }
.vector-label { font: 500 12px "DM Mono", monospace; paint-order: stroke; stroke: #09171b; stroke-width: 5px; }
.velocity-label { fill: var(--orange); }
.gravity-label { fill: var(--red); }
.orbit-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.orbit-metrics .metric:nth-child(n+5) { margin-top: 13px; padding-top: 17px; border-top: 1px solid var(--line); }
.orbit-metrics .metric:nth-child(5) { padding-left: 0; border-left: 0; }
.orbit-metrics .metric-value { font-size: 16px; line-height: 1.35; }
.orbit-metrics .compact { font-size: 12px; }
.observation-list { margin: 0; padding-left: 19px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.observation-list li + li { margin-top: 5px; }
.related-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 14px !important; }

@media (max-width: 950px) { .orbit-workspace { grid-template-columns: 270px minmax(0, 1fr); } .orbit-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .orbit-metrics .metric:nth-child(n) { margin-top: 0; padding: 15px 10px 4px 0; border-top: 0; border-bottom: 1px solid var(--line); } .orbit-metrics .metric:nth-child(odd) { padding-left: 0; border-left: 0; } }
@media (max-width: 820px) { .orbit-workspace { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .orbit-status span { flex-basis: 100%; } .orbit-metrics { grid-template-columns: 1fr; } .orbit-metrics .metric:nth-child(n) { padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--line); border-left: 0; } .orbit-metrics .metric:last-child { border-bottom: 0; } .vector-label { font-size: 15px; stroke-width: 6px; } }
