/* Particle Animation Background */
html,
body {
  width: 100%;
  height: 100%;
}

body {
  background-image: radial-gradient(#021027, #000000) !important;
  background-color: #000000;
}

/* Light theme background */
:root[data-theme="light"] body {
  background-image: radial-gradient(#e3f2fd, #f5f5f5) !important;
  background-color: #f5f5f5;
}

.particles-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.circle-container {
  position: absolute;
  transform: translateY(-10vh);
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.circle-container .circle {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  mix-blend-mode: screen;
  background-image: radial-gradient(
    hsl(180, 100%, 80%),
    hsl(180, 100%, 80%) 10%,
    hsla(180, 100%, 80%, 0) 56%
  );
  animation: fade-frames 200ms infinite, scale-frames 2s infinite;
}

/* Light theme particles */
:root[data-theme="light"] .circle-container .circle {
  mix-blend-mode: multiply;
  background-image: radial-gradient(
    hsl(200, 80%, 60%),
    hsl(200, 80%, 60%) 10%,
    hsla(200, 80%, 60%, 0) 56%
  );
}

@keyframes fade-frames {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}

@keyframes scale-frames {
  0% {
    transform: scale3d(0.4, 0.4, 1);
  }
  50% {
    transform: scale3d(2.2, 2.2, 1);
  }
  100% {
    transform: scale3d(0.4, 0.4, 1);
  }
}
