.tree-wrap.svelte-f90pz5{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at center,color-mix(in oklab,var(--accent) 5%,transparent) 0%,transparent 60%),radial-gradient(circle,color-mix(in oklab,var(--fg) 9%,transparent) 1px,transparent 1.2px) 0 0 / 24px 24px,var(--bg)}.gen-labels.svelte-f90pz5{position:absolute;inset:0;pointer-events:none;overflow:hidden}.gen-label.svelte-f90pz5{position:absolute;left:10px;transform:translateY(-50%);padding:2px 8px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);white-space:nowrap;transition:opacity var(--dur) ease}.gen-label.right.svelte-f90pz5{left:auto;right:10px}.tree.thread-active.svelte-f90pz5~.gen-labels:where(.svelte-f90pz5) .gen-label:where(.svelte-f90pz5){opacity:.4}.tree.svelte-f90pz5{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.tree.svelte-f90pz5:active{cursor:grabbing}.refit.svelte-f90pz5{position:absolute;right:14px;bottom:14px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev);color:var(--fg-muted);cursor:pointer;box-shadow:var(--shadow-2);transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.refit.svelte-f90pz5:hover,.refit.svelte-f90pz5:focus-visible{color:var(--accent);border-color:var(--accent)}.descent.svelte-f90pz5{fill:none;stroke:var(--edge-stroke);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:opacity var(--dur) var(--ease-out),stroke var(--dur) ease,stroke-width var(--dur) ease}.marriage.svelte-f90pz5{fill:none;stroke:color-mix(in oklab,var(--accent) 75%,var(--edge-stroke));stroke-width:2.5;stroke-linecap:round;transition:opacity var(--dur) var(--ease-out),stroke var(--dur) ease}.marriage-pair.svelte-f90pz5{transition:opacity var(--dur) var(--ease-out)}.marriage.outer.svelte-f90pz5{stroke:color-mix(in oklab,var(--accent) 70%,var(--edge-stroke));stroke-width:5}.marriage.inner.svelte-f90pz5{stroke:var(--bg);stroke-width:1.75}.tree.thread-active.svelte-f90pz5 .descent:where(.svelte-f90pz5):not(.on-thread),.tree.thread-active.svelte-f90pz5 .marriage.single:where(.svelte-f90pz5):not(.on-thread),.tree.thread-active.svelte-f90pz5 .marriage-pair:where(.svelte-f90pz5):not(.on-thread){opacity:.22}.tree.thread-active.svelte-f90pz5 .node:where(.svelte-f90pz5):not(.on-thread):not(.is-focused) .node-bg:where(.svelte-f90pz5){opacity:.55}.tree.thread-active.svelte-f90pz5 .node:where(.svelte-f90pz5):not(.on-thread):not(.is-focused) foreignObject:where(.svelte-f90pz5){opacity:.55}.descent.on-thread.svelte-f90pz5{stroke:var(--accent);stroke-width:2.5}.marriage.single.on-thread.svelte-f90pz5{stroke:var(--accent)}.marriage-pair.on-thread.svelte-f90pz5 .marriage.outer:where(.svelte-f90pz5){stroke:var(--accent)}.node.on-thread.svelte-f90pz5 .node-bg:where(.svelte-f90pz5){stroke:var(--accent)}.marriage.detour.svelte-f90pz5,.marriage.informal.svelte-f90pz5{stroke-width:1.75;stroke:color-mix(in oklab,var(--accent) 45%,var(--edge-stroke));stroke-dasharray:6 4}.marriage.informal.no-union.svelte-f90pz5{opacity:.4}.descent.step.svelte-f90pz5,.descent.adopted.svelte-f90pz5,.descent.foster.svelte-f90pz5,.descent.guardian.svelte-f90pz5{stroke-dasharray:4 2;stroke:color-mix(in oklab,var(--edge-stroke) 60%,transparent)}@media(prefers-reduced-motion:no-preference){.tree.draw-in.svelte-f90pz5 .descent:where(.svelte-f90pz5),.tree.draw-in.svelte-f90pz5 .marriage:where(.svelte-f90pz5){stroke-dasharray:1;stroke-dashoffset:1;animation:svelte-f90pz5-edge-draw .65s cubic-bezier(.4,0,.2,1) .12s forwards}}@keyframes svelte-f90pz5-edge-draw{to{stroke-dashoffset:0}}.node-bg.svelte-f90pz5{fill:var(--node-fill);stroke:var(--node-stroke);stroke-width:1.5;transition:stroke var(--dur) ease,fill var(--dur) ease,opacity var(--dur) var(--ease-out);filter:drop-shadow(0 1px 2px rgba(48,40,28,.1))}[data-theme=dark] .node-bg.svelte-f90pz5{filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}foreignObject.svelte-f90pz5{transition:opacity var(--dur) var(--ease-out)}.halo.svelte-f90pz5{fill:none;stroke:color-mix(in oklab,var(--accent) 35%,transparent);stroke-width:6;transform-box:fill-box;transform-origin:center;animation:svelte-f90pz5-halo-settle .6s var(--ease-out) both}@keyframes svelte-f90pz5-halo-settle{0%{transform:scale(1.08);opacity:0}to{transform:none;opacity:1}}.node.svelte-f90pz5{cursor:pointer}.node.svelte-f90pz5:hover .node-bg:where(.svelte-f90pz5){stroke:var(--accent)}.node.is-selected.svelte-f90pz5 .node-bg:where(.svelte-f90pz5){stroke:var(--accent);stroke-width:2.5}.lod-name.svelte-f90pz5{font-family:var(--font-display);font-size:30px;fill:var(--node-text);pointer-events:none;-webkit-user-select:none;user-select:none}.tree.lod-block.svelte-f90pz5 .node-bg:where(.svelte-f90pz5){fill:color-mix(in oklab,var(--accent) 22%,var(--node-fill));stroke-width:3}.tree.lod-block.svelte-f90pz5 .node.is-private:where(.svelte-f90pz5) .node-bg:where(.svelte-f90pz5){stroke-dasharray:none}.tree.lineage.svelte-f90pz5 .node-bg:where(.svelte-f90pz5),.tree.lineage.svelte-f90pz5 foreignObject:where(.svelte-f90pz5),.tree.lineage.svelte-f90pz5 .descent:where(.svelte-f90pz5),.tree.lineage.svelte-f90pz5 .marriage:where(.svelte-f90pz5),.tree.lineage.svelte-f90pz5 .marriage-pair:where(.svelte-f90pz5){transition:none}.callout.svelte-f90pz5{position:absolute;width:var(--w);transform:translate(-50%,-100%);display:flex;flex-direction:column;gap:.5rem;padding:.7rem .8rem .6rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev);box-shadow:var(--shadow-3);z-index:3}.callout.below.svelte-f90pz5{transform:translate(-50%)}.callout.svelte-f90pz5:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:var(--bg-elev);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:translate(-50%) rotate(45deg)}.callout.below.svelte-f90pz5:after{bottom:auto;top:-7px;border:0;border-left:1px solid var(--border);border-top:1px solid var(--border)}.callout-name.svelte-f90pz5{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.15}.callout-meta.svelte-f90pz5{display:flex;gap:.5rem;align-items:center;margin-top:.2rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);font-feature-settings:"tnum"}.callout-band.svelte-f90pz5{padding:1px 7px;border-radius:var(--radius-pill);border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border));color:var(--accent);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em}.callout-note.svelte-f90pz5{margin-top:.35rem;font-size:var(--text-xs);color:var(--fg-muted)}.callout-actions.svelte-f90pz5{display:flex;gap:.4rem;align-items:center}.callout-open.svelte-f90pz5{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .8rem;border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer}.callout-open.svelte-f90pz5:hover{filter:brightness(1.08)}.callout-close.svelte-f90pz5{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);color:var(--fg-muted);cursor:pointer}.callout-close.svelte-f90pz5:hover{color:var(--accent);border-color:var(--accent)}.node.is-focused.svelte-f90pz5 .node-bg:where(.svelte-f90pz5){stroke:var(--accent);stroke-width:2.5;fill:color-mix(in oklab,var(--accent) 14%,var(--node-fill))}.node.is-private.svelte-f90pz5 .node-bg:where(.svelte-f90pz5){stroke-dasharray:2 3}.node.svelte-f90pz5:focus-visible .node-bg:where(.svelte-f90pz5){stroke:var(--accent);stroke-width:2.5}.card-body.svelte-f90pz5{width:100%;height:100%;display:flex;align-items:center;gap:9px;text-align:left;pointer-events:none;color:var(--node-text);font-family:var(--font-ui);overflow:hidden}.card-text.svelte-f90pz5{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center}.card-name.svelte-f90pz5{font-family:var(--font-display);font-size:15.5px;font-weight:500;line-height:1.15;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;width:100%}.card-years.svelte-f90pz5{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);margin-top:3px;display:flex;align-items:center;gap:6px;font-feature-settings:"tnum";line-height:1}.rel-chip.svelte-f90pz5{flex:none;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.3;letter-spacing:.02em;color:var(--accent);background:color-mix(in oklab,var(--accent) 12%,var(--node-fill));border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border))}.card-body.is-pill.svelte-f90pz5{justify-content:center;text-align:center}.card-body.is-pill.svelte-f90pz5 .card-text:where(.svelte-f90pz5){align-items:center}.card-body.is-pill.svelte-f90pz5 .card-name:where(.svelte-f90pz5){font-size:13px;-webkit-line-clamp:1;line-clamp:1}.card-body.is-pill.svelte-f90pz5 .card-years:where(.svelte-f90pz5){font-size:10px;margin-top:1px}.node.kind-sibling.svelte-f90pz5 .node-bg:where(.svelte-f90pz5){fill:color-mix(in oklab,var(--bg),var(--fg) 4%);stroke:var(--border)}.node.kind-sibling.svelte-f90pz5:hover .node-bg:where(.svelte-f90pz5){stroke:var(--accent);fill:color-mix(in oklab,var(--bg),var(--accent) 6%)}.overflow-chip.svelte-f90pz5{cursor:pointer}.overflow-chip.svelte-f90pz5 rect:where(.svelte-f90pz5){fill:color-mix(in oklab,var(--bg-elev),var(--accent) 6%);stroke:color-mix(in oklab,var(--accent) 30%,var(--border));stroke-width:1.5;stroke-dasharray:3 3;transition:stroke .2s ease,fill .2s ease}.overflow-chip.svelte-f90pz5:hover rect:where(.svelte-f90pz5),.overflow-chip.svelte-f90pz5:focus-visible rect:where(.svelte-f90pz5){stroke:var(--accent);fill:color-mix(in oklab,var(--bg-elev),var(--accent) 12%)}.overflow-chip.svelte-f90pz5 .chip-body:where(.svelte-f90pz5){width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:12px;font-weight:600;font-family:var(--font-ui);pointer-events:none;white-space:nowrap}.gap-bg.svelte-f90pz5{fill:transparent;stroke:color-mix(in oklab,var(--fg) 22%,transparent);stroke-width:1.5;stroke-dasharray:5 4}.gap-label.svelte-f90pz5{font-family:var(--font-ui);font-size:13px;fill:var(--fg-muted);opacity:.8;pointer-events:none;-webkit-user-select:none;user-select:none}.tree.lod-text.svelte-f90pz5 .gap-label:where(.svelte-f90pz5){font-size:26px}.ghost-node.svelte-f90pz5{cursor:pointer}.ghost-bg.svelte-f90pz5{fill:transparent;stroke:var(--border);stroke-width:1.5;stroke-dasharray:5 4;transition:stroke .2s ease}.ghost-node.svelte-f90pz5:hover .ghost-bg:where(.svelte-f90pz5),.ghost-node.svelte-f90pz5:focus-visible .ghost-bg:where(.svelte-f90pz5){stroke:var(--accent)}.ghost-body.svelte-f90pz5{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--fg-muted);font-family:var(--font-ui);font-size:13px;font-weight:500;pointer-events:none;transition:color .2s ease}.ghost-node.svelte-f90pz5:hover .ghost-body:where(.svelte-f90pz5),.ghost-node.svelte-f90pz5:focus-visible .ghost-body:where(.svelte-f90pz5){color:var(--accent)}.ghost-plus.svelte-f90pz5{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;font-size:15px;line-height:1}
