/* ============================================================
   Motion — keyframes + transition presets
   ============================================================ */

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

@keyframes scale-in {
  from { opacity: 0; transform: scale(0.97); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes pulse-soft {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, currentColor 30%, transparent); }
  50%      { box-shadow: 0 0 0 12px color-mix(in oklab, currentColor 0%, transparent); }
}

.anim-in {
  animation: fade-in var(--duration-medium) var(--ease-enter) both;
}

.main > * { animation: fade-in var(--duration-medium) var(--ease-enter) both; }
.main > *:nth-child(1) { animation-delay: 0ms; }
.main > *:nth-child(2) { animation-delay: 60ms; }
.main > *:nth-child(3) { animation-delay: 120ms; }
.main > *:nth-child(4) { animation-delay: 180ms; }
.main > *:nth-child(5) { animation-delay: 240ms; }

.pulse {
  animation: pulse-soft 2s var(--ease-standard) infinite;
}
