@keyframes screen-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

@keyframes quiet-glow {
  0%, 100% { box-shadow: 0 0 14px rgb(233 129 69 / 24%); }
  50% { box-shadow: 0 0 30px rgb(233 129 69 / 46%); }
}

@keyframes flame-breathe {
  from { transform: rotate(39deg) scale(.93); }
  to { transform: rotate(44deg) scale(1.05); }
}

@keyframes smoke-rise {
  from { opacity: .45; transform: translateY(0) scale(.8); }
  to { opacity: 0; transform: translate(13px, -42px) scale(1.45); }
}

@keyframes ember-settle {
  from { opacity: 0; transform: translateY(-18px) rotate(-4deg); }
  to { opacity: 1; transform: none; }
}

@keyframes hold-fill {
  to { transform: translateX(0); }
}

@keyframes veil-pass {
  0%, 20% { transform: translateX(-110%); }
  65%, 100% { transform: translateX(110%); }
}

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

html[data-reduce-motion="true"] *,
html[data-reduce-motion="true"] *::before,
html[data-reduce-motion="true"] *::after {
  scroll-behavior: auto !important;
  animation-duration: .01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .01ms !important;
}
