/* Pixel hammer cursor + strike on the ice gate */
.ice-gate,
.ice-gate canvas,
.ice-gate * {
  cursor: none !important;
}
.ice-hammer {
  position: absolute;
  width: 112px;
  height: 112px;
  left: 0;
  top: 0;
  z-index: 30;
  pointer-events: none;
  background: url("assets/ice-hammer.svg?v=19") no-repeat center / 112px 112px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  /* isometric side pick: blade left, handle down-right */
  transform: translate(-18%, -22%) rotate(6deg);
  transform-origin: 18% 22%;
  filter: drop-shadow(3px 3px 0 #081D38);
  transition: transform 70ms steps(2, end);
}
.ice-hammer.windup {
  transform: translate(-18%, -22%) rotate(24deg) translate(-4px, -10px);
}
.ice-hammer.strike {
  transform: translate(-8%, -8%) rotate(-26deg) translate(8px, 12px);
}
.ice-hit-burst {
  position: absolute;
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;
  z-index: 25;
  pointer-events: none;
  opacity: 0;
  border: 3px solid #E8EEF2;
  box-shadow: 0 0 0 2px #081D38;
  image-rendering: pixelated;
}
.ice-hit-burst.pop {
  animation: ice-hit-pop 200ms steps(3, end);
}
@keyframes ice-hit-pop {
  0% { opacity: 1; transform: scale(0.35); }
  40% { opacity: 1; transform: scale(1.35); }
  100% { opacity: 0; transform: scale(1.85); }
}
