body {
  margin: 0;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
}

#loading-bg {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--initial-loader-bg, #fff);
  block-size: 100%;
  gap: 1rem 0;
  inline-size: 100%;
}

.loader-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: transparent;
}

.hypnotic-loader {
  width: 120px;
  height: auto;

  animation: smoothHypno 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;

  backface-visibility: hidden;
  filter: drop-shadow(0 4px 10px rgba(0, 102, 255, 0.2));
}

@keyframes smoothHypno {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.15); /* Slight "heartbeat" expansion */
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
