/* Words keep their normal layout and remain visible before JavaScript runs. */
.mood-word {
  display: inline-block;
  vertical-align: baseline;
  opacity: 1;
  transform: none;
}

/* Preserve the muted phrase without recoloring every newly wrapped word. */
.manifesto h2 .mood-word { color: inherit; }

.word-reveal-playing .mood-word {
  animation: mood-word-enter 500ms cubic-bezier(.16, 1, .3, 1) var(--word-delay, 0ms) both;
  will-change: transform, opacity;
}

@keyframes mood-word-enter {
  from { opacity: 0; transform: translate3d(0, 8px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .word-reveal-playing .mood-word {
    animation: none;
    will-change: auto;
    opacity: 1;
    transform: none;
  }
}

@media print {
  .word-reveal-playing .mood-word {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
