.profile-lineage{margin-block:2.5rem;padding-block:1.5rem;border-block:1px solid #dce5e3}
.lineage-diagram{position:relative;margin-block:1.25rem;min-width:0}
.lineage-diagram-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.lineage-diagram-heading p{margin:0;font-size:.95rem;line-height:1.8}
.lineage-diagram-heading .small{font-size:.83rem}
.lineage-branch-count{flex-shrink:0;white-space:nowrap;color:#53696f;border:1px solid #dce5e3;border-radius:20px;padding:.35rem .7rem;font-size:.75rem}
.lineage-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.65rem;border:1px solid #dce5e3;border-bottom:0;border-radius:14px 14px 0 0;background:#fff}
.lineage-controls[hidden]{display:none}
.lineage-controls button{min-width:42px;min-height:42px;border:1px solid #cad9d2;border-radius:6px;background:#fff;color:#19333f;padding:.35rem .7rem;cursor:pointer;font:600 .85rem Arial,sans-serif}
.lineage-controls button:hover,.lineage-controls button:focus-visible{background:#e6f2eb;border-color:#13745f}
.lineage-controls output{min-width:4.5ch;text-align:center;font-size:.8rem;font-variant-numeric:tabular-nums;color:#53696f}
.lineage-controls>span{margin-left:auto;font-size:.75rem;color:#53696f}
.lineage-scroll{overflow:auto;border:1px solid #dce5e3;border-radius:14px;background-color:#f5f8f7;background-image:radial-gradient(#cad8d1 .7px,transparent .7px);background-size:18px 18px;padding:0;max-width:100%;height:clamp(380px,66vh,700px);overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;cursor:grab;scrollbar-gutter:stable}
.lineage-controls:not([hidden])+.lineage-scroll{border-radius:0 0 14px 14px}
.lineage-scroll.is-dragging{cursor:grabbing;user-select:none}
.lineage-scroll:focus-visible{outline:3px solid #13745f;outline-offset:3px}
.lineage-svg{display:block;max-width:none;min-width:0;margin-inline:auto;overflow:visible}
.lineage-edge{fill:none;stroke-width:2.8;stroke:#a35329}
.lineage-edge-bachelors{stroke:#7b4cad;stroke-dasharray:14 5 2 5}
.lineage-edge-masters{stroke:#276e9c;stroke-dasharray:8 5}
.lineage-edge-phd{stroke:#a35329;stroke-dasharray:none}
.lineage-edge-postdoc{stroke:#24735a;stroke-dasharray:2 5;stroke-linecap:round}
.lineage-edge-label{font:600 10px Arial,sans-serif;paint-order:stroke;stroke:#f5f8f7;stroke-width:5px;stroke-linejoin:round;fill:#19333f}
.lineage-edge-label-bachelors{fill:#69408f}.lineage-edge-label-masters{fill:#205c83}.lineage-edge-label-phd{fill:#8a4423}.lineage-edge-label-postdoc{fill:#1d624c}
.lineage-node .lineage-node-card{fill:#fff;stroke:#bed0ca;stroke-width:1.5;filter:drop-shadow(0 3px 4px #19333f0b)}
.lineage-node.is-focus .lineage-node-card{fill:#e6f2eb;stroke:#13745f;stroke-width:2.5}
.lineage-node text{fill:#19333f;font:600 13px Arial,sans-serif;pointer-events:none}
.lineage-node .lineage-node-portrait-bg{fill:#e8eeeb;stroke:#d5dfd8;stroke-width:1.5}
.lineage-node .lineage-node-initials{font-size:21px;fill:#537565}
.lineage-node .lineage-node-status{font-size:10px;fill:#53696f;font-weight:400}
.lineage-node:hover .lineage-node-card,.lineage-node:focus-visible .lineage-node-card{stroke:#13745f;stroke-width:3}
.lineage-node{cursor:pointer;outline:0}
.lineage-branch-label{fill:#6b7771;font:600 12px Arial,sans-serif;letter-spacing:.06em}
.lineage-legend{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;align-items:center;margin-block:.85rem;font-size:.85rem;color:#53696f}
.lineage-key{display:inline-flex;gap:.45rem;align-items:center;white-space:nowrap}
.lineage-key svg{display:block;flex-shrink:0}
.lineage-direction{margin-left:auto;font-size:.8rem}
.lineage-list summary{padding-block:.5rem;cursor:pointer}.lineage-list li{margin-block:.45rem}
.lineage-browser{margin-block:1.5rem}.lineage-browser select{min-height:44px;max-width:100%;font-size:1rem}.lineage-page .card{max-width:100%;min-width:0}
@media(max-width:640px){.lineage-diagram-heading{display:block}.lineage-branch-count{display:inline-block;margin-top:.65rem}.lineage-scroll{height:58vh;min-height:360px;max-height:620px}.lineage-controls>span{flex-basis:100%;margin:.2rem 0 0;font-size:.75rem}.lineage-controls button{font-size:.8rem}.lineage-legend{font-size:.78rem;gap:.7rem 1rem}.lineage-direction{flex-basis:100%;margin-left:0}.profile-lineage h2{font-size:1.6rem}}
.lineage-community-card{padding:32px}.lineage-filter-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:20px;align-items:end}.lineage-filter-grid label{display:block;font-size:.85rem;line-height:1.75;min-width:0}.lineage-filter-grid input,.lineage-filter-grid select{display:block;margin-top:9px;min-width:0}.lineage-browser .button-row{margin-top:22px}.lineage-community-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-block:40px 25px}.lineage-community-heading h2{font-size:2.5rem;line-height:1.15;max-width:24ch}.lineage-community-totals{min-width:145px;font-size:.85rem;line-height:1.8;color:var(--muted);text-align:right}.lineage-community-totals strong{font:2.3rem var(--serif);color:var(--ink);display:block}.lineage-community-totals span{display:block}.lineage-complete-list{margin-top:35px;padding-top:26px;border-top:1px solid var(--line)}.lineage-complete-list>h3{font:1.7rem var(--serif);margin-bottom:15px}.lineage-scope-note{padding:15px 18px;border-left:3px solid #8769a6;background:#f1eef6;font-size:.86rem;line-height:1.8;margin-block:18px}.lineage-relationship-list{list-style:none;padding:0;margin-block:18px}.lineage-relationship-list>li{padding:16px 0;border-bottom:1px solid var(--line);line-height:1.8;font-size:.9rem;overflow-wrap:anywhere}.lineage-relationship-list>li>a:first-child{font-weight:600}.lineage-relationship-level{display:inline-block;margin-inline:10px;border:1px solid #d1d9d6;padding:2px 7px;border-radius:3px;font-size:.72rem;font-weight:600;white-space:normal}.lineage-level-bachelors{background:#f0ebf7;color:#624a7a}.lineage-level-masters{background:#ecf1f5;color:#3b607a}.lineage-level-phd{background:#f8ede7;color:#8c4f35}.lineage-level-postdoc{background:#e9f3ee;color:#22634f}.lineage-qualification-titles{padding-left:20px;margin:9px 0 0;list-style:disc;color:var(--muted);font-size:.82rem}.lineage-qualification-titles>li{margin-block:4px}.lineage-provenance{line-height:1.9;margin-block:30px 18px}
@media(max-width:900px){.lineage-filter-grid{grid-template-columns:1fr 1fr}.lineage-filter-grid>label:first-child{grid-column:1/-1}.lineage-community-card{padding:25px 20px}.lineage-community-heading h2{font-size:2.1rem}}
@media(max-width:640px){.lineage-filter-grid{grid-template-columns:1fr}.lineage-filter-grid label{font-size:.94rem}.lineage-filter-grid input,.lineage-filter-grid select{font-size:16px}.lineage-browser .button-row{align-items:stretch;flex-direction:column}.lineage-browser .button{width:100%}.lineage-browser .text-link{min-height:44px}.lineage-community-heading{display:block}.lineage-community-totals{text-align:left;margin-top:20px}.lineage-community-totals strong{display:inline;font-size:1.5rem;margin-right:6px}.lineage-community-totals span{font-size:.9rem}.lineage-community-card{padding:22px 16px}.lineage-relationship-list>li{font-size:.97rem}.lineage-relationship-level{font-size:.8rem;margin-inline:4px}.lineage-qualification-titles{font-size:.9rem}.lineage-scope-note{font-size:.94rem}.lineage-complete-list>h3{font-size:1.6rem}.lineage-list summary{font-size:.96rem;min-height:44px}.lineage-provenance{font-size:.88rem}}

.lineage-popover{position:absolute;z-index:8;box-sizing:border-box;max-height:70vh;overflow:auto;overscroll-behavior:contain;width:300px;max-width:calc(100% - 16px);padding:22px;border:1px solid #bdcec5;border-radius:12px;background:#fff;box-shadow:0 12px 40px #19333f30;color:#19333f;text-align:left}
.lineage-popover[hidden],.lineage-popover [hidden]{display:none}
.lineage-popover-close{position:absolute;top:6px;right:7px;min-width:36px;min-height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:#53696f;font:24px Arial,sans-serif;cursor:pointer}
.lineage-popover-close:hover,.lineage-popover-close:focus-visible{background:#e6f2eb;color:#13745f}
.lineage-popover-identity{display:flex;align-items:center;gap:12px;padding-right:16px}
.lineage-popover-identity>img{width:58px;height:58px;object-fit:cover;object-position:50% 24%;border-radius:50%;flex-shrink:0}
.lineage-popover .eyebrow{font-size:9px;margin:0 0 5px;line-height:1.5}
.lineage-popover h3{margin:0;font:600 17px/1.4 Arial,sans-serif;overflow-wrap:anywhere}
.lineage-popover dl{margin:18px 0 13px}.lineage-popover dt{color:#66776e;font-size:10px;letter-spacing:.04em;text-transform:uppercase;line-height:1.6;margin-top:10px}.lineage-popover dd{margin:3px 0 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.lineage-popover .small{margin:10px 0 14px;font-size:11px;line-height:1.6}.lineage-popover .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;font-size:13px;line-height:1.5;text-decoration:none}
@media(max-width:640px){.lineage-popover{padding:19px;width:285px}.lineage-popover h3{font-size:17px}.lineage-popover dd{font-size:14px}.lineage-popover .button{font-size:14px}.lineage-popover .small{font-size:12px}}
