.chart-root { width: 100%; max-width: 1200px; margin: 0 auto; }

/* make container use more vertical space and center svg content */
.svg-container {
  position: relative;
  width: 100%;
  /* allow the container to expand to available column; remove strict max-width */
  max-width: none;
  margin: 8px auto 24px;
  /* use more viewport height so graph is larger */
  height: min(85vh, 1500px);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background: transparent;
}

/* let the svg fill the container */
.svg-content-responsive {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}

/* small adjustment so preserved aspect centers and uses space */
.svg-content-responsive svg { width: 100%; height: 100%; }

/* styles for nodes/labels */
.node circle { transition: fill 120ms; }
.node:focus circle { outline: none; stroke-width: 2.5px; }
.links line { opacity: 0.95; stroke-linecap: round; }
.labelNodes text { pointer-events: auto; cursor: pointer; user-select: none; }

/* pinned node style (modern yellow) */
.node-pinned { fill: #f1c40f !important; }