.rayContainer {
  // Theme-specific colors
  --ray-color-primary: color-mix(in srgb, var(--primary-color), transparent 30%);
  --ray-color-secondary: color-mix(in srgb, var(--secondary-color), transparent 30%);
  --ray-color-accent: color-mix(in srgb, var(--accent-color), transparent 30%);

  // Theme-specific gradients
  --ray-gradient-primary: radial-gradient(var(--ray-color-primary) 0%, transparent 70%);
  --ray-gradient-secondary: radial-gradient(var(--ray-color-secondary) 0%, transparent 70%);
  --ray-gradient-accent: radial-gradient(var(--ray-color-accent) 0%, transparent 70%);

  position: fixed;
  inset: 0;
  overflow: hidden;
  animation: fadeIn 1.5s ease-out;
  pointer-events: none;
  z-index: 0;
  //   background-color: transparent;

  :global(html[data-theme='dark']) & {
    mix-blend-mode: screen;
  }

  :global(html[data-theme='light']) & {
    mix-blend-mode: multiply;
  }
}

.lightRay {
  position: absolute;
  border-radius: 100%;

  :global(html[data-theme='dark']) & {
    mix-blend-mode: screen;
  }

  :global(html[data-theme='light']) & {
    mix-blend-mode: multiply;
    opacity: 0.4;
  }
}

.ray1 {
  width: 600px;
  height: 800px;
  background: var(--ray-gradient-primary);
  transform: rotate(65deg);
  top: -500px;
  left: -100px;
  filter: blur(80px);
  opacity: 0.6;
  animation: float1 15s infinite ease-in-out;
}

.ray2 {
  width: 400px;
  height: 600px;
  background: var(--ray-gradient-secondary);
  transform: rotate(-30deg);
  top: -300px;
  left: 200px;
  filter: blur(60px);
  opacity: 0.6;
  animation: float2 18s infinite ease-in-out;
}

.ray3 {
  width: 500px;
  height: 400px;
  background: var(--ray-gradient-accent);
  top: -320px;
  left: 500px;
  filter: blur(65px);
  opacity: 0.5;
  animation: float3 20s infinite ease-in-out;
}

.ray4 {
  width: 400px;
  height: 450px;
  background: var(--ray-gradient-secondary);
  top: -350px;
  left: 800px;
  filter: blur(55px);
  opacity: 0.55;
  animation: float4 17s infinite ease-in-out;
}

.ray5 {
  width: 350px;
  height: 500px;
  background: var(--ray-gradient-primary);
  transform: rotate(-45deg);
  top: -250px;
  left: 1000px;
  filter: blur(45px);
  opacity: 0.6;
  animation: float5 16s infinite ease-in-out;
}

.ray6 {
  width: 300px;
  height: 700px;
  background: var(--ray-gradient-accent);
  transform: rotate(75deg);
  top: -400px;
  left: 600px;
  filter: blur(75px);
  opacity: 0.45;
  animation: float6 19s infinite ease-in-out;
}

.ray7 {
  width: 450px;
  height: 600px;
  background: var(--ray-gradient-primary);
  transform: rotate(45deg);
  top: -450px;
  left: 350px;
  filter: blur(65px);
  opacity: 0.55;
  animation: float7 21s infinite ease-in-out;
}

.ray8 {
  width: 380px;
  height: 550px;
  background: var(--ray-gradient-secondary);
  transform: rotate(-60deg);
  top: -380px;
  left: 750px;
  filter: blur(58px);
  opacity: 0.6;
  animation: float8 14s infinite ease-in-out;
}

@keyframes float1 {
  0%,
  100% {
    transform: rotate(65deg) translate(0, 0);
  }
  25% {
    transform: rotate(70deg) translate(30px, 20px);
  }
  50% {
    transform: rotate(60deg) translate(-20px, 40px);
  }
  75% {
    transform: rotate(68deg) translate(-40px, 10px);
  }
}

@keyframes float2 {
  0%,
  100% {
    transform: rotate(-30deg) scale(1);
  }
  33% {
    transform: rotate(-25deg) scale(1.1);
  }
  66% {
    transform: rotate(-35deg) scale(0.95);
  }
}

@keyframes float3 {
  0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(40px, 20px) rotate(5deg);
  }
  75% {
    transform: translate(-30px, 40px) rotate(-5deg);
  }
}

@keyframes float4 {
  0%,
  100% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.15) rotate(10deg);
  }
}

@keyframes float5 {
  0%,
  100% {
    transform: rotate(-45deg) translate(0, 0);
  }
  33% {
    transform: rotate(-40deg) translate(25px, -20px);
  }
  66% {
    transform: rotate(-50deg) translate(-25px, 20px);
  }
}

@keyframes float6 {
  0%,
  100% {
    transform: rotate(75deg) scale(1);
    filter: blur(75px);
  }
  50% {
    transform: rotate(85deg) scale(1.1);
    filter: blur(65px);
  }
}

@keyframes float7 {
  0%,
  100% {
    transform: rotate(45deg) translate(0, 0);
    opacity: 0.55;
  }
  50% {
    transform: rotate(40deg) translate(-30px, 30px);
    opacity: 0.65;
  }
}

@keyframes float8 {
  0%,
  100% {
    transform: rotate(-60deg) scale(1);
  }
  25% {
    transform: rotate(-55deg) scale(1.05);
  }
  75% {
    transform: rotate(-65deg) scale(0.95);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
