/* The shared website chrome stays in style.css; all calculator styles stay scoped here. */
body.acep-trajectory-page {
  margin: 0;
  position: relative;
  isolation: isolate;
  background-color: #050606;
  color: #f2f3f4;
  font-family: Roboto, Arial, sans-serif;
}
body.acep-trajectory-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(rgba(3,5,6,.55), rgba(3,5,6,.55)), url('/ACEP/premium/media/postirm/starfield_proxima_galactic_4k_q75.webp');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
#acep-trajectory { color-scheme: dark; --bg: #050606; --panel: rgba(16,18,19,.94); --panel-soft: #191c1e; --line: #373b3f; --muted: #b8bec3; --text: #f2f3f4; --accent: #e8ebed; --mono: Consolas, "Liberation Mono", monospace; min-width: 0; scroll-behavior: smooth; margin: 0; background: transparent; color: var(--text); font: 16px/1.55 Roboto, Arial, sans-serif; }
#acep-trajectory, #acep-trajectory * { box-sizing: border-box; border-radius: 0; }
#acep-trajectory button, #acep-trajectory input, #acep-trajectory select { font: inherit; }
#acep-trajectory button, #acep-trajectory a, #acep-trajectory input, #acep-trajectory select, #acep-trajectory summary { -webkit-tap-highlight-color: transparent; }
#acep-trajectory button, #acep-trajectory input, #acep-trajectory select { border-radius: 0; }
#acep-trajectory button { cursor: pointer; }
#acep-trajectory button:disabled { cursor: default; opacity: .42; }
#acep-trajectory button:focus-visible, #acep-trajectory a:focus-visible, #acep-trajectory input:focus-visible, #acep-trajectory select:focus-visible, #acep-trajectory summary:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
#acep-trajectory a { color: inherit; }
#acep-trajectory h1, #acep-trajectory h2, #acep-trajectory h3, #acep-trajectory p { margin: 0; }
#acep-trajectory sup { font-size: .68em; }
#acep-trajectory [hidden] { display: none !important; }
#acep-trajectory.shell { max-width: 1604px; margin: 0 auto; padding: calc(var(--trajectory-header-clearance, 164px) + 32px) 32px 0; }
#acep-trajectory .page-intro { display: flex; justify-content: space-between; gap: 36px; align-items: end; margin-bottom: 34px; }
#acep-trajectory .eyebrow, #acep-trajectory .section-index { font: 12px/1.5 Roboto, Arial, sans-serif; font-weight: 700; letter-spacing: .09em; color: var(--muted); }
#acep-trajectory .eyebrow { color: var(--muted); margin-bottom: 12px; }
#acep-trajectory h1 { font-size: clamp(32px, 3.2vw, 46px); line-height: 1.15; font-weight: 700; letter-spacing: -.035em; }
#acep-trajectory .intro-text { max-width: 640px; margin-top: 14px; color: var(--muted); line-height: 1.65; }
#acep-trajectory .mission-constants { display: flex; flex-shrink: 0; gap: 25px; padding-bottom: 2px; }
#acep-trajectory .mission-constants > span { padding-left: 16px; border-left: 1px solid var(--line); }
#acep-trajectory .mission-constants small { display: block; color: var(--muted); font: 12px/1.5 Roboto, Arial, sans-serif; font-weight: 700; letter-spacing: .04em; }
#acep-trajectory .mission-constants strong { display: block; margin-top: 6px; font: 15px/1.4 var(--mono); }
#acep-trajectory .mission-constants i { color: var(--muted); font-size: 14px; font-style: normal; }
#acep-trajectory .panel { border: 1px solid var(--line); background: var(--panel); }
#acep-trajectory .transfer-panel, #acep-trajectory .window-panel { padding: 24px; }
#acep-trajectory .section-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 23px; }
#acep-trajectory .section-index { margin-bottom: 6px; }
#acep-trajectory h2 { font-size: 24px; font-weight: 700; letter-spacing: -.018em; line-height: 1.3; }
#acep-trajectory .section-note, #acep-trajectory .field-hint { color: var(--muted); font-size: 14px; }
#acep-trajectory .transfer-controls { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)) minmax(170px, .8fr); gap: 18px; align-items: end; }
#acep-trajectory .objective-note { margin-top: 14px; max-width: 1000px; color: var(--muted); font-size: 14px; line-height: 1.6; }
#acep-trajectory .field { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
#acep-trajectory .field > span { color: #d3d7db; font-size: 14px; }
#acep-trajectory .field input, #acep-trajectory .field select { width: 100%; min-width: 0; height: 44px; border: 1px solid #53595e; padding: 10px 12px; background: #070808; color: var(--text); font: 15px/1.4 var(--mono); }
#acep-trajectory .field input:hover, #acep-trajectory .field select:hover { border-color: #aab1b6; }
#acep-trajectory .field input:focus, #acep-trajectory .field select:focus { border-color: #fff; }
#acep-trajectory .field select { appearance: auto; padding-right: 8px; }
#acep-trajectory .button { min-height: 44px; border: 1px solid transparent; padding: 11px 17px; font-size: 15px; font-weight: 600; line-height: 1.5; white-space: nowrap; transition: background-color .15s, border-color .15s; }
#acep-trajectory .button-primary { color: #090a0b; background: var(--accent); border-color: var(--accent); }
#acep-trajectory .button-primary:hover:not(:disabled) { background: #fff; border-color: #fff; }
#acep-trajectory .button-primary span { margin-left: 18px; }
#acep-trajectory .button-secondary { color: #e8ebed; background: transparent; border-color: #787f85; }
#acep-trajectory .button-secondary:hover:not(:disabled) { border-color: #fff; background: #24282b; }
#acep-trajectory .button-compact { min-height: 40px; padding: 7px 12px; font-size: 14px; }
#acep-trajectory .status-box { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
#acep-trajectory .status-copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 13px; }
#acep-trajectory .status-copy strong { font-size: 14px; font-weight: 600; }
#acep-trajectory .status-copy > span { color: var(--muted); font-size: 14px; }
#acep-trajectory progress { width: 180px; height: 4px; flex-shrink: 0; border: 0; background: #373c40; accent-color: var(--accent); }
#acep-trajectory progress::-webkit-progress-bar { background: #373c40; }
#acep-trajectory progress::-webkit-progress-value { background: var(--accent); }
#acep-trajectory progress::-moz-progress-bar { background: var(--accent); }
#acep-trajectory .results-section { margin-top: 34px; }
#acep-trajectory .metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
#acep-trajectory .metric { min-width: 0; padding: 23px; background: var(--panel); }
#acep-trajectory .metric h3 { color: #d2d7db; font-size: 14px; font-weight: 700; }
#acep-trajectory .metric-value { min-height: 43px; margin-top: 12px; font: 30px/1.35 var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -.04em; overflow-wrap: anywhere; }
#acep-trajectory .metric-value small { display: inline-block; margin-left: 9px; color: var(--muted); font-size: 14px; letter-spacing: 0; white-space: nowrap; }
#acep-trajectory .metric-date { padding-top: 5px; font-size: 19px; line-height: 1.7; letter-spacing: -.025em; }
#acep-trajectory .metric-status { padding-top: 4px; font-size: 21px; line-height: 1.65; letter-spacing: -.02em; }
#acep-trajectory .metric-detail { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.55; }
#acep-trajectory .profile-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(310px, 1fr); gap: 18px; margin-top: 18px; }
#acep-trajectory .profile-panel, #acep-trajectory .events-panel { min-width: 0; }
#acep-trajectory .chart-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 18px 20px 0; }
#acep-trajectory .chart-heading h3 { font-size: 15px; font-weight: 500; }
#acep-trajectory .chart-unit { color: var(--muted); font: 12px/1.5 var(--mono); letter-spacing: .035em; }
#acep-trajectory .chart-wrap { position: relative; height: 270px; margin: 12px 14px 12px; }
#acep-trajectory #transfer-chart { display: block; width: 100%; height: 100%; }
#acep-trajectory .chart-empty-state { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; color: var(--muted); font: 13px/1.6 var(--mono); text-align: center; pointer-events: none; background-image: linear-gradient(#1a243133 1px, transparent 1px), linear-gradient(90deg, #1a243133 1px, transparent 1px); background-size: 48px 48px; }
#acep-trajectory .table-scroll { overflow-x: auto; }
#acep-trajectory table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
#acep-trajectory th { color: var(--muted); font-size: 13px; font-weight: 400; white-space: nowrap; }
#acep-trajectory th, #acep-trajectory td { border-bottom: 1px solid var(--line); padding: 13px 16px; }
#acep-trajectory td { font-family: var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
#acep-trajectory tbody tr:last-child td { border-bottom: 0; }
#acep-trajectory .numeric { text-align: right; }
#acep-trajectory .events-table { margin-top: 14px; }
#acep-trajectory .events-table th, #acep-trajectory .events-table td { padding: 12px 20px; }
#acep-trajectory .events-table td:first-child { font-family: Roboto, Arial, sans-serif; }
#acep-trajectory .events-table .empty-row td { height: 174px; white-space: normal; }
#acep-trajectory .empty-row td { padding: 31px 20px; color: #b8bec3; text-align: center; font: 13px/1.65 var(--mono); white-space: normal; }
#acep-trajectory .panel-footnote { padding: 14px 20px; border-top: 1px solid var(--line); color: #b8bec3; font-size: 13px; line-height: 1.6; }
#acep-trajectory .window-panel { margin-top: 34px; }
#acep-trajectory .window-panel .section-heading { margin-bottom: 13px; }
#acep-trajectory .section-description { margin-bottom: 24px; color: var(--muted); font-size: 15px; }
#acep-trajectory .scan-controls { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(125px, .6fr) auto; gap: 16px; align-items: end; }
#acep-trajectory .scan-actions { display: flex; gap: 9px; }
#acep-trajectory .scan-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
#acep-trajectory .checkbox-label { display: inline-flex; gap: 9px; align-items: center; color: #d0d6da; font-size: 14px; cursor: pointer; }
#acep-trajectory .checkbox-label input { margin: 0; width: 17px; height: 17px; accent-color: var(--accent); }
#acep-trajectory .table-status { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-top: 24px; padding: 16px 0 12px; border-top: 1px solid var(--line); }
#acep-trajectory .table-status p { font-size: 14px; color: #d2d7db; }
#acep-trajectory .table-status > span { flex-shrink: 0; font: 12px/1.5 var(--mono); letter-spacing: .05em; color: var(--muted); }
#acep-trajectory .windows-table { min-width: 900px; }
#acep-trajectory .windows-table th { background: #191c1e; }
#acep-trajectory .windows-table th:first-child, #acep-trajectory .windows-table td:first-child { padding-left: 12px; }
#acep-trajectory .windows-table tbody tr:not(.empty-row):hover { background: #24282b; }
#acep-trajectory .windows-table tbody tr[data-selected="true"] { background: #2c3134; }
#acep-trajectory .table-action { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-decoration: underline; text-decoration-color: #aab1b6; text-underline-offset: 4px; }
#acep-trajectory .window-panel > .panel-footnote { margin-top: 5px; padding: 14px 0 0; }
#acep-trajectory .assumptions-panel { margin-top: 26px; }
#acep-trajectory .assumptions-panel summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 23px; color: #d3d8dc; font-size: 15px; list-style: none; cursor: pointer; }
#acep-trajectory .assumptions-panel summary::-webkit-details-marker { display: none; }
#acep-trajectory .details-indicator { font: 19px/1 var(--mono); color: var(--muted); transition: transform .15s; }
#acep-trajectory .assumptions-panel[open] .details-indicator { transform: rotate(45deg); }
#acep-trajectory .assumptions-content { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding: 22px 23px 25px; border-top: 1px solid var(--line); }
#acep-trajectory .assumptions-content h3 { margin-bottom: 11px; font-size: 14px; font-weight: 500; }
#acep-trajectory .assumptions-content p { color: #b8bec3; font-size: 14px; line-height: 1.7; }
#acep-trajectory .assumptions-content p + p { margin-top: 10px; }
#acep-trajectory .page-footer { background: transparent; text-align: left; display: flex; justify-content: space-between; gap: 24px; padding: 28px 0; color: #b8bec3; font: 12px/1.5 var(--mono); letter-spacing: .08em; }
#acep-trajectory .text-warning { color: #e0b563; }
#acep-trajectory .text-error { color: #e5a09a; }
#acep-trajectory .text-success { color: #7fc59b; }
@media (max-width: 1200px) {
  #acep-trajectory .transfer-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #acep-trajectory .page-intro { display: block; }
  #acep-trajectory .mission-constants { margin-top: 25px; gap: 30px; }
  #acep-trajectory .mission-constants > span:first-child { padding-left: 0; border-left: 0; }
  #acep-trajectory .scan-controls { grid-template-columns: 1fr 1fr .65fr; }
  #acep-trajectory .scan-actions { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  #acep-trajectory.shell { padding-right: 24px; padding-left: 24px; }
  #acep-trajectory .transfer-controls { grid-template-columns: 1fr 1fr; }
  #acep-trajectory .transfer-controls > .button { grid-column: 1 / -1; }
  #acep-trajectory .profile-layout { grid-template-columns: 1fr; }
  #acep-trajectory .events-table .empty-row td { height: 80px; }
  #acep-trajectory .assumptions-content { grid-template-columns: 1fr; gap: 24px; }
  #acep-trajectory .metric { padding: 20px 18px; }
  #acep-trajectory .metric-value { font-size: 25px; }
  #acep-trajectory .metric-date { font-size: 16px; }
  #acep-trajectory .metric-status { font-size: 18px; }
}
@media (max-width: 600px) {
  #acep-trajectory.shell { padding-right: 16px; padding-left: 16px; }
  #acep-trajectory .page-intro { margin-bottom: 26px; }
  #acep-trajectory .intro-text { font-size: 15px; }
  #acep-trajectory .mission-constants { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
  #acep-trajectory .mission-constants > span { padding: 0; border: 0; }
  #acep-trajectory .mission-constants > span:last-child { grid-column: 1 / -1; }
  #acep-trajectory .transfer-panel, #acep-trajectory .window-panel { padding: 18px 16px; }
  #acep-trajectory .section-heading { align-items: flex-start; flex-wrap: wrap; gap: 14px; }
  #acep-trajectory h2 { font-size: 22px; }
  #acep-trajectory .transfer-controls, #acep-trajectory .scan-controls { grid-template-columns: 1fr; gap: 16px; }
  #acep-trajectory .transfer-controls > .button, #acep-trajectory .scan-actions { grid-column: auto; }
  #acep-trajectory .field input, #acep-trajectory .field select { font-size: 15px; }
  #acep-trajectory .status-box { align-items: flex-start; flex-direction: column; gap: 12px; }
  #acep-trajectory .status-copy { display: block; }
  #acep-trajectory .status-copy > span { display: block; margin-top: 5px; }
  #acep-trajectory progress { width: 100%; }
  #acep-trajectory .results-section, #acep-trajectory .window-panel { margin-top: 28px; }
  #acep-trajectory .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #acep-trajectory .metric { padding: 17px 14px; }
  #acep-trajectory .metric h3 { font-size: 13px; }
  #acep-trajectory .metric-value { font-size: 23px; min-height: 37px; }
  #acep-trajectory .metric-value small { margin-left: 5px; font-size: 12px; }
  #acep-trajectory .metric-date { font-size: 14px; }
  #acep-trajectory .metric-status { font-size: 16px; }
  #acep-trajectory .metric-detail { font-size: 12px; }
  #acep-trajectory .chart-heading { flex-wrap: wrap; gap: 7px; padding: 16px 15px 0; }
  #acep-trajectory .chart-wrap { height: 240px; margin: 10px; }
  #acep-trajectory .scan-actions > .button { flex: 1; }
  #acep-trajectory .scan-options { align-items: flex-start; flex-direction: column; gap: 12px; }
  #acep-trajectory .table-status { align-items: flex-start; flex-direction: column; gap: 7px; }
  #acep-trajectory .assumptions-panel summary { padding: 17px; }
  #acep-trajectory .assumptions-content { padding: 20px 17px; }
  #acep-trajectory .page-footer { flex-wrap: wrap; gap: 8px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  #acep-trajectory { scroll-behavior: auto; }
  #acep-trajectory .button, #acep-trajectory .details-indicator { transition: none; }
}

#acep-trajectory .archive-panel { padding: 24px; margin: 0 0 28px; }
#acep-trajectory .archive-panel a.button { text-decoration: none; }
#acep-trajectory .archive-controls { display: grid; grid-template-columns: 1fr 1fr 1.6fr auto; gap: 16px; align-items: end; margin: 20px 0 16px; }
#acep-trajectory .archive-status { min-height: 22px; color: var(--muted); font: 13px/1.6 var(--mono); }
#acep-trajectory .archive-chart-wrap { height: 320px; margin: 14px 0 10px; }
#acep-trajectory #archive-chart { display: block; width: 100%; height: 100%; cursor: crosshair; touch-action: pan-y; }
#acep-trajectory #archive-chart:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
#acep-trajectory .archive-selection { display: flex; align-items: center; gap: 20px; justify-content: space-between; border-top: 1px solid var(--line); padding: 14px 0; }
#acep-trajectory .archive-selection p { color: #d3d8dc; font: 13px/1.8 var(--mono); white-space: pre-line; }
#acep-trajectory .archive-panel .panel-footnote { margin: 16px -24px -24px; }
@media (max-width: 760px) { #acep-trajectory .archive-controls { grid-template-columns: 1fr 1fr; } #acep-trajectory .archive-chart-wrap { height: 280px; } #acep-trajectory .archive-selection { align-items: start; flex-direction: column; gap: 10px; } }
@media (max-width: 480px) { #acep-trajectory .archive-panel { padding: 18px; } #acep-trajectory .archive-controls { gap: 12px; } #acep-trajectory .archive-panel .section-heading { align-items: start; flex-direction: column; gap: 12px; } #acep-trajectory .archive-panel .panel-footnote { margin: 16px -18px -18px; } }

#acep-trajectory .tv-panel {padding:24px;margin:26px 0;}
#acep-trajectory .tv-presets {display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 12px;}
#acep-trajectory .tv-presets button,#acep-trajectory .tv-camera-controls button,#acep-trajectory .tv-time-controls button,#acep-trajectory .tv-events button {min-height:40px;border:1px solid #646b70;border-radius:0;background:#121415;color:#e7eaec;font:inherit;font-size:15px;line-height:1.4;cursor:pointer;padding:9px 12px;}
#acep-trajectory .tv-presets button:hover,#acep-trajectory .tv-camera-controls button:hover,#acep-trajectory .tv-time-controls button:hover,#acep-trajectory .tv-events button:hover {border-color:#fff;color:#fff;}
#acep-trajectory .tv-presets button[aria-pressed="true"] {border-color:#deb469;background:#252119;color:#f0cf90;}
#acep-trajectory .tv-presets button:focus-visible,#acep-trajectory .tv-camera-controls button:focus-visible,#acep-trajectory .tv-time-controls button:focus-visible,#acep-trajectory .tv-events button:focus-visible,#acep-trajectory .tv-stage canvas:focus-visible {outline:2px solid #fff;outline-offset:3px;}
#acep-trajectory .tv-stage {position:relative;isolation:isolate;min-height:440px;height:560px;overflow:hidden;background:#060a0e;border:1px solid #373b3f;}
#acep-trajectory .tv-stage canvas {display:block;width:100%;height:100%;cursor:grab;touch-action:none;}
#acep-trajectory .tv-stage canvas:active {cursor:grabbing;}
#acep-trajectory .tv-overlay {position:absolute;top:18px;left:20px;right:20px;display:flex;flex-direction:column;gap:5px;pointer-events:none;}
#acep-trajectory .tv-overlay strong {font-size:14px;font-weight:600;color:#f2f3f4;}
#acep-trajectory .tv-overlay span {font-size:14px;color:#b8bec3;}
#acep-trajectory .tv-empty {position:absolute;inset:80px 30px;display:grid;place-items:center;text-align:center;color:#b8bec3;font-size:14px;pointer-events:none;}
#acep-trajectory .tv-empty[hidden] {display:none;}
#acep-trajectory .tv-legend {position:absolute;bottom:15px;left:20px;right:20px;display:flex;flex-wrap:wrap;gap:8px 18px;pointer-events:none;color:#b8bec3;font-size:10px;line-height:1.4;}
#acep-trajectory .tv-legend span {display:flex;align-items:center;gap:6px;}
#acep-trajectory .tv-legend i {display:inline-block;flex-shrink:0;width:20px;height:2px;background:#e6bc72;}
#acep-trajectory .tv-legend .tv-key-body {height:0;background:none;border-top:2px dashed #b4c4cf;}
#acep-trajectory .tv-legend .tv-key-guide {height:0;background:none;border-top:2px dotted #abbac5;opacity:.72;}
#acep-trajectory .tv-legend .tv-key-craft {width:6px;height:6px;background:#a3dfad;}
#acep-trajectory .tv-camera-controls {display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:9px;}
#acep-trajectory .tv-camera-controls .tv-camera-hint {margin-right:auto;padding-right:16px;font-size:14px;color:#b8bec3;}
#acep-trajectory .tv-camera-controls button {padding:5px 8px;font-size:13px;}
#acep-trajectory .tv-orientation {display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;}
#acep-trajectory .tv-orientation label {display:inline-flex;align-items:center;gap:7px;min-height:36px;color:#d3d7db;font-size:14px;cursor:pointer;}
#acep-trajectory .tv-orientation input {width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer;}
#acep-trajectory .tv-orientation input:focus-visible {outline:2px solid #fff;outline-offset:3px;}
#acep-trajectory .scan-progress-panel[hidden] {display:none;}
#acep-trajectory .scan-progress-panel .status-copy {min-width:0;}
#acep-trajectory .scan-progress-panel progress {height:6px;}

#acep-trajectory .tv-time-controls {display:grid;grid-template-columns:auto minmax(160px,1fr) 170px;align-items:end;gap:17px;padding:20px 0 14px;}
#acep-trajectory .tv-time-controls label {display:block;font-size:14px;color:#b8bec3;}
#acep-trajectory .tv-time-controls label>span {display:flex;justify-content:space-between;gap:16px;margin-bottom:7px;}
#acep-trajectory .tv-time-controls strong {color:#e6e9eb;font-weight:500;font-variant-numeric:tabular-nums;}
#acep-trajectory .tv-time-controls input[type="range"] {display:block;appearance:auto;min-height:16px;width:100%;margin:0;padding:0;accent-color:#deb469;border:0;background:transparent;cursor:pointer;}
#acep-trajectory .tv-time-offset {font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#d3d8dc;text-align:right;}
#acep-trajectory .tv-events {display:flex;flex-wrap:wrap;gap:6px;}
#acep-trajectory .tv-events button {padding:5px 8px;font-size:13px;}
#acep-trajectory .tv-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#373b3f;border:1px solid #373b3f;margin-top:18px;}
#acep-trajectory .tv-stats>div {background:#101213;padding:14px;min-width:0;}
#acep-trajectory .tv-stats span {display:block;color:#b8bec3;font-size:13px;text-transform:uppercase;letter-spacing:.6px;}
#acep-trajectory .tv-stats strong {display:block;color:#f2f3f4;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:6px;font-variant-numeric:tabular-nums;}
#acep-trajectory .tv-context {font-size:15px;line-height:1.65;color:#c4ccd2;margin:16px 0 8px;}
@media(max-width:760px) {#acep-trajectory .tv-panel {padding:16px;}#acep-trajectory .tv-stage {height:460px;min-height:360px;}#acep-trajectory .tv-camera-controls .tv-camera-hint {flex-basis:100%;margin-bottom:5px;}#acep-trajectory .tv-time-controls {grid-template-columns:auto 1fr;gap:12px;}#acep-trajectory .tv-time-offset {grid-column:2;text-align:left;}#acep-trajectory .tv-time-controls label>span {display:block;}#acep-trajectory .tv-time-controls strong {display:block;margin-top:4px;}#acep-trajectory .tv-stats {grid-template-columns:repeat(2,minmax(0,1fr));}#acep-trajectory .tv-legend {gap:10px;font-size:9px;}#acep-trajectory .tv-overlay {left:14px;top:14px;}}

/* Website integration and small-screen readability. The optional observer supplies
   the actual fixed menu/logo clearance, including wrapped desktop menus. */
#acep-trajectory .panel { scroll-margin-top: calc(var(--trajectory-header-clearance, 164px) + 20px); }
#acep-trajectory .page-intro > div { min-width: 0; }
#acep-trajectory .intro-text { font-size: 17px; color: #d3d7db; }
#acep-trajectory .button { text-align: center; text-decoration: none; }
#acep-trajectory .field select { background-color: #070808; font-family: Roboto, Arial, sans-serif; font-size: 14px; }
#acep-trajectory .tv-time-controls > * { min-width: 0; }
#acep-trajectory .tv-time-controls strong { overflow-wrap: anywhere; }
#acep-trajectory .tv-camera-controls button, #acep-trajectory .tv-events button { min-height: 36px; }
#acep-trajectory .chart-heading h3, #acep-trajectory .assumptions-content h3 { font-weight: 700; }
#acep-trajectory .tv-stats strong { font-size: 16px; }
@media (max-width: 768px) {
  #acep-trajectory.shell { padding-top: calc(var(--trajectory-header-clearance, 0px) + 32px); }
  #acep-trajectory .panel { scroll-margin-top: 20px; }
}
@media (max-width: 600px) {
  #acep-trajectory { font-size: 15px; }
  #acep-trajectory .intro-text { font-size: 15px; }
  #acep-trajectory .section-description, #acep-trajectory .field > span,
  #acep-trajectory .objective-note, #acep-trajectory .section-note,
  #acep-trajectory .status-copy strong, #acep-trajectory .status-copy > span,
  #acep-trajectory .checkbox-label, #acep-trajectory .assumptions-content p,
  #acep-trajectory .table-status p, #acep-trajectory .tv-context { font-size: 13px; }
  #acep-trajectory .panel-footnote { font-size: 12px; }
  #acep-trajectory .mission-constants small { font-size: 11px; }
  #acep-trajectory .tv-presets button, #acep-trajectory .tv-time-controls button { font-size: 13px; }
  #acep-trajectory .tv-time-controls label, #acep-trajectory .tv-camera-controls .tv-camera-hint { font-size: 12px; }
  #acep-trajectory .tv-time-offset { font-size: 12px; }
  #acep-trajectory .tv-stats span { font-size: 11px; }
  #acep-trajectory .tv-stats strong { font-size: 14px; }
}
@media (max-width: 480px) {
  #acep-trajectory .archive-controls { grid-template-columns: minmax(0, 1fr); }
  #acep-trajectory .archive-controls .button { width: 100%; }
  #acep-trajectory .metric-grid { grid-template-columns: minmax(0, 1fr); }
  #acep-trajectory .metric h3 { font-size: 14px; }
  #acep-trajectory .metric-value { font-size: 27px; }
  #acep-trajectory .metric-date { font-size: 18px; }
  #acep-trajectory .metric-status { font-size: 19px; }
}

/* Five public flight metrics share complete rows at every screen size. */
#acep-trajectory .metric-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
#acep-trajectory .metric-grid > .metric { grid-column: span 2; }
#acep-trajectory .metric-grid > .metric:nth-child(4),
#acep-trajectory .metric-grid > .metric:nth-child(5) { grid-column: span 3; }
@media (max-width: 600px) {
  #acep-trajectory .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #acep-trajectory .metric-grid > .metric { grid-column: span 1; }
  #acep-trajectory .metric-grid > .metric:nth-child(4) { grid-column: span 1; }
  #acep-trajectory .metric-grid > .metric:nth-child(5) { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  #acep-trajectory .metric-grid { grid-template-columns: minmax(0, 1fr); }
  #acep-trajectory .metric-grid > .metric,
  #acep-trajectory .metric-grid > .metric:nth-child(4),
  #acep-trajectory .metric-grid > .metric:nth-child(5) { grid-column: 1; }
}
