:root{--ink:#23392f;--sub:#6d8071;--deep:#254b3a;--accent:#3c825c;--pale:#e5f1e8;--paper:#fffefa;--background:#f5f6f1;--stroke:#dde6db;--blue:#6b91b0;--orange:#bc8768;--shadow:0 17px 50px #152e1d1d}
[hidden]{display:none!important}
body:has(.cloud-account){display:flex;flex-direction:column}
body:has(.cloud-account) #app{height:auto;flex:1;min-height:0}
.cloud-account{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:6px 12px;background:var(--paper);border-bottom:1px solid var(--stroke);flex:none}
.cloud-account>span{margin-right:auto;font-size:12px}.cloud-account select{max-width:210px}
.cloud-gate{position:fixed;inset:0;z-index:100;background:var(--background);overflow:auto;display:grid;place-items:center;padding:24px}
.cloud-onboarding{top:58px}
.cloud-auth-card{width:min(100%,460px);padding:28px;background:var(--paper);border:1px solid var(--stroke);border-radius:18px;box-shadow:var(--shadow)}
.cloud-auth-card h1{line-height:1.2}.cloud-auth-card p,.cloud-dialog p{overflow-wrap:anywhere}
.cloud-auth-card label,.cloud-dialog label,.cloud-card-messages label{display:grid;gap:5px;margin:12px 0;font-weight:600}
.cloud-auth-card input,.cloud-dialog input,.cloud-dialog textarea,.cloud-card-messages textarea,.cloud-account select{width:100%;min-width:0;border:1px solid var(--stroke);border-radius:9px;padding:9px;background:var(--paper);color:var(--ink)}
.cloud-auth-card small,.cloud-dialog small{font-size:12px;font-weight:400;color:var(--sub)}
.cloud-message,[role="status"]{overflow-wrap:anywhere}
.cloud-dialog{width:min(850px,calc(100vw - 24px));max-height:90dvh;padding:22px;border:1px solid var(--stroke);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}
.cloud-dialog::backdrop{background:#142b2070}.cloud-dialog h2{margin:0}.cloud-dialog article,.cloud-auth-card article,.cloud-card-messages article{margin:12px 0;padding:12px;border:1px solid var(--stroke);border-radius:10px}
.cloud-dialog article .btn{margin:4px 4px 0 0;white-space:normal}.cloud-dialog textarea,.cloud-card-messages textarea{min-height:80px;resize:vertical}
.cloud-prewrap{white-space:pre-wrap}.cloud-card-messages{border-top:1px solid var(--stroke);margin-top:18px}.cloud-card-messages .list-buttons{flex-wrap:wrap}.cloud-card-messages .btn{white-space:normal}
@media(max-width:820px){.cloud-account{gap:4px;padding:5px}.cloud-account>span{flex:1 0 100%}.cloud-account select{max-width:150px}.cloud-auth-card{padding:20px}.cloud-dialog{padding:14px}}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{font:14px/1.45 system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--background);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #78b99a;outline-offset:2px}.hidden{display:none!important}.mobile-icon{display:none}.mobile-icon{display:none}.mobile-icon{display:none}
#app{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0}header{background:var(--paper);min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:9px 17px;gap:9px;border-bottom:1px solid var(--stroke);z-index:4;flex:none}.brand{display:flex;align-items:center;gap:10px;min-width:0}.mark{width:39px;height:39px;display:grid;place-items:center;background:var(--deep);color:#fff;border-radius:12px;font:25px Georgia,serif}.brand-title{font:500 20px/1.13 Georgia,serif;letter-spacing:-.025em}.brand small{display:block;color:#718877;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.head-actions{display:flex;gap:5px;align-items:center}.btn{min-height:38px;border-radius:11px;border:1px solid var(--stroke);background:#fff;color:var(--deep);padding:8px 12px;font-size:12px;font-weight:750;white-space:nowrap}.btn:hover{background:#edf3ec}.btn.primary{background:var(--deep);border-color:var(--deep);color:white}.btn.primary:hover{background:#367351}.btn.danger{color:#a54a42;border-color:#efd4d1}.btn.icon{min-width:39px;padding:7px 9px;font-size:18px}.row{display:flex;gap:8px;align-items:center}.wrap{flex-wrap:wrap}.grow{flex:1}.toolbar{background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 17px;border-bottom:1px solid var(--stroke);flex:none;z-index:3}.toolbar-left{display:flex;align-items:center;gap:8px;min-width:0}.search{width:218px;max-width:36vw;position:relative}.search input{width:100%;border:1px solid var(--stroke);background:#f8faf6;border-radius:10px;padding:10px 10px 10px 31px;font-size:12px}.search .glass{position:absolute;left:10px;top:8px;color:#84948a}.results{position:absolute;left:0;top:44px;width:min(340px,90vw);max-height:320px;overflow:auto;background:white;border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:12px;display:none;z-index:15}.results.show{display:block}.results button{display:block;background:white;border:0;text-align:left;width:100%;padding:10px 13px}.results button:hover{background:#eef5ef}.results small{display:block;color:var(--sub);font-size:11px}.orientation{max-width:190px;min-height:37px;border:1px solid var(--stroke);border-radius:10px;padding:7px;background:white;color:var(--deep);font-size:12px}.stat{color:#819082;font-size:11px;white-space:nowrap}
.stage{position:relative;flex:1;min-height:0;overflow:hidden}.viewport{position:absolute;inset:0;background-color:#f5f7f2;background-image:radial-gradient(#d6e4d8 .85px,transparent .85px);background-size:22px 22px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}.viewport.dragging{cursor:grabbing}.world{position:absolute;inset:0 auto auto 0;transform-origin:0 0;will-change:auto}.world svg{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.line{fill:none;stroke:#a5b7a4;stroke-width:2.4;stroke-linecap:round}.line.parent{stroke:#8fae9a}.line.child{stroke:#8fae9a}.line.extra{stroke:#b2a7ca;stroke-dasharray:5 6}.line.active{stroke:#258050;stroke-width:4}.line.inactive{stroke:#c8d3c9;opacity:.3}
.person,.union{position:absolute;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.person{width:190px;height:90px;border-radius:13px;background:#fffefa;border:1px solid #d7e2d8;border-left:5px solid #95a99d;box-shadow:0 5px 13px #142b2013;text-align:left;padding:10px 11px 9px;display:flex;flex-direction:column;gap:5px;overflow:hidden;transition:box-shadow .12s,opacity .12s,border-color .12s}.person.fatherbranch{border-left-color:var(--blue)}.person.motherbranch{border-left-color:var(--orange)}.person strong{font-size:13px;line-height:1.16;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.person .eyebrow{display:flex;justify-content:space-between;color:#86998a;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.person .meta{font-size:10px;color:#718475;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person.selected{background:#e7f5e9;border-color:#2a8b57;box-shadow:0 0 0 4px #75bd8555,0 6px 22px #18493138}.person.related{border-color:#92b8a0;background:#fbfffa}.person.dimmed{opacity:.3}.person.targetable:not(.selected){box-shadow:0 0 0 2px #b6dfb6}.person.uncertain{border-right:2px dashed #ccad78}.union{height:35px;min-width:118px;width:118px;border-radius:100px;border:1px solid #c6dacb;background:#e9f3e9;color:#346446;box-shadow:0 4px 12px #2157341b;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.union.zero{border-style:dashed;background:#faf8ef;color:#84765e}.union.selected{box-shadow:0 0 0 4px #8acf9759,0 4px 12px #2157341b;border-color:#34875d}.union.related{border-color:#7faa85}.union.dimmed{opacity:.24}.union.targetable{box-shadow:0 0 0 3px #a5d9b8}.union .plus{background:#d0e8d1;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;font-size:13px}
.hint{position:absolute;top:12px;left:13px;z-index:2;pointer-events:none;border:1px solid #e4ebe1;padding:8px 11px;background:#fffefbe9;box-shadow:0 5px 18px #203d2710;border-radius:100px;color:#7c8d7e;font-size:11px}.hint strong{color:#345f44}.floor{position:absolute;bottom:13px;display:flex;gap:7px;align-items:center;z-index:3}.floor.left{left:13px}.floor.right{right:13px}.float{display:flex;gap:2px;align-items:center;padding:4px;background:#fffefaee;border:1px solid var(--stroke);box-shadow:0 5px 23px #1c35241a;border-radius:13px}.float button{background:none;border:0;border-radius:8px;color:var(--deep);min-width:35px;height:35px;font-weight:750;font-size:20px}.float button:hover{background:var(--pale)}.float span{font-size:11px;color:var(--sub);min-width:44px;text-align:center;font-weight:750}.selectionbar{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:7px;background:#fffefa;box-shadow:var(--shadow);border:1px solid #d5e4d8;border-radius:14px;padding:7px 9px;max-width:calc(100% - 170px)}.selectionbar strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.selectionbar small{display:block;font-size:9px;color:var(--sub);line-height:1.2}.selectionbar .btn{min-height:34px;padding:7px 10px}.linkbar{position:absolute;top:13px;left:50%;transform:translateX(-50%);z-index:5;max-width:calc(100% - 26px);padding:10px 13px;border-radius:14px;background:#203e34;color:#fff;box-shadow:var(--shadow);display:flex;align-items:center;gap:11px}.linkbar span{font-size:12px;line-height:1.3}.linkbar button{border:1px solid #638875;background:transparent;color:#fff;border-radius:10px;padding:7px 9px;font-size:12px;white-space:nowrap}.toast{position:absolute;left:50%;bottom:90px;transform:translate(-50%,10px);opacity:0;pointer-events:none;color:white;background:#264b39;padding:10px 15px;border-radius:11px;font-size:12px;max-width:90vw;text-align:center;transition:opacity .16s,transform .16s;z-index:25}.toast.visible{opacity:1;transform:translate(-50%,0)}
.scrim{position:absolute;inset:0;background:#1e332552;z-index:7;display:none}.scrim.visible{display:block}.drawer{position:absolute;top:13px;right:13px;bottom:13px;width:382px;max-width:calc(100vw - 26px);z-index:8;background:#fffefa;border:1px solid #d7e5d8;border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transform:translateX(calc(100% + 30px));transition:transform .21s ease}.drawer.open{transform:translateX(0)}.drawer-head{padding:16px 17px 12px;display:flex;gap:8px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eef1e9;flex:none}.drawer-head small{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#819281}.drawer-head h2{font:500 24px/1.14 Georgia,serif;letter-spacing:-.03em;margin:3px 0 0}.x{width:34px;height:34px;background:#edf2eb;border:0;border-radius:9px;color:#516958;font-size:21px}.drawer-body{padding:16px 17px 22px;overflow:auto;overscroll-behavior:contain}.section{margin:18px 0 9px;padding-top:13px;border-top:1px solid #e8eee6;color:#7b917e;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.section:first-child{margin-top:0;border:0;padding:0}.fields{display:grid;gap:10px}.field label{display:block;font-size:11px;color:#607764;font-weight:800;margin-bottom:5px}.field input,.field textarea,.field select{display:block;width:100%;min-width:0;border:1px solid #dce7dc;border-radius:10px;background:#fafcf8;padding:10px;color:var(--ink);font-size:13px}.field textarea{min-height:86px;resize:vertical}.half{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;gap:9px;align-items:center;color:var(--sub);font-size:12px}.check input{accent-color:#39865e}.item{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:10px;background:#f3f7f2;border-radius:11px;margin:6px 0}.item-name{background:none;border:none;color:#285b41;text-align:left;flex:1;font-weight:750;font-size:12px;white-space:normal;padding:0}.item small{display:block;font-weight:500;color:#849687;font-size:10px}.item-action{border:1px solid #dce7dc;background:white;border-radius:8px;padding:6px;color:#53735c;font-size:11px}.list-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.list-buttons .btn{padding:10px 8px;white-space:normal;font-size:11px;text-align:center}.muted{color:#819084;font-size:11px;line-height:1.5}.warning{background:#fff8ea;border:1px solid #ecdfba;padding:10px;border-radius:11px;color:#7e6950;font-size:11px}.pill{background:#e8f2e9;padding:4px 8px;border-radius:100px;font-size:11px;color:#3a7251;font-weight:800}.under{border:0;background:transparent;text-decoration:underline;color:#486d54;font-weight:700;font-size:11px;padding:4px}
.modalback{position:fixed;inset:0;z-index:30;background:#102b23ac;display:none;align-items:center;justify-content:center;padding:16px}.modalback.show{display:flex}.modal{width:min(100%,455px);max-height:90dvh;overflow:auto;border-radius:18px;background:#fffefa;padding:22px;box-shadow:0 20px 80px #07170f50}.modal h2{font:500 24px/1.14 Georgia,serif;margin:0 0 9px}.modal p{font-size:13px;color:#5b7160;margin:7px 0 12px}.modal .actions{margin-top:17px;display:flex;justify-content:flex-end;gap:8px}.choice{display:grid;gap:8px}.choice button{text-align:left;border:1px solid var(--stroke);background:#f9fbf8;padding:11px 13px;border-radius:11px;color:#2c533c;font-weight:700}.choice button:hover{background:#e9f4e9}.choice small{display:block;font-weight:500;color:#7e9280}.modal strong{color:#254939}
@media(max-width:820px){.mobile-icon{display:inline}header{min-height:58px;padding:8px 10px}.mark{width:35px;height:35px;font-size:22px}.brand-title{font-size:17px}.brand small{font-size:9px}.head-actions .label{display:none}.head-actions .btn{min-width:37px;min-height:37px;padding:7px 9px;font-size:17px}.toolbar{padding:7px 9px}.search{width:43vw;max-width:225px}.orientation{max-width:43vw;font-size:11px}.stat{display:none}.hint{top:9px;left:9px;font-size:10px;padding:6px 9px}.floor.left{left:9px;bottom:9px}.floor.right{right:9px;bottom:9px}.float button{min-width:33px;height:35px}.selectionbar{left:50%;bottom:56px;width:min(400px,calc(100% - 18px));max-width:calc(100% - 18px);justify-content:space-between;padding:7px 9px}.selectionbar strong{max-width:135px}.selectionbar .btn{font-size:11px;padding:8px 9px}.linkbar{top:auto;bottom:111px;width:calc(100% - 18px);justify-content:space-between}.drawer{width:100%;max-width:100%;left:0;right:0;bottom:0;top:auto;height:min(80dvh,770px);border-radius:20px 20px 0 0;transform:translateY(calc(100% + 6px))}.drawer.open{transform:translateY(0)}.toast{bottom:181px}}
@media(max-width:360px){.brand small{display:none}.brand-title{font-size:15px}.head-actions{gap:1px}.selectionbar small{display:none}.search{width:40vw}.orientation{max-width:43vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0.01ms!important}}

/* Views, reference selection and progressive family expansion */
.toolbar{position:relative;flex-wrap:wrap;gap:8px;padding-block:8px}.toolbar-left{flex:1;flex-wrap:wrap}.views{display:flex;align-items:center;gap:6px;background:#edf3eb;border:1px solid #d8e7d9;padding:4px 5px 4px 10px;border-radius:12px}.views select{background:#fffefa;border:1px solid #d8e4d7;border-radius:9px;color:var(--deep);min-height:33px;font-size:12px;font-weight:750;padding:6px 8px;max-width:185px}.view-label{font-size:10px;font-weight:900;letter-spacing:.065em;color:#68816b;text-transform:uppercase}.ref-group{display:flex;align-items:center;gap:7px;min-width:0;background:#f5f7f3;border:1px solid #e1e8df;padding:5px 7px 5px 10px;border-radius:10px}.ref-group span{font-size:10px;color:#829284}.ref-group strong{font-size:11px;color:var(--deep);max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.compact-btn{min-height:32px;padding:7px 9px;font-size:11px}.person.compact{padding:7px 8px;gap:3px;border-radius:11px}.person.compact .eyebrow{font-size:8px;letter-spacing:0}.person.compact strong{font-size:11px;line-height:1.12}.person.compact .meta{font-size:9px}.person.acquired{filter:grayscale(.55)}.person.dimmed{opacity:.51}.person.acquired.dimmed{opacity:.37}.person.dimmed:hover,.person.acquired:hover{opacity:1;filter:none}.person.focus-person:not(.selected){box-shadow:0 0 0 2px #5aab77,0 4px 15px #204a2633}.person.selected,.person.compact.selected{opacity:1;filter:none}.union.dimmed{opacity:.43}.line.normal{stroke:#b1c5b5;stroke-width:2.1}.line.inactive{stroke:#bdc9bd;opacity:.25;stroke-width:1.5}.line.active{stroke:#2c895d;stroke-width:3;opacity:.95}.line.extra{stroke-dasharray:4 6}.hint-desc{color:#96a397}.selectionbar{max-width:calc(100% - 175px)}
@media(max-width:1020px){.ref-group span{display:none}.ref-group strong{max-width:100px}.toolbar{justify-content:space-between}.search{width:170px;max-width:35vw}.views select{max-width:155px}}
@media(max-width:820px){.toolbar{align-items:stretch;padding:8px 10px;gap:6px}.toolbar-left{width:100%;flex:1 1 100%;gap:6px}.views{order:0;flex:1 0 auto;justify-content:space-between;padding:3px 5px 3px 8px}.views select{min-height:33px;max-width:40vw;font-size:11px;padding:6px 5px}.view-label{font-size:9px}.search{order:1;width:42%;max-width:none;flex:1 1 42%}.orientation{order:2;max-width:49%!important;flex:1 1 46%;font-size:11px}.ref-group{position:absolute;right:9px;bottom:-1px;transform:translateY(100%);z-index:1;max-width:60%;border-radius:0 0 10px 10px;background:#fffefada;backdrop-filter:blur(5px);padding:4px 8px;pointer-events:auto}.ref-group strong{max-width:130px}.ref-group .btn{font-size:10px;padding:4px;min-height:27px}.stat{display:none}.hint{top:10px;left:9px;font-size:10px;max-width:45%;border-radius:11px;line-height:1.3}.hint-desc{display:none}.selectionbar{bottom:58px;left:9px;right:9px;transform:none;max-width:none;justify-content:space-between;flex-wrap:wrap;gap:5px}.selectionbar strong{max-width:130px}.selectionbar .btn{font-size:10px;min-height:32px;padding:6px 9px}.floor{bottom:10px}.toast{bottom:125px}.ref-group .btn.compact-btn{min-height:26px}}
@media(max-width:380px){.selectionbar strong{max-width:90px}.selectionbar .btn{padding:5px 7px}.ref-group strong{max-width:90px}}

/* Focused family drawing: distinguish parent groups from marriage and mute the rails. */
.line.parent{stroke:#a7aba2;stroke-width:1.9;opacity:.83}
.line.child{stroke:#8ca994;stroke-width:2.3}
.line.parent.active{stroke:#4e8666;stroke-width:2.7}
.line.child.active{stroke:#2e8057;stroke-width:3.1}
.union{border-color:#a5c5af;background:#e9f2e8;color:#2b6746;font-weight:850;min-width:118px}
.union .plus{background:#d8e9db;border-radius:50%;min-width:16px;min-height:16px;display:inline-grid;place-items:center}
.quiet-toggle{position:absolute;right:13px;top:12px;z-index:6;border:1px solid #cfddcf;background:#fffefaed;color:#2a533b;min-height:39px;padding:8px 13px;border-radius:11px;font-weight:800;font-size:12px;box-shadow:0 4px 15px #183d271c;backdrop-filter:blur(7px)}
.quiet-toggle:hover{background:#e8f2e9}
body.quiet-mode header,body.quiet-mode .toolbar,body.quiet-mode .hint,body.quiet-mode .selectionbar,body.quiet-mode .floor,body.quiet-mode .ref-group{display:none!important}
body.quiet-mode .stage{flex:1;height:100dvh}
body.quiet-mode #linkbar:not(.hidden){display:flex}
body.arrange-mode .person,body.arrange-mode .union{cursor:ew-resize}body.arrange-mode .viewport{cursor:default}body.arrange-mode .selectionbar{border-color:#88b79b;box-shadow:0 0 0 3px rgba(82,143,104,.12)}
@media(max-width:820px){#screenToggle{display:none}.quiet-toggle{top:9px;right:9px;padding:7px 11px;min-height:35px;font-size:11px}}

/* Partner tabs stay exposed behind the main family card. */
.person[data-stack-owner]{background:#e9eee5;filter:none;opacity:1;border-color:#b6cbb6;padding-top:5px;gap:2px;box-shadow:0 2px 5px #203d2720}
.person[data-stack-owner] .eyebrow{font-size:8px}.person[data-stack-owner] strong{font-size:11px;white-space:nowrap;display:block;text-overflow:ellipsis}
.person[data-stack-owner]:hover,.person[data-stack-owner]:focus-visible{background:#d6ead8}
.person[data-stack-owner] .meta{visibility:hidden}
#navigationToggle[aria-pressed="true"],#arrangeToggle[aria-pressed="true"]{background:var(--deep);color:white}
.selectionbar{flex-wrap:wrap;justify-content:center}.hint{max-width:calc(100% - 180px);border-radius:12px}.hint-desc{display:block}
@media(max-width:820px){.hint{max-width:45%}.hint-desc{display:none}.selectionbar{justify-content:space-between}#navigationToggle,#navBack{font-size:10px;min-height:30px}.toolbar-left{flex-basis:100%}}

/* Retain card elements while reordering, and animate only their positions. */
.person,.union{left:0;top:0;transition:transform .16s ease-out,box-shadow .12s,opacity .12s,border-color .12s}
@media(prefers-reduced-motion:reduce){.person,.union{transition:none}}

/* Free positioning tracks the pointer exactly; card and edges share one frame. */
body.arrange-mode .person,body.arrange-mode .union{cursor:move;transition:none}

.person.multi-selected,.union.multi-selected{outline:3px solid #3e9e7a;outline-offset:3px;opacity:1;filter:none}.selection-box{position:absolute;z-index:65;border:1.5px solid #328265;background:#5eaa8724;pointer-events:none;border-radius:4px}.arrange-menu{position:fixed;z-index:50;width:235px;padding:8px;border:1px solid var(--stroke);border-radius:12px;background:var(--paper);box-shadow:var(--shadow);display:grid;gap:4px}.arrange-menu strong{padding:5px 8px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrange-menu button{padding:10px;border:0;border-radius:8px;background:#edf3eb;color:var(--deep);text-align:left;font-size:12px}.arrange-menu button:hover{background:#d9eadc}.person.acquired.compact[data-stack-owner]{padding-top:4px}.selectionbar small{max-width:360px;white-space:normal}

.person.acquired.ghost-parent{opacity:.13;filter:grayscale(1)}.person.acquired.ghost-parent:hover,.person.acquired.ghost-parent:focus-visible{opacity:.6}.line.ghost{stroke:#a8b6aa;stroke-width:1.2;opacity:.1}.person.acquired.ghost-parent.multi-selected{opacity:.6}


.appearance-panel{position:absolute;right:13px;top:60px;z-index:9;width:345px;max-width:calc(100vw - 26px);max-height:calc(100% - 80px);overflow:auto;padding:15px;border:1px solid var(--stroke);border-radius:15px;background:var(--paper);box-shadow:var(--shadow)}.appearance-panel fieldset{margin:15px 0;padding:12px;border:1px solid var(--stroke);border-radius:10px;display:grid;gap:12px}.appearance-panel legend{font-size:12px;font-weight:800;color:var(--deep)}.appearance-panel label{display:block;font-size:12px;color:var(--ink)}.appearance-panel label.appearance-check{display:flex;align-items:center;gap:7px}.appearance-panel select{display:block;width:100%;margin-top:5px;padding:6px;border:1px solid var(--stroke);border-radius:7px;background:white}.appearance-panel input[type=range]{display:block;width:100%;accent-color:var(--accent)}.appearance-panel input[type=checkbox]{accent-color:var(--accent)}.appearance-panel output{float:right;font-weight:800}.appearance-panel small{font-size:10px;color:var(--sub)}#layoutMode{max-width:220px}.views{flex-wrap:wrap}.views .compact-btn{font-size:11px}.toolbar-left{min-width:0}

.load-state{position:absolute;inset:0;z-index:20;display:grid;place-items:center;text-align:center;padding:30px;background:var(--background);font-size:15px}.recovery-banner{position:absolute;left:13px;right:160px;top:12px;z-index:7;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff7df;border:1px solid #e8cf91;border-radius:12px;box-shadow:var(--shadow)}.recovery-banner span{flex:1;font-size:12px}.stat{max-width:290px;white-space:normal;line-height:1.3}.head-actions{flex-wrap:wrap}@media(max-width:820px){.recovery-banner{left:9px;right:9px;top:48px;flex-wrap:wrap}.recovery-banner span{flex-basis:100%}.recovery-banner .x{position:absolute;right:5px;top:5px}.recovery-banner span{padding-right:26px}.head-actions{gap:3px}}

/* Saving status must never resize the canvas while a card is being dragged. */
.stat{flex:0 0 190px;width:190px;height:32px;max-height:32px;overflow:hidden}

/* Do not pin the world to a cached bitmap: Chrome re-rasterizes at each zoom. */
.world{will-change:auto}.world svg{shape-rendering:geometricPrecision}.person,.union{text-rendering:geometricPrecision}.relation-entry{position:sticky;top:-16px;z-index:2;background:var(--paper);padding:8px 0 12px;margin-bottom:12px;border-bottom:1px solid var(--stroke)}.relation-entry>span{display:block;color:var(--sub);font-size:10px;font-weight:800;margin-bottom:5px}.relation-entry>div{display:flex;gap:4px}.relation-entry button{flex:1;border:1px solid var(--stroke);border-radius:8px;padding:8px 5px;background:white;color:var(--deep);font-size:11px;font-weight:750}.relation-entry button[aria-pressed=true]{background:var(--deep);color:white;border-color:var(--deep)}

.person-extra,.family-tools{margin:12px 0;border:1px solid var(--stroke);border-radius:10px;padding:9px 11px}.person-extra summary,.family-tools summary{cursor:pointer;font-size:12px;font-weight:750;color:var(--deep)}.person-extra[open]>.fields{padding-top:12px}.person-extra[open]>button{margin-top:12px}.family-panel{padding:7px 9px;margin:9px 0;border:1px solid var(--stroke);border-radius:12px;background:#fafcf8}.family-panel .item{margin:5px 0}.family-tools{border:0;padding:4px;margin:5px 0}.family-tools summary{font-size:11px;color:var(--sub)}.person-actions{margin-bottom:15px}.partner-children{display:grid;gap:7px;margin:13px 0 16px}.partner-children label{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--stroke);border-radius:9px;font-size:12px}.partner-children input{accent-color:var(--accent);margin-top:3px}.partner-children small{display:block;font-size:10px;color:var(--sub)}.partner-children label:has(input:disabled){opacity:.6}

/* Focus must not scroll clipped ancestors and move fixed tree controls. */
.stage,.viewport{overflow:clip}.drawer{visibility:hidden;pointer-events:none;transition:transform .21s ease,visibility 0s linear .21s}.drawer.open{visibility:visible;pointer-events:auto;transition-delay:0s}
.drawer{max-height:100%}

/* Wide transparent targets make branches tappable without changing their appearance. */
.edge-hit{fill:none;stroke:transparent;stroke-width:18;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}

/* Theme preference is applied before the page is painted. */
:root{color-scheme:light}
/* Access requests and moderation share family context instead of bare IDs. */
.cloud-admin-dialog{width:min(1080px,calc(100vw - 28px))!important}
.cloud-admin-intro p{margin:0 0 5px}.cloud-admin-intro small{color:var(--sub)}
.cloud-admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;padding-bottom:14px;border-bottom:1px solid var(--stroke)}
.cloud-admin-tabs [aria-pressed=true]{background:var(--pale);border-color:var(--accent)}
.cloud-admin-card{border:1px solid var(--stroke);border-radius:14px;padding:16px;margin:12px 0;background:var(--paper)}
.cloud-admin-card h3{margin:8px 0}.cloud-admin-card summary{font-weight:750;cursor:pointer;line-height:1.6}
.cloud-admin-card summary small{display:block;font-weight:400;color:var(--sub)}
.cloud-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.cloud-admin-card details{margin:10px 0}
.cloud-identity-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 18px}
.cloud-choice{flex:0 0 min(330px,88%);scroll-snap-align:start;padding:14px;border:1px solid var(--stroke);border-radius:13px;margin:8px 0}
.cloud-person-context>strong{display:block;font-size:17px;margin:10px 0}.cloud-person-context>small{color:var(--sub)}
.cloud-relatives{display:grid;gap:6px;margin:12px 0}.cloud-relatives>small{font-size:11px;color:var(--sub);text-transform:uppercase;letter-spacing:.05em}
.cloud-relatives>span{display:block;padding:9px 11px;border-radius:9px;background:var(--pale);font-size:12px}
.cloud-absent,.cloud-card-messages,.cloud-ticket{margin:14px 0;border:1px solid var(--stroke);border-radius:11px;padding:12px}
.cloud-absent summary,.cloud-card-messages summary,.cloud-ticket summary{cursor:pointer;font-weight:700;font-size:13px}
.cloud-card-messages>form{margin-top:16px}.cloud-card-messages article{padding:10px 0;border-bottom:1px solid var(--stroke)}
.cloud-dialog label{display:block;margin:12px 0;font-size:13px}.cloud-dialog :is(input:not([type=checkbox]),select,textarea){display:block;width:100%;max-width:100%;box-sizing:border-box;border:1px solid var(--stroke);border-radius:9px;background:var(--paper);color:var(--ink);padding:10px;margin:5px 0}
.cloud-dialog textarea{min-height:80px;resize:vertical}.cloud-dialog .cloud-check{display:flex;gap:9px;align-items:center}.cloud-check input{accent-color:var(--accent)}
.cloud-dialog input[type=checkbox]{display:inline-block;width:16px;height:16px;padding:0;margin:0 8px 0 0;vertical-align:middle;flex:none}
.cloud-auth-card :is(select,textarea){display:block;width:100%;max-width:100%;border:1px solid var(--stroke);border-radius:9px;background:var(--paper);color:var(--ink);padding:10px}
:root[data-theme=dark] .cloud-admin-tabs [aria-pressed=true]{background:var(--primary);border-color:var(--accent);color:var(--ink)}
.cloud-dialog [data-people]{max-height:310px;overflow:auto}.cloud-request-state{margin:15px 0;padding:0 10px;border-left:3px solid var(--accent)}
.cloud-legend{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.cloud-legend span{border-left:5px solid var(--proposal-color);padding:3px 9px;font-size:12px}
.cloud-preview-bar{position:fixed;top:45px;left:12px;right:12px;z-index:80;background:var(--paper);color:var(--ink);border:2px solid var(--accent);padding:12px;border-radius:12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cloud-preview-bar strong{flex:1}.cloud-preview-bar .cloud-legend{margin:0}.cloud-preview-bar .btn{white-space:normal}
.cloud-branch-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.cloud-table-scroll{max-width:100%;overflow:auto}.cloud-table-scroll table{width:100%;border-collapse:collapse;font-size:12px}.cloud-table-scroll :is(td,th){text-align:left;border-bottom:1px solid var(--stroke);padding:10px;vertical-align:top}.cloud-table-scroll td small{display:block;color:var(--sub)}
.cloud-dialog dl{display:grid;grid-template-columns:minmax(90px,1fr) 3fr;gap:5px;font-size:12px}.cloud-dialog dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.person.proposal-highlight,.union.proposal-highlight{outline:4px solid var(--proposal-color);outline-offset:3px;opacity:1!important;filter:none!important}
.person.proposal-overlap,.union.proposal-overlap{box-shadow:0 0 0 9px var(--proposal-second)}
.person.proposal-highlight::after,.union.proposal-highlight::after{content:'';position:absolute;left:7px;right:7px;bottom:1px;height:4px;border-radius:5px;background:var(--proposal-stripes);pointer-events:none}
@media(max-width:600px){.cloud-admin-dialog{padding:15px!important}.cloud-admin-tabs{gap:5px}.cloud-admin-tabs .btn{padding:7px;font-size:11px}.cloud-preview-bar{top:40px;font-size:12px}.cloud-admin-card{padding:12px}.cloud-actions .btn{flex:1}.cloud-choice{flex-basis:88%}}
:root[data-theme="dark"]{color-scheme:dark;--ink:#e0eae2;--sub:#a4b6a8;--deep:#a6d9b8;--accent:#79c89c;--pale:#2a4134;--paper:#1d2922;--background:#151e1a;--stroke:#3a4e40;--blue:#8cb8dc;--orange:#dea384;--shadow:0 17px 50px #0006;--surface:#25342b;--hover:#304838;--muted:#a4b6a8;--primary:#326447}
:root[data-theme="dark"] :is(button,input,select,textarea){color:var(--ink)}
:root[data-theme="dark"] :is(.btn,.orientation,.views select,.results,.results button,.field input,.field textarea,.field select,.appearance-panel select,.item-action,.relation-entry button){background:var(--surface);border-color:var(--stroke);color:var(--ink)}
:root[data-theme="dark"] :is(.btn:hover,.results button:hover,.choice button:hover,.arrange-menu button:hover,.quiet-toggle:hover){background:var(--hover)}
:root[data-theme="dark"] :is(.btn.primary,#navigationToggle[aria-pressed="true"],#arrangeToggle[aria-pressed="true"],.relation-entry button[aria-pressed="true"]){background:var(--primary);border-color:#568669;color:#f0fff4}
:root[data-theme="dark"] .btn.primary:hover{background:#3c7855}
:root[data-theme="dark"] .btn.danger{color:#ffb5aa;border-color:#845049}
:root[data-theme="dark"] :is(.search input,.views,.ref-group,.item,.family-panel,.choice button,.arrange-menu button,.x){background:var(--surface);border-color:var(--stroke);color:var(--ink)}
:root[data-theme="dark"] :is(.drawer,.modal,.selectionbar,.float,.hint,.quiet-toggle){background:var(--paper);border-color:var(--stroke);color:var(--ink)}
:root[data-theme="dark"] :is(.drawer-head,.section){border-color:var(--stroke)}
:root[data-theme="dark"] :is(.brand small,.stat,.view-label,.ref-group span,.person .eyebrow,.person .meta,.hint-desc,.drawer-head small,.section,.field label,.item small,.muted,.choice small,.modal p,.search .glass){color:var(--muted)}
:root[data-theme="dark"] :is(.hint strong,.modal strong,.item-name,.under){color:var(--deep)}
:root[data-theme="dark"] .viewport{background-color:#151e1a;background-image:radial-gradient(#324638 .85px,transparent .85px)}
:root[data-theme="dark"] .person{background:#243229;color:var(--ink);border-color:#506356;border-left-color:#8caa96;box-shadow:0 5px 13px #0003}
:root[data-theme="dark"] .person.fatherbranch{border-left-color:var(--blue)}
:root[data-theme="dark"] .person.motherbranch{border-left-color:var(--orange)}
:root[data-theme="dark"] .person.related{background:#2a3c2f;border-color:#759e81}
:root[data-theme="dark"] .person[data-stack-owner]{background:#34483a;border-color:#6b8a71;filter:none}
:root[data-theme="dark"] .person[data-stack-owner]:is(:hover,:focus-visible){background:#405d49}
:root[data-theme="dark"] .person.selected{background:#304e3b;border-color:#86d4a5;box-shadow:0 0 0 4px #75bd8544,0 6px 22px #0004}
:root[data-theme="dark"] .person.uncertain{border-right-color:#d9bc86}
:root[data-theme="dark"] .union{background:#2b4433;border-color:#6d9378;color:#c3e7cc}
:root[data-theme="dark"] .union.zero{background:#403c2d;color:#e6d7ac;border-color:#8b805e}
:root[data-theme="dark"] .union .plus{background:#45624b}
:root[data-theme="dark"] .union.selected{border-color:#94dab0}
:root[data-theme="dark"] .line{stroke:#8ba892}
:root[data-theme="dark"] .line.parent{stroke:#94a79a}
:root[data-theme="dark"] .line.child{stroke:#8ebc9d}
:root[data-theme="dark"] .line.inactive{stroke:#8ba892}
:root[data-theme="dark"] .line.active{stroke:#7cdca5}
:root[data-theme="dark"] .line.extra{stroke:#b8a0d5}
:root[data-theme="dark"] .line.ghost{stroke:#94af9b}
:root[data-theme="dark"] :is(.warning,.recovery-banner){background:#3d3523;border-color:#807046;color:#efdfb7}
:root[data-theme="dark"] .pill{background:#304b38;color:#b6e4c4}
:root[data-theme="dark"] .toast{background:#365d44;color:#f1fff5}
:root[data-theme="dark"] :is(.scrim,.modalback){background:#050d09a8}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#9eafa2}

/* One persistent header; infrequent actions live in explicit side panels. */
body.unified-shell #app{padding-top:64px;height:100dvh;flex:1;min-height:0}
.unified-shell .main-header{position:fixed;inset:0 0 auto;height:64px;min-height:64px;z-index:140;display:flex;flex-wrap:nowrap;gap:12px;padding:10px 18px;background:var(--paper);border-bottom:1px solid var(--stroke)}
.main-header .header-search{flex:1;max-width:420px;min-width:100px}.main-header .search{width:100%;max-width:none}.main-header .header-reference{flex:1;min-width:0;margin-right:auto;max-width:350px}
.main-header .ref-group{position:static;transform:none;max-width:none;min-width:0;border:0;padding:0;background:transparent;display:flex;gap:8px}.main-header .ref-group>span{display:block;font-size:11px}.main-header .ref-group strong{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis}.main-header #refReset{font-size:0;min-width:30px;padding:4px}.main-header #refReset::after{content:'↶';font-size:17px}
.header-admin:empty{display:none}.header-admin .btn{min-height:38px}.shell-toggle[aria-expanded=true]{border-color:var(--accent);background:var(--pale)}
.shell-panel{position:fixed;top:76px;bottom:12px;width:320px;max-width:calc(100vw - 44px);z-index:110;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border:1px solid var(--stroke);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.tools-panel{left:12px}.settings-panel{right:12px}.shell-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--stroke);flex:none}.shell-panel-head small{font-size:9px;color:var(--sub);letter-spacing:.09em;font-weight:800}.shell-panel-head h2{font-size:20px;margin:3px 0 0}.shell-panel-body{padding:0 16px 18px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}
.shell-panel section{display:flex;flex-direction:column;gap:8px;padding:18px 0;border-bottom:1px solid var(--stroke)}.shell-panel section:last-child{border:0}.shell-panel h3{font-size:11px;color:var(--sub);text-transform:uppercase;letter-spacing:.055em;margin:0 0 5px}.shell-panel .btn{white-space:normal;text-align:left;width:100%;min-height:40px;padding:10px 12px;font-size:12px}.shell-panel .mobile-icon{display:none}.shell-panel .label{display:inline}.shell-panel select{width:100%;max-width:100%;min-height:40px;border:1px solid var(--stroke);background:var(--paper);color:var(--ink);border-radius:9px;padding:9px;font-size:12px}.shell-field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--sub)}
.shell-panel .stat{width:100%;height:auto;max-height:none;flex:auto;font-size:11px;line-height:1.6;padding:8px 0;overflow:visible}.shell-panel .appearance-panel{position:static;width:100%;max-width:none;max-height:none;border:0;box-shadow:none;padding:5px 0;background:transparent}.shell-panel .appearance-panel .row>strong{font-size:12px}
.shell-panel .cloud-account{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0;border:0;background:none}.shell-panel .cloud-account>span{margin:0;font-size:12px;overflow-wrap:anywhere}.shell-panel .identity-archive-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px}.identity-archive-row select{max-width:100%}.shell-panel .cloud-account .identity-archive-row .btn{width:auto}.shell-panel #settingsExit:empty{display:none}.shell-panel #settingsExit .btn{color:#b24f48}
.unified-shell .drawer{position:fixed;z-index:130;top:76px;bottom:12px;max-height:calc(100dvh - 88px);background:var(--paper)}.unified-shell .scrim{position:fixed;inset:64px 0 0;z-index:125}.unified-shell #quietToggle{display:none!important}.unified-shell .cloud-onboarding{top:64px}.unified-shell .cloud-preview-bar{top:70px;z-index:145}
@media(max-width:820px){
 .unified-shell .main-header{gap:6px;padding:8px;min-height:60px;height:60px}.unified-shell #app{padding-top:60px}.main-header .header-search{min-width:66px;flex:1.2}.main-header .search input{font-size:12px;padding:10px 5px 10px 24px}.main-header .search .glass{left:7px}.main-header .header-reference{min-width:54px;flex:1;max-width:140px}.main-header .ref-group{gap:3px}.main-header .ref-group>span{display:none}.main-header .ref-group strong{max-width:70px;font-size:10px}.main-header #refReset{min-width:22px;padding:2px}.main-header .shell-toggle{font-size:0;padding:8px;min-width:36px;min-height:36px}.main-header .shell-toggle span{font-size:20px}.header-admin .btn{font-size:0;min-width:38px;padding:7px}.header-admin .btn::after{content:'Admin';font-size:10px}.main-header .results{width:min(330px,calc(100vw - 16px));top:44px;max-height:55dvh}
 .shell-panel{top:68px;bottom:8px;width:310px;max-width:calc(100vw - 44px);border-radius:14px}.tools-panel{left:8px}.settings-panel{right:8px}.shell-panel-head{padding:14px}.unified-shell .drawer{top:64px;bottom:0;left:0;right:0;width:100%;max-width:100%;height:calc(100dvh - 64px);max-height:calc(100dvh - 64px);border-radius:18px 18px 0 0}.unified-shell .scrim{top:60px}.unified-shell .cloud-onboarding{top:60px}.unified-shell .cloud-preview-bar{top:66px}
}

.unified-shell #screenToggle{display:block}
@media(max-width:820px){.main-header .shell-toggle{font-size:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px;min-width:44px}.main-header .shell-toggle span{font-size:17px}}

.main-header .header-reference{display:flex;align-items:center;gap:8px}.main-header .ref-group{flex:1;min-width:0}.main-header .header-navigation{flex:none;padding:5px;min-width:34px;font-size:21px}.header-navigation[aria-pressed=true]{background:var(--pale);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
@media(max-width:820px){.main-header .header-reference{gap:2px;min-width:80px}.main-header .header-navigation{min-width:27px;padding:2px;font-size:21px}.main-header .ref-group strong{max-width:48px}.main-header .ref-group #refReset{display:none}}

.unified-shell :is(.selectionbar,.floor){z-index:120}.shell-panel{bottom:86px}
@media(max-width:820px){.shell-panel{bottom:130px}}

.shell-panel .orientation{max-width:100%!important;flex:none}.shell-panel #layoutMode{max-width:100%;width:100%}

/* The reference is a graph breadcrumb; header actions remain compact. */
.main-header .header-reference{flex:none;min-width:0;max-width:none;margin-left:auto;margin-right:0}.main-header .header-search{max-width:460px}.reference-box{position:absolute;top:12px;left:12px;z-index:6;width:285px;max-width:calc(100% - 24px);padding:12px 14px;background:var(--paper);border:1px solid var(--stroke);border-radius:14px;box-shadow:0 4px 16px #102b2312;display:grid;gap:10px}.reference-box small{display:block;font-size:10px;color:var(--sub);margin-bottom:3px}.reference-box #refReset{font-size:13px;min-height:0;padding:0;border:0;background:transparent;color:var(--deep);white-space:normal;text-align:left;font-weight:800}.reference-current{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--stroke);padding-top:9px}.reference-current>div{min-width:0}.reference-box #refName{display:block;font-size:13px;overflow-wrap:anywhere}.reference-box #referenceBack{padding:4px;min-width:34px;min-height:32px;font-size:20px}.shell-panel .hint{position:static;max-width:none;margin:0;padding:0;box-shadow:none;border:0;background:none;backdrop-filter:none;color:var(--sub);font-size:11px;line-height:1.6}.shell-panel .hint-desc{display:block}.shell-panel #counter{display:block;font-weight:700;color:var(--ink)}
@media(max-width:820px){.main-header .shell-toggle{font-size:0;min-width:36px;padding:7px}.main-header .shell-toggle span{font-size:20px}.main-header .header-reference{min-width:0;flex:none}.main-header .header-search{max-width:none}.reference-box{width:235px;top:9px;left:9px;padding:10px 12px;gap:7px}.reference-box #refReset,.reference-box #refName{font-size:12px}.reference-current{padding-top:7px}.main-header .header-navigation{min-width:32px}.shell-panel .hint-desc{display:block}}

.unified-shell .modalback{z-index:200}.reference-box{width:230px;padding:8px 10px;gap:5px;border-radius:11px}.reference-box small{font-size:9px;margin-bottom:1px}.reference-box #refReset,.reference-box #refName{font-size:11px}.reference-current{padding-top:5px}.reference-box #referenceBack{min-height:26px;min-width:28px;font-size:17px}.delete-person{margin-top:16px}.header-navigation svg{display:block}
@media(max-width:820px){.reference-box{width:195px;padding:7px 9px;gap:4px}.reference-box #refReset,.reference-box #refName{font-size:10px}.reference-box small{font-size:8px}.reference-current{padding-top:4px}}

.person.kinship-small{padding:calc(7px * var(--kinship-size)) calc(8px * var(--kinship-size));gap:calc(3px * var(--kinship-size))}.person.kinship-small strong{font-size:calc(11px * var(--kinship-size))}.person.kinship-small .eyebrow{font-size:calc(8px * var(--kinship-size))}.person.kinship-small .meta{font-size:calc(9px * var(--kinship-size))}

.collection-back{display:grid;place-items:center;flex:none;font-size:18px;min-width:34px}.tree-sources a{display:block;font-size:11px;margin-top:8px;overflow-wrap:anywhere;color:var(--deep)}
@media(max-width:820px){.main-header .collection-back{min-width:28px;padding:5px}.main-header .header-search{min-width:45px}}
