/* The web's launch (prompts/16 §D1), a file of its own so the page's CSP stays strict: while Flutter boots, the shield rises
   into place over a blue glow, in under a second. It ends where the app's first frame shows it. */
#splash img {
  animation: elite-rise 800ms cubic-bezier(0.2, 0, 0, 1) both;
}

.elite-glow {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0) 45%);
  animation: elite-glow 800ms ease-out both;
}

@media (prefers-color-scheme: dark) {
  .elite-glow {
    background: radial-gradient(circle at 50% 50%, rgba(0, 136, 200, 0.55), rgba(0, 136, 200, 0) 45%);
  }
}

@keyframes elite-rise {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.92);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes elite-glow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  #splash img,
  .elite-glow {
    animation: none;
  }
}
