@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b8ccc630e9b93600-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1ab3e5abcf77747f-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/edb99fec956915f8-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.ne8-LG_className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.ne8-LG_variable{--font-serif:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8bcddb47c8219945-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c0680f1bdb3a2e90-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.UkQhOW_className{font-family:Outfit,Outfit Fallback;font-style:normal}.UkQhOW_variable{--font-sans:"Outfit", "Outfit Fallback"}
:root{--bg:#fbf7f1;--bg-deep:#e7e0d2;--ink:#1e1a16;--muted:#6f675e;--line:#e3d8c8;--card:#fffdf8;--accent:#1e4d3a;--accent-soft:#e5f0ea;--warn:#8a4b12;--warn-bg:#f8ecd8;--danger:#8d2f2f;--shadow:0 16px 40px #46301414;--sans:var(--font-sans), "Avenir Next", "Segoe UI", sans-serif;--serif:var(--font-serif), "Iowan Old Style", Palatino, Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg)}body{background:radial-gradient(circle at 8% 0%, #1e4d3a0f, transparent 28%), radial-gradient(circle at 100% 0%, #8d2f2f0d, transparent 26%), var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,.brand,.tree-name,.person-row-name,.login-card h1{font-family:var(--serif);letter-spacing:-.02em;font-weight:560}h1{margin:0;font-size:2rem;line-height:1.1}h2{margin:0 0 .4rem;font-size:1.15rem}p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:40;background:var(--accent);color:#fbf7f1;border-radius:999px;padding:10px 14px;text-decoration:none;position:absolute;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.shell{contain:paint;flex-direction:column;height:100dvh;max-height:100dvh;display:flex;position:relative;overflow:clip}.shell-main{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:auto}.topbar{padding:12px 18px;padding-top:max(12px, env(safe-area-inset-top));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#fbf7f1eb;flex-wrap:nowrap;align-items:center;gap:18px;display:flex}.centre-slot{flex:auto;justify-content:center;min-width:0;display:flex;overflow:hidden}.brand{color:var(--accent);align-items:center;gap:10px;font-size:1.35rem;text-decoration:none;display:inline-flex}.mark{width:32px;height:32px;display:block}.nav{gap:4px;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:8px 12px;text-decoration:none}.nav a[aria-current=page]{background:var(--accent);color:#fbf7f1}.top-actions{flex-wrap:nowrap;flex:none;gap:8px;margin-left:auto;display:flex}.btn,button.btn,a.btn{border:1px solid var(--line);background:var(--card);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);color:#fbf7f1;border-color:var(--accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);background:0 0;border-color:#e7c8c4}.btn.tiny{min-width:24px;min-height:24px;padding:4px 8px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:wait}.sample-banner{background:var(--warn-bg);color:var(--warn);border-bottom:1px solid #efd7b4;padding:8px 18px;font-size:.92rem}.staging-banner{background:var(--accent);color:#fbf7f1;text-align:center;letter-spacing:.02em;flex:none;padding:8px 16px;font-size:.92rem;font-weight:650}body.is-staging{flex-direction:column;height:100dvh;min-height:0;display:flex}body.is-staging .shell,body.is-staging .login-screen{flex:1 1 0;height:auto;min-height:0;max-height:none}.people-layout{flex:1 1 0;grid-template-columns:minmax(280px,380px) 1fr;min-height:0;display:grid}.people-list-pane,.detail-pane{min-height:0;overflow:auto}.people-list-pane{border-right:1px solid var(--line);background:#fffdf873}.list-wrap{padding:22px 18px 40px}.list-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.list-head h1{font-size:1.8rem}.muted,.hint,.lede,.places,.timestamps,.person-row-meta,.rel-label{color:var(--muted)}.search{margin:16px 0;display:block}.search input,.person-form input,.person-form select,.person-form textarea,.rel-row select,.date-grid input,.date-grid select,.date-typed input,.display-settings select,.settings-jump select{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:10px 12px;font-size:16px}.person-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.person-row-line{align-items:center;gap:4px;display:flex}.person-row-line>.person-row{flex:auto;min-width:0}.show-on-tree{flex:none;min-width:44px;min-height:44px}.person-row{border-radius:14px;align-items:center;gap:12px;min-height:44px;padding:10px;text-decoration:none;display:flex}.person-row:hover,.person-row[aria-current=page]{background:#fff}.person-row[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent)}.avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);font-family:var(--serif);border-radius:50%;flex:none;place-items:center;display:grid}.avatar.xl{width:84px;height:84px;font-size:1.6rem}.person-row-text{flex-direction:column;min-width:0;display:flex}.person-row-name{font-size:1.05rem}.person-row-name em{color:var(--muted);font-style:italic;font-weight:400}.empty-copy{margin-top:8px}.detail-view,.empty-state,.form-page{max-width:860px;padding:28px 32px 64px}.back-link{color:var(--accent);margin-bottom:12px;text-decoration:none;display:none}.detail-head{align-items:flex-start;gap:18px;display:flex}.detail-id{flex:1;min-width:0}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.person-actions{flex-wrap:wrap;gap:8px;display:flex;position:relative}.person-actions>.btn{min-height:44px}.person-tabs{scrollbar-width:thin;gap:6px;margin:18px 0 8px;padding-bottom:4px;display:flex;overflow-x:auto}.person-tabs button{border:1px solid var(--line);min-height:44px;color:var(--muted);background:0 0;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.person-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fbf7f1}.person-menu{z-index:20;background:var(--card);border:1px solid var(--line);min-width:min(280px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.person-menu[hidden]{display:none}.person-menu a,.person-menu button{text-align:left;width:100%;min-height:44px;color:inherit;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.person-menu a:hover,.person-menu button:hover,.person-menu a:focus-visible,.person-menu button:focus-visible{background:var(--bg)}.person-menu .menu-danger{border-top:1px solid #f0d2cf;margin-top:4px;padding-top:4px}.person-menu .menu-danger .btn{color:var(--danger)}.person-menu .show-on-tree{flex:none;width:100%;min-width:0}.person-protect{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;gap:8px;margin-top:12px;padding:14px;display:flex}.person-settings{margin-top:8px}.person-panel-note{margin:8px 0 0}.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--warn);margin-bottom:4px;font-size:.72rem}.nickname{font-family:var(--serif);margin-top:4px;font-size:1.2rem;font-style:italic}.lifespan{margin-top:8px;font-size:1.05rem}.portrait{object-fit:cover;border:1px solid var(--line);border-radius:18px;width:96px;height:96px}.quick-row{flex-wrap:wrap;gap:8px;margin:22px 0 8px;display:flex}.rel-section{margin-top:22px}.rel-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rel-row{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(140px,1.2fr) minmax(120px,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.rel-name{font-family:var(--serif);font-size:1.05rem;text-decoration:none}.rel-row button[data-testid=also-child-of]{grid-column:1/-1;justify-self:start}button[data-testid=also-child-of]{margin:8px 0}.notes{white-space:pre-wrap}.record-list{flex-direction:column;gap:12px;margin:8px 0 16px;padding:0;list-style:none;display:flex}.record-list li{border-bottom:1px solid var(--line);padding-bottom:10px}.picker-results{flex-direction:column;gap:6px;margin:8px 0;display:flex}.picker-results .picker-person{width:100%;min-height:44px}.timestamps{margin-top:28px;font-size:.9rem}.empty-state{flex-direction:column;justify-content:center;gap:8px;min-height:100%;display:flex}.person-form{flex-direction:column;gap:16px;display:flex}.form-grid,.date-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.place-field{flex-direction:column;gap:4px;min-width:12rem;display:flex}.place-suggestions{border:1px solid var(--line);background:var(--card);border-radius:12px;max-height:16rem;margin:0;padding:4px;list-style:none;overflow:auto}.place-suggestions button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:6px 8px}.place-suggestions button[aria-selected=true]{background:var(--accent-soft)}.place-attribution{color:var(--muted);margin:0;font-size:.85rem}.event-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.event-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.event-form{flex-direction:column;gap:10px;margin-top:12px;display:flex}.date-fields{border:1px solid var(--line);border-radius:16px;margin:0;padding:12px}.date-fields legend{color:var(--muted);padding:0 6px}.date-fields.is-compact{border:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:0;display:flex}.date-fields.is-compact legend{padding:0;font-size:.85rem}.date-fields.is-compact .date-grid{flex-wrap:wrap;gap:4px;width:auto;display:flex}.date-fields.is-compact label{gap:0;width:auto}.date-fields.is-compact .date-grid input,.date-fields.is-compact .date-grid select{border-radius:8px;width:auto;max-width:6.5rem;min-height:32px;padding:4px 8px;font-size:.92rem}.date-fields.is-compact .date-grid input{width:4.4rem}.date-fields.is-compact .date-grid input[aria-label$=day]{width:3.1rem}.partner-dates{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.partner-dates>label{width:auto}.partner-dates>label select{width:auto;max-width:11rem}.partner-dates>.hint{flex:1 0 100%}.date-typed{grid-column:1/-1}.date-fields.is-compact .date-typed{width:11.5rem}.date-reading{grid-column:1/-1;margin:0;font-size:.95rem}.date-fields.is-compact .date-reading,.date-fields.is-compact .date-note{flex-basis:100%;width:100%;font-size:.85rem}.date-note{grid-column:1/-1;margin:0}.display-settings{gap:12px}.display-settings .form-actions{margin-top:4px}.date-place{grid-column:1/-1}label{flex-direction:column;gap:6px;font-size:.92rem;display:flex}.check{flex-direction:row;align-items:center;gap:8px}.check input{width:auto}.form-actions,.dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.photo-preview{align-items:center;gap:12px;margin-top:8px;display:flex}.photo-preview img{object-fit:cover;border-radius:12px;width:72px;height:72px}.warning,.form-error{background:var(--warn-bg);color:var(--warn);border-radius:12px;padding:12px 14px}.form-error{color:var(--danger);background:#f8e6e4}.warning ul{margin:8px 0 0;padding-left:18px}.scrim,.menu-scrim{z-index:30;background:#281e1259;border:0;padding:0;position:fixed;inset:0}.menu-scrim{background:0 0}.dialog{z-index:31;background:var(--bg);width:min(720px,100vw - 24px);max-height:min(92dvh,900px);box-shadow:var(--shadow);border-radius:20px;padding:22px;position:fixed;top:4dvh;left:50%;overflow:auto;transform:translate(-50%)}.rel-section h2{align-items:center;gap:10px;display:flex}.link-choices{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.link-results{flex-direction:column;gap:6px;max-height:min(42dvh,280px);margin:8px 0;padding:0;list-style:none;display:flex;overflow:auto}.link-results button{justify-content:flex-start;width:100%;min-height:44px}.filter-row{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{border:1px solid var(--line);min-height:44px;color:inherit;background:0 0;border-radius:999px;padding:8px 12px}.chip.on{background:var(--ink,#243126);color:var(--bg,#f6f1e7)}.suggest-block h2{margin:12px 0 4px;font-size:.95rem}.picker-person{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.picker-person.is-unlikely,.picker-person.is-disabled{opacity:.55}.picker-reason{color:var(--muted,#6f675e);font-size:12px;font-weight:400;display:block}.inline-parent{flex-direction:column;gap:8px;padding-left:28px;display:flex}.inline-parent .field{margin:0}.preview{border:1px solid var(--line);background:#ffffff73;border-radius:12px;margin:12px 0;padding:12px 14px}.preview ul{margin:0;padding-left:18px}.preview li{margin:4px 0}.warning-line{color:var(--warn,#8a4b12);margin:8px 0 0}.partner-years{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 10px;display:flex}.partner-years>label{width:auto}.partner-years select{border-radius:8px;width:auto;max-width:11rem;min-height:32px;padding:4px 8px}.partner-years .hint{flex:1 0 100%;margin:0}.dialog.confirm{background:var(--card);width:min(440px,100vw - 24px)}.dialog.confirm p{margin:10px 0 18px}.menu{z-index:32;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;min-width:160px;padding:6px;display:flex;position:fixed}.menu button{text-align:left;background:0 0;border:0;border-radius:10px;padding:8px 10px}.menu button:hover{background:var(--bg)}.tree-page{flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative}.tree-viewport{touch-action:none;cursor:grab;background-color:#efe8da;background-image:radial-gradient(#e0d5c3 1.1px,#0000 1.1px);background-size:22px 22px;flex-direction:row;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.tree-viewport.is-panning{cursor:grabbing}.tree-stage{touch-action:none;flex:1;min-width:0;position:relative;overflow:hidden}.gen-rail{pointer-events:none;z-index:3;background-color:#efe8da;background-image:radial-gradient(#e0d5c3 1.1px,#0000 1.1px);background-size:22px 22px;flex:none;width:36px;position:relative;overflow:hidden}.tree-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.tree-svg{pointer-events:none;position:absolute;inset:0;overflow:visible}.row-label{fill:#8a7d6b;font-size:13px;font-family:var(--sans)}.gen-band{fill:#1f4a380b}.gen-band.alt{fill:#8a4b120d}.gen-label{fill:#6f675e;font-size:13px;font-family:var(--sans)}.child-path{fill:none;stroke:#8a6a45;stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.child-path.is-half{stroke-dasharray:7 5}.child-path.kin-adoptive{stroke-dasharray:1 0;stroke-width:3.2px}.child-path.kin-step{stroke-dasharray:3 4}.child-path.kin-foster{stroke-dasharray:1 4}.child-path.kin-non_biological{stroke:#3d6b8a;stroke-dasharray:6 4}.tree-card.is-see-also-target{outline:3px solid var(--accent);outline-offset:3px;z-index:5}.tree-standin.is-see-also{outline:2px dashed var(--accent);outline-offset:2px}.child-path.kin-mixed{stroke-dasharray:8 3 2 3}.partner-path{fill:none;stroke-width:2px;stroke-linecap:round}.partner-path.distant{stroke-dasharray:4 4;opacity:.7}.household-panel{fill-opacity:.13;stroke:#46301414;stroke-width:1px;filter:drop-shadow(0 8px 16px #4630140d)}.tree-world.is-focused .child-path,.tree-world.is-focused .partner-path,.tree-world.is-focused .partner-dot,.tree-world.is-focused .household-panel,.tree-world.is-focused .tree-card,.tree-world.is-focused .tree-standin{opacity:.22;filter:blur(1.1px)}.tree-world.is-focused .child-path.is-focus,.tree-world.is-focused .is-focus .partner-path,.tree-world.is-focused .is-focus .partner-dot,.tree-world.is-focused .household-panel.is-focus,.tree-world.is-focused .tree-card.is-focus,.tree-world.is-focused .tree-standin.is-focus{opacity:1;filter:none}.tree-world.is-focused .child-path.is-focus{stroke-width:3.2px}.tree-world.is-focused .child-path.is-line{stroke-width:4.6px}.tree-world.is-focused .tree-card.is-focus{z-index:4;transform:translateY(-3px)}.tree-world.is-focused .tree-card.is-focus-kin,.tree-world.is-focused .tree-standin.is-focus-kin{opacity:var(--kin-strength,.92);filter:none;z-index:3}.tree-world.is-focused .tree-card.is-inlaw,.tree-world.is-focused .tree-standin.is-inlaw{outline-offset:-4px;outline:1px dashed #503c2873}.tree-world.is-focused .tree-card.is-hop,.tree-world.is-focused .tree-standin.is-hop,.tree-world.is-focused .child-path.is-hop,.tree-world.is-focused g.is-hop .partner-path,.tree-world.is-focused g.is-hop .partner-dot{opacity:var(--hop-fade,.2);filter:none}.tree-world.is-focused .tree-card.is-focus-affinal,.tree-world.is-focused .tree-standin.is-focus-affinal{opacity:.82;filter:none;z-index:3;outline-offset:-4px;outline:1px dashed #503c2873}.parent-choices{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.parent-choices legend{padding:0 4px;font-weight:600}.merge-picked{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;padding:10px 12px;display:flex}.merge-picked strong{display:block}.merge-years{flex-wrap:wrap;gap:8px 12px;margin:8px 0;display:flex}.merge-years label{width:auto}.merge-years input{border:1px solid var(--line);background:#fff;border-radius:12px;width:6.5rem;min-height:44px;padding:10px 12px;font-size:16px}.picker-person.is-active{outline:2px solid var(--ink,#243126);outline-offset:2px}.merge-table{border-collapse:collapse;width:100%;margin:12px 0}.merge-table th,.merge-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.merge-table thead th{color:var(--muted);font-size:.85rem;font-weight:650}.merge-table th[scope=row]{width:28%;font-weight:650}.merge-table .check{align-items:flex-start;width:auto;min-height:44px}.merge-row-extra{flex-direction:column;gap:4px;margin-top:6px;font-weight:450;display:flex}.merge-who{color:var(--muted);font-size:12px;display:none}.merge-photo-choice{object-fit:cover;border-radius:10px;width:56px;height:56px;display:block}.merge-same,.merge-advanced{margin:10px 0}.merge-same summary,.merge-advanced summary{cursor:pointer;align-items:center;min-height:44px;font-weight:650;display:flex}.merge-links{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.merge-links li{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px}.merge-links .is-duplicate{color:var(--muted)}.merge-link-who{color:var(--muted);font-size:12px;display:block}.merge-summary-label{margin:0 0 6px;font-weight:650}@media (max-width:640px){.merge-table thead{display:none}.merge-table,.merge-table tbody,.merge-table tr,.merge-table th,.merge-table td{width:100%;display:block}.merge-table tr{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 0 10px}.merge-table th,.merge-table td{border-bottom:0}.merge-table th[scope=row]{width:auto;padding-bottom:0}.merge-who{display:block}}.tree-card{background:var(--card);cursor:pointer;border:1px solid #e6dccb;border-radius:16px;position:absolute;overflow:hidden;box-shadow:0 10px 24px #4630140f}.gender-band{height:7px;position:absolute;top:0;left:0;right:0}.gender-male{background:#2c6cb0}.gender-female{background:#c4537a}.gender-unspecified,.gender-other{background:#b7aa9a}.tree-card-body{align-items:flex-start;gap:8px;height:100%;padding:14px 48px 36px 12px;display:flex}.tree-avatar{object-fit:cover;border-radius:999px;flex:none;width:40px;height:40px;margin-top:2px;box-shadow:0 0 0 2px #fff}.tree-avatar.initials{color:#fff;letter-spacing:.04em;place-items:center;font-size:.78rem;font-weight:650;display:grid}.tree-card-text{flex-direction:column;flex:1;gap:4px;min-width:0;max-width:100%;display:flex;overflow:visible}.tree-share{border:1px solid var(--line);min-width:44px;min-height:32px;color:inherit;z-index:2;background:#fff;border-radius:999px;padding:4px 10px;font-size:.78rem;text-decoration:none;position:absolute;bottom:8px;right:8px}.tree-open{border:1px solid var(--line);min-width:64px;max-width:calc(100% - 24px);min-height:32px;color:inherit;white-space:nowrap;background:#fff;border-radius:999px;padding:4px 10px;font-size:.78rem;text-decoration:none;position:absolute;bottom:8px;left:12px}.tree-standin{color:var(--ink);text-align:left;background:#fffdf8;border:1px dashed #8a7560;border-radius:16px;flex-direction:column;gap:4px;padding:16px 12px 12px;display:flex;position:absolute;overflow:hidden}.tree-standin-label{font-size:.78rem;line-height:1.25}.tree-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.tree-kicker em{color:var(--warn);letter-spacing:.08em;font-style:normal}.tree-name,.tree-kicker,.tree-years,.tree-deceased,.tree-standin-label,.tree-standin .tree-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.tree-name,.tree-standin .tree-name{font-size:clamp(18px, calc(11px / var(--tree-scale,1)), 64px);line-height:1.05}.tree-world[data-layout=compact] .tree-name,.tree-world[data-layout=compact] .tree-standin .tree-name{letter-spacing:0;font-size:17px;line-height:1.1}.tree-world[data-layout=compact] .tree-standin,.tree-world[data-layout=compact] .tree-standin .tree-name{color:var(--ink);font-weight:650}.tree-world[data-layout=compact] .tree-standin{justify-content:center;align-items:stretch;gap:0;padding:0 8px}.tree-world[data-layout=compact] .tree-standin .tree-name{flex:none;width:100%;height:auto;line-height:1.15}.tree-given{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-initial{display:none}.tree-name.is-short{align-items:baseline;gap:.3em;display:flex}.tree-world[data-layout=compact] .tree-standin .tree-name.is-short{align-items:center}.tree-name.is-short .tree-initial{flex:none;font-weight:750;display:inline}.tree-name.is-short .tree-given{min-width:0}.tree-world[data-layout=compact] .tree-card,.tree-world[data-layout=compact] .tree-standin{border-radius:8px}.tree-world[data-layout=compact] .tree-card-body{justify-content:center;align-items:center;padding:0 8px}.tree-world[data-layout=compact] .gender-band{height:3px}.tree-world[data-names=initials] .tree-name,.tree-world[data-names=initials] .tree-standin .tree-name{text-align:center;letter-spacing:.04em;font-size:15px}.tree-years{color:var(--muted);width:calc(100% + 28px);max-width:none;margin-top:8px;font-size:.78rem;line-height:1.25}.tree-standin-label{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.tree-deceased,.deceased-flag{letter-spacing:.06em;text-transform:uppercase;color:#6f4b3a;background:#f3e6dc;border-radius:999px;align-self:flex-start;padding:1px 7px;font-size:.68rem;font-weight:700;display:inline-block}.deceased-flag{margin:4px 0;font-size:.78rem}.tree-plus,.tree-star{border:1px solid var(--line);background:#fff;border-radius:999px;padding:0;line-height:1;position:absolute}.tree-plus{width:32px;height:32px;top:12px;right:8px}.explain-mark{color:#6f4b3a;z-index:3;background:#fffdf8;border:1px solid #c4b8a8;border-radius:999px;width:22px;height:22px;padding:0;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:14px;font-style:italic;line-height:1;position:absolute;top:48px;right:8px}.explain-mark.on-union{z-index:3}.explain-popover{z-index:40;color:#3d3228;background:#fffdf8;border:1px solid #e6dccb;border-radius:14px;width:min(280px,100% - 16px);max-width:280px;padding:12px 12px 10px;font-size:.92rem;line-height:1.45;position:fixed;overflow:auto;box-shadow:0 12px 32px #46301429}.explain-popover p{margin:0 0 8px}.explain-popover button{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:32px;padding:4px 12px}.union-ended{fill:#6f4b3a;font-size:11px;font-weight:700}.tree-star{z-index:2;color:#8a7d6b;opacity:0;visibility:hidden;pointer-events:none;width:18px;height:18px;font-size:12px;top:40px;left:34px}.tree-star.is-on{color:#9a6b12;background:#fff6df}.tree-card:hover .tree-star,.tree-card:focus-within .tree-star,.tree-card.is-home .tree-star{opacity:1;visibility:visible;pointer-events:auto}.centre-chip{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#fffdf8;border-radius:999px;min-width:0;max-width:100%;padding:6px 12px;font-weight:650;overflow:hidden}.centre-fallback{flex:none;justify-content:center;padding:4px 12px 0;display:flex}.legend-inline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.82rem;display:flex}.legend-inline span{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:99px;width:14px;height:8px;display:inline-block}.swatch.male{background:#2c6cb0}.swatch.female{background:#c4537a}.swatch.unspecified{background:#b7aa9a}.legend-note{color:var(--ink)}.tree-controls{padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:5;background:#fffdf8;flex-wrap:nowrap;flex:none;align-items:center;gap:8px;display:flex;overflow-x:auto}.tree-controls>.tree-hint{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;margin:0;position:static;overflow:hidden}.tree-controls>button,.tree-controls>.segmented,.tree-controls>.tree-toolbar{flex-shrink:0}.tree-controls>button,.segmented button{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:44px;padding:0 12px}.tree-controls>button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.segmented{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-radius:0}.segmented button[aria-pressed=true]{background:var(--accent);color:#fff}.tree-toolbar{border:1px solid var(--line);background:#fffdf8f0;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:4px;display:flex;position:static}.tree-toolbar button{background:0 0;border:0;border-radius:999px;width:44px;height:44px}.tree-toolbar button[data-testid=fit-tree],.tree-toolbar button[data-testid=show-all]{width:auto;padding:0 12px}.zoom-label{text-align:center;min-width:48px;color:var(--muted);font-variant-numeric:tabular-nums}.tree-search{flex:180px;min-width:140px;max-width:280px;position:relative}.tree-search input{border:1px solid var(--line);background:#fff;border-radius:999px;width:100%;min-height:44px;padding:0 14px}.tree-search-results{z-index:6;border:1px solid var(--line);max-height:min(42dvh,280px);box-shadow:var(--shadow);background:#fffdf8;border-radius:14px;margin:0;padding:6px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:auto}.tree-search-results button{text-align:left;background:0 0;border:0;border-radius:10px;width:100%;min-height:44px;padding:8px 10px}.tree-search-results button:hover{background:#1f4a380f}.minimap{z-index:4;border:1px solid var(--line);width:180px;height:112px;box-shadow:var(--shadow);touch-action:none;background:#fffdf8f0;border-radius:12px;position:absolute;bottom:12px;right:12px;overflow:hidden}.minimap.docked{visibility:visible;flex:100%;width:100%;height:88px;position:relative;inset:auto}.minimap canvas{width:100%;height:100%;position:absolute;inset:0}.minimap-view{border:2px solid var(--accent);pointer-events:none;background:#1e4d3a1f;border-radius:3px;position:absolute}.minimap-close{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:28px;padding:0 8px;font-size:.75rem;position:absolute;top:4px;right:4px}.gen-stick-label{text-align:center;color:#243028;white-space:nowrap;background:#fffdf8f0;border-radius:8px;padding:3px 0;font-size:11px;font-weight:700;line-height:1.2;position:absolute;top:0;left:2px;right:2px}.tree-world[data-zoom=compact] .tree-kicker,.tree-world[data-zoom=compact] .tree-years,.tree-world[data-zoom=compact] .tree-deceased,.tree-world[data-layout=compact] .explain-mark,.tree-world[data-zoom=compact] .explain-mark{width:16px;height:16px;font-size:11px;top:2px;right:2px}.tree-world[data-zoom=compact] .tree-open,.tree-world[data-zoom=compact] .tree-share,.tree-world[data-zoom=compact] .tree-plus,.tree-world[data-zoom=compact] .tree-star,.tree-world[data-layout=compact] .tree-star,.tree-world[data-zoom=compact] .tree-avatar,.tree-world[data-zoom=compact] .tree-standin-label{display:none}.tree-world[data-zoom=compact] .tree-card-body{align-items:center;height:100%;padding:8px 10px}.tree-world[data-layout=compact] .tree-card-body{justify-content:center;align-items:center;height:100%;padding:0 8px}.tree-card.is-pulse,.tree-standin.is-pulse{animation:1.5s card-pulse}@keyframes card-pulse{0%{outline-offset:2px;outline:4px solid #1f4a38e6}to{outline-offset:14px;outline:4px solid #0000}}@media (max-width:760px){.tree-hint{display:none}.tree-search{flex:100%;max-width:none}.tree-controls{flex-wrap:wrap;gap:8px;overflow-x:visible}}.tree-hint{color:var(--muted);pointer-events:none;font-size:.85rem;position:absolute;bottom:18px;left:16px}.tree-empty{padding:48px 24px}.login-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--card);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:12px;padding:32px 28px;display:flex}.login-card .mark{width:64px;height:64px}.login-card h1{font-size:2.4rem}.login-card p,.login-lead{font-size:1.2rem;line-height:1.45}.login-go{width:100%;min-height:56px;font-size:1.2rem}.consent-card{width:min(560px,100%)}.consent-fields{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.consent-fields li{flex-direction:column;gap:2px;padding:0;display:flex}.consent-group-title{color:var(--muted);letter-spacing:.02em;font-size:.78rem;font-weight:650}.consent-group-values{line-height:1.45}.consent-access{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:6px;padding-top:12px;display:flex}.consent-access-read{font-weight:650}.consent-access .check{white-space:nowrap;flex-direction:row;align-self:flex-start;align-items:center;gap:8px;width:fit-content;max-width:100%;display:flex}.consent-access .check input{background:0 0;border:0;border-radius:0;flex:none;width:auto;margin:0;padding:0}.consent-access .hint{width:100%}.consent-personal{background:var(--warn-bg);color:var(--ink);border-radius:12px;margin:0;padding:10px 12px}.consent-actions{flex-wrap:wrap;gap:8px;display:flex}.login-text-link{width:fit-content;color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;margin-top:8px;padding:0;text-decoration:underline;display:block}.login-privacy{font-size:.92rem}.login-privacy a,.privacy-note a,.privacy-settings-link a{color:var(--accent)}.legal-draft{background:var(--warn-bg);border-radius:12px;margin:0;padding:12px 14px;font-size:1.05rem}.legal-gate{width:min(560px,100%)}.legal-agree{align-items:flex-start;gap:14px;font-size:1.35rem;line-height:1.45;display:flex}.legal-agree input{width:1.6rem;height:1.6rem;accent-color:var(--accent);flex:none;margin-top:.3rem}.legal-agree a{color:var(--accent)}.legal-related{margin-top:8px}.privacy-settings-link{margin-top:18px}.sensitive-hint{color:var(--warn);margin:0}.privacy-screen{min-height:100dvh;padding:28px 18px 64px}.privacy-note{flex-direction:column;gap:22px;width:min(720px,100%);margin:0 auto;display:flex}.privacy-head{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.privacy-note section{flex-direction:column;gap:8px;display:flex}.privacy-note h2{margin:0}.privacy-note ul{flex-direction:column;gap:4px;margin:0;padding-left:1.2rem;display:flex}.privacy-foot{color:var(--muted)}.login-form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.login-form input:not([type=checkbox]){border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:12px;font-size:16px}.loading,.error-block{padding:32px}.status-list{flex-direction:column;margin:0;display:flex}.status-list div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.status-list dt{color:var(--muted)}.status-list dd{margin:0;font-weight:650}.status-list dd[data-state=down]{color:var(--danger)}.status-list dd[data-state=up],.status-list dd[data-state=on]{color:var(--accent)}.history-page{max-width:760px}.history-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.history-item{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.history-text{font-family:var(--serif);font-size:1.15rem}.history-detail,.history-meta{color:var(--muted)}.history-meta{font-size:.85rem}.history-undo{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.label-line{align-items:center;gap:6px;display:inline-flex}.ai-hidden{color:var(--muted);vertical-align:middle;display:inline-flex}.private-badge{letter-spacing:.02em;text-transform:uppercase;color:var(--warn);background:var(--warn-bg);border-radius:999px;padding:1px 7px;font-size:.75rem}.portrait-wrap{display:inline-flex;position:relative}.portrait-wrap .ai-hidden{background:var(--card);border-radius:999px;padding:2px;position:absolute;bottom:6px;right:6px}.settings-page{flex:none;padding:36px 24px 48px;overflow:visible}.settings-column{flex-direction:column;gap:40px;width:min(720px,100%);margin:0 auto;display:flex}.settings-frame{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:32px;width:min(1080px,100%);margin:0 auto;display:grid}.settings-rail{align-self:start;position:sticky;top:0}.settings-main,#settings-privacy{flex-direction:column;gap:36px;min-width:0;display:flex}.settings-nav{flex-direction:column;gap:4px;display:flex}.settings-nav a{min-height:44px;color:var(--ink);border-radius:10px;align-items:center;padding:8px 12px;text-decoration:none;display:flex}.settings-nav a:hover{background:#1e4d3a0f}.settings-nav a[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:650}.settings-jump{display:none}.settings-jump select{min-height:44px}.settings-note{color:var(--muted);max-width:62ch;line-height:1.5}.continuity-search{margin:0}.continuity-search input{width:100%;min-height:44px}.continuity-filters{flex-wrap:wrap;gap:8px;display:flex}.continuity-filters .btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.continuity-person{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 0;display:flex}.continuity-person .settings-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-intro{flex-direction:column;gap:8px;display:flex}.settings-intro h1{font-size:2rem}.settings-intro .lede{max-width:46ch;font-size:1.05rem}.settings-group{flex-direction:column;gap:14px;display:flex}.settings-group-head{flex-direction:column;gap:6px;display:flex}.settings-group-head h2{margin:0;font-size:1.45rem}.settings-group-head p{color:var(--muted);max-width:62ch}.settings-stack{flex-direction:column;gap:14px;display:flex}.settings-card{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex}.settings-card h3{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:560}.settings-group,#personal-access-tokens{scroll-margin-top:12px}.settings-band{flex-direction:column;gap:14px;display:flex}.settings-band-private .settings-card{background:#fffaf3;border-color:#e4d3b8}.settings-band-shared .settings-card{border-color:#c9ddd3}.settings-danger{background:#fff8f6;border-color:#e7c8c4}.settings-danger-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--danger);margin:0;font-size:.75rem;font-weight:700}.settings-field-actions,.settings-confirm{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.settings-confirm{background:#fff8f6;border:1px solid #e7c8c4;border-radius:12px;flex-direction:column;flex:1 0 100%;align-items:flex-start;padding:12px}.settings-field-actions .settings-disclosure{border-top:0;width:100%;margin-top:0;padding-top:0}.private-heading,.private-legend{align-items:center;gap:8px;display:flex}.private-lock{color:var(--warn);flex:none}.private-fields{background:#fffaf3;border:1px solid #e4d3b8;border-radius:16px;padding:14px 16px 16px}.settings-subhead{margin:8px 0 0;font-size:1rem;font-weight:650}.settings-warning{background:var(--warn-bg);color:var(--warn);border-radius:10px;margin:0;padding:10px 12px}.settings-card [data-testid=gedcom-whole]{background:#fff8f6;border:1px solid #e7c8c4;border-radius:12px;margin-top:8px;padding:12px}.settings-card [data-testid=gedcom-whole] .btn{color:var(--danger);background:0 0;border-color:#e7c8c4}.settings-card .hint{line-height:1.5}.settings-card .setting-list{gap:0}.settings-card .setting-list li{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;align-items:flex-start;padding:14px 0}.settings-card .setting-list li.setting-row{grid-template-columns:minmax(0,1.15fr) 11rem minmax(13.5rem,1fr);align-items:start;gap:8px 18px;display:grid}.settings-card .setting-row .label-line{flex-wrap:wrap;align-items:center;min-width:0;display:flex}.setting-ai{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.setting-audiences{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.setting-audiences .check{align-items:flex-start}.settings-card .setting-list li:first-child{border-top:0;padding-top:2px}.settings-toggle-row,.settings-apps li,.settings-kills li{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-toggle-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-stack .settings-toggle-row+.settings-toggle-row{border-top:1px solid var(--line);padding-top:14px}.settings-url,.settings-command-row{align-items:center;gap:8px;display:flex}.settings-url,.settings-command{background:var(--bg);border:1px solid var(--line);border-radius:12px}.settings-url{padding:8px 8px 8px 12px}.settings-url code,.settings-command{overflow-wrap:anywhere;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}.settings-command{padding:10px 12px}.connect-qr{width:168px;height:168px;margin-top:12px;display:block}.settings-steps{flex-direction:column;gap:8px;margin:4px 0 0;padding-left:1.25rem;display:flex}.settings-steps li{line-height:1.5}.settings-connect-list{margin:4px 0 0;padding:0;list-style:none}.settings-connect-list li{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:12px 0 2px;display:flex}.settings-actions,.settings-app-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-app-actions{flex:none}.add-to-cursor{border-radius:6px;line-height:0;display:inline-flex}.add-to-cursor img{width:auto;height:32px}.role-actions{flex-wrap:wrap;gap:6px;display:flex}.settings-apps,.settings-kills{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.settings-apps li,.settings-kills li{border-top:1px solid var(--line);padding-top:12px}.settings-disclosure{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.settings-disclosure summary{cursor:pointer;align-items:center;gap:10px;font-weight:650;list-style:none;display:flex}.settings-disclosure summary::-webkit-details-marker{display:none}.settings-disclosure summary::marker{content:""}.settings-disclosure summary:focus-visible{border-radius:8px}.settings-pill{letter-spacing:.04em;text-transform:uppercase;color:var(--warn);background:var(--warn-bg);border-radius:999px;padding:2px 8px;font-size:.72rem}.settings-stop{color:var(--warn);background:var(--warn-bg);border-radius:12px;margin:0;padding:8px 10px}.switch{background:0 0;border:0;flex:none;align-items:center;gap:10px;min-width:44px;min-height:44px;padding:4px 2px;display:inline-flex}.switch-track{background:#d5cbbd;border:1px solid #b7ab9c;border-radius:999px;width:46px;height:28px;position:relative}.switch.is-on .switch-track{background:var(--accent);border-color:var(--accent)}.switch-thumb{background:#fffdf8;border-radius:50%;width:22px;height:22px;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1e1a1640}.switch.is-on .switch-thumb{transform:translate(18px)}.switch-text{min-width:2.2ch;color:var(--ink);font-weight:700}.switch:disabled{opacity:.55;cursor:not-allowed}.settings-secret,.recovery-codes{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.settings-secret{background:var(--bg);border:1px solid var(--line);word-break:break-all;border-radius:12px;padding:12px;line-height:1.45}.recovery-codes{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recovery-codes li{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.setting-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.setting-list li{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.settings-add{margin-top:8px}.custom-fields{border:0;flex-direction:column;gap:12px;margin:12px 0;padding:0;display:flex}.custom-field.is-private,.custom-values .is-private{background:var(--warn-bg);border-radius:12px;padding:8px 10px}.custom-values{flex-direction:column;gap:8px;margin:0;display:flex}.custom-values dt{font-weight:600}.custom-values dd{margin:0}.contact-address{white-space:pre-wrap}.not-recorded{color:var(--muted)}.boundary-stubs{color:var(--muted);margin:8px 0 0;padding:0;list-style:none}.boundary-stubs li{border:1px dashed var(--line);background:#fbf7f1;border-radius:12px;padding:8px 10px}.edge-box{z-index:3;max-width:180px;position:absolute}.edge-box button{text-align:left;border:1px dashed var(--line);width:100%;color:var(--muted);background:#ece7e1;border-radius:12px;padding:8px 10px;display:block}.edge-box-help{color:var(--ink);margin:6px 0 0;font-size:13px}.invite-share-step{flex-direction:column;gap:8px;margin:12px 0;display:flex}.invite-share-step button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;padding:10px 12px;display:flex}.invite-share-step button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.invite-share-step span{color:var(--muted);font-size:.92rem}.invite-filters,.invite-hits{flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.invite-filters button[aria-pressed=true]{background:var(--forest,#1f4d3a);color:#fff}.invite-notices{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.invite-form input[type=email],.invite-form input[type=text],.invite-form input:not([type]){width:min(100%,28rem)}.check-row{align-items:center;gap:8px;display:flex}@media (max-width:800px){.people-layout{display:block}:is(.people-layout:has(.detail-view) .people-list-pane,.people-layout:has(.form-page) .people-list-pane){display:none}.people-layout:not(:has(.detail-view)):not(:has(.form-page)) .detail-pane{display:none}.back-link{display:inline-flex}.detail-view,.form-page{padding:18px 16px 48px}.settings-page{padding:22px 16px 40px}.settings-frame{grid-template-columns:minmax(0,1fr);gap:16px}.settings-rail{position:static}.settings-nav{display:none}.settings-jump{z-index:2;background:var(--bg);padding:8px 0 12px;display:block;position:sticky;top:0}.settings-toggle-row,.settings-apps li,.settings-kills li,.settings-url,.settings-command-row{flex-direction:column;align-items:flex-start}.settings-card{padding:14px 14px 16px}.settings-card .setting-list li.setting-row{grid-template-columns:minmax(0,1fr)}.detail-head{flex-wrap:wrap}.detail-head .detail-actions{width:100%}.detail-actions .show-on-tree{flex:auto}.person-row-line{flex-wrap:wrap;align-items:stretch}.person-row-line>.show-on-tree{flex:100%}.rel-row{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:8px}.tree-hint{display:none}.form-grid,.date-grid{grid-template-columns:1fr}}.import-meta{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:0 0 8px;display:flex}.import-person{border-top:1px solid var(--line);padding:16px 0}.import-person h3{margin:0 0 4px}.import-choices{border:0;flex-wrap:wrap;gap:8px 18px;margin:8px 0;padding:0;display:flex}.import-search{margin-top:8px}.import-warnings{margin:8px 0 0;padding-left:18px}.view-switch{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:8px 18px;display:flex}.view-switch a{min-height:44px;color:var(--ink);border-radius:999px;align-items:center;padding:8px 14px;text-decoration:none;display:inline-flex}.view-switch a[aria-current=page]{background:var(--accent);color:#fbf7f1}.tree-window-note,.tree-focus-note{flex:none;padding:8px 18px 0}.tree-canvas-region{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.tree-list{flex:1 1 0;min-height:0;padding:8px 18px 32px;overflow:auto}.tree-list h1{font-size:1.8rem}.family-groups{flex-direction:column;gap:18px;margin-top:8px;display:flex}.family-row{align-items:center;gap:8px;display:flex}.family-row .person-row{flex:auto;min-width:0}.family-row .centre-link{flex:none;min-height:44px}.family-map{flex-direction:column;gap:12px;padding:22px 28px 48px;display:flex}.family-map h1{font-family:var(--serif);margin:0}.family-map h2{margin:0 0 6px;font-size:1rem}.map-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.map-side{flex-direction:column;gap:14px;max-height:70dvh;display:flex;overflow:auto}.map-stage{border:1px solid var(--line);background:var(--card);border-radius:16px;min-height:480px;position:relative;overflow:hidden}.map-stage>.map-canvas{position:absolute;inset:0}.map-stage[data-mode=list]>.map-canvas{display:none}.map-fallback{color:var(--muted);margin:0;padding:18px}.map-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.map-list li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.map-pin{margin-top:8px}.map-pin-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-pin-fields input{width:100%}.map-attribution{color:var(--muted);margin:0;font-size:.85rem}.map-attribution a{color:inherit}@media (max-width:800px){.family-map{padding:18px 16px 40px}.map-layout{grid-template-columns:1fr}.map-stage{order:-1;min-height:320px}.map-side{max-height:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
