.kalman-page { --accent: var(--teal); --accent-rgb: var(--teal-rgb); }
.kalman-page .surround-choice { grid-template-columns: 28px minmax(0, 1fr) auto; column-gap: 6px; }
.kalman-page .surround-choice b { font-size: 18px; }
.kalman-axis { fill: none; stroke: var(--line-strong); stroke-width: 1.5; }
.kalman-grid { fill: none; stroke: var(--line); stroke-width: 1; stroke-dasharray: 3 7; }
.kalman-truth { fill: none; stroke: var(--ink); stroke-width: 2.5; stroke-dasharray: 7 5; }
.kalman-estimate { fill: none; stroke: var(--teal); stroke-width: 3; }
.kalman-measurement { fill: none; stroke: var(--orange); stroke-width: 2; }
.kalman-band { fill: rgba(var(--teal-rgb), .12); stroke: none; }
.kalman-cart { fill: var(--surface-muted); stroke: var(--ink); stroke-width: 2; }
.kalman-wheel { fill: var(--surface); stroke: var(--ink); stroke-width: 2; }
.kalman-marker { fill: var(--surface); stroke: var(--teal); stroke-width: 2.5; }
.kalman-cursor { stroke: var(--teal); stroke-width: 1; stroke-dasharray: 3 5; opacity: .5; }
.kalman-label { fill: var(--muted); font: 23px var(--font-sans); }
.kalman-label--small { font-size: 20px; }
.kalman-gap { fill: rgba(var(--orange-rgb), .055); }
.kalman-matrices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; margin-top: 22px; }
.kalman-matrices > div { min-width: 0; }
.kalman-matrices h3 { margin: 0 0 8px; color: var(--muted); font-size: 12px; font-weight: 400; }
.kalman-matrices pre { margin: 0; overflow-x: auto; padding-bottom: 4px; font: 12px/1.8 ui-monospace, Consolas, monospace; color: var(--ink); }
.kalman-page .kalman-equation { color: var(--ink); font: 14px/1.9 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.kalman-page .surround-data a { color: var(--accent); text-underline-offset: 3px; }
.kalman-page #phase { min-height: 2.8em; }
@media (max-width: 600px) {
  .kalman-page .stage-metrics { grid-template-columns: minmax(0, 1fr); }
  .kalman-label { font-size: 27px; }
  .kalman-label--small { font-size: 24px; }
}
@media (max-width: 500px) {
  .kalman-page .surround-choice { grid-template-columns: 28px minmax(0, 1fr); row-gap: 0; }
  .kalman-page .surround-choice [data-parameter-value] { grid-column: 2; }
  .kalman-matrices { grid-template-columns: minmax(0, 1fr); }
}
