@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";.marketing-site{--ink:#183c32;--green:#1f5646;--leaf:#387b61;--cream:#f7f3e9;--paper:#fffcf4;--gold:#d1a953;min-height:100%;color:var(--ink);background:var(--cream);font-family:DM Sans,sans-serif;overflow-x:hidden}.marketing-site *,.marketing-site :before,.marketing-site :after{box-sizing:border-box}.marketing-site a{color:inherit;text-decoration:none}.marketing-nav{z-index:20;min-height:84px;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf8efed;border-bottom:1px solid #d9d5c8;align-items:center;gap:38px;padding:0 clamp(24px,5vw,76px);display:flex;position:relative}.marketing-brand{align-items:center;gap:12px;font-family:Libre Caslon Display,Georgia,serif;font-size:22px;display:flex}.marketing-brand>span:last-child>span{color:#99782d}.brand-seal{color:#f9f0d7;background:var(--green);letter-spacing:.08em;border:1px solid #123e31;border-radius:50%;place-items:center;width:42px;height:42px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;display:grid;box-shadow:inset 0 0 0 4px #fff2}.nav-links{align-items:center;gap:clamp(20px,2.5vw,38px);margin-left:auto;font-size:13px;font-weight:600;display:flex}.nav-links a{border-bottom:1px solid #0000;padding:12px 0}.nav-links a:hover{color:#a17c2c;border-color:#caaa63}.nav-cta{background:var(--green);border:1px solid #164235;border-radius:3px;align-items:center;gap:16px;padding:12px 18px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 5px 16px #173f3322;color:#fff!important}.nav-cta:hover{background:#174638}.marketing-hero{isolation:isolate;grid-template-columns:minmax(380px,.86fr) minmax(520px,1.14fr);align-items:center;gap:clamp(30px,5vw,84px);min-height:670px;padding:clamp(64px,8vw,116px) clamp(24px,5vw,76px) 88px;display:grid;position:relative}.marketing-hero:before{content:"";z-index:-1;background:#efe9dc;position:absolute;inset:0 0 0 56%}.marketing-hero:after{content:"";z-index:-1;border:1px solid #d7c9a5;border-radius:50%;width:600px;height:600px;position:absolute;top:-330px;right:-230px;box-shadow:0 0 0 45px #d7c9a510,0 0 0 90px #d7c9a50a}.hero-copy{z-index:2;max-width:660px;position:relative}.hero-kicker{color:#977228;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 22px;font-size:11px;font-weight:700;display:flex}.hero-copy h1{color:#173c31;letter-spacing:-.035em;margin:0;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(50px,5.2vw,78px);font-weight:400;line-height:1.02}.hero-copy h1 em{color:#9b7a35;font-weight:400}.hero-intro{color:#4f625b;max-width:600px;margin:28px 0 31px;font-family:Georgia,serif;font-size:clamp(16px,1.5vw,20px);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:27px;display:flex}.primary-cta{background:var(--green);border:1px solid #123f31;border-radius:3px;align-items:center;gap:25px;padding:15px 20px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #163f3227;color:#fff!important}.primary-cta:hover{background:#164638;transform:translateY(-1px)}.text-cta{align-items:center;gap:10px;font-size:12px;font-weight:700;display:inline-flex;color:#30564b!important}.play-dot{color:#9c792e;background:#f1e5c9;border:1px solid #d9c28e;border-radius:50%;place-items:center;width:28px;height:28px;font-size:8px;display:grid}.trust-row{color:#62746d;letter-spacing:.02em;border-top:1px solid #d9d2c5;flex-wrap:wrap;gap:18px;margin-top:38px;padding-top:22px;font-size:10px;font-weight:600;display:flex}.trust-row span{align-items:center;gap:7px;display:flex}.trust-row i{color:#fff;background:#4d806c;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;font-style:normal;display:grid}.hero-product{z-index:3;min-width:0;position:relative}.app-preview{background:#ece8dd;border:1px solid #c8beaa;border-radius:7px;width:min(730px,100%);overflow:hidden;transform:rotate(.25deg);box-shadow:0 25px 60px #2c392f2d,0 2px 4px #2c392f1b}.preview-bar{color:#eee9df;background:#223e35;grid-template-columns:minmax(150px,1fr) minmax(150px,1.35fr) auto;align-items:center;gap:12px;height:53px;padding:0 15px;display:grid}.preview-brand{align-items:center;gap:10px;font-size:10px;display:flex}.preview-brand>span{color:#183a30;background:#d0af67;border-radius:50%;place-items:center;width:27px;height:27px;font-size:8px;font-weight:800;display:grid}.preview-search{color:#aebbb5;background:#315147;border:1px solid #577167;border-radius:4px;padding:8px 12px;font-size:9px}.preview-controls{align-items:center;gap:6px;display:flex}.preview-controls span{background:#315147;border:1px solid #5c746b;border-radius:3px;place-items:center;width:25px;height:25px;display:grid}.preview-controls small{font-size:8px}.preview-toolbar{color:#455b53;background:#faf7ef;border-bottom:1px solid #d5cec0;align-items:center;gap:20px;height:42px;padding:0 16px;font-size:8px;display:flex}.preview-toolbar>span{text-transform:uppercase;letter-spacing:.08em;flex-direction:column;display:flex}.preview-toolbar strong{color:#213f35;text-transform:none;font-size:10px}.preview-toolbar small{color:#7f8c87;margin-left:auto}.preview-toolbar b{color:#f5f0e6;background:#35584c;border-radius:3px;padding:6px 8px;font-size:7px}.preview-toolbar .preview-background-button{color:#253f36;background:#dfbd78;box-shadow:0 0 0 2px #dfbd7833}.tree-stage{background-color:#b49a72;background-image:linear-gradient(#30271926,#30271926),url(/backgrounds/full/background-12.webp);background-position:50%;background-size:cover;height:365px;position:relative;overflow:hidden}.tree-stage:before{content:"";background:radial-gradient(circle at 50% 45%,#fff5d91f,#251b102e 85%);position:absolute;inset:0}.mini-person{z-index:3;color:#293d36;background:#fffdf7;border:1px solid #86765e;border-radius:2px;justify-items:center;width:78px;padding:5px 5px 7px;font-size:8px;display:grid;position:absolute;box-shadow:0 5px 12px #241c1450}.mini-person small{color:#8c8a82;margin-top:2px;font-size:7px}.mini-portrait{background-image:url(/marketing/fictional-family-portraits.png);background-position-y:28%;background-repeat:no-repeat;background-size:500%;border:1px solid #c8bda7;border-radius:1px;width:66px;height:58px;margin-bottom:5px;display:block;box-shadow:inset 0 0 0 1px #fff8}.portrait-1{background-position-x:0%}.portrait-2{background-position-x:25%}.portrait-3{background-position-x:50%}.portrait-4{background-position-x:75%}.portrait-5{background-position-x:100%}.marian-grandmother{top:25px;left:7%}.marian-grandfather{top:25px;left:22%}.grandmother{top:25px;left:63%}.grandfather{top:25px;right:7%}.mother{top:151px;left:22%}.father{top:151px;right:22%}.you{top:267px;left:calc(50% - 39px)}.tree-lines .line{z-index:1;background:#64533b;display:block;position:absolute;box-shadow:0 1px #f0d9ae55}.marian-grandparents{width:15%;height:1px;top:80px;left:calc(7% + 39px)}.marian-down{width:1px;height:71px;top:80px;left:calc(22% + 39px)}.david-grandparents{height:1px;top:80px;left:calc(63% + 39px);right:calc(7% + 39px)}.david-down{width:1px;height:71px;top:80px;right:calc(7% + 39px)}.parents{height:1px;top:206px;left:calc(22% + 39px);right:calc(22% + 39px)}.down-two{width:1px;height:61px;top:206px;left:50%}.tree-canvas-label{z-index:2;color:#f7ead1;background:#34291db8;border:1px solid #9f876677;border-radius:3px;align-items:center;gap:7px;padding:6px 8px;font-family:Georgia,serif;font-size:9px;display:flex;position:absolute;bottom:10px;left:12px}.tree-canvas-label span{color:#e2bd6d}.background-picker-preview{z-index:5;color:#efe9df;background:#292622e8;border:1px solid #8b7c66;border-radius:4px;grid-template-columns:1fr repeat(3,32px);align-items:center;gap:6px;width:206px;padding:9px;display:grid;position:absolute;bottom:10px;right:10px;box-shadow:0 8px 22px #21180f55}.background-picker-preview>div{flex-direction:column;gap:2px;display:flex}.background-picker-preview>div span{color:#d2af67;letter-spacing:.1em;font-size:5px;font-weight:900}.background-picker-preview>div strong{font-family:Georgia,serif;font-size:8px;font-weight:500}.background-swatch{background-position:50%;background-size:cover;border:1px solid #a99b86;border-radius:2px;width:32px;height:28px}.background-swatch.selected{background-image:url(/backgrounds/thumbs/background-12.webp);outline:2px solid #dfbd78}.background-swatch.branches{background-image:url(/backgrounds/thumbs/background-04.webp)}.background-swatch.archive{background-image:url(/backgrounds/thumbs/background-05.webp)}.background-picker-preview small{color:#c9d8d1;grid-column:1/-1;font-size:6px}.privacy-float,.gift-float{z-index:5;color:#213d34;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf4f2;border:1px solid #c8bca4;border-radius:5px;align-items:center;gap:11px;display:flex;position:absolute;box-shadow:0 15px 35px #263b3133}.privacy-float{padding:12px 14px;top:-39px;right:-22px}.privacy-float>span:nth-child(2),.gift-float>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.privacy-float small,.gift-float small{color:#8b773f;letter-spacing:.11em;font-size:7px;font-weight:800}.privacy-float strong,.gift-float strong{font-family:Georgia,serif;font-size:12px}.privacy-float>i{background:#4c9b74;border-radius:50%;width:7px;height:7px;margin-left:8px;box-shadow:0 0 0 4px #4c9b7420}.lock-mark,.gift-icon{color:#f7e9c7;background:#2c604e;border-radius:50%;place-items:center;width:31px;height:31px;font-size:15px;display:grid}.gift-float{padding:13px 16px;bottom:-35px;left:-35px}.gift-float>span:last-child{color:#9b792e;margin-left:12px}.gift-icon{background:#9e7b31}.privacy-ribbon{color:#f7f2e8;background:#1d4a3d;border-top:1px solid #315e50;grid-template-columns:auto auto 1fr auto;align-items:center;gap:22px;min-height:92px;padding:18px clamp(24px,7vw,110px);display:grid}.ribbon-lock{color:#e4c675;border:1px solid #9f8b50;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.privacy-ribbon strong{font-family:Georgia,serif;font-size:16px;font-weight:500}.privacy-ribbon>span:nth-of-type(2){color:#bdcbc5;font-size:11px}.privacy-ribbon a{color:#e3c66f;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.gift-section{background:#faf7ef;grid-template-columns:minmax(380px,1fr) minmax(400px,.9fr);align-items:center;gap:clamp(48px,7vw,110px);min-height:660px;padding:clamp(72px,9vw,130px) clamp(24px,7vw,110px);display:grid}.gift-photo-wrap{position:relative}.gift-photo-wrap:before{content:"";z-index:0;border-top:1px solid #b89a59;border-left:1px solid #b89a59;width:55%;height:55%;position:absolute;top:-26px;left:-26px}.gift-photo-wrap img{z-index:1;aspect-ratio:3/2;object-fit:cover;border:1px solid #cabda3;width:100%;display:block;position:relative;box-shadow:0 22px 50px #293b3026}.usb-badge{z-index:2;color:#f7f2e9;background:#1e4b3d;border:1px solid #406b5c;flex-direction:column;gap:3px;min-width:170px;padding:15px 18px;display:flex;position:absolute;bottom:-24px;right:-24px;box-shadow:0 12px 25px #1b382f35}.usb-badge strong{font-family:Georgia,serif;font-size:15px;font-weight:500}.usb-badge small{color:#bfd0c9;letter-spacing:.04em;font-size:9px}.gift-disclaimer{z-index:1;color:#7b817d;margin:10px 0 0;font-size:9px;line-height:1.4;position:relative}.gift-copy{max-width:590px}.section-kicker{color:#9d782c;letter-spacing:.15em;margin:0 0 18px;font-size:10px;font-weight:800}.gift-copy h2{color:#1e493c;margin:0;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(38px,4.3vw,61px);font-weight:400;line-height:1.06}.gift-lead{color:#566962;margin:24px 0;font-family:Georgia,serif;font-size:17px;line-height:1.65}.no-list{border-bottom:1px solid #d9d1c2;flex-wrap:wrap;gap:10px;padding:5px 0 24px;display:flex}.no-list span{color:#34564b;background:#f0eadc;border:1px solid #d8ceba;align-items:center;gap:8px;padding:8px 11px;font-size:11px;display:flex}.no-list i{color:#fff;background:#a77d45;border-radius:50%;place-items:center;width:17px;height:17px;font-size:12px;font-style:normal;display:grid}.gift-detail{grid-template-columns:38px 1fr;align-items:start;gap:14px;margin:24px 0;display:grid}.gift-detail>span{color:#f7e7c0;background:#a37c2e;border-radius:50%;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.gift-detail p{color:#66766f;margin:0;font-size:12px;line-height:1.65}.gift-detail strong{color:#284a40;margin-bottom:3px;font-family:Georgia,serif;font-size:14px;display:block}.gift-link{letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #9d7b32;align-items:center;gap:28px;padding-bottom:6px;font-size:11px;font-weight:800;display:inline-flex;color:#1f5545!important}.seo-faq{color:#4d6259;background:#f0eadc;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:clamp(44px,8vw,120px);padding:clamp(72px,9vw,128px) clamp(24px,7vw,110px);display:grid}.seo-faq h2{color:#1e493c;max-width:480px;margin:0;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(38px,4.3vw,61px);font-weight:400;line-height:1.06}.seo-faq>div:first-child>p:last-child{max-width:470px;margin:24px 0 0;font-family:Georgia,serif;font-size:17px;line-height:1.65}.faq-list{border-top:1px solid #cfc5b2}.faq-list details{border-bottom:1px solid #cfc5b2;padding:19px 0}.faq-list summary{cursor:pointer;color:#284a40;font-family:Georgia,serif;font-size:18px}.faq-list p{color:#66766f;max-width:620px;margin:12px 0 0;font-size:14px;line-height:1.65}.privacy-page{background:#faf7ef;min-height:100vh}.privacy-policy-content{color:#445951;max-width:800px;margin:0 auto;padding:clamp(64px,10vw,120px) 24px}.privacy-policy-content h1{color:#1e493c;max-width:720px;margin:0;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(42px,6vw,72px);font-weight:400;line-height:1.04}.privacy-updated{color:#79867f;margin:18px 0 56px;font-size:13px}.privacy-policy-content section{border-bottom:1px solid #ded6c7;margin:0 0 34px;padding:0 0 34px}.privacy-policy-content h2{color:#245044;margin:0 0 12px;font-family:Georgia,serif;font-size:23px;font-weight:500}.privacy-policy-content p{margin:0 0 13px;font-family:Georgia,serif;font-size:16px;line-height:1.72}.privacy-policy-content section p:last-child{margin-bottom:0}.privacy-back{color:#1f5545;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #9d7b32;margin-top:10px;font-size:12px;font-weight:800;display:inline-flex}@media (width<=980px){.nav-links{display:none}.nav-cta{margin-left:auto}.marketing-hero{grid-template-columns:1fr;padding-bottom:110px}.marketing-hero:before{inset:48% 0 0}.hero-copy{max-width:760px}.hero-product{width:min(760px,95%);margin:40px auto 0}.gift-section{grid-template-columns:1fr}.gift-copy{max-width:760px}.seo-faq{grid-template-columns:1fr}}@media (width<=640px){.marketing-nav{min-height:70px;padding:0 16px}.marketing-brand>span:last-child{display:none}.nav-cta{padding:10px 12px;font-size:10px}.marketing-hero{min-height:0;padding:52px 20px 100px}.hero-copy h1{font-size:clamp(43px,14vw,60px)}.hero-intro{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.trust-row{gap:10px}.hero-product{width:100%;margin-top:30px}.app-preview{overflow:visible;transform:none}.preview-bar{grid-template-columns:1fr auto}.preview-search,.preview-toolbar small{display:none}.tree-stage{height:320px}.grandmother{left:8%}.grandfather{right:8%}.mother{top:135px;left:20%}.father{top:135px;right:20%}.you{top:242px}.grandparents{left:calc(8% + 39px);right:calc(8% + 39px)}.down-one{height:55px}.parents{top:190px;left:calc(20% + 39px);right:calc(20% + 39px)}.down-two{height:52px;top:190px}.background-picker-preview{width:176px}.background-picker-preview>div{display:none}.privacy-float{top:-28px;right:-8px}.gift-float{bottom:-48px;left:-8px}.privacy-ribbon{grid-template-columns:auto 1fr;gap:10px 14px}.privacy-ribbon>span:nth-of-type(2),.privacy-ribbon a{grid-column:2}.gift-section{padding:78px 20px}.gift-photo-wrap:before{top:-12px;left:-8px}.usb-badge{bottom:-28px;right:-5px}.gift-copy{margin-top:28px}}:root{color:#f7f4ef;font-synthesis:none;background:#333230;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}.viewer-loading{color:#eee9e1;text-align:center;background:#2b2926;place-content:center;gap:7px;width:100%;height:100%;display:grid}.viewer-loading strong{font-family:Georgia,serif;font-size:22px}.viewer-loading span{color:#bdb7ae;font-size:11px}button,input{font:inherit}button{cursor:pointer}.account-loading{color:#f7f1e7;background:#20372e;place-content:center;justify-items:center;gap:12px;width:100%;height:100%;display:grid}.account-loading p{color:#d4c8b7;margin:0}.account-screen{color:#2b2722;background:#f4efe7;grid-template-columns:minmax(330px,.95fr) minmax(430px,1.05fr);min-height:100%;display:grid}.account-brand-panel{color:#f9f4eb;background:radial-gradient(circle at 20% 20%,#52705f 0,#0000 32%),linear-gradient(145deg,#294a3c,#172a23);flex-direction:column;justify-content:center;min-height:100%;padding:clamp(3rem,8vw,8rem);display:flex;position:relative;overflow:hidden}.account-brand-panel:after{content:"";opacity:.14;background-image:radial-gradient(#e4c78f 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.account-brand-panel>*{z-index:1;position:relative}.account-monogram{color:#1f352b;background:#d7b873;border:1px solid #e5c98a88;border-radius:50%;place-items:center;width:72px;height:72px;font-family:Georgia,serif;font-size:23px;font-weight:800;display:grid;box-shadow:0 12px 30px #0004}.account-monogram span{margin:0 2px;font-size:17px}.account-kicker{color:#d9c593;letter-spacing:.15em;text-transform:uppercase;margin:2.2rem 0 .55rem;font-size:.72rem;font-weight:850}.account-brand-panel h1{max-width:560px;margin:0;font-family:Georgia,serif;font-size:clamp(2.8rem,5.4vw,5.5rem);font-weight:500;line-height:.98}.account-brand-panel>p:last-of-type{color:#d6cec1;max-width:520px;font-size:1.05rem;line-height:1.65}.account-rings{width:34rem;height:34rem;position:absolute;bottom:-12rem;right:-11rem}.account-rings i{border:1px solid #d8b86c66;border-radius:50%;position:absolute;inset:0}.account-rings i:nth-child(2){inset:5rem}.account-rings i:nth-child(3){inset:10rem}.account-form-panel{place-items:center;padding:clamp(1.5rem,5vw,6rem);display:grid}.account-card{width:min(470px,100%)}.account-eyebrow{color:#8c6b35;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:900}.account-card h2{color:#24372f;margin:.45rem 0 1.6rem;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1.05}.account-form{gap:1rem;display:grid}.account-form label{color:#51483f;gap:.45rem;font-size:.8rem;font-weight:800;display:grid}.account-form input{color:#28231e;background:#fffefa;border:1px solid #c8bca9;border-radius:8px;outline:none;width:100%;min-height:48px;padding:.75rem .85rem}.account-form input:focus{border-color:#9e793d;box-shadow:0 0 0 3px #bd934d24}.account-form small,.subscription-offer>small{color:#776c60;font-size:.72rem;line-height:1.5}.free-account-note{text-align:center;margin-top:-.35rem;display:block}.primary-account-button,.secondary-account-button{border-radius:8px;min-height:50px;padding:.8rem 1rem;font-weight:850}.primary-account-button{color:#fff;background:#38684f;border:1px solid #2f5b44;box-shadow:0 8px 20px #315b4528}.primary-account-button:hover{background:#2c5942}.primary-account-button:disabled{cursor:wait;opacity:.58}.secondary-account-button{color:#315a45;background:0 0;border:1px solid #8aa594}.text-button{color:#35644d;background:0 0;border:0;padding:0;font-weight:850;text-decoration:underline}.forgot-button{justify-self:center}.account-footer{color:#6e6257;text-align:center;border-top:1px solid #ddd3c5;margin-top:1.6rem;padding-top:1.1rem}.account-footer p{margin:0}.account-alert{color:#594d40;background:#eee5d8;border-radius:7px;margin:0;padding:.75rem .85rem;font-size:.82rem;line-height:1.45}.account-alert.error{color:#822e26;background:#f9ddd8}.account-alert.success{color:#20553c;background:#dcf0e4}.subscription-offer{gap:1.15rem;display:grid}.subscription-price{border-bottom:1px solid #ded4c6;align-items:baseline;gap:.45rem;padding-bottom:1rem;display:flex}.subscription-price strong{color:#264436;font-family:Georgia,serif;font-size:3rem}.subscription-price span{color:#73685c}.subscription-gift-highlight{color:#f8f4eb;background:linear-gradient(135deg,#28493b,#38684f);border:1px solid #203e32;border-radius:9px;gap:.45rem;padding:1rem 1.05rem;display:grid;box-shadow:0 10px 24px #27453520}.subscription-gift-highlight span{color:#e4c98e;letter-spacing:.14em;text-transform:uppercase;font-size:.65rem;font-weight:900}.subscription-gift-highlight strong{font-family:Georgia,serif;font-size:1.18rem;font-weight:600;line-height:1.25}.subscription-gift-highlight p{color:#e3ddd3;margin:0;font-size:.77rem;line-height:1.5}.subscription-offer ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.subscription-offer li:before{content:"✓";color:#47765d;margin-right:.65rem;font-weight:900}.purchase-prompt-backdrop{z-index:300;background:#171512d9;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.purchase-prompt{color:#2b2723;background:#f7f4ee;border:1px solid #c8bda9;border-radius:10px;width:min(520px,96vw);max-height:94vh;overflow:auto;box-shadow:0 24px 70px #000b}.purchase-prompt>header{color:#fff;background:#2b2926;grid-template-columns:1fr 34px;align-items:center;gap:12px;padding:17px 18px;display:grid}.purchase-prompt>header div{flex-direction:column;display:flex}.purchase-prompt>header span{color:#dfbd78;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800}.purchase-prompt>header strong{margin-top:3px;font-family:Georgia,serif;font-size:20px}.purchase-prompt>header button{color:#eee8df;background:0 0;border:1px solid #746d64;border-radius:50%;width:34px;height:34px;padding:0;font-size:23px;line-height:1}.purchase-prompt-message{color:#625950;margin:0;padding:18px 18px 0;font-size:13px;line-height:1.5}.purchase-prompt .subscription-offer{padding:18px}.purchase-prompt .subscription-price strong{font-size:2.35rem}.account-controls{align-items:center;gap:7px;display:flex}.account-controls>span{color:#d8d1c8;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:10px;font-weight:750;overflow:hidden}.account-controls a,.account-controls button{color:#eee9e1;white-space:nowrap;background:#393633;border:1px solid #69635c;border-radius:5px;align-items:center;min-height:34px;padding:7px 9px;font-size:9px;font-weight:800;text-decoration:none;display:inline-flex}.account-controls .logout-button{color:#f0d8d3;border-color:#84564f}.app-shell{background:#454442;grid-template-rows:76px 68px 1fr;height:100%;display:grid;overflow:hidden}.topbar{z-index:20;background:#211f1d;border-bottom:1px solid #5e584e;align-items:center;gap:18px;padding:0 24px;display:flex;box-shadow:0 4px 18px #0005}.brand-mark{color:#211f1d;background:#c9aa70;border-radius:50%;place-items:center;width:44px;height:44px;font-family:Georgia,serif;font-weight:800;display:grid}.brand-mark span{margin:0 1px;font-size:13px}.title-block{min-width:265px}.title-block h1{letter-spacing:.2px;margin:0;font-family:Georgia,serif;font-size:20px;font-weight:500}.title-block p{color:#bdb7ae;margin:3px 0 0;font-size:12px}.search-wrap{width:min(430px,38vw);margin-left:auto;position:relative}.search-wrap label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.search-wrap input{color:#f7f4ef;background:#35322f;border:1px solid #6a655d;border-radius:7px;outline:none;width:100%;padding:11px 14px 11px 40px}.search-wrap:before{content:"⌕";z-index:1;color:#c9aa70;font-size:23px;position:absolute;top:7px;left:14px}.search-wrap input:focus{border-color:#c9aa70;box-shadow:0 0 0 3px #c9aa7028}.search-results{color:#24211e;background:#fff;border-radius:7px;width:100%;position:absolute;top:48px;overflow:hidden;box-shadow:0 14px 36px #0008}.search-results button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e6e1da;justify-content:space-between;width:100%;padding:11px 14px;display:flex}.search-results button:hover{background:#f2ede5}.search-results span{color:#756e64;font-size:12px}.zoom-controls{color:#cfc9c1;align-items:center;gap:7px;display:flex}.zoom-controls button{color:#fff;background:#393633;border:1px solid #69635c;border-radius:5px;width:34px;height:34px;font-size:20px}.zoom-controls span{text-align:center;min-width:44px;font-size:12px}.tree-file-actions{gap:8px;display:flex}.tree-file-actions input[type=file]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.clear-tree-button,.import-tree-button,.export-tree-button{white-space:nowrap;border-radius:5px;min-height:38px;padding:8px 12px;font-size:10px;font-weight:800}.clear-tree-button{color:#ead8d4;background:0 0;border:1px solid #84564f}.clear-tree-button:hover{color:#fff;background:#783c34;border-color:#a9685e}.import-tree-button{color:#eee9e1;background:#393633;border:1px solid #69635c}.import-tree-button:hover{color:#241f1b;background:#d8c49d;border-color:#d0a65f}.export-tree-button{color:#241f1b;background:#dfbd78;border:1px solid #bc9148}.export-tree-button:hover{background:#efd293;border-color:#d0a65f}.export-backdrop{z-index:200;background:#171512c9;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.export-dialog{color:#2b2723;background:#f7f4ee;border:1px solid #c8bda9;border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;width:min(620px,96vw);max-height:min(820px,94vh);display:grid;overflow:hidden;box-shadow:0 24px 70px #000b}.export-dialog>header{color:#fff;background:#2b2926;grid-template-columns:1fr 34px;align-items:center;gap:12px;padding:17px 18px;display:grid}.export-dialog>header span{color:#cdbfaa;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.export-dialog>header strong{margin-top:3px;font-family:Georgia,serif;font-size:19px;display:block}.export-dialog>header button{color:#eee8df;background:0 0;border:1px solid #746d64;border-radius:50%;width:34px;height:34px;padding:0;font-size:23px;line-height:1}.export-dialog>header button:disabled{cursor:default;opacity:.45}.export-body{padding:18px;overflow:auto}.export-summary{background:#fff;border:1px solid #d9d1c5;border-radius:7px;flex-direction:column;gap:4px;padding:14px 15px;display:flex}.export-summary strong{font-family:Georgia,serif;font-size:16px}.export-summary span{color:#756d64;font-size:10px}.export-dialog fieldset{background:#fff;border:1px solid #d9d1c5;border-radius:7px;margin:14px 0 0;padding:14px}.export-dialog legend{color:#4d453e;padding:0 6px;font-family:Georgia,serif;font-size:14px;font-weight:700}.export-choice{cursor:pointer;border:1px solid #e0d9cf;border-radius:6px;grid-template-columns:18px 1fr;align-items:start;gap:9px;padding:10px;display:grid}.export-choice+.export-choice{margin-top:8px}.export-choice:has(input:checked){background:#f5ead4;border-color:#c7a66b}.export-choice input{accent-color:#9e743a;margin:2px 0 0}.export-choice span{flex-direction:column;gap:3px;display:flex}.export-choice strong{font-size:11px}.export-choice small{color:#746b61;font-size:9px;line-height:1.45}.export-field{color:#665e55;flex-direction:column;gap:5px;margin-top:9px;font-size:10px;font-weight:800;display:flex}.export-field input{color:#2c2824;background:#fbfaf7;border:1px solid #cfc5b7;border-radius:5px;outline:none;min-height:39px;padding:9px 10px}.export-field input:focus{border-color:#b68a43;box-shadow:0 0 0 3px #b68a4325}.export-dialog fieldset>small{color:#756d64;margin-top:8px;font-size:9px;line-height:1.4;display:block}.export-dialog .validation-error{color:#9b3d31}.export-progress{color:#4c3a1f;background:#fff3d9;border:1px solid #d6b974;border-radius:6px;justify-content:space-between;gap:15px;margin-top:14px;padding:12px 14px;font-size:10px;display:flex}.export-error{color:#742d25;background:#f8e2de;border:1px solid #d89f96;border-radius:6px;margin-top:14px;padding:11px 13px;font-size:10px}.export-dialog>footer{background:#eee9e1;border-top:1px solid #d4cbbf;justify-content:flex-end;gap:9px;padding:13px 18px;display:flex}.export-dialog>footer button{border-radius:5px;min-height:38px;padding:8px 14px;font-size:10px;font-weight:800}.export-dialog>footer .secondary{color:#514a43;background:#f9f7f3;border:1px solid #c9bfb1}.export-dialog>footer .primary{color:#241f1b;background:#dfbd78;border:1px solid #bc9148}.export-dialog>footer button:disabled{cursor:default;opacity:.45}.tree-toolbar{z-index:10;color:#e9e5de;background:#383735;border-bottom:1px solid #615f5b;justify-content:space-between;align-items:center;padding:0 26px;display:flex}.tree-toolbar div{flex-direction:column;display:flex}.tree-toolbar .eyebrow{color:#aaa49b;letter-spacing:1.1px;text-transform:uppercase;font-size:10px;font-weight:700}.tree-toolbar strong{margin-top:3px;font-family:Georgia,serif;font-size:16px}.tree-toolbar p{color:#bdb9b2;margin:0;font-size:12px}.tree-toolbar b{color:#dfc58f}.background-actions{align-items:center;gap:7px;display:flex}.background-actions>input[type=file]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.background-actions button{color:#eee9e1;white-space:nowrap;background:#4a4845;border:1px solid #77716a;border-radius:5px;min-height:34px;padding:7px 11px;font-size:9px;font-weight:800}.background-actions button:hover{color:#241f1b;background:#d8c49d;border-color:#d0a65f}.background-actions .remove-background{color:#d8cbc3;background:0 0}.layout-mode-control{color:#d8d3cc;white-space:nowrap;background:#4a4845;border:1px solid #77716a;border-radius:5px;align-items:center;gap:3px;min-height:34px;padding:3px;display:flex}.layout-mode-control>span{padding:0 5px;font-size:9px;font-weight:800}.background-actions .layout-mode-control button{background:0 0;border:0;min-height:26px;padding:5px 7px}.background-actions .layout-mode-control button:hover{color:#fff;background:#66615a}.background-actions .layout-mode-control button.active{color:#241f1b;background:#d8c49d;box-shadow:inset 0 0 0 1px #d0a65f}.connector-color-control{color:#d8d3cc;white-space:nowrap;background:#4a4845;border:1px solid #77716a;border-radius:5px;align-items:center;gap:7px;min-height:34px;padding:5px 8px;font-size:9px;font-weight:800;display:flex}.connector-color-control input{cursor:pointer;background:0 0;border:0;width:27px;height:22px;padding:0}.background-dialog-backdrop{z-index:120;background:#171512c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.background-dialog{color:#2b2723;background:#f7f4ee;border:1px solid #c8bda9;border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:min(980px,96vw);max-height:92vh;display:grid;overflow:hidden;box-shadow:0 24px 70px #000b}.background-dialog>header{color:#fff;background:#2b2926;grid-template-columns:1fr 34px;align-items:center;gap:12px;padding:17px 18px;display:grid}.background-dialog>header div{flex-direction:column;display:flex}.background-dialog>header span{color:#cdbfaa;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800}.background-dialog>header strong{margin-top:3px;font-family:Georgia,serif;font-size:19px}.background-dialog>header button{color:#eee8df;background:0 0;border:1px solid #746d64;border-radius:50%;width:34px;height:34px;padding:0;font-size:23px;line-height:1}.background-dialog-body{padding:18px;overflow:auto}.background-section-title{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:13px;display:flex}.background-section-title>div{flex-direction:column;gap:3px;display:flex}.background-section-title strong{font-family:Georgia,serif;font-size:15px}.background-section-title span,.background-section-title small{color:#776f66;font-size:10px}.background-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.background-gallery button{color:#40382f;text-align:left;background:#fff;border:2px solid #d1c8bb;border-radius:7px;grid-template-rows:auto 34px;padding:0;display:grid;position:relative;overflow:hidden}.background-gallery button:hover,.background-gallery button.selected{border-color:#b48338;box-shadow:0 0 0 2px #d6b77755}.background-gallery img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.background-gallery button>span{align-items:center;padding:0 10px;font-size:10px;font-weight:800;display:flex}.background-gallery button>b{color:#241f1b;text-transform:uppercase;background:#e7c77f;border:1px solid #fff;border-radius:10px;padding:4px 7px;font-size:8px;position:absolute;top:8px;right:8px}.custom-background-row{background:#ece5da;border:1px solid #cec2b1;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:14px;display:flex}.custom-background-row>div:first-child{flex-direction:column;gap:4px;display:flex}.custom-background-row span{color:#746b61;font-size:9px}.custom-background-row>div:last-child{gap:8px;display:flex}.custom-background-row button{color:#2f2923;background:#dfbd78;border:1px solid #bc9148;border-radius:5px;min-height:34px;padding:7px 11px;font-size:9px;font-weight:800}.custom-background-row button.remove-background{color:#6d4035;background:#fbf8f3;border-color:#cdbdb0}.tree-viewport{--pan-x:0px;--pan-y:0px;cursor:default;touch-action:none;background-color:#4b4a48;background-image:radial-gradient(#77736c55 .7px,#0000 .7px);background-size:22px 22px;position:relative;overflow:hidden}.tree-viewport.is-panning,.tree-viewport.is-panning *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.tree-viewport img{-webkit-user-drag:none}.tree-background{z-index:0;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:0}.scaled-canvas{z-index:1;min-width:100%;min-height:100%;transform:translate3d(var(--pan-x), var(--pan-y), 0);position:relative}.tree-canvas{transform-origin:0 0;position:absolute;top:0;left:0}.connectors{pointer-events:none;position:absolute;inset:0;overflow:visible}.connectors path{fill:none;stroke:#77736c;stroke-width:1.4px;vector-effect:non-scaling-stroke}.connectors .couple-line{stroke:#969087;stroke-width:1.7px}.connectors .couple-line.divorced{stroke-dasharray:6 4}.connectors .family-junction{fill:#d4aa63;stroke:#4b4a48;stroke-width:1.5px}.connectors.has-custom-color path{stroke:var(--connector-color)}.connectors.has-custom-color .couple-line{stroke:color-mix(in srgb, var(--connector-color) 82%, white)}.connectors.has-custom-color .family-junction{fill:color-mix(in srgb, var(--connector-color) 70%, black)}.person-card{color:#24211f;background:#faf9f6;border:2px solid #dedbd5;border-radius:3px;grid-template-rows:112px 1fr;width:112px;height:178px;transition:box-shadow .15s,border-color .15s,transform .15s;display:grid;position:absolute;overflow:visible;box-shadow:0 4px 12px #0005}.person-card:hover{z-index:3;border-color:#fff;transform:translateY(-2px);box-shadow:0 8px 22px #0008}.person-card.is-focus{border-color:#e2b85f;box-shadow:0 0 0 3px #e2b85f55,0 7px 24px #0009}.person-card.has-info-open{z-index:60}.person-card.has-relationships-open{z-index:55}.person-card.has-actions-open{z-index:58}.portrait{color:#fff;border-radius:1px 1px 0 0;place-items:center;width:100%;height:112px;display:grid;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:center 25%;width:100%;height:100%;display:block}.portrait.male{background:linear-gradient(145deg,#d8e8ee,#aac4cf)}.portrait.female{background:linear-gradient(145deg,#f1d9cf,#dda991)}.portrait.neutral{background:linear-gradient(145deg,#6b6964,#aaa59c)}.silhouette{width:100%;height:100%;position:relative;overflow:hidden}.silhouette-head{opacity:.93;background:currentColor;border-radius:48% 48% 45% 45%;width:37px;height:42px;position:absolute;top:19px;left:50%;transform:translate(-50%);box-shadow:0 -5px 0 -1px}.silhouette-body{opacity:.93;background:currentColor;border-radius:52% 52% 0 0;width:96px;height:72px;position:absolute;bottom:-31px;left:50%;transform:translate(-50%)}.portrait.male .silhouette{color:#456b7d}.portrait.female .silhouette{color:#a95035}.portrait.neutral .silhouette{color:#65615b}.initials-badge{color:#fff;letter-spacing:.3px;background:#292724bb;border:1px solid #fffa;border-radius:12px;place-items:center;min-width:23px;height:23px;padding:0 4px;font-size:8px;font-weight:800;display:grid;position:absolute;bottom:5px;right:5px}.person-copy{text-align:center;flex-direction:column;justify-content:flex-start;min-width:0;padding:7px 6px 6px;display:flex}.person-copy strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Arial,sans-serif;font-size:11px;line-height:1.08;display:-webkit-box;overflow:hidden}.person-copy span{color:#716b63;margin-top:4px;font-size:9px;line-height:1.15}.branch-toggle{z-index:5;color:#f7f4ef;background:#65625d;border:1px solid #b1ada6;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;font-size:15px;line-height:1;display:grid;position:absolute;left:calc(50% - 11px);box-shadow:0 2px 5px #0007}.branch-toggle:hover{color:#1f1d1a;background:#c79e55}.branch-toggle.top{top:-34px}.card-pill:after{content:attr(data-tooltip);z-index:20;pointer-events:none;opacity:0;color:#fff;white-space:nowrap;background:#24211eee;border:1px solid #817a70;border-radius:4px;width:max-content;max-width:180px;padding:5px 7px;font-family:Arial,sans-serif;font-size:9px;font-style:normal;font-weight:700;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(3px);box-shadow:0 4px 10px #0008}.card-pill:hover:after,.card-pill:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.child-toggle{z-index:8;color:#fff;background:#526b78;border:1px solid #fff9;border-radius:999px;place-items:center;width:32px;min-width:32px;height:22px;padding:0;font-size:14px;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-15px;left:calc(50% - 16px);box-shadow:0 2px 5px #0007}.child-toggle:hover,.child-toggle[aria-expanded=true]{color:#251f1c;background:#dfbd78;border-color:#fff}.pill-family-branch-icon{fill:currentColor;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;overflow:visible}.pill-family-branch-icon path{fill:none}.sibling-toggle{z-index:8;color:#fff;background:#526b78;border:1px solid #fff9;border-radius:999px;place-items:center;width:32px;min-width:32px;height:22px;padding:0;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-15px;right:4px;box-shadow:0 2px 5px #0007}.sibling-toggle:hover,.sibling-toggle[aria-expanded=true]{color:#251f1c;background:#dfbd78;border-color:#fff}.pill-heart-icon{color:#fff;font-family:Segoe UI Symbol,sans-serif;font-size:15px;font-weight:400;line-height:1;display:block}.pill-person-icon{color:currentColor;width:15px;height:16px;display:block;position:relative}.pill-person-icon:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;top:0;left:5px}.pill-person-icon:after{content:"";background:currentColor;border-radius:6px 6px 2px 2px;width:11px;height:9px;position:absolute;bottom:0;left:2px}.pill-person-icon.female:after{clip-path:polygon(28% 0,72% 0,100% 100%,0 100%);border-radius:6px 6px 1px 1px;width:13px;height:10px;left:1px}.pill-person-icon.neutral:after{opacity:.75}.pill-people-icon{color:currentColor;width:20px;height:16px;display:block;position:relative}.pill-people-icon i{width:11px;height:14px;position:absolute;bottom:0}.pill-people-icon i:first-child{left:0}.pill-people-icon i:last-child{right:0}.pill-people-icon i:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:0;left:3px}.pill-people-icon i:after{content:"";background:currentColor;border-radius:5px 5px 2px 2px;width:9px;height:8px;position:absolute;bottom:0;left:1px}.half-sibling-ribbon{z-index:2;color:#fff;letter-spacing:.3px;text-transform:uppercase;background:#865744e8;border-radius:0 9px 9px 0;padding:3px 7px 3px 6px;font-size:8px;font-weight:800;position:absolute;top:7px;left:0;box-shadow:0 1px 3px #0006}.ex-spouse-badge{z-index:8;color:#fff;background:#526b78;border:1px solid #fff9;border-radius:999px;place-items:center;width:32px;min-width:32px;height:22px;padding:0;font-size:10px;font-weight:800;display:grid;position:absolute;bottom:-15px;left:4px;box-shadow:0 2px 5px #0007}.ex-spouse-badge:hover,.ex-spouse-badge[aria-expanded=true]{color:#251f1c;background:#dfbd78;border-color:#fff}.relationship-popover{z-index:50;width:max-content;min-width:380px;max-width:720px;transform:scale(var(--popup-scale,1));transform-origin:0 0;color:#28231f;text-align:left;background:#fbfaf7;border:1px solid #c7bda9;border-radius:7px;position:absolute;top:-2px;left:calc(100% + 12px);overflow:hidden;box-shadow:0 16px 38px #000a}.relationship-popover:before{content:"";background:#2e2b28;border-bottom:1px solid #c7bda9;border-left:1px solid #c7bda9;width:12px;height:12px;position:absolute;top:24px;left:-7px;transform:rotate(45deg)}.relationship-popover>header{color:#fff;background:#2e2b28;padding:11px 50px 11px 13px;position:relative}.relationship-popover>header span{color:#cdbfaa;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.relationship-popover>header strong{margin-top:2px;font-family:Georgia,serif;font-size:14px;display:block}.relationship-popover>header button{color:#e8e2da;background:0 0;border:1px solid #716b64;border-radius:50%;width:28px;height:28px;padding:0;font-size:20px;line-height:1;position:absolute;top:10px;right:11px}.relationship-popover>header button:hover{color:#25211d;background:#dfbd78;border-color:#fff}.relationship-row{padding:12px}.relationship-row+.relationship-row{border-top:1px solid #dfd8ce}.relationship-person{grid-template-columns:52px 1fr;align-items:center;gap:10px;display:grid}.relationship-person>div:last-child{flex-direction:column;min-width:0;display:flex}.relationship-person strong{white-space:nowrap;font-family:Georgia,serif;font-size:13px}.relationship-person span{color:#756c61;margin-top:2px;font-size:10px}.relationship-name-line{min-width:0}.relationship-status-line{justify-content:flex-end;margin-top:4px;display:flex}.relationship-status-line em{letter-spacing:.4px;text-transform:uppercase;border-radius:8px;flex:none;padding:2px 6px;font-size:8px;font-style:normal;font-weight:800}.relationship-status-line em.current{color:#355e48;background:#dcebdd}.relationship-status-line em.former{color:#7a4436;background:#f0ddd5}.mini-portrait{color:#fff;border-radius:4px;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.mini-portrait.female{background:#b86447}.mini-portrait.male{background:#527789}.mini-portrait img{object-fit:cover;width:100%;height:100%}.mini-portrait span{color:#fff;font-weight:800}.relationship-actions{grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:10px;display:grid}.relationship-actions button{color:#3c342d;background:#eee8df;border:1px solid #cabfaf;border-radius:4px;min-height:30px;padding:5px 4px;font-size:9px;font-weight:700}.relationship-actions button:hover{color:#211d19;background:#ddc392;border-color:#bd9551}.relationship-actions button:disabled{cursor:default;color:#938a7f;background:#f2efea;border-color:#ded8cf}.info-flyout{z-index:70;color:#2a2622;text-align:left;background:#fbfaf7;border:1px solid #c8bda9;border-radius:9px;width:380px;max-height:570px;position:absolute;top:-12px;overflow:hidden;box-shadow:0 20px 52px #000b}.info-flyout.right{transform-origin:0 0;animation:.22s ease-out both info-flyout-right;left:calc(100% + 14px)}.info-flyout.left{transform-origin:100% 0;animation:.22s ease-out both info-flyout-left;right:calc(100% + 14px)}.info-flyout:before{content:"";z-index:2;background:#2e2b28;width:12px;height:12px;position:absolute;top:30px;transform:rotate(45deg)}.info-flyout.right:before{border-bottom:1px solid #c8bda9;border-left:1px solid #c8bda9;left:-7px}.info-flyout.left:before{border-top:1px solid #c8bda9;border-right:1px solid #c8bda9;right:-7px}.info-flyout>header{color:#fff;background:#2e2b28;grid-template-columns:52px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:12px;display:grid}.info-flyout>header>div:nth-child(2){min-width:0}.info-flyout>header span{color:#cdbfaa;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.info-flyout>header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:Georgia,serif;font-size:15px;display:block;overflow:hidden}.info-flyout>header small{color:#c9c3bb;margin-top:2px;font-size:10px;display:block}.info-flyout>header button{color:#e8e2da;background:0 0;border:1px solid #716b64;border-radius:50%;width:28px;height:28px;padding:0;font-size:20px;line-height:1}.info-flyout>header button:hover{color:#221f1c;background:#dfbd78;border-color:#dfbd78}.info-portrait{color:#fff;border-radius:5px;place-items:center;width:52px;height:52px;font-weight:800;display:grid;overflow:hidden}.info-portrait.female{background:#b86447}.info-portrait.male{background:#527789}.info-portrait.neutral{background:#716c64}.info-portrait img{object-fit:cover;width:100%;height:100%}.timeline-list{scrollbar-color:#b5aa99 #eee9e1;max-height:480px;padding:16px 18px 20px 39px;position:relative;overflow:auto}.timeline-list:before{content:"";background:#c9bda9;width:1px;position:absolute;top:19px;bottom:22px;left:22px}.timeline-item{padding:0 0 18px 8px;position:relative}.timeline-item:last-child{padding-bottom:2px}.timeline-item:before{content:"";background:#617d89;border:2px solid #fbfaf7;border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-22px;box-shadow:0 0 0 1px #9d9385}.timeline-item.marriage:before,.timeline-item.child:before{background:#b68a43}.timeline-item.divorce:before{background:#985d4d}.timeline-item time{color:#8b7043;letter-spacing:.55px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.timeline-item strong{color:#2c2824;margin-top:2px;font-family:Georgia,serif;font-size:13px;line-height:1.25;display:block}.timeline-item span{color:#686057;margin-top:3px;font-size:10px;line-height:1.35;display:block}.timeline-item p{color:#70675e;white-space:pre-wrap;margin:4px 0 0;font-size:10px;line-height:1.4}.timeline-empty{color:#746c63;text-align:center;margin:5px 0;font-size:11px}@keyframes info-flyout-right{0%{opacity:0;transform:translateX(-12px) scale(var(--popup-scale,1))}to{opacity:1;transform:translateX(0) scale(var(--popup-scale,1))}}@keyframes info-flyout-left{0%{opacity:0;transform:translateX(12px) scale(var(--popup-scale,1))}to{opacity:1;transform:translateX(0) scale(var(--popup-scale,1))}}.person-actions-menu{z-index:65;color:#2a2622;text-align:left;background:#fbfaf7;border:1px solid #c8bda9;border-radius:8px;width:220px;position:absolute;top:18px;overflow:hidden;box-shadow:0 16px 42px #000a}.person-actions-menu.right{transform-origin:0 0;animation:.18s ease-out both info-flyout-right;left:calc(100% + 12px)}.person-actions-menu.left{transform-origin:100% 0;animation:.18s ease-out both info-flyout-left;right:calc(100% + 12px)}.person-actions-menu header{color:#fff;background:#2e2b28;padding:10px 12px}.person-actions-menu header span{color:#cdbfaa;letter-spacing:1px;text-transform:uppercase;font-size:8px;font-weight:800;display:block}.person-actions-menu header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:Georgia,serif;font-size:13px;display:block;overflow:hidden}.person-actions-menu>div{grid-template-columns:1fr 1fr;padding:7px;display:grid}.person-actions-menu>div button{color:#403a34;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;min-height:36px;padding:6px 8px;font-size:10px;display:flex}.person-actions-menu>div button:hover{color:#211d19;background:#eadfcf}.person-actions-menu>div button:disabled{cursor:default;color:#aaa197;background:0 0}.person-actions-menu>div button b{color:#9a7035;text-align:center;width:18px;font-family:Georgia,serif;font-size:14px}.person-actions-menu>div button.remove-person-action{color:#8b332c}.person-actions-menu>div button.remove-person-action:hover{color:#6f211b;background:#f4dcd8}.person-actions-menu>div button.remove-person-action b{color:#ad4036}.remove-person-backdrop{z-index:90;background:#1f1c18b8;place-items:center;padding:22px;display:grid;position:absolute;inset:0}.remove-person-dialog{color:#302a25;background:#fffdf8;border:1px solid #c7a09a;border-radius:9px;width:100%;max-width:380px;padding:18px;box-shadow:0 18px 48px #0008}.remove-person-dialog>span{color:#a03930;letter-spacing:1px;text-transform:uppercase;font-size:8px;font-weight:800;display:block}.remove-person-dialog>strong{margin-top:5px;font-family:Georgia,serif;font-size:18px;line-height:1.3;display:block}.remove-person-dialog p{color:#625950;margin:12px 0 8px;font-size:10px;line-height:1.45}.remove-person-dialog ul{color:#4d453e;background:#f4eee3;border-radius:5px;margin:0;padding:10px 10px 10px 27px;font-size:10px;line-height:1.7}.remove-person-dialog small{color:#756d64;margin-top:8px;font-size:9px;display:block}.remove-person-dialog>div{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.remove-person-dialog button{color:#514a43;background:#f9f7f3;border:1px solid #c9bfb1;border-radius:5px;min-height:36px;padding:7px 13px;font-size:10px;font-weight:800}.remove-person-dialog button.danger{color:#fff;background:#a13c33;border-color:#7e2922}.remove-person-dialog button.danger:hover{background:#842d25}.remove-person-dialog button.danger:disabled{cursor:default;color:#e2cbc8;background:#b9918c;border-color:#a77f7a}.fresh-tree-fields{gap:10px!important;margin-top:14px!important;display:grid!important}.fresh-tree-fields label{color:#514840;letter-spacing:.3px;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800;display:grid}.fresh-tree-fields input{color:#302a25;text-transform:none;background:#fff;border:1px solid #c9bfb1;border-radius:5px;min-height:38px;padding:8px 10px;font:12px Arial,sans-serif}.fresh-tree-fields input:focus{outline-offset:1px;border-color:#aa7b34;outline:2px solid #d4aa62}.person-editor{z-index:100;color:#2b2723;background:#f7f4ee;border-left:1px solid #c8bda9;grid-template-rows:auto 1fr auto;width:min(460px,94vw);animation:.24s ease-out both editor-slide-in;display:grid;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 54px #000a}.person-editor>header{color:#fff;background:#2b2926;grid-template-columns:1fr 34px;align-items:center;gap:12px;padding:17px 18px;display:grid}.person-editor>header span{color:#cdbfaa;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.person-editor>header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-family:Georgia,serif;font-size:17px;display:block;overflow:hidden}.person-editor>header button{color:#eee8df;background:0 0;border:1px solid #746d64;border-radius:50%;width:34px;height:34px;padding:0;font-size:23px;line-height:1}.person-editor>header button:hover{color:#241f1b;background:#dfbd78;border-color:#dfbd78}.editor-body{padding:18px;overflow:auto}.editor-section{background:#fff;border:1px solid #d9d1c5;border-radius:8px;padding:16px;box-shadow:0 4px 14px #5a4e3b12}.editor-section+.editor-section{margin-top:14px}.editor-section-title{justify-content:space-between;align-items:baseline;margin-bottom:15px;display:flex}.editor-section-title span{font-family:Georgia,serif;font-size:17px;font-weight:700}.editor-section-title small{color:#8a8177;font-size:9px}.editor-photo-row{align-items:center;gap:14px;margin-bottom:15px;display:flex}.editor-photo{color:#fff;border-radius:7px;place-items:center;width:72px;height:72px;font-weight:800;display:grid;overflow:hidden}.editor-photo.female{background:#b86447}.editor-photo.male{background:#527789}.editor-photo.neutral{background:#716c64}.editor-photo img{object-fit:cover;width:100%;height:100%}.photo-picker{color:#413a33;cursor:pointer;background:#eee7dc;border:1px solid #cbbfad;border-radius:5px;padding:9px 12px;width:auto!important;font-size:10px!important;font-weight:800!important;display:inline-flex!important}.photo-picker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.editor-section>label,.editor-fields-pair label{color:#665e55;flex-direction:column;gap:5px;margin-top:12px;font-size:10px;font-weight:800;display:flex}.editor-section input,.editor-section select{color:#2c2824;background:#fbfaf7;border:1px solid #cfc5b7;border-radius:5px;outline:none;width:100%;min-height:39px;padding:9px 10px}.editor-section input:focus,.editor-section select:focus{border-color:#b68a43;box-shadow:0 0 0 3px #b68a4325}.editor-fields-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.person-editor>footer{background:#eee9e1;border-top:1px solid #d4cbbf;justify-content:flex-end;gap:9px;padding:13px 18px;display:flex}.person-editor>footer button{border-radius:5px;min-height:38px;padding:8px 14px;font-size:10px;font-weight:800}.person-editor>footer .secondary{color:#514a43;background:#f9f7f3;border:1px solid #c9bfb1}.person-editor>footer .primary{color:#241f1b;background:#dfbd78;border:1px solid #bc9148}.person-editor>footer .primary:disabled{cursor:default;opacity:.45}.editor-relatives-summary>button{color:#392f27;background:#eadfcf;border:1px solid #c8b596;border-radius:5px;width:100%;min-height:38px;font-size:10px;font-weight:800}.editor-relatives-summary>button:hover{background:#dfbd78;border-color:#bc9148}.relative-type-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.relative-type-grid button,.editor-mode-tabs button{color:#5c544c;background:#f3efe9;border:1px solid #d3cabd;border-radius:5px;min-height:36px;font-size:10px;font-weight:800}.relative-type-grid button:hover,.editor-mode-tabs button:hover{background:#eadfcf}.relative-type-grid button.selected,.editor-mode-tabs button.selected{color:#29231e;background:#dfbd78;border-color:#b98b42}.editor-mode-tabs{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px;display:grid}.relative-search{position:relative}.relative-search label{color:#665e55;flex-direction:column;gap:5px;font-size:10px;font-weight:800;display:flex}.relative-results{background:#fff;border:1px solid #d3cabd;border-radius:6px;margin-top:6px;overflow:hidden;box-shadow:0 8px 20px #463a2c24}.relative-results button{color:#37312b;text-align:left;background:#fff;border:0;border-bottom:1px solid #ece6de;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;display:flex}.relative-results button:last-child{border-bottom:0}.relative-results button:hover{background:#f1e9dd}.relative-results button strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.relative-results button span{color:#81786f;flex:none;font-size:9px}.selected-relative{color:#4d443c;background:#e6efe6;border:1px solid #b9cfbb;border-radius:5px;margin-top:8px;padding:8px 9px;font-size:10px}.privacy-notice{color:#4b3d28;background:#fff4d9;border:1px solid #ddc17d;border-radius:7px;flex-direction:column;gap:3px;margin-bottom:14px;padding:12px 14px;display:flex}.privacy-notice strong{font-family:Georgia,serif;font-size:13px}.privacy-notice span{font-size:10px;line-height:1.4}.service-tabs{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px;display:grid}.service-tabs button{color:#5c544c;background:#f3efe9;border:1px solid #d3cabd;border-radius:5px;min-height:38px;font-size:9px;font-weight:800}.service-tabs button.selected{color:#29231e;background:#dfbd78;border-color:#b98b42}.service-checklist{grid-template-columns:1fr 1fr;gap:7px;display:grid}.service-checklist label{color:#3f372f;cursor:pointer;background:#f8f5f0;border:1px solid #d3cabd;border-radius:5px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;min-height:48px;margin:0;padding:7px 9px;display:grid}.service-checklist label:hover{background:#eadfcf;border-color:#c8b596}.service-checklist input{accent-color:#9a7035;grid-row:1/3;width:15px;min-height:15px;margin:0}.service-checklist span{font-size:9px;font-weight:800}.service-checklist small{color:#81786f;font-size:8px;font-weight:500}.catalog-search{color:#fff;background:#526f7c;border:1px solid #3d5a67;border-radius:5px;width:100%;min-height:40px;margin-top:12px;font-size:10px;font-weight:800}.catalog-search:hover{background:#426270}.catalog-search:disabled{cursor:default;opacity:.5}.research-status{color:#655d54;margin:10px 0 0;font-size:10px;line-height:1.4}.record-results{gap:9px;margin-top:12px;display:grid}.record-results>article{background:#fbfaf7;border:1px solid #ddd4c8;border-radius:6px;padding:12px}.record-results small{color:#99703a;letter-spacing:.4px;text-transform:uppercase;font-size:8px;font-weight:800;display:block}.record-results strong{color:#302a25;margin-top:4px;font-family:Georgia,serif;font-size:13px;line-height:1.3;display:block}.record-results>article>span{color:#686057;margin-top:4px;font-size:9px;display:block}.record-results p{color:#70675e;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:6px 0 0;font-size:9px;line-height:1.4;display:-webkit-box;overflow:hidden}.record-results>article>div{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.record-results a{color:#496d7c;font-size:9px;font-weight:800;text-decoration:none}.record-results button{color:#332b23;background:#eadfcf;border:1px solid #c8b596;border-radius:4px;min-height:30px;padding:5px 9px;font-size:9px;font-weight:800}.record-results button:disabled{color:#63705e;background:#e5eee3;border-color:#b8cbb5}.privacy-dialog-backdrop{z-index:5;background:#1f1c18b8;place-items:center;padding:22px;display:grid;position:absolute;inset:0}.privacy-dialog{color:#302a25;background:#fffdf8;border:1px solid #cbb98f;border-radius:9px;width:100%;max-width:360px;padding:18px;box-shadow:0 18px 48px #0008}.privacy-dialog>span{color:#946b32;letter-spacing:1px;text-transform:uppercase;font-size:8px;font-weight:800;display:block}.privacy-dialog>strong{margin-top:5px;font-family:Georgia,serif;font-size:17px;line-height:1.3;display:block}.privacy-dialog p{color:#625950;margin:12px 0 6px;font-size:10px;line-height:1.4}.privacy-dialog ul{color:#4d453e;background:#f4eee3;border-radius:5px;margin:0;padding:10px 10px 10px 27px;font-size:10px;line-height:1.6}.privacy-dialog>div{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.privacy-dialog button{color:#514a43;background:#f9f7f3;border:1px solid #c9bfb1;border-radius:5px;min-height:36px;padding:7px 13px;font-size:10px;font-weight:800}.privacy-dialog button.primary{color:#241f1b;background:#dfbd78;border-color:#bc9148}.import-backdrop{z-index:210;background:#171512d6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.import-dialog{color:#2b2723;background:#f7f4ee;border:1px solid #c8bda9;border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;width:min(650px,96vw);max-height:min(860px,94vh);display:grid;overflow:hidden;box-shadow:0 24px 70px #000b}.import-dialog>header{color:#fff;background:#2b2926;grid-template-columns:1fr 34px;align-items:center;gap:12px;padding:17px 18px;display:grid}.import-dialog>header span{color:#cdbfaa;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.import-dialog>header strong{margin-top:3px;font-family:Georgia,serif;font-size:19px;display:block}.import-dialog>header button{color:#eee8df;background:0 0;border:1px solid #746d64;border-radius:50%;width:34px;height:34px;padding:0;font-size:23px;line-height:1}.import-body{padding:18px;overflow:auto}.import-privacy{color:#3e5b49;background:#e6f0e8;border:1px solid #afc8b5;border-radius:6px;margin:0 0 13px;padding:11px 13px;font-size:10px;line-height:1.45}.import-file{background:#fff;border:1px solid #d9d1c5;border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(210px,.8fr);align-items:center;gap:14px;padding:12px 13px;display:grid}.import-file+.import-file{margin-top:9px}.import-file>span{flex-direction:column;gap:4px;display:flex}.import-file strong{font-size:11px}.import-file small{color:#746b61;font-size:9px;line-height:1.4}.import-file input{color:#514a43;min-width:0;font-size:9px}.import-file input::file-selector-button{color:#40372f;cursor:pointer;background:#eee7dc;border:1px solid #cbbfad;border-radius:5px;margin-right:8px;padding:7px 9px;font-size:9px;font-weight:800}.import-selection{color:#665e55;background:#eee9e1;border-radius:6px;gap:3px;margin-top:10px;padding:10px 12px;font-size:9px;display:grid}.import-progress{color:#4c3a1f;background:#fff3d9;border:1px solid #d6b974;border-radius:6px;justify-content:space-between;gap:15px;margin-top:12px;padding:12px 14px;font-size:10px;display:flex}.import-error{color:#742d25;background:#f8e2de;border:1px solid #d89f96;border-radius:6px;margin-top:12px;padding:11px 13px;font-size:10px}.import-ready{color:#355541;background:#e7f1e9;border:1px solid #aac6b1;border-radius:6px;flex-direction:column;gap:4px;margin-top:12px;padding:13px 14px;font-size:10px;display:flex}.import-ready strong{font-family:Georgia,serif;font-size:15px}.import-warning{color:#7a3b32;margin:13px 0 0;font-size:9px;line-height:1.45}.import-dialog>footer{background:#eee9e1;border-top:1px solid #d4cbbf;justify-content:flex-end;gap:9px;padding:13px 18px;display:flex}.import-dialog>footer button{border-radius:5px;min-height:38px;padding:8px 14px;font-size:10px;font-weight:800}.import-dialog>footer .secondary{color:#514a43;background:#f9f7f3;border:1px solid #c9bfb1}.import-dialog>footer .primary{color:#241f1b;background:#dfbd78;border:1px solid #bc9148}.import-dialog>footer .danger{color:#fff;background:#a13c33;border:1px solid #7e2922}.import-dialog>footer button:disabled,.import-dialog>header button:disabled{cursor:default;opacity:.45}@keyframes editor-slide-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (width<=760px){.account-screen{grid-template-columns:1fr}.account-brand-panel{min-height:38vh;padding:2rem}.account-brand-panel h1{font-size:2.7rem}.account-form-panel{padding:2.25rem 1.25rem 3.5rem}.account-controls{order:5;justify-content:flex-end;width:100%}.app-shell{grid-template-rows:auto 64px 1fr}.topbar{flex-wrap:wrap;gap:10px;padding:10px 14px}.brand-mark{width:36px;height:36px}.title-block{flex:1;min-width:0}.title-block h1{font-size:16px}.title-block p{display:none}.search-wrap{order:3;width:calc(100% - 98px)}.tree-file-actions{order:3;margin-left:auto}.zoom-controls{order:4}.zoom-controls span{display:none}.tree-toolbar{padding:0 14px}.tree-toolbar p{display:none}.background-actions button{padding:6px 8px}.background-dialog-backdrop{padding:10px}.background-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-background-row{flex-direction:column;align-items:stretch}}
