@keyframes thrown-out {
  0% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
  35% {
    opacity: 1;
    transform: scale(1.8) rotate(-12deg);
  }
  100% {
    opacity: 0;
    transform: translateY(110vh) scale(2.4) rotate(24deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .player.knocked-out {
    animation-duration: 1ms;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes fade-and-shrink {
    0% {
      opacity: 1;
      transform: scale(1);
    }
    100% {
      opacity: 0;
      transform: scale(0.5);
    }
  }

  @keyframes sway {
    0% {
      transform: rotate(9deg);
    }
    100% {
      transform: rotate(-9deg);
    }
  }

  @keyframes blink {
    0%,
    20%,
    40%,
    60%,
    80%,
    100% {
      opacity: 1;
    }
    10%,
    30%,
    50%,
    70%,
    90% {
      opacity: 0;
    }
  }

  @keyframes fade-in {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

  @keyframes fade-out {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }

  @keyframes flicker {
    0%,
    95%,
    98%,
    100% {
      opacity: 1;
    }
    96%,
    99% {
      opacity: 0.2;
    }
  }

  @keyframes float {
    0%,
    100% {
      transform: translateY(0);
    }
    50% {
      transform: translatey(0.5rem);
    }
  }

  @keyframes zap-impact {
    0% {
      opacity: 0;
      scale: 0.45;
    }
    15% {
      opacity: 1;
      scale: 1.12;
    }
    100% {
      opacity: 0;
      scale: 0.9;
    }
  }
}
