/* Écran de démarrage affiché avant le chargement d'Angular. */
html,
body {
  margin: 0;
  background: #f4f6fb;
}
html[data-theme='dark'],
html[data-theme='dark'] body {
  background: #0a0f1d;
}
.app-loading {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
}
.boot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.boot img {
  border-radius: 14px;
  animation: boot-pulse 1.6s ease-in-out infinite;
}
.boot-bar {
  width: 120px;
  height: 4px;
  border-radius: 99px;
  background: rgba(37, 99, 235, 0.15);
  overflow: hidden;
}
.boot-bar span {
  display: block;
  width: 40%;
  height: 100%;
  border-radius: 99px;
  background: #2563eb;
  animation: boot-slide 1.1s ease-in-out infinite;
}
@keyframes boot-pulse {
  50% {
    transform: scale(0.94);
    opacity: 0.85;
  }
}
@keyframes boot-slide {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(260%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .boot img,
  .boot-bar span {
    animation: none;
  }
}
