.graph-viewer { width: 96vw; height: 94vh; max-width: none; max-height: none; padding: 12px; border: 0; border-radius: 8px; background: white; color: #222; }
.graph-viewer[open] { display: flex; flex-direction: column; }
.graph-viewer::backdrop { background: rgba(0,0,0,.75); }
.graph-viewer-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; flex-shrink: 0; }
.graph-viewer-title { flex: 1; overflow-wrap: anywhere; }
.graph-viewer-toolbar button { padding: 6px 12px; border: 1px solid #aaa; border-radius: 4px; background: #f8f9fa; color: #222; }
.graph-viewer-toolbar output { min-width: 60px; text-align: center; }
.graph-viewer-hint { font-size: 13px; margin: 8px 0; }
.graph-viewer-viewport { flex: 1; min-height: 0; overflow: auto; cursor: grab; touch-action: none; background: #f5f5f5; }
.graph-viewer-viewport.dragging { cursor: grabbing; }
.graph-viewer-viewport img { display: block; max-width: none; max-height: none; user-select: none; }
