/* GYMO motion: springy, over-shooting, phase-based. Nothing linear,
   nothing subtle. Every big tap physically bounces AND darkens. */
:root{
  /* Big button press — BigButtonPressPhase, 0.6s total, easeOut per phase */
  --press-big-duration:600ms; /* @kind other */
  --press-big-scale-dip:.85; /* @kind other */
  --press-big-scale-overshoot:1.06; /* @kind other */
  --press-big-scale-undershoot:.97; /* @kind other */
  --press-big-scale-small-overshoot:1.02; /* @kind other */
  --press-big-brightness-dip:-.22; /* @kind other */

  /* Close-button bounce — XBouncePhase, 0.85s total, easeInOut per phase */
  --press-x-duration:850ms; /* @kind other */
  --press-x-scale-dip:.45; /* @kind other */
  --press-x-scale-overshoot:1.32; /* @kind other */

  /* Delays that protect the animation from the screen change */
  --dismiss-delay-big:600ms; /* @kind other */
  --dismiss-delay-x:350ms; /* @kind other */

  /* Colour pulse — big buttons breathe between their two theme colours */
  --pulse-duration:3500ms; /* @kind other */
  --pulse-duration-onboarding:1400ms; /* @kind other */
  --pulse-start-delay:350ms; /* @kind other */

  /* Small, functional transitions */
  --fade-enable:200ms; /* @kind other */             /* isEnabled opacity fade */
  --fade-highlight:300ms; /* @kind other */          /* new-row highlight release */
  --flash-in:80ms; /* @kind other */                 /* disabled-X flash in */
  --flash-hold:180ms; /* @kind other */
  --flash-out:200ms; /* @kind other */
  --press-key-scale:.9; /* @kind other */            /* pad key / small button press */

  --ease-out:cubic-bezier(0,0,.58,1); /* @kind other */
  --ease-in-out:cubic-bezier(.42,0,.58,1); /* @kind other */
}

@keyframes gymo-press-big{
  0%{transform:scale(1);filter:brightness(1)}
  25%{transform:scale(.85);filter:brightness(.78)}
  50%{transform:scale(1.06);filter:brightness(.853)}
  70%{transform:scale(.97);filter:brightness(.912)}
  85%{transform:scale(1.02);filter:brightness(.956)}
  100%{transform:scale(1);filter:brightness(1)}
}
@keyframes gymo-bounce-x{
  0%{transform:scale(1)}
  16%{transform:scale(.45)}
  34%{transform:scale(1.32)}
  50%{transform:scale(.8)}
  65%{transform:scale(1.14)}
  78%{transform:scale(.92)}
  90%{transform:scale(1.04)}
  100%{transform:scale(1)}
}
@keyframes gymo-caret{0%,49%{opacity:1}50%,100%{opacity:0}}
