/* Prueba local: caída corta, apoyo y propagación del impacto. */
.entry-curtain {
  position: fixed;
  inset: 0;
  z-index: 20;
  background: #000;
  pointer-events: none;
  transform-origin: bottom;
}
.entry-dumbbell {
  position: fixed;
  top: 0;
  z-index: 22;
  pointer-events: none;
  width: 180px;
  height: auto;
  transform: translateY(-200px);
  filter: drop-shadow(0 14px 12px #0009);
}
.button.weight-hit {
  position: relative;
  isolation: isolate;
  box-shadow: inset 0 -2px 0 #8b0000;
}
.button.weight-hit::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 0;
  bottom: 0;
  width: 38px;
  background: url("assets/button-crack.svg") center / 100% 100% no-repeat;
  pointer-events: none;
  opacity: .8;
}
.button.weight-hit::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 34px;
  width: 24px;
  height: 7px;
  background: #000;
  clip-path: polygon(0 0, 100% 0, 60% 100%, 35% 65%);
  pointer-events: none;
}
.embedded-dumbbell {
  position: absolute;
  width: 100px;
  max-width: none;
  height: auto;
  right: 8px;
  top: -51px;
  transform: rotate(-12deg);
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 4px 3px #000a);
}
@media (max-width: 700px) {
  .embedded-dumbbell { width: 86px; top: -44px; }
}
@media (prefers-reduced-motion: reduce) {
  .entry-curtain, .entry-dumbbell { display: none; }
}
