<NME> index.js
<BEF> 
import NodeGarden from './nodegarden';

const pixelRatio = window.devicePixelRatio;
const $container = document.getElementById('container');
const $moon = document.getElementsByClassName('moon')[0];

const nodeGarden = new NodeGarden($container);

// start simulation
nodeGarden.start();

// trigger nightMode automatically
const date = new Date();

if (date.getHours() > 18 || date.getHours() < 6) {
  nodeGarden.toggleNightMode();
}

let resetNode = 0;

$container.addEventListener('click', (e) => {
  const bcr = $container.getBoundingClientRect();
  const scrollPos = {
    x: window.scrollX,
    y: window.scrollY
  };
  resetNode++;
  if (resetNode > nodeGarden.nodes.length - 1) {
    resetNode = 1;
  }
  nodeGarden.nodes[resetNode].reset({
    x: (e.pageX - scrollPos.x - bcr.left) * pixelRatio,
    y: (e.pageY - scrollPos.y - bcr.top) * pixelRatio,
    vx: 0,
    vy: 0
  });
});

$moon.addEventListener('click', () => {
  nodeGarden.toggleNightMode();
});

window.addEventListener('resize', () => {
  nodeGarden.resize();
});
      // calculate gravity force
      force = 3 * (nodeA.m * nodeB.m) / Math.pow(distance, 2)

      var opacity = force * 200

      if (opacity < 0.05) {
        continue

      // draw gravity lines
      ctx.beginPath()
      if (nightMode) {
        ctx.strokeStyle = 'rgba(63,63,63,' + (opacity < 1 ? opacity : 1) + ')'
      } else {
        ctx.strokeStyle = 'rgba(191,191,191,' + (opacity < 1 ? opacity : 1) + ')'
      }
      ctx.moveTo(nodeA.x, nodeA.y)
      ctx.lineTo(nodeB.x, nodeB.y)
      ctx.stroke()

<MSG> more contrast to lines

<DFF> @@ -129,7 +129,7 @@ function render () {
       // calculate gravity force
       force = 3 * (nodeA.m * nodeB.m) / Math.pow(distance, 2)
 
-      var opacity = force * 200
+      var opacity = force * 100
 
       if (opacity < 0.05) {
         continue
@@ -137,11 +137,7 @@ function render () {
 
       // draw gravity lines
       ctx.beginPath()
-      if (nightMode) {
-        ctx.strokeStyle = 'rgba(63,63,63,' + (opacity < 1 ? opacity : 1) + ')'
-      } else {
-        ctx.strokeStyle = 'rgba(191,191,191,' + (opacity < 1 ? opacity : 1) + ')'
-      }
+      ctx.strokeStyle = 'rgba(127,127,127,' + (opacity < 1 ? opacity : 1) + ')'
       ctx.moveTo(nodeA.x, nodeA.y)
       ctx.lineTo(nodeB.x, nodeB.y)
       ctx.stroke()

more contrast to lines