body.graph-page{--graph-surface:color-mix(in srgb,var(--bg-elev) 90%,var(--bg-sunken));--graph-selected-surface:color-mix(in srgb,color-mix(in srgb,var(--bg-elev) 88%,var(--text)) 76%,transparent);--graph-muted:var(--text-2);--graph-selected-accent:color-mix(in srgb,var(--accent) 56%,var(--text));--graph-canvas-text:var(--bg-elev);--graph-canvas-muted:color-mix(in srgb,var(--bg-elev) 76%,var(--text));overflow:hidden}html.dark body.graph-page{--graph-canvas-text:var(--text);--graph-canvas-muted:var(--text-2)}body.graph-page .v5-atmosphere .one{top:28%;left:-16rem;right:auto}body.graph-page .v5-atmosphere .two{bottom:-24rem;left:26%}body.graph-page .v5-atmosphere .bg-word{font-size:clamp(12rem,24vw,24rem);top:auto;bottom:-4rem;left:-1rem;transform:none}body.graph-page header.site .site-nav{grid-template-columns:auto minmax(240px,576px) auto;justify-content:space-between}body.graph-page header.site .site-brand,body.graph-page header.site .site-actions,body.graph-page header.site .site-search input{background:var(--graph-surface);border-color:var(--border-strong)}body.graph-page header.site .site-search .material-symbols-outlined,body.graph-page header.site .site-search .search-shortcut{color:var(--graph-muted)}body.graph-page main.site-main{max-width:none;min-height:0;padding:0;position:fixed;inset:0;overflow:hidden}body.graph-page footer.site,body.graph-page .mobile-tabbar{display:none}.graph-workspace{min-height:100vh;position:absolute;inset:0}.graph-toolbars{z-index:40;pointer-events:none;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:16px;display:grid;position:fixed;top:92px;left:24px;right:24px}.graph-toolbars>*{pointer-events:auto}.graph-modes,.graph-filters-wrap,.graph-zoom{background:var(--graph-surface);border-color:var(--border-strong);border-radius:999px;align-items:center;min-height:48px;display:flex}.graph-modes{gap:2px;padding:6px 8px}.graph-modes .nav-link{cursor:pointer;border:0;align-items:center;gap:6px;display:inline-flex}.graph-modes .material-symbols-outlined{font-size:17px}.graph-filters-wrap{justify-self:center;gap:10px;max-width:min(100%,560px);padding:6px 14px}.graph-filters-wrap>.v5-label{color:var(--graph-muted);flex:none;margin:0;font-size:10px}.graph-filters{scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;flex:1;align-items:center;gap:5px;min-width:0;padding:2px 8px 2px 0;display:flex;overflow-x:auto}.graph-filters::-webkit-scrollbar{width:0;height:0;display:none}.graph-filters .chip{cursor:pointer;white-space:nowrap;border:1px solid var(--border);flex:none}.graph-filters .chip.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.graph-zoom{gap:2px;padding:6px 8px}.graph-zoom .icon-btn{width:34px;height:34px}.graph-zoom .material-symbols-outlined{font-size:19px}.graph-zoom output{min-width:42px;color:var(--text-2);text-align:center;font-size:12px}.graph-zoom-divider{background:linear-gradient(180deg,transparent,var(--accent),transparent);width:1px;height:20px;box-shadow:0 0 8px var(--accent-glow);opacity:.7;margin:0 3px}.graph-zoom .btn-pill{min-height:34px;padding:3px 4px 3px 14px;font-size:13px}.graph-zoom .pill-ic{width:28px;height:28px}.graph-zoom .pill-ic .material-symbols-outlined{font-size:16px}.graph-canvas{color:var(--graph-canvas-muted);padding:0;position:absolute;inset:0;overflow:hidden}.graph-renderer{z-index:0;touch-action:none;outline:none;display:block;position:absolute;inset:0}.graph-renderer[hidden],.graph-label-layer[hidden],.graph-svg-renderer[hidden]{display:none}.graph-renderer:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.graph-svg-renderer{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.graph-svg-edge{stroke:color-mix(in srgb,var(--graph-canvas-muted) 35%,transparent);stroke-width:1px}.graph-svg-edge.direct{stroke:color-mix(in srgb,var(--accent) 55%,transparent);stroke-width:1.5px}.graph-svg-edge.secondary{opacity:.48}.graph-svg-node{cursor:pointer}.graph-svg-node rect{fill:color-mix(in srgb,var(--graph-surface) 88%,transparent);stroke:var(--border-strong);stroke-width:1px}.graph-svg-node text{fill:var(--graph-canvas-text);dominant-baseline:middle;font-size:13px;font-weight:600}.graph-svg-node.direct rect{stroke:color-mix(in srgb,var(--accent) 45%,var(--border-strong));box-shadow:0 0 18px var(--accent-glow)}.graph-svg-node.secondary{opacity:.7}.graph-svg-node:focus,.graph-svg-focus:focus{outline:none}.graph-svg-node:focus rect{stroke:var(--accent);stroke-width:2px}.graph-svg-focus{cursor:pointer;filter:url(#graph-svg-glow)}.graph-svg-focus rect{fill:var(--graph-selected-surface);stroke:var(--accent);stroke-width:1.5px}.graph-svg-kicker{fill:var(--accent);letter-spacing:1.8px;font-size:9px;font-weight:700}.graph-svg-title{fill:var(--text);font-size:21px;font-weight:700}.graph-svg-tag{fill:var(--graph-canvas-muted);font-size:11px}.graph-svg-focus:focus rect{stroke-width:3px}.graph-svg-hint{fill:var(--graph-canvas-muted);font-size:12px}.graph-label-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.graph-label-layer .graph-node{pointer-events:auto}.graph-sr-status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.graph-node{z-index:2;max-width:220px;box-shadow:none;color:var(--graph-canvas-muted);cursor:pointer;text-shadow:0 2px 14px #000,0 1px 4px #000;white-space:nowrap;pointer-events:auto;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:5px 7px;font-size:12px;transition:transform .25s cubic-bezier(.16,1,.3,1),color .25s;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.graph-node:hover,.graph-node:focus-visible{color:var(--graph-canvas-text);outline:none;transform:translate(-50%,-50%)scale(1.06)}.graph-node.related{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--graph-surface) 88%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 12%,transparent);color:var(--graph-canvas-text);border-radius:999px;padding:8px 12px}.graph-node.dim{opacity:.36}.graph-node.selected{border:1px solid var(--accent);background:var(--graph-selected-surface);min-width:184px;box-shadow:0 0 0 1px var(--accent),0 0 54px var(--accent-glow),var(--shadow-float);color:var(--text);text-shadow:0 1px 12px color-mix(in srgb,var(--bg-sunken) 72%,transparent);white-space:normal;text-align:center;border-radius:24px;justify-items:center;gap:7px;padding:19px 26px;display:grid}.graph-node .v5-label{color:var(--accent);margin:0;font-size:9px}.graph-node.selected .v5-label,.graph-node.selected .chip-accent{color:var(--graph-selected-accent)}.graph-node strong{font-size:18px;line-height:1.2}.graph-node .graph-node-tags{gap:4px;display:flex}.graph-node .graph-node-tags .chip{font-size:10px}.graph-empty{z-index:1;text-align:center;justify-items:center;gap:8px;width:min(420px,100vw - 48px);display:grid;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.graph-empty .material-symbols-outlined{color:var(--accent);font-size:36px}.graph-empty strong{color:var(--text);font-size:18px}.graph-empty span:last-child{max-width:360px;color:var(--text-3);font-size:13px;line-height:1.7}.graph-legend,.graph-detail{background:var(--graph-surface);border-color:var(--border-strong)}.graph-legend{z-index:40;width:238px;padding:20px;position:fixed;bottom:24px;left:24px}.graph-legend .v5-label{color:var(--graph-muted);margin:0 0 14px}.graph-legend-loading{color:var(--graph-muted);margin:0;font-size:12px}.graph-legend-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px;display:grid}.graph-legend-metric{border:1px solid var(--border);background:var(--glass-bg-soft);border-radius:12px;min-width:0;padding:8px}.graph-legend-metric span{color:var(--graph-muted);font-size:10px;display:block}.graph-legend-metric strong{color:var(--text);text-overflow:ellipsis;margin-top:3px;font-size:17px;line-height:1.1;display:block;overflow:hidden}.graph-legend-list{color:var(--graph-muted);gap:8px;font-size:12px;display:grid}.graph-legend-row{grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.graph-legend-row .dot{background:var(--graph-muted);width:8px;height:8px}.graph-legend-row .graph-dot-dim{opacity:.62}.graph-legend-row .graph-dot-category{background:linear-gradient(135deg,#4cdfb7 0 33%,#69a9ff 34% 66%,#ee91bf 67%)}.graph-legend-row strong{color:var(--text-2);font-size:11px;font-weight:600}.graph-legend-edge{border-top:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding-top:8px;display:grid}.graph-legend-edge i{background:color-mix(in srgb,var(--accent) 55%,transparent);width:28px;height:1px}.graph-legend-edge.derived i{background:#69a9ffad}.graph-legend-edge strong{color:var(--text-2);font-size:11px;font-weight:600}.graph-legend-categories{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;grid-template-columns:minmax(0,1fr);gap:7px;max-height:clamp(112px,28vh,220px);margin-top:12px;display:grid;overflow-y:auto}.graph-legend-categories::-webkit-scrollbar{width:6px}.graph-legend-categories::-webkit-scrollbar-track{background:0 0}.graph-legend-categories::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}.graph-legend-category{border:1px solid var(--border);width:100%;color:var(--graph-muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;line-height:1.35;display:flex}.graph-legend-category:hover,.graph-legend-category[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.graph-legend-category:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.graph-legend-category i{border-radius:50%;flex:none;width:8px;height:8px}.graph-legend-category b{color:var(--text-2);margin-left:auto;font-weight:600}.graph-detail{z-index:40;flex-direction:column;width:340px;padding:28px;display:flex;position:fixed;top:164px;bottom:24px;right:24px;overflow-y:auto}.graph-detail[hidden]{display:none}.graph-detail-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.graph-detail .v5-label{color:var(--graph-muted);margin:0}.graph-detail .icon-btn{width:32px;height:32px;margin:-6px -6px 0 0}.graph-detail h2{margin:6px 0 2px;font-size:28px;line-height:1.25}.graph-detail-sub{color:var(--graph-muted);margin:0 0 14px;font-size:13px}.graph-detail-tags{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.graph-detail-copy{color:var(--text-2);margin:0 0 20px;font-size:14px;line-height:1.65}.graph-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px;display:grid}.graph-stat{border:1px solid var(--border);background:var(--glass-bg-soft);text-align:center;border-radius:16px;min-width:0;padding:12px 6px}.graph-stat strong{color:var(--text);text-overflow:ellipsis;font-size:21px;line-height:1.2;display:block;overflow:hidden}.graph-stat:first-child strong{color:var(--accent)}.graph-stat span{color:var(--graph-muted);white-space:nowrap;margin-top:4px;font-size:10px;display:block}.graph-related-label{margin:0 0 5px!important}.graph-related{gap:2px;margin:0 -8px 16px;display:grid}.graph-related button{width:100%;color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;padding:8px;display:flex}.graph-related button:hover{background:var(--glass-bg-soft);color:var(--text)}.graph-related button small{color:var(--graph-muted);margin-left:auto}.graph-related button .material-symbols-outlined{color:var(--graph-muted);font-size:16px}.graph-detail .btn-pill{justify-content:center;margin-top:auto}.graph-detail .btn-pill span:first-child{text-align:center;flex:1}.graph-detail-empty{color:var(--graph-muted);margin:18px 0;font-size:14px;line-height:1.65}.graph-relation-section{margin:0 0 14px}.graph-relation-section .graph-related{margin-bottom:0}.graph-detail-back{width:max-content;color:var(--graph-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:5px;margin:2px 0 16px;padding:6px 8px;font-size:12px;display:inline-flex}.graph-detail-back:hover{background:var(--glass-bg-soft);color:var(--text)}.graph-detail-back .material-symbols-outlined{font-size:16px}.graph-help{z-index:30;color:var(--graph-canvas-muted);letter-spacing:.02em;pointer-events:none;text-shadow:0 1px 8px #000;margin:0;font-size:11px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=980px){body.graph-page{overflow:auto}body.graph-page main.site-main{min-height:100vh;padding:0;position:relative;overflow:visible}body.graph-page footer.site{display:none}.graph-workspace{min-height:100vh;padding:154px 16px 36px;position:relative}.graph-toolbars{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex;position:static}.graph-filters-wrap{order:3;justify-self:stretch;width:100%;max-width:none}.graph-zoom{margin-left:auto}.graph-canvas{border:1px solid var(--border);background:var(--glass-bg-soft);border-radius:28px;height:480px;min-height:480px;position:relative}.graph-legend{width:100%;margin-top:12px;position:static}.graph-help{text-align:center;margin:12px auto 0;position:static;transform:none}.graph-detail{width:100%;min-height:0;margin-top:12px;position:relative;top:auto;bottom:auto;right:auto}}@media (width<=680px){body.graph-page .v5-atmosphere .bg-word{font-size:35vw;bottom:4rem}body.graph-page header.site .site-nav{grid-template-columns:max-content max-content;justify-content:space-between}body.graph-page header.site .site-brand{width:max-content;box-shadow:none;background:0 0;border-color:#0000}body.graph-page header.site .site-brand,body.graph-page header.site .site-brand orb-logo{white-space:nowrap;min-width:0;max-width:none;overflow:visible}.graph-workspace{padding:160px 14px 100px}.graph-toolbars{overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-y;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;width:100%;display:grid;overflow:visible}.graph-toolbars::-webkit-scrollbar{display:none}.graph-modes{border-radius:16px;grid-area:1/1;grid-template-columns:repeat(3,40px);width:max-content;min-width:0;display:grid;overflow:hidden}.graph-modes .nav-link{justify-content:center;min-width:40px;min-height:40px;padding:7px 4px;font-size:12px}.graph-zoom{border-radius:16px;grid-area:1/2;width:max-content;min-width:0;margin-left:0;padding:5px}.graph-zoom .btn-pill{margin-left:2px}.graph-filters-wrap{grid-area:2/1/auto/span 2;justify-self:start;width:100%;min-width:0;max-width:none}.graph-canvas{height:420px;min-height:420px}.graph-node{padding:8px 12px;font-size:12px}.graph-node.selected{min-width:150px;padding:14px 16px}.graph-node strong{font-size:15px}.graph-detail{padding:22px}.graph-modes{min-height:44px;padding:5px}.graph-modes .nav-link{gap:0;padding:5px 3px;font-size:0}.graph-zoom{border-radius:16px;gap:0;height:44px;min-height:44px;padding:5px}.graph-zoom output,.graph-zoom-divider{display:none}.graph-zoom .icon-btn,.graph-zoom .btn-pill{gap:0;width:40px;min-width:40px;height:40px;min-height:40px;padding:3px;font-size:0}.graph-svg-node text{font-size:11px}.graph-svg-title{font-size:17px}.graph-svg-focus rect{x:-88px;y:-56px;rx:20px;width:176px;height:112px}}@media (width<=380px){.graph-toolbars{gap:4px}}@media (width<=340px){.graph-toolbars{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr)}.graph-modes{grid-area:1/1;justify-self:start}.graph-zoom{grid-area:2/1;justify-self:end}.graph-filters-wrap{grid-area:3/1}}
