.graph-app{min-width:0;overflow:auto}
.graph-app .native-toolbar{flex-wrap:wrap;flex-shrink:0}
.graph-app .tool-note{font-size:11px;color:var(--muted);padding:4px 10px;margin:0;line-height:1.5;overflow-wrap:anywhere}
.graph-paste{padding:5px 10px;background:var(--sidebar);border-bottom:1px solid var(--line);flex-shrink:0}
.graph-paste summary{cursor:pointer}
.graph-paste textarea{display:block;width:100%;height:90px;max-height:220px;resize:vertical;box-sizing:border-box;font:12px/1.5 Hack,monospace;margin:6px 0}
.graph-paste label{font-size:12px;margin-left:10px;display:inline-flex;align-items:center;gap:4px}
.graph-paste p{font-size:11px;color:var(--muted);line-height:1.5;margin:5px 0;overflow-wrap:anywhere}
.graph-analysis-controls label,.graph-table-controls label{display:inline-flex;align-items:center;gap:4px;font-size:11px}
.graph-analysis-controls label[hidden]{display:none}
#graph-source,#graph-target{width:100px;min-width:45px;font:12px Hack,monospace}
#graph-summary{font-size:11px;padding:7px 10px;background:var(--sidebar);border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-shrink:0}
.graph-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);min-height:345px;flex-shrink:0}
.graph-scene{min-width:0}
#graph-canvas{display:block;width:100%;height:280px;outline-offset:-2px;touch-action:none;cursor:grab}
#graph-canvas:active{cursor:grabbing}#graph-canvas:focus-visible{outline:2px solid var(--accent)}
#graph-zoom{font:11px Hack,monospace;min-width:42px;text-align:center}
.graph-inspector{min-width:0;border-left:1px solid var(--line);background:var(--sidebar);padding:8px;overflow:auto;max-height:390px;font-size:12px}
#graph-selection{display:block;font-weight:600;color:var(--accent);overflow-wrap:anywhere}
.graph-inspector h3{font-size:12px;margin:10px 0 6px;border-top:1px solid var(--line);padding-top:9px}
.graph-inspector pre{font:11px/1.6 Hack,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}
.graph-table-wrap{min-height:140px;max-height:230px;overflow:auto;flex:1;border-top:1px solid var(--line)}
.graph-table-wrap table{width:100%;table-layout:fixed}
.graph-table-wrap th{position:sticky;top:0;background:var(--sidebar);z-index:1;text-align:left;font-size:11px}
.graph-table-wrap td{font:11px/1.5 Hack,monospace;padding:4px 8px;overflow-wrap:anywhere;white-space:normal}
.graph-table-wrap td button{display:block;max-width:100%;background:transparent;border:0;color:var(--accent);padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere;font:inherit}
.graph-table-wrap tr.selected{background:color-mix(in srgb,var(--accent) 16%,transparent)}
#graph-filter{min-width:70px;width:210px;flex:1}
#graph-page{font-size:11px;min-width:80px;text-align:center}
.graph-app .statusbar{flex-wrap:wrap;flex-shrink:0;min-height:26px;overflow-wrap:anywhere;font-size:11px}
@media(max-width:640px){
 .graph-main{grid-template-columns:1fr}
 .graph-inspector{border-left:0;border-top:1px solid var(--line);max-height:185px;min-height:100px}
 .graph-app .tool-file-label{flex-basis:100%}
 .graph-app .native-toolbar button{font-size:11px}
 #graph-source,#graph-target{width:82px}
 #graph-canvas{height:255px}
 .graph-table-wrap td{padding:4px}
 .graph-table-controls label{max-width:160px}
}
