/* Loading screen shown until Angular has rendered the application (logo with a progress bar). */
body {
  margin: 0;
  background: #f5f7fb;
}

.app-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 100vh;
  font-family:
    system-ui,
    -apple-system,
    'Segoe UI',
    Roboto,
    'Helvetica Neue',
    Arial,
    sans-serif;
}

/* the second .app-loading only holds the troubleshooting text, shown after a timeout */
.app-loading + .app-loading {
  min-height: 0;
}

.app-loading-logo {
  width: 48px;
  height: 48px;
  animation: app-loading-pulse 1.6s ease-in-out infinite;
}

.app-loading-bar {
  position: relative;
  width: 160px;
  height: 4px;
  overflow: hidden;
  border-radius: 2px;
  background: #e6deff;
}

.app-loading-bar div {
  position: absolute;
  top: 0;
  left: -40%;
  width: 40%;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #7247ff, #ff5199);
  animation: app-loading-slide 1.2s ease-in-out infinite;
}

@keyframes app-loading-slide {
  0% {
    left: -40%;
  }
  100% {
    left: 100%;
  }
}

@keyframes app-loading-pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
}
