.graph-tools{position:absolute;top:var(--graph-tools-top, 1.4rem);left:var(--graph-tools-left, 1.4rem);z-index:9;width:208px;display:flex;gap:.44rem;align-items:center;justify-content:flex-start;pointer-events:auto}.graph-tool-btn{appearance:none;width:2.05rem;height:2.05rem;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg-raised) 52%,transparent);color:var(--muted);cursor:pointer;padding:0;box-shadow:0 12px 32px #0000002e;backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);transition:border-color .2s ease,color .2s ease,background .2s ease,opacity .2s ease}.graph-tool-btn svg{width:1.08rem;height:1.08rem;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.graph-tool-btn:hover,.graph-tool-btn:focus-visible{color:var(--bright);border-color:color-mix(in srgb,var(--bright) 38%,transparent);background:color-mix(in srgb,var(--bg-raised) 68%,transparent);outline:none}.graph-tool-btn .eye-slash{opacity:0;transition:opacity .2s ease}.graph-tool-btn[aria-pressed=false]{opacity:.72}.graph-tool-btn[aria-pressed=false] .eye-slash{opacity:1}@media(max-width:1024px){.graph-tools{display:none}}.graph-export{position:relative}.graph-export>summary{list-style:none}.graph-export>summary::-webkit-details-marker{display:none}.graph-export-menu{position:absolute;top:calc(100% + .4rem);left:0;z-index:12;display:grid;min-width:10rem;padding:.3rem;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bg-raised) 92%,transparent);box-shadow:0 12px 32px #0000003d;backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08)}.graph-export-menu button{appearance:none;border:none;background:transparent;color:var(--text);font:inherit;font-size:.8rem;text-align:left;padding:.45rem .6rem;border-radius:6px;cursor:pointer}.graph-export-menu button:hover,.graph-export-menu button:focus-visible{background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--bright);outline:none}.graph-settings{position:relative}.graph-settings>summary{list-style:none}.graph-settings>summary::-webkit-details-marker{display:none}.graph-settings-menu{position:absolute;top:calc(100% + .4rem);left:0;z-index:12;width:15rem;padding:.7rem .75rem;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bg-raised) 92%,transparent);box-shadow:0 12px 32px #0000003d;backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08)}.graph-settings-title{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .55rem}.graph-settings-rule{border:none;border-top:1px solid color-mix(in srgb,var(--text) 14%,transparent);margin:.65rem 0}.graph-depth{display:inline-flex;align-items:center;gap:.35rem;margin-left:.2rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.graph-depth-select{appearance:none;-webkit-appearance:none;font:inherit;font-size:.72rem;letter-spacing:.06em;color:var(--muted);background:color-mix(in srgb,var(--bg-raised) 52%,transparent);border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:999px;padding:.3rem 1.5rem .3rem .7rem;cursor:pointer;box-shadow:0 12px 32px #0000002e;backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right .62rem center,right .4rem center;background-size:.22rem .22rem,.22rem .22rem;background-repeat:no-repeat;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.graph-depth-select:hover,.graph-depth-select:focus-visible{color:var(--bright);border-color:color-mix(in srgb,var(--bright) 38%,transparent);outline:none}.graph-depth-select option{background:var(--bg-raised);color:var(--text)}.graph-hint{position:absolute;left:var(--graph-hint-left, 1.2rem);bottom:var(--graph-hint-bottom, 1rem);z-index:4;width:var(--graph-hint-width, min(42rem, 62%));margin:0;color:var(--muted);opacity:var(--graph-hint-opacity, .62);font-size:var(--graph-hint-size, clamp(.9rem, 1vw, 1.05rem));line-height:var(--graph-hint-line-height, 1.35);letter-spacing:var(--graph-hint-letter-spacing, .025em);font-style:italic;pointer-events:none;text-wrap:balance}.graph-hint--state{width:min(42rem,calc(100% - 2.4rem));opacity:.72}.legend{--legend-width: 208px;--legend-padding: .85rem .9rem;--legend-title-size: .66rem;--legend-tag-size: .84rem;--legend-count-size: .66rem;--legend-dot-size: .56rem;--legend-row-gap: .38rem;--legend-note-size: .7rem;--legend-spacing: .12em;position:absolute;top:var(--legend-top, 1.4rem);left:var(--legend-left, 1.4rem);z-index:var(--legend-z, 5);width:var(--legend-width);background:var(--legend-bg, var(--bg-raised));border:1px solid var(--legend-border, var(--rule));border-radius:var(--legend-radius, 6px);padding:var(--legend-padding);box-shadow:var(--legend-shadow, none);backdrop-filter:var(--legend-backdrop-filter, none);-webkit-backdrop-filter:var(--legend-backdrop-filter, none)}.legend-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.legend-title,.legend-total{font-size:var(--legend-title-size);letter-spacing:var(--legend-spacing);text-transform:uppercase;color:var(--muted)}.legend-rule{border:none;border-top:1px solid var(--rule);margin:0 0 .5rem}.legend-list{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-direction:column;gap:var(--legend-row-gap);max-height:var(--legend-list-max, none);overflow-y:auto}.legend-row{display:flex;align-items:center;gap:.5rem}.legend-dot{width:var(--legend-dot-size);height:var(--legend-dot-size);border-radius:50%;flex-shrink:0}.legend-tag{flex:1;font-size:var(--legend-tag-size);color:var(--muted);font-family:var(--font-serif)}.legend-count{font-size:var(--legend-count-size);letter-spacing:var(--legend-spacing);color:var(--muted);font-variant-numeric:tabular-nums}.legend-note{font-size:var(--legend-note-size);letter-spacing:var(--legend-spacing);color:var(--muted);line-height:1.4;margin:0}@media(max-width:1024px){.legend{display:none}}.graph-tools[hidden],.graph-hint[hidden],.graph-depth[hidden],.graph-settings[hidden],.legend[hidden]{display:none!important}
