*{box-sizing:border-box}body{margin:0;color:#18211f;background:#eef2f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.page{width:100vw;min-height:100vh;margin:0;padding:0;display:grid}.workspace,.error{border:1px solid #cfd8d3;border-radius:8px;background:#fbfcfb}h1,p{margin:0;letter-spacing:0}.workspace{overflow:hidden;width:100vw;height:100vh;border:0;border-radius:0}.githubLink{position:fixed;left:12px;bottom:12px;z-index:3;border:1px solid rgba(142,157,151,.55);border-radius:999px;padding:5px 9px;color:#50605a;background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;font-weight:760;line-height:1;text-decoration:none}.githubLink:hover{border-color:#8a9d95;color:#1f302b;background:#fffffff0}.graphStage{position:relative;width:100%;height:100vh;min-height:100vh;overflow:hidden;background:#fbfcfb}.graphStage svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.graphStage svg:active{cursor:grabbing}.edge{stroke:#7d9290;stroke-width:1.2;stroke-opacity:.38}.edge.hot{stroke:#d16f4d;stroke-width:2.8;stroke-opacity:.95}.edge.routeTrace{stroke:#43a893;stroke-width:2.2;stroke-opacity:var(--route-trace-opacity)}.edge.routeHot{stroke:#1f8f78;stroke-width:3.2;stroke-opacity:.95}.node{fill:#d9f0f2;stroke:#637a73;stroke-width:1.6}.node.hot{fill:#ffd08a;stroke:#9c5b12;stroke-width:2.4}.node.settled{fill:#bfeadf;stroke:#287460}.node.routeTrace{fill:#a9eadc;stroke:#20836e;stroke-width:var(--route-trace-stroke);opacity:calc(.42 + var(--route-trace-opacity) * .58)}.node.routeHot{fill:#7be0ca;stroke:#0f6b5b;stroke-width:2.8;opacity:1}.nodeLabel{text-anchor:middle;font-size:10px;font-weight:850;fill:#172026;pointer-events:none}.routeAmountLabel{text-anchor:middle;dominant-baseline:central;font-size:10px;font-weight:900;fill:#0f4f45;paint-order:stroke;stroke:#fbfcfbdb;stroke-width:4px;opacity:var(--route-trace-opacity);pointer-events:none}.graphOverlay{position:absolute;top:12px;right:12px;z-index:2;display:grid;justify-items:end;gap:7px;max-width:min(420px,calc(100% - 24px));pointer-events:none}.canvasStatus,.canvasEvent,.zoomBadge{border:1px solid #ccd8d2;background:#ffffffe6;color:#42514a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvasStatus{min-height:30px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:820;text-transform:lowercase}.statusDot{width:8px;height:8px;border-radius:999px;background:#91a29c}.canvasStatus.open{border-color:#76a883;color:#255b37;background:#e9f6eceb}.canvasStatus.open .statusDot{background:#2f9d55}.canvasStatus.error{border-color:#d88383;color:#7a2b28;background:#fdeaeaf0}.canvasStatus.error .statusDot{background:#cb3d36}.canvasEvent{max-width:100%;border-radius:7px;padding:7px 10px;color:#2e3f39;font-size:13px;font-weight:760;line-height:1.25;overflow-wrap:anywhere;text-align:right}.zoomBadge{position:absolute;right:12px;bottom:12px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:820}.error{padding:12px 14px;color:#8d302c;background:#fff7f7}@media(max-width:920px){.graphStage{height:100vh;min-height:100vh}}
