/* FILE: styles/motion.css */

/* Screen transitions */
#screen-mount {
  animation: screenFadeIn 0.2s ease forwards;
}

@keyframes screenFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Card entrance */
.card {
  animation: cardSlideIn 0.25s ease forwards;
}

@keyframes cardSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Stagger for action steps */
.action-step:nth-child(1) { animation-delay: 0.05s; }
.action-step:nth-child(2) { animation-delay: 0.1s; }
.action-step:nth-child(3) { animation-delay: 0.15s; }

.action-step {
  animation: fadeSlideUp 0.25s ease both;
}

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Progress bar fill */
.progress-bar-fill {
  animation: progressGrow 0.6s ease forwards;
  transform-origin: left;
}

/* Choice button tap feedback */
.choice-btn:active {
  transform: scale(0.96);
  transition: transform 0.1s ease;
}

/* Button press */
.btn:active {
  transform: scale(0.97);
}

/* Reduce motion override */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
