.footer.telemetry-footer {
  flex-direction: row;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  min-width: 0;
}

.ticker-heading,
.ticker-controls {
  flex-shrink: 0;
}

.ticker-heading-label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #8ca6c8;
  font-size: 8px;
  letter-spacing: 1px;
}

.footer .ticker-window {
  display: block;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 14px, #000 calc(100% - 14px), transparent);
}

.ticker-track {
  display: flex;
  width: max-content;
  animation: telemetry-scroll var(--ticker-duration, 70s) linear infinite;
}

.ticker-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 28px;
  padding-right: 28px;
}

.ticker-item {
  display: flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 7px;
  white-space: nowrap;
  color: #8398b5;
  font-size: 10px;
}

.ticker-item::before {
  content: '';
  align-self: center;
  width: 3px;
  height: 3px;
  margin-right: 8px;
  background: #354c6c;
  border-radius: 50%;
}

.ticker-label {
  display: inline-block;
}

.ticker-item.period-item .ticker-label {
  width: 25ch;
}

.ticker-value {
  display: inline-block;
  width: 7ch;
  text-align: right;
  font-size: 12px;
  font-weight: 550;
  font-variant-numeric: tabular-nums;
  color: #7fb5ff;
}

.ticker-unit {
  color: #6e85a4;
  font-size: 9px;
}

.ticker-item.ticker-green .ticker-value { color: var(--green); }
.ticker-item.ticker-amber .ticker-value { color: var(--amber); }
.ticker-item.ticker-red .ticker-value { color: var(--red); }
.ticker-item.ticker-purple .ticker-value { color: #b3a1ff; }

.ticker-pause {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: #101b2b;
  border: 1px solid #26374e;
  border-radius: 5px;
  color: #8ca6c8;
}

.ticker-pause svg { width: 13px; height: 13px; }
.ticker-pause[aria-pressed="true"] { color: var(--amber); border-color: #695534; }
.ticker-window:hover .ticker-track,
.telemetry-footer.ticker-paused .ticker-track { animation-play-state: paused; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@keyframes telemetry-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (min-width: 1700px) {
  .footer.telemetry-footer { padding: 18px 0; }
  .ticker-item { font-size: 11px; }
  .ticker-value { font-size: 13px; }
  .ticker-unit { font-size: 10px; }
}

@media (max-width: 1190px) {
  .ticker-heading-label { display: none; }
}

@media (max-width: 700px) {
  .footer.telemetry-footer { gap: 10px; padding: 16px 0; }
  .ticker-controls { gap: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ticker-track { animation: none; }
  .footer .ticker-window { overflow-x: auto; scrollbar-width: thin; }
  #ticker-copy { display: none; }
}
