.tree-hero{padding-bottom:30px}.tree-hero .lede{max-width:850px}.family-tree-app[hidden],.tree-results[hidden],#tree-fallback[hidden]{display:none}.tree-toolbar{padding:24px;background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(170px,.8fr) minmax(170px,.8fr);gap:22px;align-items:end}.tree-toolbar label{display:block;font-size:13px;font-weight:650}.tree-toolbar input,.tree-toolbar select{display:block;width:100%;padding:11px 12px;background:var(--white);color:var(--ink);border:1px solid #94a298;border-radius:0;font:16px/1.4 system-ui;margin-top:7px;min-height:46px}.tree-search-field{display:flex;align-items:end;gap:10px}.tree-search-field label{flex:1}.tree-search-field button{min-height:46px}.tree-results{padding:22px 24px;border:1px solid var(--line);border-top:0;background:var(--white)}.search-count{font-size:13px;color:var(--muted);margin-bottom:12px}.search-people{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.search-people .relative-button{text-align:left}.tree-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 0}.tree-actions button{background:var(--white);border:1px solid #a5b3a9;min-height:42px;padding:8px 14px;color:var(--ink);font:14px/1.3 system-ui;cursor:pointer}.tree-actions button:hover:not(:disabled){background:var(--surface)}.tree-actions button:disabled{opacity:.45;cursor:default}.tree-zoom{display:flex;align-items:center;gap:6px;margin-left:auto}.tree-zoom output{min-width:52px;text-align:center;font-size:13px}.tree-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:25px;align-items:start}.tree-viewport{background:#f0f3ec;border:1px solid var(--line);height:620px;overflow:auto;overscroll-behavior:contain;position:relative;scrollbar-gutter:stable}.tree-stage{position:relative;min-width:100%;min-height:100%}.tree-canvas{position:relative;transform-origin:0 0}.tree-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tree-connectors path{fill:none;stroke:#7b9382;stroke-width:2}.tree-connectors .partner-line{stroke-width:4;stroke:#a6b8a7}.tree-connectors .tentative-line{stroke-dasharray:7 5;stroke:#8a622f}.tree-person{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:13px 17px;background:var(--white);border:1px solid #a6b6a6;border-radius:2px;text-align:left;color:var(--ink);cursor:pointer;font-family:system-ui;box-shadow:0 2px 0 #dce4d8;overflow:hidden}.tree-person:hover{background:#e5ecdf;border-color:var(--accent)}.tree-person:focus-visible{outline:3px solid #275da1;outline-offset:3px;z-index:2}.tree-person.is-selected{background:var(--ink);border-color:var(--ink);color:white}.tree-person.is-selected:hover{background:#24534b}.tree-person.is-tentative{border:2px dashed #9b733c}.tree-relation{font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.02em;color:var(--muted)}.tree-person.is-selected .tree-relation{color:#d2e0d5}.tree-name{font-size:15px;font-weight:650;line-height:1.3;overflow-wrap:break-word}.tree-caption{font-size:13px;color:var(--muted);margin:13px 0 16px}.tree-legend{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 18px;font-size:12px;color:var(--muted)}.tree-legend span{display:flex;align-items:center;gap:7px}.tree-legend i{display:block;width:25px;border-top:2px solid #7b9382}.tree-legend .legend-tentative{border-top:2px dashed #8a622f}.tree-legend .legend-partner{border-top:4px solid #a6b8a7}.person-detail{background:var(--white);border:1px solid var(--line);padding:25px;position:sticky;top:15px}.person-detail h2{font-size:29px;line-height:1.2;overflow-wrap:break-word;margin-bottom:16px}.person-detail h3{font-size:15px;margin:22px 0 10px}.person-branch{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.person-summary{font-size:15px;color:var(--muted);line-height:1.7}.person-note{font-size:13px;line-height:1.7;color:var(--muted)}.person-relatives ul{padding:0;margin:0;list-style:none}.person-relatives li{margin:8px 0}.relative-button{border:0;padding:2px 0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-align:left;font:14px/1.55 system-ui;cursor:pointer}.relative-button:hover{color:var(--accent)}.tentative-note{display:block;font-size:11px;color:#85602f}.uncertain-box{border-left:3px dashed #9b733c;padding-left:15px;margin:20px 0}.uncertain-box h3{margin-top:0}.uncertain-box p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:0}.tree-chapter{display:inline-block;font-size:14px;margin-top:15px}.person-sources{padding-left:17px;margin:0}.person-sources li{font-size:12px;line-height:1.65;margin:9px 0;color:var(--muted);overflow-wrap:anywhere}.tree-status{min-height:25px;font-size:13px;color:var(--muted);margin:0 0 18px}.tree-records{max-width:850px;padding:35px 0 50px}.tree-records h2{font-size:29px}.tree-records p{color:var(--muted);font-size:15px}.tree-fallback img{display:block;width:100%;max-width:960px;height:auto}.tree-jump{font-size:13px}.tree-links{margin-bottom:45px}@media(max-width:1050px){.tree-layout{grid-template-columns:minmax(0,1fr) 295px}.person-detail{padding:22px}.person-detail h2{font-size:26px}.tree-toolbar{grid-template-columns:1.2fr .8fr}.tree-toolbar>label:last-child{grid-column:1/-1;max-width:340px}}@media(max-width:800px){.tree-layout{grid-template-columns:1fr}.person-detail{position:static}.tree-viewport{height:520px}.tree-toolbar{grid-template-columns:1fr 1fr;padding:20px;gap:18px}.tree-search-field{grid-column:1/-1}.tree-toolbar>label:last-child{grid-column:auto;max-width:none}.tree-zoom{margin-left:0}.tree-actions{gap:8px}.tree-actions button{font-size:13px;padding:9px 11px}.search-people{grid-template-columns:1fr}.tree-records{padding-top:25px}}@media(max-width:450px){.tree-toolbar{grid-template-columns:1fr}.tree-toolbar>label:last-child{grid-column:1}.tree-actions{gap:8px}.tree-actions .tree-zoom{width:100%;justify-content:flex-start;margin-top:4px}.tree-search-field{gap:8px}.tree-toolbar input{min-width:0}.tree-search-field label{min-width:0}.tree-viewport{height:470px}.tree-name{font-size:15px}.person-detail h2{font-size:27px}}@media(prefers-reduced-motion:reduce){.tree-viewport{scroll-behavior:auto}}@media print{.tree-toolbar,.tree-actions,.tree-results,.tree-jump{display:none}.tree-layout{display:block}.tree-viewport{height:auto;overflow:visible}.person-detail{position:static;break-before:page}.tree-person{box-shadow:none}.tree-stage{max-width:100%}}
