ight / 2));
      simulation.alpha(0.5).restart();
    });
  }

  // Update width and height
  function updateDimensions() {
    width = window.innerWidth;
    height = window.innerHeight;
    svg.attr("width", width).attr("height", height);
  }

  // Populate with initial data
  function populateInitialData() {
    // Add nodes for each category
    Object.entries(initialConcepts).forEach(([category, concepts]) => {
      concepts.forEach(concept => {
        addNode(concept, category);
      });
    });
 