.graph-page #main,.graph-footer{max-width:1440px;margin:auto;padding:0 40px}.graph-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:34px 0 24px}.graph-heading h1{font:500 clamp(26px,3vw,40px)/1.15 var(--sans);letter-spacing:-.04em;margin:0 0 12px}.graph-heading p{margin:0;color:var(--muted);font-size:14px}.graph-heading .eyebrow{margin-bottom:10px}.graph-heading>a{font-size:12px;white-space:nowrap}.graph-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.graph-controls{padding:22px;border-right:1px solid var(--line);height:680px;overflow:auto;font-size:12px;background:var(--surface)}.graph-controls>label:not(.graph-check){display:block;font-weight:600;margin:0 0 7px}.graph-controls input[type=search],.graph-controls select{width:100%;border:1px solid var(--field-border);background:var(--paper);color:var(--ink);border-radius:6px;font:13px var(--sans);padding:10px;margin-bottom:18px}.graph-check{display:flex;align-items:center;gap:8px;margin:10px 0}.graph-check input{accent-color:var(--blue)}#graph-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 20px}.graph-key{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.graph-key i{width:7px;height:7px;border-radius:50%}.graph-stage{position:relative;min-width:0;height:680px;background:var(--paper)}#graph-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#graph-canvas:active{cursor:grabbing}.graph-tools{position:absolute;right:16px;top:16px;display:flex;gap:5px}.graph-tools button{border:1px solid var(--line-strong);border-radius:5px;background:var(--paper);color:var(--ink);min-width:40px;min-height:40px;padding:6px 12px;cursor:pointer;font:12px var(--sans)}.graph-tools button:hover{background:var(--hover)}.graph-hint{position:absolute;bottom:12px;left:16px;right:16px;text-align:center;pointer-events:none;font:11px var(--sans);color:var(--muted)}#graph-tooltip{position:absolute;left:16px;bottom:44px;max-width:calc(100% - 32px);padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:5px;font:12px var(--sans);pointer-events:none}.graph-detail{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.graph-detail h2{font:600 17px/1.4 var(--sans);margin:0 0 10px}.graph-detail p{color:var(--muted)}#graph-open{display:inline-block;margin-bottom:12px}#graph-open[hidden]{display:none}#graph-neighbours{list-style:none;padding:0;margin:0}#graph-neighbours button,#graph-results button{border:0;background:none;color:var(--blue);font:12px/1.5 var(--sans);text-align:left;padding:7px 0;cursor:pointer;width:100%}#graph-results{max-height:180px;overflow:auto}#graph-results button:hover,#graph-neighbours button:hover{text-decoration:underline}.graph-directory{margin:24px 0}.graph-directory summary{cursor:pointer;font-size:13px;padding:12px 0}.graph-directory>ul{columns:3;list-style:none;padding:0}.graph-directory li{break-inside:avoid;padding:8px;font-size:12px}.graph-directory small{display:block;color:var(--muted)}.graph-footer{display:flex;gap:24px;justify-content:space-between;padding-top:16px;padding-bottom:32px;font-size:12px;color:var(--muted)}@media(max-width:900px){.graph-page #main,.graph-footer{padding-inline:24px}.graph-workspace{grid-template-columns:230px minmax(0,1fr)}.graph-heading{display:block}.graph-heading>a{display:inline-block;margin-top:14px}.graph-directory>ul{columns:2}}@media(max-width:600px){.graph-workspace{display:flex;flex-direction:column}.graph-controls{height:auto;max-height:360px;border-right:0;border-bottom:1px solid var(--line);padding:16px}.graph-stage{height:480px}.graph-directory>ul{columns:1}.graph-footer{display:block}.graph-heading p{font-size:13px}}@media print{.graph-workspace{display:none}.graph-directory>ul{columns:2}}
