/* footsteps.css
   "Marauder's Map" style footprint trails — ink-coloured footprints
   that stamp themselves across the screen one at a time (as if someone
   is walking), then fade away again like the trail is being erased.

   Positioning/rotation for each footprint is set inline (per-print, by
   footsteps.js), so this file only owns the *appearance* of a single
   print and the timeline of its appear -> hold -> fade cycle. */

.footsteps-layer {
  position: fixed;
  inset: 0;
  z-index: 10000;
  overflow: hidden;
  pointer-events: none;
}

.footstep-trail {
  position: absolute;
  inset: 0;
}

/* Outer wrapper: purely positional (left/top + rotate + mirror for
   left/right foot). Never animated, so the animated child below can't
   fight with it over the transform property. */
.footstep {
  position: absolute;
  width: 15px;
  height: 24px;
  margin: -12px 0 0 -7.5px; /* center on its left/top point */
}

/* Inner mark: this is what actually fades in and out. */
.footstep-mark {
  width: 100%;
  height: 100%;
  opacity: 0;
  color: #1b0c08;
  animation-name: footstep-life;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  transform-origin: 50% 50%;
}

.footstep-mark svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

@keyframes footstep-life {
  0% {
    opacity: 0;
    transform: scale(0.65);
  }
  10% {
    opacity: 0.6;
    transform: scale(1);
  }
  60% {
    opacity: 0.55;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.04);
  }
}
