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