.family-v4{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;margin:0 0 26px}.family-v4-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px}.family-v4-head>h2{font-size:21px}.family-v4-actions{display:flex;gap:9px;flex-wrap:wrap}.family-v4-tabs{display:flex;gap:8px;padding:0 24px 17px;overflow:auto}.family-v4-tabs>.btn{white-space:nowrap}.family-v4-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 24px;border-block:1px solid var(--line);background:#f2f7f3;font-size:12px}.family-v4-controls label{display:flex;align-items:center;gap:7px}.family-v4-controls select{padding:6px;min-height:35px}.family-v4-controls input{width:16px;height:16px}.family-v4-controls .btn{min-height:35px;padding:6px 9px;font-size:12px}.family-v4-canvas{width:100%;overflow:auto;max-height:75vh;min-height:280px;background:#fff}.family-fan{display:block;width:100%;min-width:600px}.family-fan a:hover path{filter:brightness(.93)}.family-fan a:focus-visible{outline:0}.family-fan a:focus-visible path{stroke:#245bc1;stroke-width:4}.family-v4-note{padding:16px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line);line-height:1.7}.lineage-scroll{overflow:auto;padding:30px;max-height:70vh}.lineage-chart,.lineage-chart ul{display:flex;align-items:flex-start;gap:18px;list-style:none;padding:20px 0 0;margin:0;width:max-content;min-width:100%;justify-content:center}.lineage-chart li{text-align:center;position:relative}.lineage-chart ul:before{content:'';height:20px;width:1px;background:#9db9a7;position:absolute;left:50%;top:76px}.lineage-chart ul>li{border-top:1px solid #b7ccbd;padding-top:16px}.lineage-person{display:flex;align-items:center;gap:10px;max-width:250px;min-width:180px;background:#edf5ef;color:#153e35;border:1px solid #bcd1c3;border-radius:12px;padding:14px;text-align:left;margin:auto}.lineage-person>img,.lineage-person>span{width:38px;height:38px;object-fit:cover;border-radius:50%;flex:none;background:#d9e8dc;display:grid;place-items:center}.lineage-person>span>svg{width:20px;height:20px}.lineage-person strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.lineage-person small{font-size:10px;color:var(--muted)}.family-v4:fullscreen,.family-expanded{background:#fff;padding:20px}.family-expanded{position:fixed;inset:0;z-index:100;overflow:auto}.family-v4:fullscreen .family-v4-canvas,.family-expanded .family-v4-canvas{max-height:calc(100dvh - 200px)}[data-family-path-result]{margin-top:20px}[data-family-path-result] li{padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:760px){.family-v4-head{display:block;padding:18px}.family-v4-head>h2{font-size:20px}.family-v4-actions{margin-top:14px}.family-v4-actions .btn{font-size:11px;padding:9px 11px}.family-v4-tabs{padding:0 18px 15px}.family-v4-tabs>.btn{font-size:12px}.family-v4-controls{padding:13px 15px;gap:11px}.family-v4-controls label{font-size:11px}.family-v4-controls .family-option{width:calc(50% - 7px)}.family-v4-canvas{min-height:230px;max-height:62vh}.family-fan{min-width:520px}.family-v4-note{font-size:11px;padding:15px}.lineage-scroll{padding:18px}.family-expanded{padding:8px}.family-v4:fullscreen .family-v4-canvas,.family-expanded .family-v4-canvas{max-height:calc(100dvh - 300px)}}
@media print{.family-v4-controls,.family-v4-actions,.family-v4-tabs{display:none!important}.family-v4-canvas{max-height:none;overflow:visible}.family-fan{width:100%;min-width:0}}

@media(max-width:760px){.family-fan{min-width:0}}

/* Audit3010: one main set of controls; readable mobile genealogy. */
.family-view-visual-controls{display:flex;gap:8px;align-items:center}.family-view-visual-controls[hidden]{display:none}.family-diagram-options{margin-inline-start:auto}.family-diagram-options>summary{cursor:pointer;padding:10px;min-height:44px;box-sizing:border-box}.family-diagram-options>div{display:flex;flex-wrap:wrap;gap:16px;padding:16px 0}.family-readable-list{padding:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.family-readable-list article{min-width:0;border-bottom:1px solid var(--line);padding-bottom:18px}.family-readable-person{display:grid;gap:5px;min-height:52px;color:var(--ink);text-underline-offset:3px;overflow-wrap:anywhere}.family-readable-person strong{font-size:18px;line-height:1.4}.family-readable-person span,.family-readable-person small{font-size:14px;color:var(--muted)}.family-readable-person span:empty{display:none}.family-readable-list ul{padding-inline-start:18px}.family-readable-list li{margin-top:10px;line-height:1.5}.family-readable-list li>span{display:block;color:var(--muted);font-size:14px}.family-v4-tabs>.btn,.family-v4-actions .btn{font-size:14px;min-height:44px}.family-v4-note{font-size:14px}.family-v4-controls{font-size:14px}.family-v4-controls select{font-size:15px;min-height:44px}.family-v4 a:focus-visible,.family-v4 button:focus-visible,.family-v4 select:focus-visible,.family-v4 summary:focus-visible{outline:3px solid var(--focus,#508d76);outline-offset:3px}.family-v4 ::selection{background:#153e35;color:white}
@media(max-width:760px){.family-v4-head{padding:16px}.family-v4-actions .btn,.family-v4-tabs>.btn{font-size:14px;min-height:44px}.family-v4-tabs{padding:0 16px 16px;gap:8px;flex-wrap:wrap;overflow:visible}.family-v4-controls{padding:12px 16px;gap:12px;align-items:flex-start}.family-v4-controls label{font-size:14px}.family-v4-controls select{font-size:16px;min-height:44px}.family-v4-controls .btn{min-height:44px;font-size:16px}.family-diagram-options{margin-inline-start:0;width:100%}.family-v4-canvas{min-height:0;max-height:none}.family-readable-list{display:block;padding:16px}.family-readable-list article+article{margin-top:20px}.family-readable-person strong{font-size:19px}.family-readable-person span,.family-readable-person small,.family-readable-list li>span{font-size:14px}.family-readable-list li a{display:inline-block;padding-block:5px;font-size:16px}.family-v4-note{font-size:14px;padding:16px}.family-fan{min-width:900px}.lineage-person strong{font-size:16px}.lineage-person small{font-size:14px}.lineage-scroll{max-height:65vh}.gt-workspace[hidden]{display:none}.family-v4:fullscreen .family-v4-canvas,.family-expanded .family-v4-canvas{max-height:calc(100dvh - 300px);overflow:auto}}
@media(prefers-reduced-motion:reduce){.family-v4,.family-readable-list{scroll-behavior:auto}}
