:root{color-scheme:light dark;--bg:#f7f5ef;--fg:#1f2933;--muted:#667085;--panel:#fff;--line:#c8c3b8;--accent:#176b87}@media(prefers-color-scheme:dark){:root{--bg:#111418;--fg:#edf1f5;--muted:#9aa4b2;--panel:#1a1f26;--line:#3a424c;--accent:#62b6cb}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,sans-serif}header{display:flex;gap:16px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}header div{margin-right:auto}h1,p{margin:0}input,select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--fg)}input{min-width:280px}main{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:calc(100vh - 82px)}.graph{min-height:650px}svg{width:100%;height:100%;min-height:650px}.edge{stroke:var(--line);stroke-width:1}.node{cursor:pointer}.node circle{fill:var(--accent);stroke:var(--bg);stroke-width:2}.node text{fill:var(--fg);font-size:11px;text-anchor:middle}.dim{opacity:.08}aside{padding:20px;border-left:1px solid var(--line);background:var(--panel)}#summary{margin-bottom:18px}article{padding:10px 0;border-top:1px solid var(--line);cursor:pointer}article small{display:block;color:var(--muted)}@media(max-width:760px){header{flex-wrap:wrap}input{min-width:100%;order:3}main{grid-template-columns:1fr}.graph,svg{min-height:520px}aside{border-left:0;border-top:1px solid var(--line)}}