@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes actorInRight {
  from { opacity: 0; transform: translateX(24px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes actorInLeft {
  from { opacity: 0; transform: translateX(-24px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes pop {
  0% { transform: scale(.92); opacity: 0; }
  70% { transform: scale(1.03); opacity: 1; }
  100% { transform: scale(1); }
}
@keyframes softPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(204,85,77,.0); }
  50% { box-shadow: 0 0 0 10px rgba(204,85,77,.10); }
}

.view-enter { animation: fadeUp .35s ease both; }
.actor.hakim { animation: actorInRight .45s ease both; }
.actor.fahima { animation: actorInLeft .45s ease both; }
.choice-card { animation: fadeUp .32s ease both; }
.choice-card:nth-child(2) { animation-delay: .05s; }
.choice-card:nth-child(3) { animation-delay: .1s; }
.ending-badge { animation: pop .5s cubic-bezier(.2,.9,.3,1.2) both, softPulse 2.6s ease 1s infinite; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}
