@layer overscan {
ov-track {
  --ov-track-size: 64px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ov-font-mono);
  color: var(--ov-ink);
  vertical-align: middle;
}
.ov-track__svg {
  inline-size: var(--ov-track-size);
  block-size: var(--ov-track-size);
  flex: none;
  overflow: visible;
}
.ov-track__frame {
  fill: none;
  stroke: var(--ov-accent);
  stroke-width: 1.6;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
}
.ov-track__leader {
  stroke: var(--ov-accent);
  stroke-width: 1.2;
  stroke-linecap: butt;
  vector-effect: non-scaling-stroke;
}
.ov-track__sym[data-ov-family="hostile"] .ov-track__frame,
.ov-track__sym[data-ov-family="hostile"] .ov-track__leader { stroke: var(--ov-alarm); }
.ov-track__sym[data-ov-family="neutral"] .ov-track__frame,
.ov-track__sym[data-ov-family="unknown"] .ov-track__frame,
.ov-track__sym[data-ov-family="neutral"] .ov-track__leader,
.ov-track__sym[data-ov-family="unknown"] .ov-track__leader { stroke: var(--ov-ink); }
.ov-track__sym[data-ov-hedged] .ov-track__frame { stroke-dasharray: 4 3; }
.ov-track__text {
  display: grid;
  gap: 3px;
  font-size: var(--ov-size-1, 10px);
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.2;
}
.ov-track__label { color: var(--ov-ink); font-size: var(--ov-size-2, 12px); }
.ov-track__tag { color: var(--ov-faint); }
ov-track[data-ov-identity="hostile"] .ov-track__tag,
ov-track[data-ov-identity="suspect"] .ov-track__tag { color: var(--ov-alarm); }
}
