@font-face{font-family:Estedad;src:url(assets/Estedad-Regular_FaNum.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Estedad;src:url(assets/Estedad-Bold_FaNum.woff2)format("woff2");font-weight:700 900;font-display:swap}:root{--accent:#02baa3;--tint:#ebf8f5;--ink:#202526;--dark:#02baa3;--muted:#596965;--line:#e3eae7;--bg:#f8faf9;--white:#fff;--shadow:0 8px 30px #294b4108}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.8 Estedad,Tahoma,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #087e70}button:hover:not(:disabled){filter:brightness(.97)}button:active:not(:disabled){filter:brightness(.93)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0;width:20px;height:20px}i{align-items:center;font-style:normal;display:inline-flex}a{color:var(--dark)}.header{background:var(--white);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:86px;padding:0 4.5%;display:flex}.brand{white-space:nowrap;align-items:center;gap:20px;display:flex}.brand img{object-fit:contain;width:94px;height:55px}.brand-divider{background:var(--line);width:1px;height:24px}.brand>span:last-child{color:var(--muted);font-size:13px}.header nav{align-self:stretch;gap:30px;display:flex}.nav{min-height:44px;color:var(--muted);padding:0 5px;font-size:13px;position:relative}.nav.active{color:var(--dark);font-weight:700}.nav.active:after{content:"";background:var(--accent);border-radius:6px 6px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.header-end{align-items:center;gap:22px;display:flex}.prototype{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:4px 10px;font-size:11px}.account{align-items:center;gap:10px;min-height:44px;font-size:12px;display:flex}.account>span{background:var(--tint);width:35px;height:35px;color:var(--dark);border-radius:50%;place-items:center;font-size:16px;display:grid}.account b{font-weight:400}.account svg{width:15px}main{max-width:1510px;margin:auto;padding:36px 4.5% 24px}.page-intro{justify-content:space-between;align-items:center;gap:24px;display:flex}.eyebrow{letter-spacing:.2px;color:var(--dark);margin-bottom:6px;font-size:11px}h1{letter-spacing:-.7px;font-size:28px;font-weight:700;line-height:1.65}.page-intro p{color:var(--muted);margin-top:7px;font-size:13px}.intro-actions{gap:12px;display:flex}.btn{border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 19px;font-size:12px;font-weight:700;transition:background .2s;display:inline-flex}.primary{background:var(--accent);color:var(--bd-color-on-brand,#fff);border:1px solid #0000}.secondary{color:#384b44;background:#fff;border:1px solid #cedbd5}.family-meta{color:var(--muted);align-items:center;gap:24px;margin:22px 0 24px;font-size:11px;display:flex}.family-meta>span{align-items:center;gap:7px;display:flex}.family-meta svg{width:16px}.family-meta b{font-weight:400}.family-meta .save-status{color:var(--dark);margin-right:auto}.demo-label{border-right:1px solid var(--line);padding-right:20px}.workspace-grid{grid-template-columns:minmax(0,1fr) 298px;align-items:start;gap:22px;display:grid}.tree-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.toolbar{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:16px 20px;display:flex}.view-switch{background:#f2f5f3;border-radius:9px;gap:3px;padding:4px;display:flex}.view-switch button{min-height:36px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:3px 13px;font-size:11px;display:flex}.view-switch button[aria-pressed=true]{color:var(--dark);background:#fff;font-weight:700;box-shadow:0 1px 5px #1c3e3610}.view-switch svg{width:17px}.search{border:1px solid var(--line);width:270px;height:42px;color:var(--muted);background:#f8faf9;border-radius:9px;align-items:center;gap:9px;margin-right:auto;padding:0 12px;display:flex}.search input{outline-offset:8px;background:0 0;border:0;width:100%;min-width:0;font-size:11px}.search svg{width:17px}.icon-button{border:1px solid var(--line);color:#50605a;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.filter-row{border-bottom:1px solid var(--line);background:#f6faf8;align-items:center;gap:12px;padding:10px 20px;font-size:12px;display:flex}.filter-row select{border:1px solid var(--line);background:#fff;border-radius:6px;margin-right:10px;padding:7px}.canvas{background-color:#fcfdfc;background-image:radial-gradient(#dde7e2 .8px,#0000 .8px);background-size:18px 18px;height:535px;position:relative;overflow:hidden}.canvas-note{color:#596965;z-index:1;pointer-events:none;align-items:center;gap:7px;font-size:10px;display:flex;position:absolute;top:17px;right:21px}.dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.tree{scrollbar-width:thin;scrollbar-color:#d1dfd7 transparent;touch-action:pan-x pan-y;direction:ltr;position:absolute;inset:50px 0 70px;overflow:auto}.tree-stage{transform-origin:0 0;direction:rtl;min-height:400px;margin:0 auto;position:relative}.connections{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.connections path{stroke:#b3c9bf;stroke-width:1.5px;fill:none}.connections .partner{stroke-dasharray:4 4}.node{width:148px;min-height:112px;color:var(--ink);text-align:center;background:#fff;border:1px solid #dbe7df;border-radius:13px;flex-direction:column;align-items:center;padding:12px 8px 10px;transition:border-color .2s,box-shadow .2s;display:flex;position:absolute;box-shadow:0 4px 12px #294b4105}.node:hover{border-color:#75bbab;box-shadow:0 6px 18px #316d6314}.node.is-selected{border:2px solid #02baa3;box-shadow:0 0 0 4px #1ebea511}.node.deceased{background:#f9fbfa}.node.is-dim{opacity:.23}.node img,.avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;width:44px;height:44px;box-shadow:0 0 0 1px #e3ebe6}.node .name{overflow-wrap:anywhere;max-width:100%;margin-top:6px;font-size:11px;font-weight:700}.node small{color:var(--muted);font-size:9px}.node .tag{color:var(--dark);background:var(--tint);border-radius:4px;padding:1px 5px;font-size:8px;position:absolute;top:10px;left:9px}.node.deceased:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);background:#637871;width:9px;height:19px;position:absolute;top:0;right:13px}.node .leaf-icon{color:var(--dark);position:absolute;top:11px;left:9px}.node .leaf-icon svg{width:14px;height:14px}.gen-label{color:#5d7469;font-size:9px;position:absolute;right:10px;transform:translateY(47px)}.node.add-node{box-shadow:none;color:var(--dark);background:#f3faf6;border:1px dashed #aacbc0;justify-content:center;gap:8px;min-height:112px}.canvas-controls{border:1px solid var(--line);direction:ltr;background:#fff;border-radius:10px;align-items:center;gap:0;padding:3px;display:flex;position:absolute;bottom:19px;left:20px;box-shadow:0 3px 12px #294b4108}.canvas-controls .icon-button{border:0;width:36px;height:36px}.canvas-controls output{text-align:center;direction:rtl;min-width:54px;font-size:10px}.canvas-controls>span{background:var(--line);width:1px;height:21px;margin:0 4px}.canvas-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:13px 20px;font-size:9px;display:flex}.canvas-footer>div{align-items:center;gap:7px;display:flex}.legend{background:#02baa3;border-radius:50%;width:7px;height:7px;display:inline-block}.legend.memorial{background:#637871;margin-right:11px}.profile{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.profile-top{background:var(--tint);background-image:radial-gradient(circle at 10% 10%,#0000 33px,#ceeae0 34px,#0000 35px),radial-gradient(circle at 10% 10%,#0000 52px,#ceeae0 53px,#0000 54px);height:83px;position:relative}.profile-close{display:none;position:absolute;top:9px;left:10px}.profile-type{color:var(--dark);font-size:9px;position:absolute;top:13px;right:18px}.profile-avatar{object-fit:cover;border:4px solid #fff;border-radius:50%;width:76px;height:76px;position:absolute;bottom:-29px;left:50%;transform:translate(-50%);box-shadow:0 1px 8px #1d403411}.profile-body{padding:39px 20px 20px}.profile-body h2{text-align:center;font-size:19px}.person-caption{text-align:center;color:var(--muted);margin-top:3px;font-size:10px}.profile-buttons{gap:8px;margin:17px 0;display:flex}.profile-buttons .btn{flex:1;min-height:39px;padding:7px 9px;font-size:10px;font-weight:400}.profile-buttons svg{width:15px}.section-label{color:var(--muted);margin:17px 0 11px;font-size:10px;font-weight:400}.details{border-bottom:1px solid var(--line);margin:0;padding:0 0 14px}.details div{justify-content:space-between;gap:10px;margin:8px 0;font-size:11px;display:flex}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0}.relatives{flex-direction:column;gap:6px;display:flex}.relative{text-align:right;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:4px 0;display:flex}.relative img{object-fit:cover;border-radius:50%;width:29px;height:29px}.relative span{flex:1;font-size:10px}.relative small{color:var(--muted);font-size:9px}.relative svg{color:#718279;width:14px}.yad-card{background:var(--tint);border:1px solid #d0e9de;border-radius:11px;margin-top:18px;padding:13px}.yad-card .eyebrow{align-items:center;gap:5px;font-size:9px;display:flex}.yad-card h3{margin:3px 0;font-size:12px}.yad-card p{color:#46655a;font-size:10px;line-height:1.9}.yad-card .btn{width:100%;min-height:39px;margin-top:11px;font-size:10px}.live-story{color:var(--muted);background:#f7f9f7;border-radius:10px;margin-top:18px;padding:12px;font-size:10px}.live-story b{color:var(--dark);font-size:11px;display:block}.memory-strip{background:#eff7f2;border:1px solid #ddebe2;border-radius:14px;align-items:center;gap:18px;margin-top:22px;padding:20px 25px;display:flex}.leaf-mark{width:52px;height:52px;color:var(--dark);background:#fff8;border:1px solid #cde1d5;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.leaf-mark svg{width:26px;height:26px}.memory-strip h2{font-size:14px;line-height:1.7}.memory-strip p{color:#54695f;margin-top:4px;font-size:11px}.text-button{color:var(--dark);justify-content:center;align-items:center;gap:8px;min-height:44px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.memory-strip .text-button{white-space:nowrap;margin-right:auto}.local-note{text-align:center;color:#61766c;margin-top:18px;font-size:9px}.member-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;height:100%;padding:55px 20px 80px;display:grid;overflow:auto}.list-card{border:1px solid var(--line);text-align:right;background:#fff;border-radius:12px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.list-card.is-selected{background:var(--tint);border-color:#02baa3}.list-card img{object-fit:cover;border-radius:50%;width:48px;height:48px}.list-card>div{flex:1;min-width:0}.list-card b{overflow-wrap:anywhere;font-size:12px;display:block}.list-card small{color:var(--muted);font-size:10px}.list-card svg{width:16px;color:var(--dark)}.no-results{text-align:center;width:100%;color:var(--muted);font-size:13px;position:absolute;top:45%}.mobile-nav{display:none}dialog{border:1px solid var(--line);width:min(540px,100% - 28px);max-height:90dvh;color:var(--ink);background:#fff;border-radius:20px;padding:0;box-shadow:0 30px 100px #173c3426}dialog::backdrop{backdrop-filter:blur(3px);background:#182d295c}.modal-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:23px 26px 17px;display:flex}.modal-top h2{font-size:20px}.modal-top .eyebrow{font-size:10px}#modal-content{padding:22px 26px 26px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:7px;font-size:12px;display:flex}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{outline-offset:2px;background:#fcfdfc;border:1px solid #c9d7ce;border-radius:9px;width:100%;min-height:46px;padding:10px 12px;font-size:12px}.field textarea{resize:vertical;min-height:95px}.field small,.form-hint{color:var(--muted);font-size:10px}.photo-field{align-items:center;gap:15px;margin-bottom:22px;display:flex}.photo-field img{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:70px;height:70px}.photo-field div{flex:1}.photo-field .text-button{padding:0}.photo-field p{color:var(--muted);font-size:10px}.file-label{min-height:44px;color:var(--dark);cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.file-label input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-label:focus-within{outline-offset:2px;outline:3px solid #087e70}.status-choice{cursor:pointer;border:1px solid #d4e1d9;border-radius:11px;justify-content:space-between;align-items:center;margin-top:20px;padding:14px;display:flex}.status-choice b{font-size:12px;display:block}.status-choice small{color:var(--muted);font-size:10px}.status-choice input{accent-color:#02baa3;width:22px;height:22px}.death-date{margin-top:16px}.inline-yad{background:var(--tint);border:1px solid #c9e8dc;border-radius:12px;margin-top:14px;padding:15px}.inline-yad h3{font-size:13px}.inline-yad p{color:#45685b;margin-top:5px;font-size:11px}.inline-yad .btn{margin-top:10px}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:22px;display:flex}.form-actions .btn{font-size:12px}.form-error{color:#a92d2d;margin-top:10px;font-size:11px}.helper-intro{color:var(--muted);margin-bottom:18px;font-size:12px}.relation-options{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.relation-option{border:1px solid var(--line);text-align:right;border-radius:12px;align-items:center;gap:12px;min-height:85px;padding:16px 12px;display:flex}.relation-option i{background:var(--tint);color:var(--dark);border-radius:10px;padding:9px}.relation-option b{font-size:12px;display:block}.relation-option small{color:var(--muted);font-size:10px}.relation-option:hover{border-color:#6eb5a1}.modal-note{color:var(--muted);margin-top:18px;font-size:10px;line-height:1.9}.steps{color:var(--muted);align-items:center;gap:12px;margin-bottom:20px;font-size:11px;display:flex}.steps span{align-items:center;gap:6px;display:flex}.steps b{background:#eef3f0;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:400;display:grid}.steps .current{color:var(--dark);font-weight:700}.steps .current b{background:var(--accent);color:#02baa3}.steps i{background:var(--line);flex:1;height:1px}.yad-intro{background:var(--tint);border-radius:12px;align-items:center;gap:15px;margin-bottom:20px;padding:15px;display:flex}.yad-intro img{object-fit:contain;width:66px;height:66px}.yad-intro p{color:#436759;font-size:11px}.yad-intro h3{margin-bottom:3px;font-size:14px}.theme-options{gap:12px;margin-top:15px;display:flex}.theme-option{background:#eff7f1;border:1px solid #b4cbbd;border-radius:9px;flex:1;padding:12px;font-size:11px}.theme-option.warm{color:#715d37;background:#fcf6e9;border-color:#e2d6bb}.theme-option[aria-pressed=true]{outline:2px solid var(--dark);outline-offset:2px}.memorial-preview{text-align:center;background:#f1f7f2;border:1px solid #d5e4d8;border-radius:14px;padding:25px 24px;position:relative;overflow:hidden}.memorial-preview.warm{color:#715d37;background:#fcf7ec;border-color:#e0d3b4}.memorial-preview .leaf-decoration{opacity:.14;position:absolute;top:10px;right:-15px;transform:rotate(-30deg)}.leaf-decoration svg{width:100px;height:100px}.memorial-preview img{object-fit:cover;border-radius:50%;width:90px;height:90px;margin:10px auto 15px;display:block;box-shadow:0 0 0 6px #fff9}.memorial-preview h3{font-size:23px;line-height:1.7}.memorial-preview p{white-space:pre-line;overflow-wrap:anywhere;margin:13px 0;font-size:12px;line-height:2}.memorial-preview .eyebrow{color:inherit}.memorial-preview small{color:var(--muted);font-size:10px}.success-icon{background:var(--tint);width:55px;height:55px;color:var(--dark);border-radius:50%;place-items:center;margin:0 auto 15px;display:grid}.success-icon svg{width:26px;height:26px}.success-copy{text-align:center;margin-bottom:18px}.success-copy h3{font-size:18px}.success-copy p{color:var(--muted);margin-top:9px;font-size:12px}.help-list{flex-direction:column;gap:16px;display:flex}.help-item{gap:12px;display:flex}.help-item>span{background:var(--tint);width:28px;height:28px;color:var(--dark);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.help-item h3{font-size:13px}.help-item p{color:var(--muted);margin-top:3px;font-size:11px}.workspace-option{border:1px solid var(--line);text-align:right;border-radius:12px;align-items:center;gap:14px;width:100%;margin-bottom:12px;padding:17px;display:flex}.workspace-option svg{color:var(--dark)}.workspace-option div{flex:1}.workspace-option b{font-size:13px;display:block}.workspace-option small{color:var(--muted);font-size:10px}.share-option{border:1px solid var(--line);text-align:right;border-radius:12px;align-items:center;gap:15px;width:100%;min-height:64px;margin:10px 0;padding:14px;font-size:12px;display:flex}.share-option i{color:var(--dark)}#toast{color:#fff;z-index:20;opacity:0;pointer-events:none;text-align:center;background:#02baa3;border-radius:10px;max-width:calc(100% - 32px);padding:12px 22px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);box-shadow:0 5px 25px #244f4326}#toast.visible{opacity:1;transform:translate(-50%)}@media (width>=1500px){.canvas{height:575px}.tree{top:65px}.workspace-grid{grid-template-columns:minmax(0,1fr) 322px}}@media (width<=1100px){.header{padding:0 24px}.header nav{gap:18px}.prototype{display:none}main{padding:28px 24px}.workspace-grid{grid-template-columns:minmax(0,1fr) 265px;gap:16px}.toolbar{gap:8px;padding:13px}.search{width:210px}.view-switch button{padding:3px 9px}.canvas-footer>span{display:none}.profile-body{padding-left:16px;padding-right:16px}.memory-strip{padding:18px}.memory-strip p{max-width:550px}.page-intro h1{font-size:25px}}@media (width<=800px){.header{height:70px;padding:0 20px}.header nav{display:none}.brand img{width:80px;height:45px}.brand{gap:12px}.brand>span:last-child{font-size:11px}.header-end{gap:10px}.account b,.account i{display:none}main{padding:24px 20px 100px}.page-intro{flex-direction:column;align-items:flex-start;gap:17px}.page-intro h1{font-size:25px}.page-intro p{font-size:11px;line-height:1.9}.intro-actions{gap:10px;width:100%}.intro-actions .btn{flex:1;min-height:44px;padding:10px 12px;font-size:11px}.intro-actions .primary{flex:1.05}.eyebrow{font-size:10px}.family-meta{gap:15px;margin:18px 0;font-size:10px}.family-meta .save-status{gap:0;margin-right:auto;font-size:0}.family-meta .save-status svg{width:18px}.family-meta .demo-label{border:0;padding:0;font-size:9px}.workspace-grid{display:block}.toolbar{flex-wrap:wrap;gap:10px;padding:12px}.view-switch{order:1}.toolbar>.icon-button{order:2;width:40px;height:40px;margin-right:auto}.search{flex-basis:100%;order:3;height:43px}.canvas{height:490px}.canvas-note{font-size:9px;top:15px;right:13px}.tree{inset:48px 0 65px}.canvas-controls{bottom:14px;left:12px}.canvas-footer{padding:12px;font-size:9px}.tree-panel{border-radius:13px}.profile{display:none}.profile.open-mobile{z-index:9;max-height:83dvh;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid #c2d9ca;border-radius:22px 22px 0 0;margin:0;display:block;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -10px 70px #153c3438}.profile.open-mobile:before{content:"";z-index:-1;pointer-events:none;background:#143c342e;position:fixed;inset:0}.profile-close{display:flex}.profile-top{height:64px}.profile-body{padding:38px 23px 22px}.profile-body h2{font-size:20px}.profile-buttons .btn{min-height:44px;font-size:12px}.details div{font-size:12px}.relatives{grid-template-columns:1fr 1fr;gap:6px 12px;display:grid}.relative span,.yad-card p{font-size:11px}.yad-card h3{font-size:14px}.yad-card .btn{min-height:44px;font-size:12px}.live-story{display:none}.memory-strip{border-radius:13px;flex-wrap:wrap;gap:12px;margin-top:18px;padding:16px}.leaf-mark{width:42px;height:42px}.memory-strip>div:nth-child(2){flex:1;min-width:0}.memory-strip h2{font-size:12px}.memory-strip p{font-size:10px;line-height:2}.memory-strip .text-button{justify-content:flex-start;width:100%;min-height:34px;padding-right:54px}.local-note{padding:0 10px;font-size:9px;line-height:2}.mobile-nav{z-index:5;border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 15px #294b4106}.mobile-nav button{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:65px;min-height:47px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--dark);font-weight:700}.mobile-nav button svg{width:21px;height:21px}.member-list{grid-template-columns:1fr;padding:47px 12px 70px}.list-card{padding:11px}.node{width:130px;min-height:106px}.node .name{font-size:10px}.node.add-node{min-height:106px}.gen-label{display:none}.modal-top{padding:20px}.modal-top h2{font-size:18px}#modal-content{padding:20px}.modal-top .eyebrow{font-size:9px}.field input,.field select,.field textarea{font-size:16px}.form-grid{gap:13px}.field{font-size:11px}.form-hint{font-size:10px}.form-actions{gap:8px;padding-top:17px}.form-actions .btn{padding:10px 13px;font-size:11px}.relation-option{gap:8px;padding:12px 9px}.relation-option i{padding:7px}.relation-option b{font-size:11px}#toast{font-size:11px;bottom:90px}.filter-row{padding:10px 12px}.theme-option{min-height:44px}.canvas-controls .icon-button{width:40px;height:40px}}@media (width<=360px){main{padding-left:12px;padding-right:12px}.brand>span:last-child,.brand-divider{display:none}.family-meta{gap:12px}.page-intro h1{font-size:23px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}#profile-backdrop{display:none}@media (width>=801px){.relatives{grid-template-columns:1fr 1fr;gap:4px 9px;display:grid}.relative{flex-wrap:wrap;gap:5px}.relative small,.relative svg{display:none}}@media (width<=800px){#profile-backdrop{z-index:8;background:#143c343d;display:block;position:fixed;inset:0}.profile.open-mobile:before{display:none}.profile.open-mobile{background:#fff}}.node-frame{width:148px;min-height:112px;position:absolute}.node-frame>.node{padding-bottom:26px;position:relative;inset:auto}.delete-person{color:#9a5551;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.delete-person svg{width:16px;height:16px}.delete-person:hover{background:#fff0ee}.node-frame>.delete-person{position:absolute;bottom:3px;left:0}.node-frame .name{text-align:center;width:100%;padding-inline:25px}.node-frame small{text-align:center;align-self:center;padding:0}.list-frame{min-width:0;position:relative}.list-frame .list-card{width:100%;height:100%;padding-left:48px}.list-frame>.delete-person{position:absolute;top:50%;left:3px;transform:translateY(-50%)}.person-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.person-heading h2{overflow-wrap:anywhere;min-width:0}.field-label{justify-content:space-between;align-items:center;gap:6px;min-height:25px;display:flex}.field-label small,.field-label span{white-space:nowrap;font-size:9px}.form-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.form-section h3,.form-section summary{margin-bottom:13px;font-size:13px;font-weight:700}.form-section h3 small,.form-section summary small{color:var(--muted);margin-right:8px;font-size:10px;font-weight:400}.form-section summary{cursor:pointer;min-height:44px;padding-top:9px}.social-fields .form-grid{gap:14px}.social-fields input{font-family:Estedad,Tahoma,sans-serif;font-size:11px}.video-upload{background:var(--bg);border:1px dashed #b9cec7;border-radius:12px;padding:10px 14px}.video-upload .text-button{float:left;color:#9a5551;min-height:44px}.person-video{min-width:0;margin-top:12px}.person-video video{background:#202526;border-radius:10px;width:100%;max-height:300px;display:block}.person-video small{overflow-wrap:anywhere;color:var(--muted);text-align:right;direction:ltr;margin-top:6px;font-size:10px;display:block}.social-links{flex-wrap:wrap;gap:8px;display:flex}.social-link{background:var(--tint);border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:11px;text-decoration:none;display:inline-flex}.social-link svg{width:14px;height:14px;transform:rotate(135deg)}.burial-details dd{overflow-wrap:anywhere;text-align:left;max-width:65%}.empty-family{text-align:center;padding:70px 20px}.empty-family>i{color:var(--dark);margin-bottom:12px}.empty-family>i svg{width:40px;height:40px}.empty-family p{color:var(--muted);margin:10px 0 20px;font-size:12px}#modal.memorial-dialog{width:790px}.memorial-page{border:1px solid var(--line);--memorial-bg:#ebf8f5;--memorial-color:#02baa3;background:#fff;border-radius:16px;overflow:hidden}.memorial-page.warm{--memorial-bg:#faf5ea;--memorial-color:#715d37}.memorial-header{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:14px 22px;font-size:10px;display:flex}.memorial-logo{object-fit:contain;width:52px;height:42px}.memorial-hero{text-align:center;background:linear-gradient(180deg,var(--memorial-bg),white);padding:26px 24px 22px;position:relative}.memorial-portrait{object-fit:cover;border:5px solid #fff;border-radius:50%;width:116px;height:116px;margin:18px auto 15px;display:block;box-shadow:0 4px 20px #294b4110}.memorial-hero h3{color:var(--ink);margin-bottom:6px;font-size:25px}.memorial-years{color:var(--muted);font-size:12px}.memorial-tribute{white-space:pre-line;overflow-wrap:anywhere;max-width:500px;margin:15px auto 0;font-size:12px;line-height:2}.memorial-tabs{border-bottom:1px solid var(--line);scrollbar-width:thin;gap:12px;padding:0 18px;display:flex;overflow-x:auto}.memorial-tabs button{white-space:nowrap;min-height:50px;color:var(--muted);border-bottom:3px solid #0000;flex:1;padding:10px 4px;font-size:11px}.memorial-tabs button[aria-selected=true]{color:var(--memorial-color);border-bottom-color:var(--accent);font-weight:700}.memorial-section{min-height:175px;padding:22px}.memorial-section h4{margin:0 0 13px;font-size:14px}.memorial-story{white-space:pre-line;overflow-wrap:anywhere;margin-bottom:16px;font-size:12px;line-height:2.2}.memorial-gallery-image{object-fit:contain;background:var(--bg);border-radius:10px;width:100%;height:220px}.memorial-footer{text-align:center;background:var(--memorial-bg);color:var(--memorial-color);padding:12px;font-size:10px}.relative-frame{min-width:0;position:relative}.relative-frame .relative{width:100%;padding-left:35px}.relative-frame>.delete-person{position:absolute;top:50%;left:-5px;transform:translateY(-50%)}.profile{max-height:800px;overflow:auto}.node-frame>.node{padding-bottom:12px}@media (width<=800px){.node-frame{width:130px}.node-frame>.node{min-height:117px}.node-frame>.delete-person{bottom:0}.field-label{min-height:26px}.social-fields input{font-size:16px}.memorial-tabs{gap:14px;padding:0 12px}.memorial-tabs button{flex:none;font-size:10px}.memorial-section{padding:18px}.memorial-hero{padding:20px 15px}.memorial-hero h3{font-size:23px}.memorial-portrait{width:108px;height:108px}.memorial-header{padding:10px 16px}.form-section .form-grid{grid-template-columns:1fr 1fr}.burial-fields .field.full{grid-column:1/-1}}.child-presets{flex-direction:column;gap:12px;display:flex}.child-preset{border:1px solid var(--line);text-align:right;background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:80px;padding:14px;display:flex}.child-preset:hover{border-color:var(--accent);background:var(--tint)}.child-preset>span:not(.preset-icon){flex:1;min-width:0}.child-preset b{font-size:13px;display:block}.child-preset small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.preset-icon{background:var(--tint);width:40px;height:40px;color:var(--dark);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.child-preset>svg{color:var(--dark)}.child-more{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.child-more summary{cursor:pointer;min-height:48px;color:var(--dark);padding:10px 0;font-size:12px;font-weight:700}.child-extra{flex-direction:column;gap:9px;margin-top:8px;display:flex}.child-extra .btn{text-align:right;justify-content:space-between;font-weight:400}.child-link-fields{background:var(--tint);border:1px solid #cce6df;border-radius:12px;margin-bottom:24px;padding:16px}.child-link-fields>.form-grid{grid-template-columns:1fr}.child-link-fields .field-label{height:auto;min-height:25px}.child-link-fields select,.child-link-fields input{background:#fff}.child-link-fields #new-parent-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);margin-top:14px}.child-link-fields #other-parent-row{margin-top:14px}.child-link-summary{color:var(--dark);overflow-wrap:anywhere;border-top:1px solid #d3e7e1;margin-top:14px;padding-top:12px;font-size:11px;line-height:2}.parent-kind-field{background:var(--tint);border-radius:10px;margin-bottom:20px;padding:14px}.parent-link-rows{flex-direction:column;gap:12px;margin:14px 0 4px;display:flex}.parent-link-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:7px;padding:12px;display:grid}.parent-link-row>span{grid-column:1/-1;font-size:12px;font-weight:700}.parent-link-row .field-label{font-size:10px}.parent-kind-badge{color:#715d37;white-space:nowrap;text-overflow:ellipsis;background:#f4ede1;border-radius:4px;max-width:calc(100% - 12px);padding:1px 5px;font-size:8px;line-height:1.8;position:absolute;top:4px;right:6px;overflow:hidden}.connections .adopted{stroke:#8a765a;stroke-dasharray:7 4}.connections .foster{stroke:#8a765a;stroke-dasharray:2 4}.connections .step{stroke:#8a765a;stroke-dasharray:9 3 2 3}.relationship-legend{border-top:1px solid var(--line);color:var(--muted);z-index:1;background:#fffffff2;flex-wrap:wrap;justify-content:center;gap:8px 18px;width:100%;padding:7px 10px;font-size:9px;display:flex;position:sticky;bottom:0}.relationship-legend span{align-items:center;gap:5px;display:flex}.relationship-legend i{border-top:1.5px solid #9dbeb0;width:24px}.relationship-legend i.adopted{border-top:1.5px dashed #8a765a}.relationship-legend i.former{border-top:1.5px dashed #9f8580}.relative-frame .relative small{display:block}.relative-frame .relative span{overflow-wrap:anywhere}.partner-status-note{background:var(--tint);color:var(--dark);border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:12px}@media (width<=800px){.child-preset b{font-size:12px}.child-link-fields{padding:14px}.child-link-fields input,.child-link-fields select{font-size:16px}.child-link-fields #new-parent-row{grid-template-columns:1fr}.parent-link-row select{font-size:16px}.relationship-legend{gap:6px 9px;font-size:8px}.relative-frame .relative{padding-left:32px}}.node-frame,.node{width:168px}.node-frame>.node{min-height:136px;padding-top:16px;padding-bottom:14px}.node-frame .name{margin-top:9px;padding-inline:25px;font-size:12px;line-height:1.8}.node-frame small{font-size:10px;line-height:1.8}.node-frame>.delete-person{top:63px;bottom:auto}.connections path{stroke:#729e92;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;opacity:.85}.connections .current-partner{stroke:#02baa3;stroke-dasharray:none;stroke-width:2px}.connections .former-partner{stroke:#a5836c;stroke-dasharray:6 5}.connections .adopted,.connections .foster,.connections .step,.connections .guardian{stroke:#ab886e;stroke-dasharray:5 5}.connections .is-related{stroke-width:2.6px;opacity:1}.connections .connection-port{fill:#729e92;stroke:#fff;stroke-width:1px}.connections .connection-port.guardian{fill:#ab886e}.gen-label{transform:translateY(-23px)}.relationship-legend{flex-wrap:wrap;gap:14px;font-size:9px;line-height:1.8}.relationship-legend .current{border-top:2px solid #02baa3}.tree-stage{min-height:0}.tree-stage>div{top:0;left:0;position:absolute!important}@media (width<=800px){.node-frame,.node{width:148px}.node-frame>.node{min-height:136px}.node-frame .name{font-size:11px}.node-frame small{font-size:10px}.relationship-legend{gap:10px}}img.person-avatar{object-fit:cover;border-radius:50%}img.person-avatar.is-deceased{box-shadow:none!important;border:3px solid #171717!important}.profile-avatar.person-avatar.is-deceased,.memorial-portrait.person-avatar.is-deceased{border-width:4px!important}.relative img.person-avatar.is-deceased{border-width:2px!important}.node.deceased:after{display:none}.avatar-choice{border:1px solid var(--line);background:#f6faf8;border-radius:10px;margin:0 0 20px;padding:14px}.avatar-choice .form-hint{margin-top:7px;font-size:11px;line-height:1.9}.avatar-choice select{min-height:44px}.tree{cursor:grab;touch-action:pinch-zoom;user-select:none;overscroll-behavior:contain}.tree.is-panning,.tree.is-panning *{cursor:grabbing!important}.tree:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.tree{touch-action:none;overflow-anchor:none;bottom:110px}.tree img{pointer-events:none}.relationship-legend{z-index:2;pointer-events:none;background:#fffffff5;gap:8px 15px;width:auto;margin:0;padding:6px 10px;bottom:70px;left:0;right:0;position:absolute!important}.node-frame>.delete-person{width:40px;height:40px;inset:6px 6px auto auto!important}.parent-kind-badge{max-width:100%;margin-top:5px;display:block;position:static}.family-title-field{margin-bottom:20px}.self-choice{margin:15px 0}.shared-child{align-items:center;gap:10px;min-height:44px;display:flex}.shared-child input{width:20px;height:20px}.photo-field-actions{flex-wrap:wrap;gap:8px;display:flex}.photo-field .btn{min-height:44px;padding:10px 14px;font-size:12px}.photo-field .primary{background:var(--accent);color:var(--bd-color-on-brand,#fff);font-weight:700}.photo-crop-dialog{border:1px solid var(--line);width:min(440px,100% - 24px);max-height:calc(100dvh - 24px);color:var(--ink);background:#fff;border-radius:16px;padding:0}.photo-crop-dialog::backdrop{background:#17362b80}.crop-body{padding:16px 20px}.crop-body>p{margin-bottom:14px;font-size:12px}.crop-body canvas{aspect-ratio:1;touch-action:none;cursor:grab;border-radius:10px;width:280px;max-width:100%;height:auto;margin:0 auto 16px;display:block}.crop-body input[type=range]{width:100%;min-height:44px}.crop-nudges{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.crop-nudges .btn{min-height:44px;padding:7px 12px}.photo-crop-dialog .form-actions{margin-top:16px}@media (width<=800px){.node-frame>.delete-person{width:44px;height:44px;top:4px!important;right:4px!important}.relationship-legend{gap:6px 10px;font-size:9px}.photo-field{flex-wrap:wrap}.photo-field-actions .btn{font-size:13px}.self-choice small{font-size:11px}.crop-body{padding:14px}.family-title-field input{font-size:16px}}.family-export-preview{object-fit:contain;border:1px solid var(--line);border-radius:12px;max-width:100%;max-height:55vh;margin:auto;display:block}.form-actions a.btn{text-decoration:none}.toolbar{flex-wrap:wrap}.manual-order-toggle{min-height:44px;padding:7px 12px;font-size:11px}.manual-order-toggle[aria-pressed=true]{background:var(--tint);border-color:var(--accent);color:var(--dark)}.tree.is-ordering .node-frame>.node{padding-bottom:74px}.tree.is-ordering .can-reorder>.node{cursor:grab}.block-order{direction:ltr;justify-content:center;gap:8px;display:flex;position:absolute;bottom:8px;left:0;right:0}.block-order button{border:1px solid var(--line);width:44px;height:44px;color:var(--dark);touch-action:none;background:#fff;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.block-order button:active{background:var(--tint)}.block-order button:disabled{opacity:.35;cursor:default}.block-order .to-right svg{transform:rotate(180deg)}.block-order .order-handle{cursor:grab;background:var(--tint)}.order-handle path{stroke-width:4px;stroke-linecap:round}.is-order-dragging{z-index:4;pointer-events:none}.is-order-dragging>.node{opacity:.88;box-shadow:0 12px 28px #153b3433}.is-order-target>.node{outline:3px dashed var(--accent);outline-offset:5px;background:var(--tint)}.tree.is-reordering,.tree.is-reordering *{cursor:grabbing!important}.canvas-note{max-width:calc(100% - 26px);line-height:1.8}.tree.is-ordering{top:66px}@media (width<=800px){.toolbar .manual-order-toggle{order:2;min-height:44px;font-size:11px}.toolbar #reset-order{order:2;font-size:10px}.toolbar>.icon-button{order:2}.toolbar .search{order:3}.canvas-note{font-size:10px}}.tree{scroll-snap-type:none;contain:layout paint;scroll-behavior:auto!important;top:58px!important}.tree-stage>div{will-change:transform,translate}.canvas-note{box-sizing:border-box;z-index:3;contain:layout paint;direction:rtl;background:#fcfdfcf5;justify-content:flex-start;align-items:center;width:100%;max-width:none;height:56px;min-height:56px;padding:8px 16px;font-size:10px;overflow:hidden;transition:none!important;position:absolute!important;inset:0 0 auto!important;transform:none!important}.canvas-note .dot{flex-shrink:0}.relationship-legend{contain:layout paint;align-content:center;height:40px;min-height:40px;overflow:hidden;transition:none!important;transform:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=800px){.canvas-note{padding-inline:12px;line-height:1.8}.relationship-legend{height:52px;min-height:52px}.tree{bottom:126px}.relationship-legend{bottom:70px}}.modal-top>.icon-button{order:-1}.modal-top>div{text-align:right;flex:1}.modal-top{justify-content:flex-start;gap:14px}.profile-close{left:auto;right:10px}.profile.open-mobile .profile-type{right:64px}.person-delete{color:#8b4840;min-height:40px;box-shadow:none;border:1px solid #d5b6b0;padding:6px 12px;font-size:11px;font-weight:400;background:0 0!important}.gender-field>legend{margin-bottom:7px;padding:0}.photo-remove{font-size:11px;font-weight:400}#delete-person-form{margin-top:20px}.person-heading .person-delete{flex-shrink:0}.gender-field{border:0;min-width:0;margin:0;padding:0}.gender-choices{flex-wrap:wrap;gap:8px;display:flex}.gender-choices label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:5px 8px;font-size:11px;display:flex}.gender-choices input{width:16px;height:16px;min-height:0;accent-color:var(--accent);margin:0}.gender-choices label:has(input:checked){background:var(--tint);border-color:var(--accent)}.gender-choices label:has(input:disabled){opacity:.4;cursor:default}.child-link-fields .text-button{margin-top:8px;font-size:10px}.connections .couple-brace{stroke-width:1.6px;fill:none}@media (width<=800px){.gender-field{grid-column:1/-1}.gender-choices{gap:8px}.gender-choices label{min-height:44px;font-size:12px}.person-delete{font-size:12px}}.export-modes{border-bottom:1px solid var(--line);gap:8px;margin-bottom:18px;padding-bottom:14px;display:flex}.export-modes button{border:1px solid var(--line);min-height:46px;color:var(--muted);background:#fff;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.export-modes button[aria-selected=true]{background:var(--tint);border-color:var(--accent);color:var(--dark);font-weight:700}.export-modes svg{width:18px;height:18px}.export-preview{border:1px solid var(--line);background:#f5f8f6;border-radius:12px;place-items:center;height:230px;margin-bottom:18px;display:grid;position:relative;overflow:hidden}.export-preview img{object-fit:contain;width:100%;height:100%;display:block}.export-preview img[hidden]{display:none}.export-preview p{text-align:center;color:var(--dark);background:#fffffff2;border-radius:8px;padding:7px 12px;font-size:12px;position:absolute;inset:auto 12px 10px}.export-section-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.export-section-heading h3,#export-html-note h3{font-size:13px}.export-section-heading span{color:var(--muted);font-size:11px}.export-backgrounds{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#9dcabd #eef6f2;overscroll-behavior-x:contain;touch-action:pan-x pan-y;gap:12px;padding:4px 3px 12px;display:flex;overflow:auto hidden}.export-background{scroll-snap-align:start;color:var(--ink);background:#f5faf8;border:2px solid #0000;border-radius:10px;flex:0 0 124px;min-height:104px;position:relative;overflow:hidden}.export-background img{object-fit:cover;width:100%;height:74px;display:block}.export-background span{padding:7px 3px;font-size:11px;display:block}.export-background i{background:var(--dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:none;position:absolute;top:5px;right:5px}.export-background i svg{width:14px;height:14px}.export-background[aria-pressed=true]{border-color:var(--accent);background:var(--tint)}.export-background[aria-pressed=true] i{display:flex}.export-scroll-hint,.export-footnote{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.9}.export-status{color:var(--dark);margin-top:14px;font-size:12px}.export-dialog .form-actions{padding-top:14px}.export-dialog #export-download{width:100%}.export-footnote{margin-top:12px}#export-html-note p{color:var(--muted);margin-top:8px;font-size:12px;line-height:2}.export-modes button:focus-visible,.export-background:focus-visible{outline:3px solid var(--dark);outline-offset:2px}@media (width<=800px){.export-preview{height:195px}.export-background{flex-basis:112px}.export-modes button,.export-section-heading h3{font-size:12px}.export-dialog .modal-top{padding-bottom:14px}.export-dialog #modal-content{padding-top:14px}}.export-preview img{min-width:0;min-height:0;position:absolute;inset:0}