/* Shared keyframes / @property declarations. */

@keyframes logoEqBar{
  0%, 100% { transform: scaleY(.46); opacity: .76; }
  45% { transform: scaleY(1); opacity: 1; }
  70% { transform: scaleY(.68); opacity: .9; }
}

@keyframes logoEqPulse{
  0%, 100% {
    transform: scale(1);
    border-color: color-mix(in srgb, var(--accent) 38%, var(--ui-border)) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb),.025), 0 0 14px rgba(var(--accent-rgb),.08) !important;
  }
  11% {
    transform: scale(1.065);
    border-color: color-mix(in srgb, var(--accent) 58%, var(--ui-border)) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb),.055), 0 0 24px rgba(var(--accent-rgb),.20) !important;
  }
  20% {
    transform: scale(1.015);
    border-color: color-mix(in srgb, var(--accent) 43%, var(--ui-border)) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb),.03), 0 0 16px rgba(var(--accent-rgb),.10) !important;
  }
  30% {
    transform: scale(1.045);
    border-color: color-mix(in srgb, var(--accent) 52%, var(--ui-border)) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb),.045), 0 0 21px rgba(var(--accent-rgb),.16) !important;
  }
  44%, 100% {
    transform: scale(1);
  }
}

@keyframes addButtonSpin{
  to { transform: rotate(360deg); }
}

@keyframes addProcessingSpin{
  to { transform: rotate(360deg); }
}

@keyframes reservationAssignedGlowPulse{
  0% {
    opacity: .35;
    transform: scale(.985);
    box-shadow:
      inset 0 0 0 1px rgba(103,217,167,.14),
      0 0 18px rgba(71,255,176,.08),
      0 0 34px rgba(71,255,176,.04);
  }
  45% {
    opacity: 1;
    transform: scale(1);
    box-shadow:
      inset 0 0 0 1px rgba(103,217,167,.34),
      0 0 42px rgba(71,255,176,.24),
      0 0 92px rgba(71,255,176,.12);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    box-shadow:
      inset 0 0 0 1px rgba(103,217,167,.22),
      0 0 34px rgba(71,255,176,.16),
      0 0 72px rgba(71,255,176,.08);
  }
}

@keyframes botControlReveal{
  from {
    opacity: 0;
    transform: translateY(10px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes botControlHide{
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(8px) scale(.99);
  }
}

@keyframes activityLogReveal{
  0% {
    opacity: 0;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    transform: translateY(-14px) scale(.992);
  }
  100% {
    opacity: 1;
    max-height: 180px;
    padding-top: 10px;
    padding-bottom: 10px;
    transform: translateY(0) scale(1);
  }
}

@keyframes botControlTickerLatestIn{
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes historySearchClearPress{
  0%   { transform: translateY(-50%) scale(1.06); }
  45%  { transform: translateY(-50%) scale(.84); }
  100% { transform: translateY(-50%) scale(1); }
}
