/* OCTAKODA OCTOPUS CSS ANIMATION (Primary Background) */
.octopus-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  z-index: -1;
  background: var(--bg);
  transition: background-color 0.3s;
}

[data-theme="dark"] .octopus-background {
  background: radial-gradient(circle at center, #0a1018 0%, #050506 100%);
}

.octopus-center {
  position: fixed;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  perspective: 1000px;
  transform-origin: center;
}

.thing {
  position: absolute;
  width: 6px;
  height: 6px;
  background: var(--primary);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--primary);
  animation: octopus-swim 4s ease-in-out infinite alternate;
  transition: background-color 0.3s, box-shadow 0.3s;
}

@keyframes octopus-swim {
  0% {
    transform: rotateZ(var(--rotZ-start)) translate3d(var(--tx-start), var(--ty-start), var(--tz-start));
    opacity: 0.3;
  }

  100% {
    transform: rotateZ(var(--rotZ-end)) rotateX(5deg) translate3d(var(--tx-end), var(--ty-end), var(--tz-end));
    opacity: 0.8;
  }
}
