.tactical-pointer-layer {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  pointer-events: none;
  overflow: clip;
  contain: layout style;
}
.tactical-pointer-layer * { pointer-events: none; box-sizing: border-box; }
.tactical-reticle {
  position: absolute;
  top: -36px;
  left: -36px;
  width: 72px;
  height: 72px;
  opacity: 0;
  color: #eeeae0;
  transform: translate3d(-100px,-100px,0);
}
.tactical-reticle.is-visible { opacity: .82; }
.tactical-reticle svg {
  display: block;
  width: 72px;
  height: 72px;
  stroke: currentColor;
  stroke-width: 1;
  filter: drop-shadow(0 0 1px #050507) drop-shadow(0 1px 1px #050507);
  transition: transform .2s cubic-bezier(.22,1,.36,1), color .2s;
}
.tactical-reticle.is-locked { color: #d5b75d; opacity: 1; }
.tactical-reticle.is-locked svg { transform: scale(.86); }
.scope-rim { stroke-width: 1.2; opacity: .8; }
.scope-lens { stroke-width: .5; opacity: .25; fill: #0b0a0f12; }
.scope-axis { stroke-width: .75; }
.scope-posts { stroke-width: 2.2; }
.scope-graduations { stroke-width: .8; }
.scope-dots { fill: currentColor; stroke: none; }
.tactical-pulse {
  position: absolute;
  top: -30px;
  left: -30px;
  width: 60px;
  height: 60px;
  border: 1px solid #d5b75d;
  border-radius: 50%;
  opacity: 0;
  transform: translate3d(-100px,-100px,0);
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  html.has-tactical-pointer body,
  html.has-tactical-pointer body * { cursor: url('/tt-scope-pointer.v1.svg') 8 8, crosshair; }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce), (forced-colors: active) {
  .tactical-pointer-layer { display: none; }
}
