.kinship-line{fill:none;stroke:var(--tree-line,#a9bc9d);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.kinship-line.lit{stroke:#e0c98f;stroke-width:1.7}
.kinship-line.proposed{stroke:#bca078;stroke-dasharray:4 5}
.family-junction{fill:var(--tree-line,#b8cba8);stroke:none;pointer-events:none}
.connection-pulse{fill:var(--tree-light,#eff8d6);filter:drop-shadow(0 0 2.5px var(--tree-line,#d2e9a8));pointer-events:none}
.person-node .back{fill:#0a100df5;stroke:#334331;stroke-width:.7}
.person-node .name{font-family:Georgia,"Times New Roman",serif;font-size:14px;fill:#dce5ca}
.person-node .dot{fill:var(--tree-line,#b4c9a5);stroke:#455839;stroke-width:1}
.person-node .aka{font-size:10px;fill:#a0b192}
.person-node .dates{fill:#91a287}
.person-node.selected .back{fill:#142016;stroke:var(--tree-line,#bfd2a9);stroke-width:1.2}
.person-node.selected .name{fill:#f2f0d5}
.person-node.selected .dot{fill:var(--tree-light,#eff8d6);stroke:var(--tree-line,#a7bc80)}
.person-node:hover .back,.person-node:focus .back{fill:#19261a;stroke:var(--tree-line,#a4bc95)}
.graph{background:#080d0a;touch-action:pan-y pinch-zoom}
.line-key{border-top-width:1px;border-top-color:var(--tree-line,#a9bc9d);border-radius:0}
.line-key.distance{opacity:.35}
.line-key.dashed{border-top-style:solid}
.graph-hint{background:#080c0bdf;border-radius:5px;padding:3px 9px}
.graph-tools{flex-wrap:wrap}
.tree-color-control{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:11px}
.tree-color-control select{width:auto;max-width:165px;margin:0;padding:6px 8px;font-size:12px}
.tree-custom-color{width:38px;height:32px;min-width:38px;padding:2px;margin:0}
@media(max-width:650px){.graph-toolbar{flex-wrap:wrap;gap:12px}.graph-tools{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.connection-pulse{display:none}}

.person-portrait{float:right;width:160px;margin:0 0 20px 25px}.person-portrait img{width:160px;max-height:200px;object-fit:contain;border-radius:6px;background:#111a14}.person-portrait figcaption{font-size:10px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.person-portrait figcaption a{color:var(--tree-line,#a9bc9d)}.person-section:after{content:"";display:block;clear:both}.collection-note{font-size:12px;color:var(--muted);margin-top:12px}.collection-note a{color:var(--tree-line,#a9bc9d)}@media(max-width:600px){.person-portrait{float:none;margin:0 0 18px;width:130px}.person-portrait img{width:130px;max-height:160px}}

.catalog-status{font-size:12px;margin:16px 0 8px;line-height:1.6}.public-branches{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.public-branches:empty{display:none}.public-branches .relative-link{font-size:11px}

/* Compact information area: keep the tree close to search and the selected person. */
.header{height:60px}
.brand{font-size:27px}.brand svg{width:29px;height:29px;margin-right:8px}
.search-section{display:grid;grid-template-columns:100px minmax(0,1fr);gap:6px 12px;margin-top:12px;padding-bottom:10px}
.search-heading{margin:0;align-self:center}.search-heading span{display:none}
.search-form{min-width:0;gap:8px}.search-form textarea{min-height:40px;height:40px;padding:9px 12px;line-height:20px;font-size:12px}
.search-form .button{min-width:120px;padding:8px 12px;gap:12px;font-size:12px}
.catalog-browser{grid-column:2;font-size:11px;color:var(--muted)}.catalog-browser summary{cursor:pointer;width:fit-content;padding:2px 0}.catalog-browser[open] summary{color:var(--accent)}
.catalog-browser .catalog-status{font-size:11px;line-height:1.4;margin:6px 0}.catalog-browser .public-branches{margin-top:5px}
.search-results{grid-column:1/-1;padding-top:8px}
.person-section{margin-top:12px;min-height:0}
.person-heading{gap:12px;align-items:center}.person-title h2{font-size:23px;line-height:1.2;margin:0 0 3px}.birth-name{font-size:16px;margin-bottom:4px}
.person-heading .actions{gap:5px}.person-heading .button.small{padding:5px 9px;font-size:11px;min-height:30px}
.person-title .tag{font-size:9px;padding:1px 6px;margin-bottom:0}.person-description{font-size:12px;margin:5px 0;line-height:1.4}
.tabs{gap:20px;margin:8px 0 9px}.tab{padding:5px 0;font-size:11px}
.facts-grid{gap:12px 24px}.fact-title{margin:0 0 5px;letter-spacing:1.2px}.facts{margin:0;grid-template-columns:76px minmax(0,1fr);gap:4px 10px;font-size:12px;line-height:1.45}
.facts dd{overflow-wrap:anywhere}.facts .relative-link{display:inline-block;margin:0 10px 0 0;font-size:12px;line-height:1.45}
.person-source{margin:3px 0 6px;line-height:1.45}.source-note{padding:7px 9px;line-height:1.45;margin:6px 0 0}
.person-portrait{width:100px;margin:0 0 8px 16px}.person-portrait img{width:100px;max-height:120px}.person-portrait figcaption{font-size:10px;line-height:1.35}.photo-credit{margin-top:3px}.photo-credit summary{cursor:pointer;color:var(--accent)}
.explorer-top{padding:14px 0 5px;align-items:center;gap:12px}.explorer-top h1{font-size:21px;margin:0}.tree-picker{flex-direction:row;align-items:center;gap:8px;min-width:0;max-width:60%}.tree-picker .eyebrow{white-space:nowrap;font-size:9px;letter-spacing:1px}.tree-picker select{min-width:200px;max-width:360px;padding:6px 9px;font-size:12px}
.graph-toolbar{padding:5px 0 7px;gap:8px}.main-person{gap:7px}.main-person .tag{margin-bottom:0}.main-person .text-button{padding:4px 0}.graph-tools button{padding:4px 7px}.tree-color-control select{padding:4px 7px;font-size:11px}
.connection-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;margin-top:7px;padding:8px 42px 8px 11px;font-size:11px}
.connection-panel strong{grid-column:1;grid-row:1;font-size:13px}.connection-panel p{grid-column:1;grid-row:2;margin:0;line-height:1.4;font-size:11px}.connection-panel .path-steps{grid-column:2;grid-row:1/span 2;align-self:center;margin:0;gap:6px;max-width:440px}.path-steps button{padding:3px 7px;font-size:10px}.connection-panel>.text-button{position:absolute;right:10px;top:8px;float:none;font-size:10px}.connection-panel>.button{grid-column:2;grid-row:1/span 2;align-self:center}
@media(max-width:900px){.person-heading{flex-direction:row;flex-wrap:wrap;gap:7px}.person-heading .actions{justify-content:flex-start}.facts-grid{grid-template-columns:1fr 1fr;gap:10px 20px}.facts-grid>div:last-child{grid-column:1/-1}.facts-grid>div:last-child .source-note{margin-top:4px}.tree-picker{max-width:65%}.tree-picker select{min-width:160px}.connection-panel{grid-template-columns:minmax(0,1fr)}.connection-panel .path-steps,.connection-panel>.button{grid-column:1;grid-row:3;margin-top:3px;max-width:none;justify-self:start}}
@media(max-width:600px){.header{height:55px}.brand{font-size:24px}.search-section{grid-template-columns:minmax(0,1fr);gap:5px;margin-top:10px}.search-heading{display:none}.search-form{flex-direction:row;gap:6px}.search-form textarea{min-width:0;min-height:40px;height:40px;padding:8px 10px;font-size:12px}.search-form .button{min-width:92px;padding:7px 9px;gap:6px;font-size:11px}.catalog-browser{grid-column:1}.person-section{margin-top:10px}.person-title h2{font-size:22px}.person-heading .actions{gap:4px}.person-heading .button.small{font-size:10px;padding:5px 7px}.tabs{gap:16px;margin:7px 0}.facts-grid{grid-template-columns:minmax(0,1fr);gap:9px}.facts-grid>div:last-child{grid-column:auto}.facts{gap:3px 8px}.fact-title{margin-bottom:4px}.person-portrait{float:right;width:78px;margin:0 0 7px 10px}.person-portrait img{width:78px;max-height:92px}.explorer-top{padding:12px 0 4px;flex-direction:row;gap:8px}.explorer-top h1{font-size:19px;white-space:nowrap}.tree-picker{width:auto;max-width:65%;align-self:center}.tree-picker .eyebrow{display:none}.tree-picker select{width:100%;min-width:0;padding:6px;font-size:11px}.graph-toolbar{gap:5px;padding:5px 0}.graph-tools{gap:4px;justify-content:flex-start}.tree-color-control{font-size:10px;gap:4px}.tree-color-control select{max-width:125px}.connection-panel{padding:7px 36px 7px 9px}.connection-panel strong{font-size:12px}}



.kinship-line.spouse{stroke-dasharray:none}.line-key.dashed{border-top-style:solid}

.kinship-line.coparents{stroke-dasharray:3 3}

.unknown-parent .back{stroke-dasharray:4 4;fill:#101711}.unknown-parent .name{font:12px system-ui,sans-serif;fill:var(--muted)}.unknown-parent{cursor:default}

.family-view-help{margin:4px 0 7px;font-size:11px;color:var(--muted)}.family-browser-list{display:grid;gap:6px;max-height:55vh;overflow:auto}.family-browser-list .result-card{display:grid;gap:3px;text-align:left;padding:10px}.family-notes p{margin:4px 0}

.world-branch-border{fill:none;stroke:#233026;stroke-width:1;pointer-events:none}.world-branch-label{fill:#9aaf8b;font:22px Georgia,serif;pointer-events:none}.kinship-line{paint-order:stroke;stroke-width:1.3}.person-node .dates{font-size:10px}.graph{min-height:560px}

.world-branch-border{pointer-events:all;fill:#0b110c22;vector-effect:non-scaling-stroke;stroke-width:.6}.world-branch-label{font-family:Georgia,serif;font-size:inherit}.world-overview-lines{fill:none;stroke:var(--tree-line);stroke-width:.45;opacity:.4;vector-effect:non-scaling-stroke;pointer-events:none}.world-overview-people{fill:none;stroke:var(--tree-light);stroke-linecap:round;stroke-width:1.5;opacity:.7;vector-effect:non-scaling-stroke;pointer-events:none}.world-branch{cursor:pointer}

.relative-section{margin:18px 3.5% 0;padding:16px;border:1px solid var(--line);border-radius:9px;background:#0d1510}.relative-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.relative-heading h2{font:22px Georgia,serif;margin:0}.relative-heading p{margin:5px 0 12px;font-size:12px}.relative-section fieldset{border:0;padding:0;margin:0;min-width:0}.relative-section legend{font-size:12px;color:var(--muted);margin-bottom:7px}.relation-choices,.relative-mode{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.relation-choices label{padding:7px 12px;border:1px solid #344938;border-radius:5px;cursor:pointer;background:#111c14}.relation-choices label:has(:checked){border-color:var(--accent);background:#253923}.relative-section label{font-size:12px;color:var(--text)}.relative-mode label{margin-right:12px}.relative-section input[type=radio],.relative-section input[type=checkbox]{accent-color:var(--accent);margin:0 5px 0 0}.relative-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin:12px 0}.relative-details label,.coparent-row>label,#existingRelative>label,#coParentSearchRow>label{display:flex;flex-direction:column;gap:5px}.relative-section input:not([type=radio]):not([type=checkbox]),.relative-section select,.relative-section textarea{width:100%;font-size:12px;padding:8px 10px}.relative-wide{grid-column:1/-1}.relative-section .inline-check{display:flex;align-items:center;margin:9px 0;gap:4px}.coparent-row{padding:12px;border:1px solid #344938;border-radius:6px;margin:12px 0;max-width:750px}.coparent-row p{font-size:11px;margin:6px 0 0}.relative-picker{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.relative-picker button{font-size:12px;padding:6px 9px}.relative-section fieldset:disabled{opacity:.65}.person-node.new-person .back{stroke:var(--tree-light);stroke-width:2;fill:#243722}.relative-section .form-error:empty,.relative-section #relativeStatus:empty{display:none}@media(max-width:800px){.relative-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.relative-details{grid-template-columns:1fr}.relative-section{margin-left:5%;margin-right:5%;padding:12px}.relative-heading{align-items:flex-start;flex-direction:column;gap:0}.relation-choices{gap:5px}.relation-choices label{padding:6px 8px;font-size:11px}}
.chronology-controls{display:flex;align-items:flex-end;gap:8px;min-width:230px}.chronology-controls label{display:flex;flex-direction:column;gap:5px;min-width:170px}.chronology-controls select{max-width:300px;font-size:12px;padding:8px}.chronology-controls .button{white-space:nowrap;margin-bottom:1px}.tag.tradition{border-color:#77684a;color:#d7c693;background:#211e15}.chronology-controls .eyebrow{font-size:9px}@media(max-width:1000px){.explorer-top{flex-wrap:wrap}.chronology-controls{order:3;width:100%}.chronology-controls label{flex:1}.chronology-controls select{max-width:none}}@media(max-width:500px){.chronology-controls{align-items:flex-end;min-width:0}.chronology-controls label{min-width:0}.chronology-controls select{width:100%}}

.person-node .relationship-label{font:600 11px system-ui,sans-serif;letter-spacing:.7px;fill:var(--tree-light);paint-order:stroke;stroke:#080c0b;stroke-width:4px;stroke-linejoin:round;pointer-events:none}

.family-note-form{display:grid;gap:8px;margin:4px 0 16px}.family-note-form>label{font-weight:600}.family-note-form textarea{min-height:65px}.family-note-form p{margin:0;font-size:12px}.family-note-form .button{justify-self:start}.family-note-form p:empty{display:none}.manual-relative{border-top:1px solid var(--line);padding-top:12px}.manual-relative summary{cursor:pointer;color:var(--muted);font-size:12px;margin-bottom:12px}

.sibling-connector-label{font:600 10px system-ui,sans-serif;letter-spacing:.6px;fill:var(--tree-light);paint-order:stroke;stroke:#080c0b;stroke-width:4px;pointer-events:none}

.tree-page-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.return-full-tree{position:fixed;right:16px;bottom:16px;z-index:35;box-shadow:0 4px 20px #0008}body.tree-full{overflow:hidden}body.tree-full>.header,body.tree-full main>.search-section,body.tree-full main>.person-section,body.tree-full main>.relative-section,body.tree-full main>.site-footer{visibility:hidden}body.tree-full .explorer{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;width:100vw;height:100dvh;max-width:none;margin:0;background:#080d0a;overflow:hidden}body.tree-full .explorer-top{flex:0 0 auto;padding:8px 12px;gap:10px;align-items:center;border-bottom:1px solid var(--line)}body.tree-full .explorer-top h1{font-size:20px;margin:0;white-space:nowrap}body.tree-full .chronology-controls{min-width:0;gap:5px}body.tree-full .chronology-controls label{min-width:120px}body.tree-full .eyebrow{display:none}body.tree-full .tree-picker{min-width:140px;max-width:290px}body.tree-full .tree-picker select,body.tree-full .chronology-controls select{padding:6px;font-size:11px}body.tree-full .graph-toolbar{flex:0 0 auto;margin:0;padding:5px 12px;gap:8px}body.tree-full .graph-tools{gap:5px}body.tree-full .main-person{gap:6px;font-size:11px}body.tree-full .graph-tools button{padding:5px 8px;font-size:11px}body.tree-full .family-view-help{display:none}body.tree-full .connection-panel{flex:0 0 auto;margin:4px 12px;padding:7px 10px}body.tree-full .connection-panel p{margin:4px 0}body.tree-full .graph{flex:1 1 0;height:auto!important;min-height:0!important;max-height:none!important;width:100%;margin:0;overflow:hidden}body.tree-full .graph-footer{flex:0 0 auto;padding:5px 12px;border:0;margin:0}body.tree-full .graph-hint{bottom:8px}body.tree-full .chronology-controls{order:initial;width:auto}@media(max-width:900px){body.tree-full .explorer-top{flex-wrap:wrap}body.tree-full .chronology-controls{display:none}body.tree-full .tree-page-actions{margin-left:auto}body.tree-full .tree-picker{max-width:100%;flex:1}body.tree-full .graph-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center}body.tree-full .graph-tools{width:auto;flex:1;justify-content:flex-end}body.tree-full .graph-footer{font-size:9px}body.tree-full .legend{gap:8px}}

.name-edit-button{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left}.name-edit-button span{font:14px system-ui,sans-serif;color:var(--muted)}.person-node .editable-name{cursor:text}.person-node .editable-name:hover{text-decoration:underline}.standard-family-notes{margin:10px 0;font-size:12px;max-width:1000px}.standard-family-notes .fact-title{margin-bottom:6px}.family-note-entry{border-left:2px solid #465c40;padding:4px 10px;margin:6px 0}.family-note-entry p{margin:3px 0}.family-note-entry details{font-size:10px;color:var(--muted)}

.tree-note-dock{display:none}body.tree-full .tree-note-dock{display:block;flex:0 0 auto;border-top:1px solid var(--line);padding:7px 12px;background:#0d1510}body.tree-full .tree-note-dock .family-note-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:end;margin:0}body.tree-full .tree-note-dock .family-note-form>label{grid-column:1/-1;font-size:11px}body.tree-full .tree-note-dock textarea{grid-column:1;grid-row:2;min-height:44px;max-height:95px;height:44px;padding:7px 10px;font-size:12px}body.tree-full .tree-note-dock button{grid-column:2;grid-row:2;height:44px;font-size:12px;padding:8px 12px}body.tree-full .tree-note-dock .family-note-form>p{grid-column:1/-1;font-size:10px}body.tree-full .tree-note-dock .family-note-form>p:first-of-type{display:none}@media(max-width:500px){body.tree-full .tree-note-dock .family-note-form{grid-template-columns:1fr}body.tree-full .tree-note-dock button{grid-column:1;grid-row:3;width:100%;height:34px}body.tree-full .tree-note-dock textarea{height:42px}}

.graph,.graph svg{user-select:none;-webkit-user-select:none}

.facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facts-grid>div:last-child{grid-column:auto}
.person-notes-panel{border-top:1px solid var(--line);padding:9px 0}.person-notes-panel h2{font-size:13px;font-weight:600;margin:0 0 5px}.saved-family-notes{max-height:230px;overflow:auto;overscroll-behavior:contain}.saved-family-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:start;border-bottom:1px solid #25332b;padding:7px 0}.saved-family-note p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.saved-family-note .button{padding:4px 9px;font-size:11px}.saved-family-note textarea{grid-column:1/-1;width:100%;min-height:64px;max-height:180px;resize:vertical;font-size:12px}.note-edit-actions{display:flex;gap:6px;grid-column:1/-1}.saved-family-note .form-error{grid-column:1/-1}.family-note-form{margin-top:7px}.family-note-form label{font-size:11px}.family-note-form textarea{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#familyNoteStatus:empty,#familyNoteError:empty,#noteEditError:empty{display:none}
body.tree-full .tree-note-dock{padding:0 12px;max-height:42vh}body.tree-full .person-notes-panel{border:0;padding:7px 0}body.tree-full .saved-family-notes{max-height:22vh}body.tree-full .person-notes-panel h2{font-size:12px}body.tree-full .tree-note-dock .family-note-form{margin-top:6px}body.tree-full .tree-note-dock textarea{grid-column:auto;grid-row:auto}body.tree-full .tree-note-dock .saved-family-note textarea{height:auto;min-height:64px;max-height:150px;grid-column:1/-1}body.tree-full .tree-note-dock .saved-family-note button{height:auto;grid-column:auto;grid-row:auto}body.tree-full .tree-note-dock .family-note-form textarea{grid-column:1;grid-row:2}
@media(max-width:600px){.facts-grid{grid-template-columns:minmax(0,1fr)}body.tree-full .saved-family-notes{max-height:18vh}.person-notes-panel h2{font-size:12px}}
.note-topic>h3{font-size:10px;font-weight:600;color:var(--muted);margin:6px 0 2px;letter-spacing:.5px}.note-owner{display:block;font-size:10px;color:var(--muted);margin-bottom:2px}.person-detail-group{margin-top:12px}.person-detail-group .facts{grid-template-columns:130px minmax(0,1fr)}.person-node .editable-name{cursor:pointer}

/* parent-link kinds (relation.kind): biological stays the tree colour */
.kinship-line.kin-legal,.kinship-line.kin-adoptive{stroke:#d4a84b;stroke-dasharray:none}
.kinship-line.kin-adoptive{stroke-dasharray:7 3}
.kinship-line.kin-claimed{stroke:#a993d6;stroke-dasharray:5 4}
.kinship-line.kin-legendary{stroke:#8f80b8;stroke-dasharray:2 4}
.kinship-line.kin-legal.lit,.kinship-line.kin-adoptive.lit{stroke:#f0c766}
.line-key.kin-legal{border-color:#d4a84b}.line-key.kin-claimed{border-color:#a993d6;border-top-style:dashed}
.family-junction.unknown-other{fill:none;stroke:var(--tree-line,#a9bc9d);stroke-width:1;stroke-dasharray:1.5 1.5}
.kinship-line.cousin{stroke-dasharray:3 6;stroke-width:1.1}.cousin-link-label{fill:var(--tree-light);font:9px system-ui,sans-serif;letter-spacing:1px;paint-order:stroke;stroke:#080e0b;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.kinship-line.relative{stroke-dasharray:3 6;stroke-width:1.1}
