/* Linker ambient background — grid + aurora (canvas in site-bg.js) */

.linker-bg-grid {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
  opacity: 0.45;
}

.linker-aurora {
  display: none !important;
}

.linker-aurora-1 {
  width: 40rem;
  height: 40rem;
  top: -12%;
  left: 8%;
  background: rgba(47, 154, 130, 0.32);
  animation: linker-aurora-drift 24s ease-in-out infinite;
}

.linker-aurora-2 {
  width: 36rem;
  height: 36rem;
  bottom: -14%;
  right: 0;
  background: rgba(34, 211, 193, 0.22);
  animation: linker-aurora-drift 30s ease-in-out infinite reverse;
  animation-delay: -8s;
}

.linker-aurora-3 {
  width: 28rem;
  height: 28rem;
  top: 38%;
  left: 48%;
  background: rgba(126, 227, 122, 0.14);
  animation: linker-aurora-drift 36s ease-in-out infinite;
  animation-delay: -14s;
}

@keyframes linker-aurora-drift {
  0% { transform: translate3d(-8%, -6%, 0) rotate(0deg) scale(1); }
  50% { transform: translate3d(8%, 6%, 0) rotate(180deg) scale(1.12); }
  100% { transform: translate3d(-8%, -6%, 0) rotate(360deg) scale(1); }
}

#linker-network-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* Hide legacy backgrounds when ambient system is active */
body.linker-bg-on .bg-mesh,
body.linker-bg-on .accent-stripes {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .linker-aurora {
    animation: none !important;
    opacity: 0.28;
  }
}
