/* Tam ekran arka plan, içerik altında */
.gs-emblem{
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(1200px 800px at 50% 45%, #0b1224 0%, #0a1020 40%, #090e1c 65%, #0f172a 100%);
}

.gs-svg{
  width: 100%;
  height: 100%;
}

/* Çizgi stili */
.net{
  fill: none;
  stroke: url(#strokeGrad);
  stroke-width: 1.2;
  opacity: 0.9;
}
.net.faint{
  stroke: rgba(255,255,255,0.18);
  opacity: 0.7;
}

/* Düğümler */
.node{
  fill: rgba(255,255,255,0.9);
  filter: drop-shadow(0 0 6px rgba(84,191,255,0.6));
}
.node.faint{
  fill: rgba(255,255,255,0.65);
  filter: drop-shadow(0 0 4px rgba(168,85,247,0.5));
}

/* Orbital küçük noktalar */
.spark{
  fill: rgba(255,255,255,0.8);
  filter: drop-shadow(0 0 8px rgba(255,255,255,0.65)) drop-shadow(0 0 16px rgba(84,191,255,0.35));
}

/* Dönen katmanlar */
.spin{
  transform-origin: 0 0;
  animation: rotZ 80s linear infinite;
}
.spin.ccw{ animation-direction: reverse; }
.spin.slow{ animation-duration: 120s; }

/* Yörünge grupları */
.orbit{
  animation: rotZ 53s linear infinite;
  transform-origin: 0 0;
  opacity: .9;
}
.orbit.fast{ animation-duration: 41s; }
.orbit.fastest{ animation-duration: 29s; }
.orbit.ccw{ animation-direction: reverse; }

/* Merkez nabız */
.core-group{
  animation: pulsing 3.6s ease-in-out infinite;
  transform-origin: 0 0;
}
.core-orb{
  opacity: .9;
}
.core-dot{
  filter: drop-shadow(0 0 10px rgba(255,255,255,0.9)) drop-shadow(0 0 30px rgba(168,85,247,0.55));
}

/* Animasyonlar – kesintisiz ve akışkan */
@keyframes rotZ{
  to { transform: rotate(360deg); }
}
@keyframes pulsing{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.08); }
}

/* Koyu arkaplanda kontrastı artırmak için */
@media (prefers-contrast: more){
  .net{ stroke-width: 1.5; }
  .node{ r: 3.5; }
}
