/* Hyper-pop button feel: spring press-down, overshoot release, glow flash on
   the primary green/yellow actions. Applies to <button> and .ic icon buttons. */

button, .ic {
  transition: transform .11s cubic-bezier(.34, 1.56, .64, 1), filter .11s ease, box-shadow .15s ease;
  will-change: transform;
}
button:active, .ic:active { transform: scale(.9); filter: brightness(1.1); }
button:disabled { filter: none; transform: none; }

/* Release overshoot — the "pop". */
@keyframes hyperpop {
  0%   { transform: scale(.9); }
  45%  { transform: scale(1.08); }
  72%  { transform: scale(.97); }
  100% { transform: scale(1); }
}
.popping { animation: hyperpop .28s cubic-bezier(.34, 1.56, .64, 1); }

/* Green glow flash on primary actions (start, send, submit, sign in). */
@keyframes popglow-green {
  0%   { box-shadow: 0 0 0 0 rgba(57, 255, 106, .6); }
  100% { box-shadow: 0 0 26px 8px rgba(57, 255, 106, 0); }
}
/* Yellow glow flash on confirm / review (safety-yellow). */
@keyframes popglow-yellow {
  0%   { box-shadow: 0 0 0 0 rgba(250, 204, 21, .65); }
  100% { box-shadow: 0 0 26px 8px rgba(250, 204, 21, 0); }
}
.big.popping, .ic.send.popping, #go.popping {
  animation: hyperpop .28s cubic-bezier(.34, 1.56, .64, 1), popglow-green .45s ease-out;
}
.confirmbar button.popping {
  animation: hyperpop .28s cubic-bezier(.34, 1.56, .64, 1), popglow-yellow .45s ease-out;
}
