﻿#app-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #16171b;
  opacity: 1;
  transition: opacity 400ms ease;
  pointer-events: none;

  &.app-loader-fade {
    opacity: 0;
  }

  >div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;

    >img {
      width: 200px;
      height: auto;
    }

    .app-loader-spinner {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      border: 3px solid rgba(255, 255, 255, 0.15);
      border-top-color: #eda03c;
      animation: app-loader-spin 800ms linear infinite;
    }
  }
}

@keyframes app-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-loader__spinner {
    animation: app-loader-pulse 1600ms ease-in-out infinite;
    border-top-color: rgba(255, 255, 255, 0.15);
  }
}

@keyframes app-loader-pulse {

  0%,
  100% {
    opacity: 0.4;
  }

  50% {
    opacity: 1;
  }
}