/* Motion primitives.

   Per docs/UI_RULESET.md §13–14: transitions are brief and subtle;
   keyframes here are for short notification cues and entrance fades — not
   ambient decoration. prefers-reduced-motion is honored globally via the
   @media block at the bottom of base.css. */

/* === Transitions === */
.flash-banner-transition {
    transition: opacity 240ms ease, transform 240ms ease;
    will-change: opacity, transform;
}

.flash-banner-enter-start,
.flash-banner-leave-end {
    opacity: 0;
    transform: translateY(-100%);
}

.flash-banner-enter-end,
.flash-banner-leave-start {
    opacity: 1;
    transform: translateY(0);
}
