@layer overscan {
ov-reticle {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  z-index: 2;
}
.ov-reticle__svg { inline-size: 100%; block-size: 100%; display: block; }
.ov-reticle__bracket {
  fill: none;
  stroke: var(--ov-accent);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.ov-reticle__bracket.is-lost {
  stroke: var(--ov-alarm);
  stroke-dasharray: 3 3;
  vector-effect: non-scaling-stroke;
}
.ov-reticle__labels { position: absolute; inset: 0; }
.ov-reticle__tag {
  position: absolute;
  transform: translateY(3px);
  white-space: nowrap;
  font-family: var(--ov-font-mono);
  font-size: var(--ov-size-1);
  letter-spacing: 1px;
  color: var(--ov-accent);
}
.ov-reticle__tag b { font-weight: 400; text-transform: uppercase; }
.ov-reticle__tag i { font-style: normal; color: var(--ov-faint); margin-inline-start: 6px; }
.ov-reticle__tag.is-lost { color: var(--ov-alarm); }
.ov-reticle__tag.is-unscored { color: var(--ov-alarm); }
}
