/*
 * BrokerAlert · PWA / App Start · Logo motion
 * ------------------------------------------------------------
 * Proprietar exclusiv: sigla mare de pe /app-start.
 * Animația header-ului rămâne separată în header/css/logo-motion.css.
 * Acest fișier este intenționat mai rapid: ecranul de pornire este scurt.
 */

.start-page .brokeralert-loader--start .ba-startup-logo-motion {
  --ba-startup-bell-cycle: 1.12s;
  --ba-startup-alert-cycle: .88s;
  overflow: visible;
}

/* Clopot: balans rapid, cu rebound scurt și glow sincronizat. */
.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-bell {
  transform-box: fill-box;
  transform-origin: 50% 12%;
  will-change: transform, filter;
  animation: ba-startup-bell-premium var(--ba-startup-bell-cycle) cubic-bezier(.36,.07,.19,.97) infinite !important;
}

/* Semnalul roșu pulsează de mai multe ori în intervalul scurt al pornirii. */
.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert {
  isolation: isolate;
  overflow: visible;
  will-change: transform, box-shadow, filter;
  animation: ba-startup-alert-premium var(--ba-startup-alert-cycle) ease-in-out infinite !important;
}

.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert::before,
.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -7px;
  border: 2px solid rgb(255 92 84 / 76%);
  border-radius: inherit;
  pointer-events: none;
}

.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert::before {
  animation: ba-startup-alert-ring .88s ease-out infinite !important;
}

.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert::after {
  animation: ba-startup-alert-ring .88s ease-out .44s infinite !important;
}

/* Aura și orbita respiră mai repede, fără să deplaseze layout-ul. */
.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-aura {
  will-change: transform, opacity, filter;
  animation: ba-startup-logo-aura 1.18s ease-in-out infinite !important;
}

.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-orbit--outer {
  will-change: transform, opacity, box-shadow;
  animation: ba-startup-logo-orbit 1.18s ease-in-out infinite !important;
}

.start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-orbit--inner {
  will-change: transform, opacity;
  animation: ba-startup-logo-orbit-inner 1.18s ease-in-out .12s infinite !important;
}

/* Loaderul exterior și bara urmează același ritm rapid. */
.start-page .brokeralert-loader--start .brokeralert-loader__pulse {
  animation: ba-startup-loader-pulse .94s ease-out infinite !important;
}

.start-page .brokeralert-loader--start .brokeralert-loader__line::after {
  animation: ba-startup-loader-line .68s cubic-bezier(.42,0,.25,1) infinite !important;
}

@keyframes ba-startup-bell-premium {
  0%, 7%, 82%, 100% {
    transform: translateY(0) rotate(0deg) scale(1);
    filter:
      drop-shadow(0 6px 7px rgb(93 54 0 / 35%))
      drop-shadow(0 0 6px rgb(255 193 7 / 38%));
  }
  14% {
    transform: translateY(-1px) rotate(-14deg) scale(1.035);
  }
  25% {
    transform: translateY(0) rotate(12deg) scale(1.045);
    filter:
      drop-shadow(0 8px 9px rgb(93 54 0 / 40%))
      drop-shadow(0 0 15px rgb(255 205 36 / 68%));
  }
  36% {
    transform: translateY(-.7px) rotate(-9deg) scale(1.035);
  }
  47% {
    transform: translateY(0) rotate(7deg) scale(1.025);
  }
  58% {
    transform: rotate(-4deg) scale(1.018);
  }
  68% {
    transform: rotate(2deg) scale(1.009);
  }
  76% {
    transform: rotate(-1deg) scale(1.004);
  }
}

@keyframes ba-startup-alert-premium {
  0%, 100% {
    transform: scale(1);
    filter: saturate(1) brightness(1);
    box-shadow:
      0 7px 14px rgb(0 0 0 / 30%),
      0 0 0 5px rgb(255 56 48 / 15%),
      0 0 15px rgb(255 56 48 / 28%);
  }
  20% {
    transform: scale(1.18);
    filter: saturate(1.18) brightness(1.16);
    box-shadow:
      0 9px 17px rgb(0 0 0 / 32%),
      0 0 0 10px rgb(255 56 48 / 18%),
      0 0 28px rgb(255 56 48 / 68%);
  }
  38% {
    transform: scale(1.045);
  }
  55% {
    transform: scale(1.12);
    filter: saturate(1.12) brightness(1.1);
    box-shadow:
      0 8px 16px rgb(0 0 0 / 31%),
      0 0 0 8px rgb(255 56 48 / 16%),
      0 0 22px rgb(255 56 48 / 56%);
  }
  73% {
    transform: scale(1);
    filter: saturate(1) brightness(1);
  }
}

@keyframes ba-startup-alert-ring {
  0%, 8% {
    opacity: 0;
    transform: scale(.68);
  }
  19% {
    opacity: .9;
  }
  63% {
    opacity: 0;
    transform: scale(1.72);
  }
  100% {
    opacity: 0;
    transform: scale(1.72);
  }
}

@keyframes ba-startup-logo-aura {
  0%, 100% {
    opacity: .62;
    transform: scale(.94);
    filter: blur(5px);
  }
  50% {
    opacity: 1;
    transform: scale(1.09);
    filter: blur(7px);
  }
}

@keyframes ba-startup-logo-orbit {
  0%, 100% {
    opacity: .58;
    transform: perspective(90px) rotateX(64deg) scaleX(.9);
    box-shadow: 0 0 10px rgb(0 229 255 / 28%), inset 0 0 8px rgb(22 119 255 / 22%);
  }
  50% {
    opacity: 1;
    transform: perspective(90px) rotateX(64deg) scaleX(1.12);
    box-shadow: 0 0 22px rgb(0 229 255 / 55%), inset 0 0 15px rgb(22 119 255 / 34%);
  }
}

@keyframes ba-startup-logo-orbit-inner {
  0%, 100% {
    opacity: .35;
    transform: perspective(90px) rotateX(64deg) scaleX(.88);
  }
  50% {
    opacity: .78;
    transform: perspective(90px) rotateX(64deg) scaleX(1.08);
  }
}

@keyframes ba-startup-loader-pulse {
  0% {
    opacity: .42;
    transform: scale(.82);
  }
  62% {
    opacity: .12;
    transform: scale(1.12);
  }
  100% {
    opacity: 0;
    transform: scale(1.2);
  }
}

@keyframes ba-startup-loader-line {
  0% { transform: translateX(-125%); }
  100% { transform: translateX(260%); }
}

/*
 * Android/WebView poate raporta reduced motion. Pe splash nu anulăm complet
 * semnalul vizual: îl reducem, dar îl păstrăm suficient de rapid ca să fie
 * observabil înainte ca aplicația să termine verificarea.
 */
@media (prefers-reduced-motion: reduce) {
  .start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-bell {
    animation: ba-startup-bell-reduced 1.55s ease-in-out infinite !important;
  }

  .start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert {
    animation: ba-startup-alert-reduced 1.25s ease-in-out infinite !important;
  }

  .start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert::before {
    animation: ba-startup-alert-ring-reduced 1.25s ease-out infinite !important;
  }

  .start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-alert::after {
    animation: none !important;
    opacity: 0;
  }

  .start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-aura {
    animation: ba-startup-logo-aura 1.7s ease-in-out infinite !important;
  }

  .start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-orbit--outer,
  .start-page .brokeralert-loader--start .ba-startup-logo-motion .ba-logo-orbit--inner {
    animation-duration: 1.7s !important;
  }

  .start-page .brokeralert-loader--start .brokeralert-loader__pulse {
    animation: ba-startup-loader-pulse 1.25s ease-out infinite !important;
  }

  .start-page .brokeralert-loader--start .brokeralert-loader__line::after {
    animation: ba-startup-loader-line .9s ease-in-out infinite !important;
  }
}

@keyframes ba-startup-bell-reduced {
  0%, 18%, 78%, 100% { transform: rotate(0deg); }
  31% { transform: rotate(-6deg); }
  43% { transform: rotate(5deg); }
  55% { transform: rotate(-3deg); }
  66% { transform: rotate(1.5deg); }
}

@keyframes ba-startup-alert-reduced {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 7px 14px rgb(0 0 0 / 30%), 0 0 0 5px rgb(255 56 48 / 15%);
  }
  44% {
    transform: scale(1.085);
    box-shadow: 0 8px 15px rgb(0 0 0 / 31%), 0 0 0 8px rgb(255 56 48 / 14%), 0 0 20px rgb(255 56 48 / 46%);
  }
}

@keyframes ba-startup-alert-ring-reduced {
  0%, 20% { opacity: 0; transform: scale(.84); }
  36% { opacity: .62; }
  72% { opacity: 0; transform: scale(1.42); }
  100% { opacity: 0; transform: scale(1.42); }
}
