/* Keka dark ambient */
.ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: var(--primary-background-color, #0A1D2C);
}

.ambient .orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.35;
  will-change: transform;
}

.ambient .orb-1 {
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(87, 70, 175, 0.35), transparent 70%);
  top: -120px; left: -100px;
  animation: masixOrbA 24s ease-in-out infinite;
}

.ambient .orb-2 {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(20, 55, 82, 0.6), transparent 70%);
  bottom: -80px; right: -60px;
  animation: masixOrbB 30s ease-in-out infinite;
}

.ambient .orb-3 {
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(179, 153, 255, 0.12), transparent 70%);
  top: 40%; left: 55%;
  animation: masixOrbA 20s ease-in-out infinite reverse;
}

.ambient .noise {
  position: absolute;
  inset: 0;
  opacity: 0.35;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}

.cursor-glow {
  position: fixed;
  width: 320px; height: 320px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
  background: radial-gradient(circle, rgba(87, 70, 175, 0.1), transparent 70%);
  transform: translate(-50%, -50%);
  transition: opacity 0.3s;
  opacity: 0;
}
body.masix-cursor-on .cursor-glow { opacity: 1; }

@media (max-width: 900px), (hover: none) {
  .cursor-glow { display: none; }
}
