/* Decorative, image-aligned HUD. Does not participate in the HERO layout. */
.hero .hero-shooting-overlay{
  position:absolute;inset:0;overflow:hidden;pointer-events:none;user-select:none;
  color:#efc76b;contain:layout style;
  --hud-line:rgba(219,180,95,.36);
}
.hero-shooting-overlay .shooting-point{position:absolute;width:0;height:0}
.hero-shooting-overlay .shooting-core{
  position:absolute;width:14px;height:14px;left:-7px;top:-7px;
  border:1px dashed #efc76b;border-radius:50%;background:#100d0780;
  box-shadow:0 0 10px #f4b00044;
}
.hero-shooting-overlay .shooting-ring{
  position:absolute;left:-11px;top:-11px;width:22px;height:22px;
  border:1px dashed #eec15b;border-radius:50%;opacity:0;transform:scale(.3);
  animation:shooting-ripple 6.6s cubic-bezier(.22,.45,.35,1) infinite;
  animation-delay:calc(var(--phase) + var(--ring-phase));animation-play-state:paused;
}
.hero-shooting-overlay .shooting-ring:nth-child(1){--ring-phase:0s}
.hero-shooting-overlay .shooting-ring:nth-child(2){--ring-phase:-2.2s}
.hero-shooting-overlay .shooting-ring:nth-child(3){--ring-phase:-4.4s}
.hero-shooting-overlay[data-running="true"] .shooting-ring{animation-play-state:running}
.hero-shooting-overlay .shooting-number,
.hero-shooting-overlay .shooting-label{
  position:absolute;font-family:'IBM Plex Mono',monospace;font-weight:500;
  font-size:10px;line-height:1.5;letter-spacing:.08em;white-space:nowrap;
  text-shadow:0 1px 5px #000,0 0 8px #000;
}
.hero-shooting-overlay .shooting-number{left:10px;top:7px;color:#efc76b}
.hero-shooting-overlay .shooting-label{left:26px;top:-35px;color:#e7d6ad;font-size:9px}
.hero-shooting-overlay .shooting-label small{display:block;font:inherit;font-size:8px;letter-spacing:.14em;color:#a28a56}
.hero-shooting-overlay .shooting-label::before{
  content:"";position:absolute;left:-19px;top:18px;width:14px;height:14px;
  border-top:1px dashed var(--hud-line);border-left:1px dashed var(--hud-line);
}
.hero-shooting-overlay .shooting-core::after{
  content:"";position:absolute;width:3px;height:3px;left:50%;top:50%;
  transform:translate(-50%,-50%);border-radius:50%;background:#ffe4a3;
  box-shadow:0 0 5px #f4b000;
}
.hero-shooting-overlay .shooting-tether{
  position:absolute;width:0;border-left:1px dashed #dbb45f99;
}
.hero-shooting-overlay .shooting-tether::after{
  content:"";position:absolute;bottom:0;left:-3px;width:5px;
  border-top:1px solid #dbb45f99;
}
@keyframes shooting-ripple{
  0%{transform:scale(.3);opacity:0}
  12%{opacity:.52}
  80%,100%{transform:scale(1.85);opacity:0}
}
@media(max-width:980px){
  .hero-shooting-overlay .shooting-point--secondary,
  .hero-shooting-overlay .shooting-tether--secondary,
  .hero-shooting-overlay .shooting-label--secondary{display:none}
  .hero-shooting-overlay .shooting-ring{width:16px;height:16px;left:-8px;top:-8px}
  .hero-shooting-overlay .shooting-ring:nth-child(3){display:none}
  .hero-shooting-overlay .shooting-number{font-size:9px;left:8px;top:-15px}
  .hero-shooting-overlay .shooting-label{font-size:8px;left:19px;top:5px;line-height:1.4}
  .hero-shooting-overlay .shooting-label small{font-size:7px}
  .hero-shooting-overlay .shooting-label::before{left:-13px;top:0;width:9px;height:8px;transform:scaleY(-1)}
}
@media(prefers-reduced-motion:reduce){
  .hero-shooting-overlay .shooting-ring{animation:none;transform:scale(.85);opacity:.22}
  .hero-shooting-overlay .shooting-ring:nth-child(n+2){display:none}
}
