.gate[data-v-c76e03e2]{height:100%;display:grid;place-items:center;background:var(--color-canvas)}.card[data-v-c76e03e2]{width:380px;padding:var(--space-6)}h1[data-v-c76e03e2]{margin:0 0 var(--space-1);font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.lead[data-v-c76e03e2]{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.field[data-v-c76e03e2]{margin-bottom:var(--space-3)}.btn[data-v-c76e03e2]{width:100%;justify-content:center}.error[data-v-c76e03e2]{color:var(--color-danger);font-size:var(--text-sm);margin:0 0 var(--space-3)}.hint[data-v-c76e03e2]{margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--color-text-subtle)}code[data-v-c76e03e2]{font-family:var(--font-mono);font-size:.95em}.stage[data-v-36b9a9a1]{position:relative;height:100%;background:var(--color-canvas)}canvas[data-v-36b9a9a1]{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.hud[data-v-36b9a9a1]{position:absolute;left:var(--space-3);bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-2xs);color:var(--color-text-muted)}.sep[data-v-36b9a9a1]{color:var(--color-border-strong)}.drawerr[data-v-36b9a9a1]{position:absolute;top:var(--space-3);left:50%;transform:translate(-50%);max-width:620px;margin:0;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text)}.drawerr span[data-v-36b9a9a1]{display:block;margin-top:4px;font-size:var(--text-2xs);color:var(--color-text-subtle)}.edit[data-v-18c27975]{font-size:var(--text-sm)}h3[data-v-18c27975]{margin:var(--space-4) 0 var(--space-2)}.sexrow[data-v-18c27975]{display:flex;gap:var(--space-3);flex-wrap:wrap}.radio[data-v-18c27975]{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);cursor:pointer}.radio input[data-v-18c27975]{accent-color:var(--color-primary)}.namerow[data-v-18c27975],.eventrow[data-v-18c27975]{display:grid;gap:var(--space-1);margin-bottom:var(--space-1);align-items:center}.namerow[data-v-18c27975]{grid-template-columns:18px 1fr 1fr 108px 28px}.prim[data-v-18c27975]{accent-color:var(--color-accent);margin:0;cursor:pointer}.subhint[data-v-18c27975]{margin:var(--space-1) 0 0;font-size:var(--text-2xs);color:var(--color-text-subtle);line-height:1.5}.eventrow[data-v-18c27975]{grid-template-columns:96px 1fr 1fr 28px}.field[data-v-18c27975]{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.narrow[data-v-18c27975]{min-width:0}.add[data-v-18c27975]{margin-top:var(--space-1)}.fam[data-v-18c27975]{border-left:2px solid var(--color-border-strong);padding-left:var(--space-2);margin-bottom:var(--space-3)}.famhead[data-v-18c27975]{margin:0 0 var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.hint[data-v-18c27975]{margin:var(--space-4) 0 0;font-size:var(--text-2xs);color:var(--color-text-subtle);line-height:1.6}code[data-v-18c27975]{font-family:var(--font-mono)}.error[data-v-18c27975]{color:var(--color-danger)}.conflict[data-v-18c27975]{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-warning-subtle)}.conflict strong[data-v-18c27975]{font-size:var(--text-sm)}.conflict p[data-v-18c27975]{margin:var(--space-1) 0 0;font-size:var(--text-xs);line-height:1.5}.buttons[data-v-18c27975]{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.add[data-v-1ab90d79]{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0;font-size:var(--text-sm)}h3[data-v-1ab90d79]{margin:0 0 var(--space-2)}.modes[data-v-1ab90d79]{display:flex;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.ped[data-v-1ab90d79]{margin-top:calc(-1 * var(--space-2))}.pedhint[data-v-1ab90d79]{margin:calc(-1 * var(--space-2)) 0 var(--space-2);font-size:var(--text-2xs);color:var(--color-text-subtle)}.radio[data-v-1ab90d79]{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:var(--text-xs)}.radio input[data-v-1ab90d79]{accent-color:var(--color-primary)}.radio.block[data-v-1ab90d79]{display:flex;padding:2px 0;font-size:var(--text-sm)}.row2[data-v-1ab90d79]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);margin-bottom:var(--space-1)}.field[data-v-1ab90d79]{margin-bottom:var(--space-1);font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.sexrow[data-v-1ab90d79]{display:flex;gap:var(--space-3);margin:var(--space-1) 0 var(--space-2)}.hits[data-v-1ab90d79]{max-height:170px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.hit[data-v-1ab90d79]{display:flex;justify-content:space-between;width:100%;padding:var(--space-1) var(--space-2);background:none;border:0;cursor:pointer;text-align:left;font-size:var(--text-xs)}.hit[data-v-1ab90d79]:hover{background:var(--color-surface-hover)}.hit.on[data-v-1ab90d79]{background:var(--color-primary-subtle)}.yr[data-v-1ab90d79]{color:var(--color-text-subtle)}.chosen[data-v-1ab90d79]{margin:var(--space-2) 0 0;font-size:var(--text-xs)}.famchoice[data-v-1ab90d79]{margin-top:var(--space-3)}.muted[data-v-1ab90d79]{color:var(--color-text-subtle);font-size:var(--text-xs)}.error[data-v-1ab90d79]{color:var(--color-danger);font-size:var(--text-xs);margin:var(--space-2) 0 0}.buttons[data-v-1ab90d79]{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.grid[data-v-1c78d988]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);margin-bottom:var(--space-2)}.thumb[data-v-1c78d988]{aspect-ratio:1;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:var(--color-surface-sunken)}.thumb[data-v-1c78d988]:hover{border-color:var(--color-primary)}.thumb img[data-v-1c78d988]{width:100%;height:100%;object-fit:cover;display:block}.muted[data-v-1c78d988]{color:var(--color-text-subtle);font-size:var(--text-xs)}.upload[data-v-1c78d988]{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border)}.radio[data-v-1c78d988]{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);cursor:pointer;margin-bottom:var(--space-1)}.radio input[data-v-1c78d988]{accent-color:var(--color-primary)}.radio.dim[data-v-1c78d988]{opacity:.5}.file[data-v-1c78d988]{font-size:var(--text-2xs);width:100%}.file[data-v-1c78d988]::file-selector-button{font:inherit;padding:var(--space-1) var(--space-2);cursor:pointer;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);margin-right:var(--space-2)}.error[data-v-1c78d988]{color:var(--color-danger);font-size:var(--text-xs)}.lightbox[data-v-1c78d988]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 100);background:#000000d1;display:grid;place-items:center;padding:var(--space-6);cursor:zoom-out}.lightbox img[data-v-1c78d988]{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.panel-side[data-v-cba5e87c]{width:340px;flex:none;height:100%;background:var(--color-surface);border-left:1px solid var(--color-border);padding:var(--space-4)}header[data-v-cba5e87c]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}h2[data-v-cba5e87c]{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.span[data-v-cba5e87c]{margin:2px 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.actions[data-v-cba5e87c]{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-5)}.addrow[data-v-cba5e87c]{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;margin:var(--space-3) 0;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.addrow .label[data-v-cba5e87c]{margin-right:var(--space-1)}.home[data-v-cba5e87c]{font-size:var(--text-2xs);color:var(--color-primary);border:1px solid currentColor;border-radius:var(--radius-full);padding:1px var(--space-2)}.local[data-v-cba5e87c]{font-size:var(--text-2xs);color:var(--color-accent);border:1px solid currentColor;border-radius:var(--radius-full);padding:1px var(--space-2)}.living[data-v-cba5e87c]{font-size:var(--text-2xs);color:var(--color-success);border:1px solid currentColor;border-radius:var(--radius-full);padding:1px var(--space-2)}section[data-v-cba5e87c]{margin-bottom:var(--space-5)}h3[data-v-cba5e87c]{margin:0 0 var(--space-2)}ul[data-v-cba5e87c]{margin:0;padding:0;list-style:none}.plain li[data-v-cba5e87c]{padding:3px 0;font-size:var(--text-sm)}.events li[data-v-cba5e87c]{display:grid;grid-template-columns:84px 92px 1fr;gap:var(--space-2);padding:3px 0;font-size:var(--text-xs);align-items:baseline}.tag[data-v-cba5e87c]{color:var(--color-text-muted)}.date[data-v-cba5e87c]{font-variant-numeric:tabular-nums}.place[data-v-cba5e87c]{color:var(--color-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sources li[data-v-cba5e87c]{display:flex;gap:var(--space-2);font-size:var(--text-xs)}.src[data-v-cba5e87c]{flex:1}.muted[data-v-cba5e87c]{color:var(--color-text-subtle);font-size:var(--text-xs)}.small[data-v-cba5e87c]{font-size:var(--text-2xs)}.error[data-v-cba5e87c]{color:var(--color-danger);font-size:var(--text-sm)}.link[data-v-cba5e87c]{background:none;border:0;padding:0;cursor:pointer;color:var(--color-primary);text-align:left;display:flex;gap:var(--space-2);align-items:baseline}.link[data-v-cba5e87c]:hover{text-decoration:underline}.search[data-v-eb0ab08c]{position:relative;width:320px}.results[data-v-eb0ab08c]{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:380px;z-index:var(--z-dropdown);padding:var(--space-1)}.row[data-v-eb0ab08c]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:0;background:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-size:var(--text-sm)}.row[data-v-eb0ab08c]:hover{background:var(--color-surface-hover)}.name[data-v-eb0ab08c]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.years[data-v-eb0ab08c]{color:var(--color-text-subtle);font-size:var(--text-xs)}.dot[data-v-eb0ab08c]{width:9px;height:9px;flex:none}.dot.m[data-v-eb0ab08c]{background:var(--sex-male)}.dot.f[data-v-eb0ab08c]{background:var(--sex-female);border-radius:50%}.dot.u[data-v-eb0ab08c]{background:var(--sex-unknown)}.none[data-v-eb0ab08c]{position:absolute;top:calc(100% + 4px);left:0;font-size:var(--text-xs);color:var(--color-text-subtle);padding:var(--space-2)}.dup[data-v-62d724bb]{width:380px;flex:none;height:100%;background:var(--color-surface);border-left:1px solid var(--color-border);padding:var(--space-4)}header[data-v-62d724bb]{display:flex;justify-content:space-between;align-items:flex-start}h2[data-v-62d724bb]{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.sub[data-v-62d724bb]{margin:2px 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.actions[data-v-62d724bb]{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.cluster[data-v-62d724bb]{margin-bottom:var(--space-5)}.cluster h3[data-v-62d724bb]{margin:0 0 var(--space-2);color:var(--color-accent)}.pair[data-v-62d724bb]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.head[data-v-62d724bb]{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.score[data-v-62d724bb]{font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:1px var(--space-2);border-radius:var(--radius-full);border:1px solid currentColor}.score.sikker[data-v-62d724bb]{color:var(--color-accent)}.score.sandsynlig[data-v-62d724bb]{color:var(--color-primary)}.score.mulig[data-v-62d724bb]{color:var(--color-text-subtle)}.reasons[data-v-62d724bb]{font-size:var(--text-2xs);color:var(--color-text-subtle);line-height:1.4}.people[data-v-62d724bb]{display:grid;gap:var(--space-1);margin-bottom:var(--space-3)}.who[data-v-62d724bb]{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);width:100%;text-align:left;background:var(--color-surface-sunken);border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;font-size:var(--text-sm)}.who[data-v-62d724bb]:hover{border-color:var(--color-border-strong)}.nm[data-v-62d724bb]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yr[data-v-62d724bb]{color:var(--color-text-subtle);font-size:var(--text-xs);flex:none}.buttons[data-v-62d724bb]{display:flex;gap:var(--space-2)}.muted[data-v-62d724bb]{color:var(--color-text-subtle);font-size:var(--text-sm)}.small[data-v-62d724bb]{font-size:var(--text-xs)}.error[data-v-62d724bb]{color:var(--color-danger);font-size:var(--text-sm)}.foot[data-v-62d724bb]{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-2xs);color:var(--color-text-subtle);line-height:1.5}.app[data-v-8a3fa27a]{height:100%;display:flex;flex-direction:column}.bar[data-v-8a3fa27a]{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex:none}.brand[data-v-8a3fa27a]{display:flex;align-items:center;gap:var(--space-3)}.mark[data-v-8a3fa27a]{width:14px;height:14px;flex:none;border-left:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);border-bottom-left-radius:3px}.tree-select[data-v-8a3fa27a]{width:auto;padding:var(--space-1) var(--space-2)}.count[data-v-8a3fa27a]{color:var(--color-text-subtle);font-size:var(--text-xs)}.btn.on[data-v-8a3fa27a]{background:var(--color-primary-subtle);border-color:var(--color-primary)}.right[data-v-8a3fa27a]{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}.depth[data-v-8a3fa27a]{display:flex;align-items:center;gap:var(--space-2)}.depth input[data-v-8a3fa27a]{width:80px;accent-color:var(--color-primary)}.num[data-v-8a3fa27a]{font-size:var(--text-xs);color:var(--color-text-muted);width:10px}.body[data-v-8a3fa27a]{flex:1;display:flex;min-height:0}.main[data-v-8a3fa27a]{flex:1;position:relative;min-width:0}.focusbar[data-v-8a3fa27a]{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.focusbar .hint[data-v-8a3fa27a]{font-size:var(--text-2xs);color:var(--color-text-subtle);margin-left:var(--space-2)}.muted[data-v-8a3fa27a]{color:var(--color-text-muted);font-size:var(--text-xs)}.status[data-v-8a3fa27a]{padding:var(--space-6);color:var(--color-text-muted)}.status.error[data-v-8a3fa27a]{color:var(--color-danger)}:root{--paper-0: #fbfcfc;--paper-1: #f3f6f6;--paper-2: #e8edec;--paper-3: #d9e2e0;--paper-4: #c3d0cd;--ink-900: #0e1a20;--ink-800: #16262e;--ink-700: #21353f;--ink-600: #2f4855;--ink-500: #43606e;--ink-400: #62808e;--ink-300: #8ba4af;--ink-200: #b4c6ce;--ink-100: #d5e0e4;--depth-700: #14495f;--depth-600: #1f5e7a;--depth-500: #2e7089;--depth-400: #4a8ba3;--depth-300: #7cadc0;--depth-200: #aecfda;--depth-100: #d8e9ef;--land-700: #6b5a2e;--land-600: #87733c;--land-500: #a08a55;--land-400: #bda876;--land-300: #d5c69d;--land-200: #e6dcc2;--land-100: #f2ecdd;--caution-700: #7a1a4a;--caution-600: #93225a;--caution-500: #b02e6b;--caution-400: #c85a8d;--caution-300: #dd8ab0;--caution-200: #eebdd2;--caution-100: #f7e2ec;--verify-600: #2f6b4f;--verify-500: #3d8262;--verify-100: #dcece4;--alert-600: #9c3320;--alert-500: #b8452f;--alert-100: #f5ddd8;--warn-600: #8a6414;--warn-500: #a87c22;--warn-100: #f6e9cc;--color-canvas: var(--paper-1);--color-surface: var(--paper-0);--color-surface-raised: #ffffff;--color-surface-sunken: var(--paper-2);--color-surface-hover: var(--paper-2);--color-border: var(--paper-3);--color-border-strong: var(--paper-4);--color-border-focus: var(--depth-500);--color-text: var(--ink-800);--color-text-muted: var(--ink-500);--color-text-subtle: var(--ink-400);--color-text-inverse: var(--paper-0);--color-primary: var(--depth-600);--color-primary-hover: var(--depth-700);--color-primary-subtle: var(--depth-100);--color-primary-text: #ffffff;--color-accent: var(--caution-500);--color-accent-subtle: var(--caution-100);--color-success: var(--verify-600);--color-success-subtle: var(--verify-100);--color-warning: var(--warn-600);--color-warning-subtle: var(--warn-100);--color-danger: var(--alert-600);--color-danger-subtle: var(--alert-100);--color-focus-ring: var(--caution-500);--node-radius-male: 0px;--node-radius-female: 14px;--node-radius-other: 4px;--node-radius-unknown: 0px;--sex-male: var(--depth-600);--sex-male-fill: var(--depth-100);--sex-female: var(--land-600);--sex-female-fill: var(--land-100);--sex-other: var(--verify-500);--sex-other-fill: var(--verify-100);--sex-unknown: var(--ink-300);--sex-unknown-fill: var(--paper-2);--node-living-mark: var(--verify-500);--node-private-stroke: var(--warn-500);--tree-line-blood: var(--ink-500);--tree-line-blood-width: 1.25px;--tree-line-marriage: var(--land-600);--tree-line-marriage-width: 1.25px;--tree-line-marriage-dash: 5 3;--tree-line-adoptive: var(--depth-400);--tree-line-adoptive-width: 1.25px;--tree-line-adoptive-dash: 1 3;--tree-line-highlight: var(--caution-500);--tree-line-highlight-width: 2.5px;--tree-card-bg: var(--color-surface);--tree-card-border: var(--ink-200);--tree-card-width: 168px;--tree-card-height: 52px;--tree-card-gap-x: 24px;--tree-card-gap-y: 72px;--tree-card-focus: var(--caution-500);--gen-0: #ffffff;--gen-1: #f7fafa;--gen-2: #eff5f5;--gen-3: #e6f0f1;--gen-4: #dcebed;--gen-5: #d1e5e8;--lod-dot: .13;--lod-box: .24;--lod-name: .38;--lod-label: .75;--lod-min-font: 10.5px;--quality-verified: var(--verify-500);--quality-unsourced: var(--ink-300);--quality-conflict: var(--alert-500);--quality-impossible: var(--alert-600);--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-condensed: "IBM Plex Sans Condensed", "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--leading-tight: 1.2;--leading-normal: 1.55;--leading-loose: 1.7;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-tight: -.01em;--tracking-normal: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgb(14 26 32 / .07);--shadow-md: 0 3px 10px rgb(14 26 32 / .1);--shadow-lg: 0 10px 30px rgb(14 26 32 / .16);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--transition-fast: .11s cubic-bezier(.4, 0, .2, 1);--transition-base: .19s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-canvas: #0b1519;--color-surface: #12212a;--color-surface-raised: #1a2c37;--color-surface-sunken: #091216;--color-surface-hover: #1e323e;--color-border: #243c48;--color-border-strong: #35505e;--color-text: var(--paper-2);--color-text-muted: var(--ink-300);--color-text-subtle: var(--ink-400);--color-text-inverse: var(--ink-900);--color-primary: var(--depth-300);--color-primary-hover: var(--depth-200);--color-primary-subtle: #14313f;--color-primary-text: var(--ink-900);--color-accent: var(--caution-400);--color-accent-subtle: #3a132a;--color-success: #5fa583;--color-success-subtle: #14291f;--color-warning: #c99f3f;--color-warning-subtle: #302510;--color-danger: #d4685a;--color-danger-subtle: #341612;--sex-male: var(--depth-300);--sex-male-fill: #14313f;--sex-female: var(--land-400);--sex-female-fill: #2f2718;--sex-other: #5fa583;--sex-other-fill: #14291f;--sex-unknown: var(--ink-400);--sex-unknown-fill: #182831;--node-living-mark: #5fa583;--node-private-stroke: #c99f3f;--tree-line-blood: var(--ink-300);--tree-line-marriage: var(--land-400);--tree-line-adoptive: var(--depth-400);--tree-line-highlight: var(--caution-400);--tree-card-bg: #12212a;--tree-card-border: #2c4553;--tree-card-focus: var(--caution-400);--gen-0: #12212a;--gen-1: #142530;--gen-2: #172a36;--gen-3: #1a2f3c;--gen-4: #1d3442;--gen-5: #203949;--quality-verified: #5fa583;--quality-unsourced: var(--ink-400);--quality-conflict: #d4685a;--quality-impossible: #e37f70;--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow-md: 0 3px 10px rgb(0 0 0 / .5);--shadow-lg: 0 10px 30px rgb(0 0 0 / .6)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark}}@media(prefers-contrast:more){:root{--color-border: var(--ink-300);--color-text-muted: var(--ink-700);--tree-line-blood-width: 2px;--tree-card-border: var(--ink-500)}}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}html,body,#app{height:100%}body{overflow:hidden}button,input,select{font-family:inherit;font-size:inherit;color:inherit}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.btn:hover{background:var(--color-surface-hover);border-color:var(--ink-300)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.45;cursor:default;transform:none}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.field{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm)}.field:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle)}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.scroll{overflow-y:auto;scrollbar-width:thin}.scroll::-webkit-scrollbar{width:10px}.scroll::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:3px solid var(--color-surface)}
