/* Login droid patrol — neon path + sprite (grid_path_runner.js) */

.login-droid-stage {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.grid-path-runner__svg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.grid-path-runner__path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.grid-path-runner__path-glow {
  stroke: rgba(57, 255, 20, 0.42);
  stroke-width: 10;
  filter: blur(5px);
}

.grid-path-runner__path-core {
  stroke: #39ff14;
  stroke-width: 2.5;
  filter:
    drop-shadow(0 0 2px rgba(57, 255, 20, 0.95))
    drop-shadow(0 0 8px rgba(57, 255, 20, 0.65))
    drop-shadow(0 0 18px rgba(57, 255, 20, 0.35));
}

.grid-path-runner__sprite {
  position: absolute;
  z-index: 2;
  transform-origin: center center;
  will-change: left, top, transform;
  filter:
    drop-shadow(0 0 6px rgba(57, 255, 20, 0.45))
    drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
  user-select: none;
}

/* Centered fill — map .marker-image uses an asymmetric anchor for map pins */
.grid-path-runner__sprite .grid-path-runner__droid-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center center;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .grid-path-runner__sprite {
    will-change: auto;
  }
}
