/* --- TACTICAL RETICLE HUD --- */

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 55px;
  height: 55px;
  border: 1px solid var(--bb-kelly);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 10000;
  transition: width 0.3s, height 0.3s, border-color 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 8px rgba(0, 200, 83, 0.4);
  background-image: linear-gradient(90deg, var(--bb-kelly) 20%, transparent 20%, transparent 80%, var(--bb-kelly) 80%),
                        linear-gradient(180deg, var(--bb-kelly) 20%, transparent 20%, transparent 80%, var(--bb-kelly) 80%);
  background-position: center;
  background-size: 100% 1px, 1px 100%;
  background-repeat: no-repeat;
}

.cursor::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-top: 1px dotted var(--bb-kelly);
  opacity: 0.4;
}

.cursor::after {
  content: '';
  position: absolute;
  height: 100%;
  width: 1px;
  border-left: 1px dotted var(--bb-kelly);
  opacity: 0.4;
}

.cursor-coords {
  position: absolute;
  right: -85px;
  top: -15px;
  font-family: var(--font-code);
  font-size: 14px;
  color: var(--bb-kelly);
  line-height: 1.4;
  text-transform: uppercase;
  text-shadow: 0 0 5px rgba(0, 200, 83, 0.8);
}

.cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 4px;
  height: 4px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 10001;
  pointer-events: none;
  box-shadow: 0 0 12px #fff;
}

.cursor.active {
  width: 85px;
  height: 85px;
  background: rgba(0, 200, 83, 0.15);
  border-color: #fff;
}
