/* CUIScaleIn / CUIScaleOut / CUIFadeIn - mirror cui_tile_motion.dart.
   Scale-in 320ms Curves.easeOutBack (Flutter Cubic(.175,.885,.32,1.275)); scale-out 320ms: shrink on easeIn (Cubic(.42,0,1,1)),
   regrow (removing flipped back) on easeOutBack; fade-in 280ms linear. Duration override via --_dur (ms). Speed via --cui-speed.
   Reduced motion (prefers-reduced-motion, = MediaQuery.disableAnimations): no tween anywhere, tiles sit at scale 1 / 0 / opacity 1. */
.cui-scale-in, .cui-scale-out, .cui-fade-in { display: inline-block; transform-origin: 50% 50%; }
.cui-scale-in { animation: cui-scale-in calc(var(--_dur, 320) * 1ms / var(--cui-speed, 1)) cubic-bezier(0.175, 0.885, 0.32, 1.275) both; }
@keyframes cui-scale-in { from { transform: scale(0); } to { transform: scale(1); } }
.cui-scale-out { transform: scale(1);
  transition: transform calc(var(--_dur, 320) * 1ms / var(--cui-speed, 1)) cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.cui-scale-out.is-removing { transform: scale(0); transition-timing-function: cubic-bezier(0.42, 0, 1, 1); }
.cui-fade-in { animation: cui-fade-in calc(var(--_dur, 280) * 1ms / var(--cui-speed, 1)) linear both; }
@keyframes cui-fade-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .cui-scale-in, .cui-fade-in { animation: none; }
  .cui-scale-out { transition: none; }
}
