.genealogy-page{--genealogy-accent:var(--accent,#d5a84b)}
.genealogy-hero .model-card h2{font-size:1.35rem}
.genealogy-workbench{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr) minmax(250px,320px);gap:1rem;align-items:start;margin:1.25rem 0 2rem}
.genealogy-controls,.genealogy-person-panel{position:sticky;top:5.5rem}
.genealogy-controls{display:grid;gap:.9rem;padding:1rem}
.genealogy-controls h2{margin:0}
.genealogy-controls label>span,.pathfinder label>span{display:block;margin-bottom:.3rem;color:var(--muted);font-size:.9rem}
.genealogy-controls input,.genealogy-controls select,.pathfinder input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:.65rem;background:var(--panel);color:var(--text);padding:.7rem .75rem}
.genealogy-controls fieldset{border:1px solid var(--line);border-radius:.75rem;padding:.75rem;display:grid;gap:.55rem}
.genealogy-controls legend{padding:0 .35rem;color:var(--muted)}
.control-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.control-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.genealogy-main{min-width:0}.genealogy-network-header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.75rem}.genealogy-network-header h2{margin:.1rem 0}.genealogy-status{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:.35rem .65rem;color:var(--muted)}
.genealogy-tabs{display:flex;gap:.35rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:.8rem}.genealogy-tabs button[aria-selected="true"]{background:var(--accent);color:#111;border-color:var(--accent)}
.genealogy-canvas{min-height:420px;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);padding:1rem;overflow:hidden}
.genealogy-scroll{overflow:auto;max-width:100%;padding:.5rem .25rem 1rem}.genealogy-tree,.genealogy-tree ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:.7rem;position:relative}.genealogy-tree ul{padding-top:1.35rem}.genealogy-tree li{display:flex;flex-direction:column;align-items:center;position:relative;min-width:135px}.genealogy-tree li>ul:before{content:"";position:absolute;top:.65rem;left:12%;right:12%;border-top:1px solid var(--line)}.genealogy-tree li>ul>li:before{content:"";position:absolute;top:-.7rem;height:.7rem;border-left:1px solid var(--line)}
.genealogy-node{width:132px;min-height:76px;text-align:left;border:1px solid var(--line);border-radius:.75rem;background:var(--panel);color:var(--text);padding:.65rem;display:flex;flex-direction:column;gap:.2rem;box-shadow:none}.genealogy-node:hover,.genealogy-node.is-selected{border-color:var(--accent)}.genealogy-node strong{font-size:.95rem}.genealogy-node small{color:var(--muted);font-size:.74rem}.genealogy-node .node-flags{display:flex;gap:.25rem;flex-wrap:wrap}.genealogy-node .node-flag{font-size:.65rem;border:1px solid var(--line);border-radius:999px;padding:.08rem .3rem}
.tree-limit{color:var(--muted);font-size:.78rem;margin-top:.3rem}
.family-focus{display:grid;gap:1rem}.focus-person{border:1px solid var(--accent);border-radius:1rem;padding:1rem;background:color-mix(in srgb,var(--accent) 8%,transparent)}.family-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.family-group{border-top:1px solid var(--line);padding-top:.7rem}.family-group h3{margin:.1rem 0 .55rem}.person-chip-list{display:flex;flex-wrap:wrap;gap:.45rem}.person-chip{border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);padding:.4rem .65rem}.person-chip small{color:var(--muted)}
.genealogy-person-panel{border:1px solid var(--line);border-radius:1rem;background:var(--panel);padding:1rem;min-height:280px}.genealogy-person-panel h2{margin:.1rem 0}.person-status{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.2rem .45rem;font-size:.75rem;color:var(--muted)}.person-facts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0}.person-facts div{border-top:1px solid var(--line);padding-top:.45rem}.person-facts dt{font-size:.72rem;color:var(--muted)}.person-facts dd{margin:.15rem 0 0}.person-links{display:grid;gap:.45rem}.person-links button{text-align:left}.timeline-link{display:inline-flex;margin-top:.75rem}
.pathfinder{display:grid;grid-template-columns:1fr auto 1fr auto;gap:.8rem;align-items:end;padding:1rem}.path-arrow{padding-bottom:.75rem;color:var(--muted)}.genealogy-path-result{margin-top:1rem}.path-chain{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.path-step{border:1px solid var(--line);border-radius:.65rem;background:var(--panel);padding:.55rem .7rem}.path-relation{color:var(--muted);font-size:.78rem}.path-warning{border-left:3px solid var(--accent);padding:.75rem 1rem;background:rgba(255,255,255,.025)}
.relationship-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.legend-card{border:1px solid var(--line);border-radius:.8rem;padding:.8rem}.legend-line{height:10px;margin:.45rem 0;position:relative}.legend-line:after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid var(--text)}.legend-line.double:after{border-top:3px double var(--text)}.legend-line.dashed:after{border-top-style:dashed}.legend-line.dotted:after{border-top-style:dotted}.legend-line.accent:after{border-color:var(--accent)}
.genealogy-error-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.genealogy-error{border:1px solid var(--line);border-radius:.8rem;padding:.9rem}.genealogy-error strong{display:block;margin-bottom:.35rem}
.lineage-comparison{display:grid;gap:1rem}.lineage-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.lineage-column{border:1px solid var(--line);border-radius:.9rem;padding:.8rem;min-width:0}.lineage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;max-height:610px;overflow:auto}.lineage-person{display:flex;justify-content:space-between;gap:.35rem;text-align:left;border:1px solid var(--line);border-radius:.55rem;background:var(--panel);color:var(--text);padding:.45rem}.lineage-person.is-shared{border-color:var(--accent)}.lineage-observations,.lineage-theories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.lineage-theory{border:1px solid var(--line);border-radius:.75rem;padding:.8rem}.lineage-theory span{font-size:.75rem;color:var(--muted)}
.network-root-title{text-align:center;color:var(--muted);font-size:.8rem;margin:.5rem 0}.empty-genealogy{padding:2rem;text-align:center;color:var(--muted)}
@media(max-width:1100px){.genealogy-workbench{grid-template-columns:240px minmax(0,1fr)}.genealogy-person-panel{position:static;grid-column:1/-1}.genealogy-controls{position:static}}
@media(max-width:760px){.genealogy-workbench{grid-template-columns:1fr}.genealogy-controls,.genealogy-person-panel{position:static}.control-row,.family-groups,.lineage-columns,.lineage-observations,.lineage-theories,.genealogy-error-grid,.relationship-legend{grid-template-columns:1fr}.pathfinder{grid-template-columns:1fr}.path-arrow{display:none}.genealogy-network-header{display:block}.genealogy-status{display:inline-block;margin-top:.5rem}.genealogy-canvas{padding:.65rem}.lineage-list{grid-template-columns:1fr}.genealogy-tree li{min-width:120px}.genealogy-node{width:116px}}
@media print{.genealogy-controls,.genealogy-tabs,.pathfinder button,.hero-actions,.site-header nav{display:none!important}.genealogy-workbench{display:block}.genealogy-person-panel{position:static;margin-top:1rem}.genealogy-canvas{overflow:visible}.genealogy-scroll{overflow:visible}.genealogy-tree{transform:scale(.82);transform-origin:top left}}
