/* CUIStaggeredReveal - mirrors cui_staggered_reveal.dart: FadeTransition > ScaleTransition > (CUIWiggle >) child.
   Wait staggerStep*index, then scale beginScale -> 1 over 500ms with Curves.easeOutBack while opacity 0 -> 1 with
   Interval(0, .5, easeOut) (= easeOut over the first 250ms). Once landed (delay + duration) the child wiggles:
   angle = sin(v*2pi + phase) * 0.05 rad, v = 0..1 repeating over CUIWiggle's default 450ms, phase = index * 1.1 rad.
   Custom properties: --_delay (ms), --_dur (ms), --_scale, --_phase (rad), speed via --cui-speed.
   Reduced motion (.is-reduced): lands instantly, no wiggle. */
@property --_ph { syntax: '<angle>'; inherits: false; initial-value: 0rad; }
.cui-staggered-reveal {
  --_delay: 0; --_dur: 500; --_scale: 0.86; --_phase: 0;
  display: block; width: fit-content;
  animation: cui-sr-fade calc(var(--_dur) * 0.5ms / var(--cui-speed, 1)) cubic-bezier(0, 0, 0.58, 1) both;
  animation-delay: calc(var(--_delay) * 1ms / var(--cui-speed, 1));
}
.cui-staggered-reveal__scale {
  display: block; width: fit-content; transform-origin: 50% 50%;
  animation: cui-sr-scale calc(var(--_dur) * 1ms / var(--cui-speed, 1)) cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
  animation-delay: calc(var(--_delay) * 1ms / var(--cui-speed, 1));
}
.cui-staggered-reveal__wiggle {
  display: block; width: fit-content; transform-origin: 50% 50%;
  transform: rotate(calc(0.05 * 1rad * sin(var(--_ph))));
}
.cui-staggered-reveal.has-wiggle .cui-staggered-reveal__wiggle {
  animation: cui-sr-wiggle calc(450ms / var(--cui-speed, 1)) linear infinite;
  animation-delay: calc((var(--_delay) + var(--_dur)) * 1ms / var(--cui-speed, 1));
}
.cui-staggered-reveal.is-reduced,
.cui-staggered-reveal.is-reduced .cui-staggered-reveal__scale,
.cui-staggered-reveal.is-reduced .cui-staggered-reveal__wiggle { animation: none; transform: none; }
@keyframes cui-sr-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cui-sr-scale { from { transform: scale(var(--_scale)); } to { transform: scale(1); } }
@keyframes cui-sr-wiggle {
  from { --_ph: calc(var(--_phase) * 1rad); }
  to { --_ph: calc(var(--_phase) * 1rad + 6.283185307rad); }
}
