.gs-graph-viewport{touch-action:none;overscroll-behavior:contain;border:var(--border-width) solid var(--border);border-radius:var(--r-xl);background:var(--canvas);cursor:grab;height:max(480px,100vh - 230px);position:relative;overflow:hidden}.gs-graph-viewport.is-panning{cursor:grabbing}.gs-graph-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.gs-graph-edges{pointer-events:none;display:block;position:absolute;top:0;left:0;overflow:visible}.gs-graph-edges path{fill:none;stroke:var(--faint);stroke-opacity:.55;stroke-width:1.5px}.gs-graph-edges path.is-greyed{stroke-opacity:.25}.gs-graph-node{box-sizing:border-box;border:var(--border-width) solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-xs);cursor:pointer;-webkit-user-select:none;user-select:none;position:absolute}.gs-graph-node.is-selected{border-color:var(--accent);box-shadow:0 0 0 var(--border-width) var(--accent)}.gs-graph-node.is-greyed{opacity:.55}.gs-graph-node.is-off{border-style:dashed}.gs-graph-node-select{border-radius:inherit;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:stretch;gap:3px;padding:7px 12px;display:flex;position:absolute;inset:0}.gs-graph-node-select:focus-visible{box-shadow:var(--focus-ring);outline:none}.gs-graph-node-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-section);line-height:18px;font-weight:var(--font-weight-heading);color:var(--ink);flex:1;overflow:hidden}.gs-graph-node-select>.gs-graph-node-label{flex:none}.gs-graph-node-sub{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-caption);color:var(--muted);line-height:15px;overflow:hidden}.gs-graph-chips{flex-wrap:nowrap;gap:6px;min-width:0;display:flex;overflow:hidden}.gs-graph-chip{font-size:var(--font-size-micro);font-weight:var(--font-weight-action);color:var(--ink-2);line-height:var(--line-height-micro);background:var(--muted-bg);border-radius:var(--radius-round);white-space:nowrap;flex:none;padding:1px 8px}.gs-graph-badge{min-width:18px;height:18px;font-size:var(--font-size-micro);font-weight:var(--font-weight-heading);border-radius:var(--radius-round);background:var(--danger-soft);border:var(--border-width) solid var(--danger-border);color:var(--danger-text);flex:none;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}button.gs-graph-badge{cursor:pointer;font:inherit;font-size:var(--font-size-micro);font-weight:var(--font-weight-action)}button.gs-graph-badge:focus-visible{box-shadow:var(--focus-ring);outline:none}.gs-graph-node>.gs-graph-badge{z-index:var(--layer-base);top:var(--space-2);position:absolute}.gs-graph-expand,.gs-graph-edit{border-radius:var(--r-sm);width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.gs-graph-expand:hover,.gs-graph-edit:hover{background:var(--hover);color:var(--ink)}.gs-graph-expand:focus-visible,.gs-graph-edit:focus-visible{box-shadow:var(--focus-ring);outline:none}.gs-graph-expand svg,.gs-graph-edit svg{width:var(--icon-size);height:var(--icon-size)}.gs-graph-node>.gs-graph-edit{z-index:var(--layer-base);position:absolute;top:6px}.gs-graph-node>.gs-graph-expand{z-index:var(--layer-base);position:absolute;top:6px;right:6px}.gs-graph-stage{position:relative}.gs-graph-stage.has-drawer .gs-graph-controls{right:434px}.gs-graph-controls{right:var(--space-3);bottom:var(--space-3);z-index:var(--layer-sticky);flex-direction:column;gap:6px;display:flex;position:absolute}.gs-graph-controls button{border:var(--border-width) solid var(--border);border-radius:var(--r);background:var(--surface);width:30px;height:30px;color:var(--ink-2);cursor:pointer;box-shadow:var(--sh-xs);justify-content:center;align-items:center;display:inline-flex}.gs-graph-controls button:hover{background:var(--hover);color:var(--ink)}.gs-graph-controls button:focus-visible{box-shadow:var(--focus-ring);outline:none}.gs-graph-controls button svg{width:var(--icon-size);height:var(--icon-size)}.gs-graph-empty{color:var(--muted);font-size:var(--font-size-body);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}
