:root{--wine:#682f3b;--wine-dark:#512330;--gold:#ad884f;--cream:#f8f5ee;--paper:#fffdfa;--ink:#302c28;--muted:#7d756c;--line:#e6ded2;--soft:#efe6dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Nirmala UI","Gautami","Noto Sans Telugu","Segoe UI",sans-serif;font-size:17px;line-height:1.8}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.5;font-weight:600;margin-bottom:14px}h2{font-size:24px;line-height:1.6;font-weight:600;margin-bottom:14px}h3{font-size:19px}body[data-lang=en] h1,body[data-lang=en] h2,body[data-lang=en] h3{font-family:Georgia,serif;font-weight:400}p{color:var(--muted)}a{color:var(--wine);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input,select,textarea{border:1px solid #cfc3b4;background:white;border-radius:8px;color:var(--ink);padding:12px 14px;max-width:100%;min-height:49px}input[type=checkbox]{min-height:auto;width:22px;height:22px;flex-shrink:0;accent-color:var(--wine)}input[type=file]{padding:10px;width:100%;font-size:15px}textarea{min-height:110px;resize:vertical}label{display:block;margin-bottom:20px;font-weight:500}label>input:not([type=checkbox]),label>select,label>textarea{display:block;width:100%;margin-top:8px}.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:400}.check input{margin-top:6px}form{margin:0}.topbar{background:var(--paper);border-bottom:1px solid var(--line)}.top-inner{max-width:1220px;margin:auto;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:14px;align-items:center;font-size:24px;font-weight:600;line-height:1.5;color:var(--wine)}.brand:hover{text-decoration:none}.brand small{display:block;font-size:10px;letter-spacing:1.3px;color:var(--gold);margin-top:4px}.brand-mark{display:grid;place-items:center;width:48px;height:54px;border:1px solid #ccb695;border-radius:27px 27px 7px 7px;font:34px Georgia;color:var(--gold)}.top-actions{display:flex;align-items:center;gap:16px}.languages{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;font-size:14px;background:#fff}.languages a{padding:8px 13px;min-height:42px;display:grid;place-items:center}.languages a.active{background:var(--wine);color:white}.text-button{background:none;border:0;color:var(--muted);padding:10px;font-size:13px;min-height:44px}.main-nav{max-width:1220px;display:flex;gap:25px;margin:auto;padding:0 30px;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.main-nav a{padding:17px 4px;color:var(--muted);font-size:16px;border-bottom:3px solid transparent}.main-nav a.active{color:var(--wine);border-color:var(--wine);font-weight:600}.main-nav a:hover{text-decoration:none}.main-nav .small-nav{margin-left:auto;font-size:13px}main{max-width:1220px;margin:0 auto;padding:38px 30px 70px}footer{max-width:1160px;margin:0 auto;padding:23px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.eyebrow{display:block;font-size:12px;letter-spacing:1.4px;font-weight:600;color:var(--gold);margin-bottom:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--wine);color:white;padding:12px 22px;border-radius:8px;border:1px solid var(--wine);min-height:49px;font-weight:500;font-size:16px;text-decoration:none;line-height:1.8}.button:hover{background:var(--wine-dark);color:#fff;text-decoration:none}.button.secondary{background:var(--paper);border-color:#d5c7b8;color:var(--wine)}.button.secondary:hover{background:var(--soft)}.button.large{padding:15px 25px;font-size:18px}.icon-button{background:var(--paper);border:1px solid var(--line);color:var(--wine);border-radius:8px;min-width:48px;min-height:48px;font-size:20px}.welcome{display:grid;grid-template-columns:1.3fr 1fr;padding:55px 45px;background:#eee9dc;border:1px solid #e0d5c0;border-radius:14px;margin:10px 0 35px;gap:35px}.welcome h1{font-size:48px;line-height:1.5;margin-bottom:20px}.welcome p{font-size:18px;max-width:600px}.welcome-art{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--gold);padding:15px}.generation{display:flex;gap:35px}.generation span{display:grid;place-items:center;width:65px;height:72px;border-radius:33px 33px 9px 9px;background:#f8f4e9;border:1px solid #c5b28c;font:39px Georgia;color:#8d9877}.generation.first span{width:79px;height:87px;border-radius:40px 40px 9px 9px}.generation.last span{width:48px;height:55px;font-size:30px}.welcome-art i{display:block;width:1px;height:30px;background:#bca783}.welcome-art p{font-size:14px;font-style:italic;margin:22px 0 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.steps article{padding:26px 22px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.steps article>span{color:var(--gold);font:24px Georgia}.steps h2{font-size:22px;margin:15px 0 10px}.steps p{font-size:15px;margin:0}.small{font-size:14px}.muted{color:var(--muted)}.narrow{max-width:650px;margin-left:auto;margin-right:auto}.panel{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:28px;margin-bottom:24px}.notice{background:#eee9da;border-left:4px solid var(--gold);padding:17px 20px;border-radius:5px;margin:0 0 25px;font-size:16px}.notice.error{background:#f8e9e6;border-color:#a14c42;color:#83372e}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.page-heading p{margin:0}.section-heading{margin-top:34px;margin-bottom:20px}.section-heading h2{margin:0}.section-heading a{font-size:15px}.private-label{font-size:13px;color:#71805b;border:1px solid #d7decb;border-radius:20px;padding:6px 13px;white-space:nowrap}.family-picker{display:flex;align-items:end;gap:12px;max-width:590px;margin-bottom:30px}.family-picker label{flex:1;margin:0;font-size:13px}.family-picker .button{min-height:49px}.family-focus{display:grid;grid-template-columns:1fr 1.7fr;gap:30px;align-items:center;background:#f0eade;border-color:#ddd0bd}.family-focus .person{background:var(--paper)}.family-focus h2{font-size:23px}.relation-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.relation-actions .button{font-size:15px;padding:10px 15px}.text-link{display:inline-block;margin-top:10px;font-size:15px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.person{display:flex;align-items:center;gap:17px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);height:100%;min-height:117px}.person:hover{border-color:#b08c61;text-decoration:none}.person strong{display:block;color:var(--wine);font-weight:600;line-height:1.7;font-size:18px}.person small{display:block;font-size:12px;color:var(--muted);line-height:1.8;margin-top:4px}.person>img,.face{width:62px;height:75px;object-fit:cover;border-radius:32px 32px 8px 8px;flex-shrink:0}.face{display:grid;place-items:center;background:#eee7d9;color:#a19170;font:36px Georgia}.search{width:100%;max-width:500px;margin-bottom:23px}.select-me{margin-bottom:28px}.inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline label{min-width:180px;flex:1;margin-bottom:0}.inline p{flex-basis:100%}.reference-callout{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:30px;background:#eee8dc;border-radius:10px;margin-top:35px}.reference-callout h2{font-size:22px}.reference-callout p{font-size:14px;margin-bottom:0}.reference-callout .button{flex-shrink:0}.empty-start{padding:40px}.sign-in{margin-top:35px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.sign-in form{margin-top:25px}.back{display:inline-block;margin-bottom:25px;font-size:15px}details{border-top:1px solid var(--line);padding:18px 0;margin-top:18px}details[open]>summary{margin-bottom:20px}summary{cursor:pointer;color:var(--wine);min-height:35px;font-size:16px}details details{margin-top:8px}.profile-hero{display:flex;gap:35px;align-items:center;background:#eee8dc;padding:34px}.profile-photo{width:170px;height:200px;object-fit:cover;border-radius:85px 85px 12px 12px;flex-shrink:0}.profile-photo.placeholder{background:#e4dac7;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#9e8c69;gap:15px}.placeholder>span{font:70px Georgia}.placeholder small{font-size:12px}.profile-hero h1{margin:3px 0 10px}.profile-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.tag{display:inline-block;background:#e9e9db;color:#737851;border:1px solid #d8d8c6;padding:4px 11px;border-radius:20px;font-size:12px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-grid figure{margin:0 0 20px}.photo-grid img{width:100%;max-height:320px;object-fit:contain;background:#e8e3d9;border-radius:10px}.photo-grid figcaption{font-size:14px;color:var(--muted)}blockquote{background:var(--paper);border-left:3px solid var(--gold);margin:20px 0;padding:25px;font-size:18px;white-space:normal}blockquote cite{display:block;color:var(--muted);font-size:13px;margin-top:13px}.reference-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.reference-summary article{background:#eee8dc;border-radius:9px;padding:23px}.reference-summary strong{display:block;font:35px Georgia;color:var(--wine)}.reference-summary span{font-size:14px;color:var(--muted)}.reference-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.reference-list article{padding:17px 20px;border:1px solid var(--line);background:var(--paper);border-radius:8px}.reference-list small{display:block;font-size:12px;color:var(--muted)}.needs-review{color:#9b6236}.access-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.access-row strong{flex-basis:100%;font-size:15px}.access-row select{max-width:70%;flex:1;font-size:14px}.action-card h2{font-size:21px}.action-card p{font-size:14px}.invite-link{overflow-wrap:anywhere;font-size:13px}.review-card{display:flex;justify-content:space-between;align-items:center;gap:25px}.review-card h2{font-size:23px}.review-photo{max-width:230px;max-height:230px;object-fit:contain}.tree-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.tree-controls label{margin:0;font-size:12px;max-width:260px}.tree-controls select{font-size:14px}.tree-controls input{font-size:14px;max-width:210px}.tree-controls .button{font-size:13px;padding:10px 12px}.tree-wrap{overflow:auto;min-height:600px;max-height:760px;background:radial-gradient(#d8cdbd 1px,transparent 1px);background-size:21px 21px;border:1px solid #d8cdbd;border-radius:10px;cursor:grab;position:relative}#tree{min-width:850px;padding:35px;position:relative;isolation:isolate;transform-origin:top left}.tree-generation{display:flex;justify-content:center;align-items:stretch;gap:22px;padding:24px 0;position:relative;z-index:1}.node-wrap{width:200px;flex-shrink:0;display:flex;flex-direction:column;align-items:center}.person-card{display:block;width:100%;padding:17px 12px;background:var(--paper);border:1px solid #cdbca5;border-radius:9px;text-align:center;color:var(--wine);min-height:140px}.person-card:hover{border-color:var(--wine);text-decoration:none}.person-card.focused{border:2px solid var(--wine);background:#f9eeeb}.person-card img,.tree-face{display:block;width:47px;height:53px;object-fit:cover;border-radius:26px 26px 6px 6px;margin:0 auto 9px}.tree-face{display:grid;place-items:center;background:#eee7d9;color:#a18f6e;font:28px Georgia}.person-card strong{font-size:15px;line-height:1.7;display:block}.person-card small{font-size:11px;color:var(--muted);display:block}.edge-label{font-size:9px;line-height:1.6;display:block;color:#9a876e;margin-top:8px}.collapse-branch{border:0;background:var(--cream);font:12px "Nirmala UI",sans-serif;color:var(--muted);padding:5px 8px;border-radius:4px;min-height:35px;margin-top:8px}.tree-edges{position:absolute;left:0;top:0;pointer-events:none;z-index:0;overflow:visible}.list-mode{min-width:0!important}.list-mode .tree-generation{justify-content:flex-start;flex-wrap:wrap}.list-mode .node-wrap{width:100%;align-items:flex-start}.list-mode .person-card{text-align:left;min-height:0;display:flex;align-items:center;gap:12px}.list-mode .person-card img,.list-mode .tree-face{margin:0;width:40px;height:48px;flex-shrink:0}.list-mode .tree-edges{display:none}.list-mode .edge-label{display:none}.suggestions{font-size:14px;color:var(--muted);margin:-8px 0 18px}.suggestions button{display:block;border:1px solid #cfbd9e;background:#fff9eb;border-radius:6px;padding:11px 14px;margin:7px 0;color:var(--wine);text-align:left;width:100%;font-size:15px}dl{display:grid;grid-template-columns:1fr 2fr;gap:10px;font-size:15px}dt{color:var(--muted)}dd{margin:0}section{margin-bottom:32px}[hidden]{display:none!important}
@media(max-width:1000px){.people-grid{grid-template-columns:repeat(2,1fr)}.welcome{padding:35px}.welcome h1{font-size:40px}.reference-callout{align-items:flex-start;flex-direction:column}.family-focus{grid-template-columns:1fr 1.4fr}.reference-list{grid-template-columns:repeat(2,1fr)}.tree-controls{align-items:end}.profile-hero{gap:25px}.three{gap:15px}.steps article{padding:22px 17px}}
@media(max-width:700px){body{font-size:16px}.top-inner{padding:15px 18px;gap:10px}.brand{font-size:19px;gap:9px}.brand small{font-size:8px;letter-spacing:.3px}.brand-mark{width:33px;height:40px;font-size:25px}.top-actions{gap:5px}.languages{font-size:12px}.languages a{padding:7px 9px;min-height:39px}.text-button{font-size:11px;padding:7px}.main-nav{padding:0 15px;gap:20px}.main-nav a{font-size:14px;padding:14px 3px}.main-nav .small-nav{font-size:12px}main{padding:25px 18px 45px}h1{font-size:30px}h2{font-size:22px}.welcome{grid-template-columns:1fr;padding:30px 24px;margin-top:0}.welcome h1{font-size:38px}.welcome p{font-size:16px}.welcome-art{display:none}.three,.two{grid-template-columns:1fr}.steps h2{font-size:22px}.steps article{padding:22px}.panel{padding:23px}.page-heading{align-items:flex-start;gap:10px}.private-label{font-size:10px;padding:4px 8px}.family-focus{grid-template-columns:1fr;padding:22px;gap:22px}.family-focus .person{padding:17px}.relation-actions{gap:8px}.relation-actions .button{font-size:14px;padding:10px 12px}.people-grid{grid-template-columns:1fr}.person{min-height:103px;padding:18px}.person strong{font-size:18px}.section-heading{align-items:flex-start;gap:15px}.section-heading h2{font-size:22px}.section-heading a{font-size:13px}.reference-callout{padding:25px}.profile-hero{align-items:flex-start;gap:22px;flex-direction:column}.profile-photo{width:125px;height:145px}.profile-hero h1{font-size:31px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:13px}.reference-summary{gap:9px}.reference-summary article{padding:15px}.reference-summary span{font-size:11px;line-height:1.8;display:block}.reference-list{grid-template-columns:1fr}.review-card{display:block}.inline label{min-width:130px}.tree-controls label:first-child{max-width:100%;width:100%}.tree-controls input{max-width:100%;width:100%}.tree-wrap{min-height:500px;max-height:650px}#tree{padding:20px;min-width:700px}.family-picker{align-items:end}.family-picker .button{padding:12px}.photo-grid img{max-height:220px}footer{margin:0 18px;font-size:10px}footer span:last-child{max-width:50%;text-align:right}dl{grid-template-columns:1fr}dd{margin-bottom:12px}}
@media print{.topbar,.main-nav,footer,.tree-controls,.family-picker,.back,.button,.collapse-branch{display:none!important}body{background:white;font-size:12px}main{padding:0;max-width:none}.tree-wrap{overflow:visible;max-height:none;min-height:0;border:0}#tree{transform:none!important;min-width:0}.node-wrap{width:145px}.tree-generation{gap:8px;padding:15px 0}.person-card{break-inside:avoid;min-height:125px}.person-card strong{font-size:12px}.person-card small{font-size:9px}.page-heading{margin-bottom:10px}h1{font-size:24px}}

.family-connection {
    min-width: 0;
}
.family-connection > .person {
    height: auto;
    overflow-wrap: anywhere;
}
.family-connection > details {
    margin-block: 8px 0;
}

.master-import-preview {
    max-width: 100%;
    overflow-x: auto;
    margin-block: 12px;
}
.master-import-preview td,
.master-import-preview th {
    padding: 8px 12px;
    vertical-align: top;
    white-space: nowrap;
}

.existing-person-result {
    margin-block: 8px;
}
.existing-person-result button {
    width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: start;
}
.existing-person-result a {
    display: inline-block;
    margin-block: 4px 8px;
}

.support-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
