.nodeLayer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 10; /* Above connections but below overlays */
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

/* Wrapper layer for all nodes - enables batch GPU optimization */
.snapshotWrapper {
  /* No constraints by default - allows nodes to render anywhere */
}

/* GPU optimization for low zoom levels - rasterizes entire node layer for better performance */
.snapshotWrapper[data-snapshot-mode="true"] {
  will-change: transform;
  transform: translateZ(0);
}
