.molecule-stage-3d {
  overflow: hidden;
  isolation: isolate;
  cursor: grab;
}

.molecule-stage-3d:active {
  cursor: grabbing;
}

.molecule-stage-3d::before,
.molecule-stage-3d::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(35px);
  pointer-events: none;
}

.molecule-stage-3d::before {
  width: 220px;
  height: 220px;
  left: 12%;
  top: 15%;
  background: rgba(37, 196, 232, .16);
}

.molecule-stage-3d::after {
  width: 180px;
  height: 180px;
  right: 9%;
  bottom: 11%;
  background: rgba(239, 67, 185, .12);
}

#molecore-molecule-3d {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  touch-action: none;
}

.molecule-hint {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  color: rgba(210, 224, 244, .7);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .molecule-hint { display: none; }
}
