.graph-wrap{position:relative;width:100%;height:calc(100vh - 8rem);min-height:480px;background:radial-gradient(circle at 50% 50%,color-mix(in oklab,var(--color-bg-tint) 58%,transparent),transparent 62%),linear-gradient(var(--color-hairline) 1px,transparent 1px),linear-gradient(90deg,var(--color-hairline) 1px,transparent 1px),var(--color-bg);background-size:auto,34px 34px,34px 34px,auto;border:1px solid var(--color-hairline);border-radius:var(--radius-soft);overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--color-bg) 70%,transparent)}.graph-wrap.compact{height:360px;min-height:300px;border-radius:10px;background:linear-gradient(var(--color-hairline) 1px,transparent 1px),linear-gradient(90deg,var(--color-hairline) 1px,transparent 1px),var(--color-bg);background-size:42px 42px,42px 42px,auto}.graph-controls{position:absolute;left:.75rem;top:.75rem;display:flex;flex-direction:column;gap:.4rem;pointer-events:none;width:min(280px,calc(100% - 1.5rem))}.graph-controls>*{pointer-events:auto}.graph-toolbar{position:absolute;right:.75rem;top:.75rem;display:inline-flex;gap:2px;padding:2px;border:1px solid var(--color-hairline);border-radius:var(--radius-chip);background:color-mix(in oklab,var(--color-bg) 92%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.graph-toolbar button{min-width:30px;height:28px;padding:0 .45rem;border:0;border-radius:3px;background:transparent;color:var(--color-fg-muted);font-family:var(--font-mono);font-size:12px;line-height:1;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.graph-toolbar button:hover{background:var(--color-bg-tint);color:var(--color-fg)}.graph-search{width:100%;height:32px;padding:0 .625rem;background:color-mix(in oklab,var(--color-bg) 92%,transparent);border:1px solid var(--color-hairline);border-radius:var(--radius-pill);font-size:13px;color:var(--color-fg);font-family:inherit;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.graph-search::placeholder{color:var(--color-fg-faint)}.graph-search:focus-visible{outline:none;border-color:var(--color-hairline-strong)}.graph-legend{display:flex;flex-wrap:wrap;gap:.25rem}.legend-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .55rem;background:color-mix(in oklab,var(--color-bg) 92%,transparent);border:1px solid var(--color-hairline);border-radius:var(--radius-chip);font-family:var(--font-mono);font-size:11px;color:var(--color-fg-faint);cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.legend-chip:hover,.legend-chip.on{color:var(--color-fg);border-color:var(--color-hairline-strong)}.legend-chip:not(.on) .dot{opacity:.4}.legend-chip:not(.on){background:color-mix(in oklab,var(--color-bg) 74%,transparent)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.graph-tooltip{position:absolute;left:0;top:0;max-width:320px;width:min(320px,calc(100% - 1.5rem));padding:.6rem .75rem;background:color-mix(in oklab,var(--color-bg) 95%,transparent);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-soft);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 10px 30px color-mix(in oklab,var(--color-stone-950) 9%,transparent);pointer-events:auto}.graph-tooltip.picked{border-color:color-mix(in oklab,var(--color-accent) 55%,var(--color-hairline-strong));box-shadow:0 14px 36px color-mix(in oklab,var(--color-stone-950) 14%,transparent)}.graph-wrap.compact .graph-tooltip{max-width:min(380px,calc(100% - 2rem));padding:.75rem .9rem;border-radius:10px;background:color-mix(in oklab,var(--color-bg) 94%,transparent)}.graph-tooltip .tt-title{font-size:14px;font-weight:500;letter-spacing:-.005em;margin:0}.graph-tooltip .tt-meta{margin:.2rem 0 0;font-family:var(--font-mono);font-size:11px;color:var(--color-fg-faint);display:flex;gap:.4rem;letter-spacing:.02em}.graph-tooltip .tt-blurb{margin:.4rem 0 0;font-size:12.5px;line-height:1.45;color:var(--color-fg-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tt-action{display:inline-flex;align-items:center;justify-content:center;margin-top:.65rem;min-height:30px;padding:0 .75rem;border-radius:var(--radius-chip);background:var(--color-fg);color:var(--color-bg);font-family:var(--font-mono);font-size:11px;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:transform var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.tt-action:hover{transform:translateY(-1px);background:var(--color-accent-hover)}.graph-controls-mobile{position:absolute;left:.5rem;right:.5rem;top:.5rem;display:flex;align-items:center;gap:.4rem;pointer-events:none}.graph-controls-mobile>*{pointer-events:auto}.graph-chip-strip{display:flex;flex-wrap:nowrap;gap:.3rem;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;padding:.15rem .1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.graph-chip-strip::-webkit-scrollbar{display:none}.graph-chip-strip .legend-chip{flex-shrink:0;min-height:32px;padding:.35rem .6rem;font-size:11px}.graph-search-wrap{flex:0 0 auto}.graph-search-wrap.open{flex:1 1 auto;min-width:0}.graph-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-hairline);border-radius:var(--radius-chip);background:color-mix(in oklab,var(--color-bg) 92%,transparent);color:var(--color-fg-muted);cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.graph-search-toggle:hover,.graph-search-toggle:focus-visible{color:var(--color-fg);border-color:var(--color-hairline-strong);outline:none}.graph-search-wrap.open .graph-search{height:40px;font-size:14px}@media(max-width:720px){.graph-wrap{height:calc(100svh - 7rem);min-height:420px}.graph-controls{width:min(220px,calc(100% - 6.75rem))}.graph-legend{max-height:72px;overflow:auto}.legend-chip{padding-inline:.45rem}}.graph-wrap.touch .graph-tooltip{left:.5rem!important;right:.5rem;top:auto!important;bottom:.5rem;width:auto;max-width:none;padding:.7rem .85rem}.graph-wrap.compact.touch .graph-tooltip{left:.5rem!important;right:.5rem;bottom:.5rem;max-width:none;width:auto}.graph-wrap.touch .tt-action{min-height:40px;padding:0 .95rem;font-size:12px}.graph-wrap.touch .graph-toolbar{top:auto;bottom:.5rem;right:.5rem}.graph-wrap.touch .graph-toolbar button{min-width:40px;height:40px;font-size:14px}.graph-wrap.touch:has(.graph-tooltip) .graph-toolbar{display:none}.head[data-astro-cid-oy34yelw]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.kicker[data-astro-cid-oy34yelw]{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-faint)}.title[data-astro-cid-oy34yelw]{font-size:clamp(28px,4vw,36px);line-height:1.1;letter-spacing:-.018em;font-weight:500;margin-top:.25rem}.head-actions[data-astro-cid-oy34yelw]{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.meta[data-astro-cid-oy34yelw]{font-family:var(--font-mono);font-size:12px;color:var(--color-fg-faint)}.mode-toggle[data-astro-cid-oy34yelw]{display:inline-flex;border:1px solid var(--color-hairline);border-radius:var(--radius-pill);padding:2px;background:var(--color-bg)}.mode-btn[data-astro-cid-oy34yelw]{padding:.25rem .75rem;font-size:12.5px;color:var(--color-fg-muted);text-decoration:none;border-radius:var(--radius-pill);transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.mode-btn[data-astro-cid-oy34yelw]:hover{color:var(--color-fg)}.mode-btn[data-astro-cid-oy34yelw].active{background:var(--color-bg-tint-strong);color:var(--color-fg)}.hint[data-astro-cid-oy34yelw]{text-align:center;margin-top:.5rem;font-size:11px;color:var(--color-fg-faint);letter-spacing:.04em}.tree-wrap[data-astro-cid-oy34yelw]{border:1px solid var(--color-hairline);border-radius:var(--radius-soft);padding:1.25rem 1.5rem;background:var(--color-bg);max-width:920px}.noscript[data-astro-cid-oy34yelw]{margin-top:1rem;color:var(--color-fg-muted);font-size:14px}
