@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,Arial,sans-serif;color:#293e31;background:#f5f3ec;font-synthesis:none;--paper: #f5f3ec;--ink: #293e31;--forest: #3e5d47;--muted: #7b8275;--line: #dddfd3;--serif: "Fraunces", Georgia, serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b08a50;outline-offset:4px}button{touch-action:manipulation}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}button svg{flex-shrink:0}button{border:0;background:none}button,input,select{transition:background .15s,border-color .15s,box-shadow .15s}.brand{display:inline-flex;gap:9px;align-items:center;padding:0;white-space:nowrap;color:#36553c}.brand>span{font:500 29px var(--serif);letter-spacing:-1.5px}.brand-dot{color:#ad935f}.primary,.outline{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:49px;padding:14px 24px;border-radius:7px;border:1px solid var(--forest);background:var(--forest);color:#fffdf6;font-size:13px;font-weight:500}.primary:hover:not(:disabled){background:#2d4835;border-color:#2d4835;box-shadow:0 3px 12px #1b38231b}.outline{background:transparent;color:var(--forest);border-color:#cbd2c2}.outline:hover{background:#e9eddf}.primary.small{min-height:40px;padding:10px 17px;font-size:12px;gap:12px}.text-button,.text-link{display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:9px 0;color:#546450}.text-button:hover,.text-link:hover{color:#263e2c}.text-link{font-weight:600;border-bottom:1px solid #acb79e;padding:0 0 6px;gap:14px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:6px;flex:none;color:#6d796b}.icon-button:hover:not(:disabled){background:#e9ebdf}.eyebrow{font-size:9px;line-height:1.7;letter-spacing:1.8px;font-weight:600;color:#7a866e}.landing{overflow:hidden}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:29px 6.5%;max-width:1600px;margin:auto}.landing-nav>div{display:flex;align-items:center;gap:31px}.landing-nav a{font-size:12px;color:#76806e}.hero{max-width:1460px;min-height:640px;margin:auto;padding:35px 7% 55px;display:grid;grid-template-columns:1fr 1.05fr;gap:20px;align-items:center}.hero-copy{padding-bottom:24px}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.7px}.hero-copy .eyebrow span{width:6px;height:6px;background:#ad9f73;border-radius:50%}.hero h1{font:400 clamp(56px,6.3vw,86px) / 1.08 var(--serif);letter-spacing:-3.6px;margin:25px 0}.hero h1 em{font-weight:400;color:#6d845f}.hero-copy p{font-size:15px;line-height:1.9;color:#78806f;margin:24px 0 32px;letter-spacing:.1px}.hero-cta{min-width:192px;padding:16px 22px;justify-content:space-between;font-size:13px}.free-note{display:flex;align-items:center;gap:6px;font-size:9px;color:#929788;margin:17px 0}.hero-tree{height:540px;position:relative;background:radial-gradient(ellipse,#e4e8d942 0,#f5f3ec00 67%);isolation:isolate}.tree-orbit{position:absolute;border:1px solid #dce2d24d;border-radius:50%;left:50%;top:49%;transform:translate(-50%,-50%);pointer-events:none}.orbit-one{width:430px;height:430px}.orbit-two{width:580px;height:580px}.preview-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;stroke:#a4b396;stroke-width:1.5;fill:none}.preview-lines circle{fill:#a4b396}.preview-lines .marriage{stroke-dasharray:3 4;stroke:#c7bfa6}.preview-node{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:168px;border:1px solid #d9dece;background:#faf9f3;box-shadow:0 9px 25px #31432306;border-radius:13px;transform:translate(-50%,-50%);gap:9px}.preview-node>span:not(.you-tag){font:400 18px var(--serif)}.preview-node strong{font-weight:650}.preview-node>small{font-size:9px;color:#939b86}.preview-father{left:30%;top:23%}.preview-mother{left:70%;top:23%}.preview-you{top:62%;left:50%;width:180px;height:184px;background:#fffdf7;border-color:#8fa180;box-shadow:0 14px 35px #5d744a12}.you-tag{position:absolute;top:-12px;border:1px solid #a2b58f;border-radius:30px;padding:6px 12px;background:#e8eeda;color:#66804e;font-size:8px;letter-spacing:1.5px}.floating-note{position:absolute;right:-5px;bottom:108px;color:#8c987b;display:flex;align-items:center;gap:10px;transform:rotate(-5deg)}.floating-note span{font:400 15px/1.45 var(--serif);font-style:italic}.preview-add{position:absolute;display:grid;place-items:center;left:50%;top:85%;transform:translate(-50%);border:1px dashed #b5bea6;border-radius:50%;width:34px;height:34px;color:#7e8e6c;background:var(--paper)}.preview-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.9px;color:#a5aa98}.avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;border-radius:50%;background:#e4e8db;color:#7d9073}.avatar svg{width:90%;height:90%;margin-top:10px;display:block}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.gen-elder{background:#e9e3d6;color:#9b9b84}.avatar.gen-young{background:#e8e7d6;color:#aaad7e}.intro-strip{max-width:1240px;display:grid;grid-template-columns:repeat(3,1fr);gap:70px;padding:42px 40px 44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 auto}.step-number{display:block;font:400 13px var(--serif);color:#a6ac97;margin-bottom:19px}.intro-strip h2{font:400 22px var(--serif);letter-spacing:-.4px;margin-bottom:12px}.intro-strip p{font-size:11px;line-height:1.85;color:#818876;max-width:260px;margin:0}.lower-cta{text-align:center;padding:75px 20px 80px}.lower-cta h2{font:400 36px/1.25 var(--serif);letter-spacing:-1px;margin:18px 0 25px}.landing footer{display:flex;align-items:center;justify-content:space-between;padding:28px 6.5%;border-top:1px solid var(--line)}footer .brand>span{font-size:23px}footer .brand svg{width:22px}footer>span{font-size:10px;color:#8b927f}.builder{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.builder-header{height:72px;display:flex;gap:24px;align-items:center;padding:0 30px;border-bottom:1px solid #dadfcf;background:#faf9f4;z-index:10;flex:none}.builder-header .brand>span{font-size:25px}.builder-header .brand>svg{width:23px}.header-divider{height:25px;width:1px;background:var(--line)}.tree-title{display:flex;align-items:center;gap:16px;font-size:12px;max-width:220px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:7px 0}.tree-title svg{color:#929b85}.save-state{font-size:10px;color:#929986;display:flex;align-items:center;gap:6px}.dot{width:5px;height:5px;border-radius:50%;background:#8eaa79}.dot.unsaved{background:#bca170}.header-end{display:flex;align-items:center;gap:22px;margin-left:auto}.account-button{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;font-size:12px;background:#e4e9d9;color:#637954}.workspace{display:flex;flex:1;min-height:0;position:relative}.canvas{flex:1;position:relative;min-width:0;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(#afb99d69 .7px,transparent .7px);touch-action:none;cursor:grab;isolation:isolate}.canvas:active{cursor:grabbing}.canvas-top{position:absolute;z-index:3;top:31px;left:31px;right:30px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;pointer-events:none}.canvas-intro{background:linear-gradient(90deg,#f5f3ec 75%,#f5f3ec00);padding-right:20px;pointer-events:auto;cursor:default}.canvas-intro h1{font:400 26px/1.3 var(--serif);letter-spacing:-.7px;margin:5px 0 6px;max-width:260px;overflow-wrap:anywhere}.canvas-intro p{font-size:10px;color:#919885;margin:0}.canvas-options{display:flex;flex-direction:column;align-items:flex-end;gap:14px;pointer-events:auto}.language-select{display:flex;align-items:center;gap:6px;background:#faf9f3;border:1px solid #dde1d2;border-radius:6px;padding:8px 10px;color:#748266;cursor:pointer;box-shadow:0 2px 6px #283b2114}.language-select select{background:transparent;border:0;color:#5d6f50;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:10px;max-width:145px;cursor:pointer;padding-right:5px}.label-switch{display:flex;align-items:center;gap:8px;font-size:10px;color:#8a927c;background:#f5f3ec;padding:3px}.label-switch>span{width:26px;height:15px;border-radius:10px;background:#c6cbbc;position:relative}.label-switch>span:after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#fafbf6;left:2px;top:2px;transition:transform .2s}.label-switch.on>span{background:#8b9e77}.label-switch.on>span:after{transform:translate(11px)}.world{position:absolute;top:0;left:0;transform-origin:0 0;z-index:1;pointer-events:none}.connection-lines{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.connection-lines path{fill:none;stroke:#a4b397;stroke-width:1.5}.connection-lines .spouse-line{stroke:#bcb49a;stroke-dasharray:4 4}.connection-lines .heart-line{stroke:#b4ab8f;stroke-width:1.2}.connection-lines .drag-connector{stroke-dasharray:5 4;stroke-width:2;stroke:#5b7b48}.person-wrap{position:absolute;width:212px;height:140px;transform:translate(-50%,-50%);pointer-events:auto}.person-card{width:100%;height:140px;border:1px solid #d7decc;background:#fcfbf6;border-radius:11px;display:flex;align-items:center;flex-direction:column;justify-content:center;box-shadow:0 4px 14px #596c3e08;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;padding:12px}.person-card .avatar{width:50px;height:50px}.person-card:active{cursor:grabbing}.person-card:hover{border-color:#9cab8d}.selected .person-card{border-color:#8fa37a;box-shadow:0 0 0 3px #b9c5a326,0 7px 18px #4e684b0c}.root-person{border-color:#9caf86;background:#fffdf7}.person-name{font:400 17px/1.25 var(--serif);letter-spacing:-.2px;margin-top:10px;text-align:center;max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-name strong{font-weight:650}.person-meta{font-size:9px;color:#9ba18f;margin-top:6px}.root-label{font-size:8px;letter-spacing:1.7px;color:#7b9069}.kinship-label{position:absolute;top:151px;left:-10px;right:-10px;text-align:center;pointer-events:none;display:flex;align-items:center;flex-direction:column;gap:2px;color:#708364;font-size:10px;line-height:1.3}.kinship-label>span{background:#f5f3ecb8;padding:0 5px;max-width:220px}.kinship-label>small{font-size:10px;color:#859178}.kinship-label>em{font-size:8px;color:#9da38f;font-style:normal}.add-handle{position:absolute;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #a6b795;background:#f4f7ed;border-radius:50%;color:#71865f;z-index:2;touch-action:none}.add-handle:hover{background:#e0e8d4;border-color:#71865f}.add-handle.top{top:-14px;left:calc(50% - 12px)}.add-handle.right{top:calc(50% - 12px);right:-14px}.add-handle.bottom{bottom:-14px;left:calc(50% - 12px)}.add-handle>span{display:none;position:absolute;white-space:nowrap;font-size:9px;padding:3px 7px;border-radius:3px;background:#e9eedf}.add-handle.top>span{bottom:32px}.add-handle.right>span{left:32px}.add-handle.bottom>span{top:40px}.add-handle:hover>span,.add-handle:focus-visible>span{display:block}.first-hint{position:absolute;left:50%;top:calc(50% + 140px);transform:translate(-50%);text-align:center;pointer-events:none;white-space:nowrap}.first-hint p{font:400 17px var(--serif);font-style:italic;color:#8e9c7c;margin-bottom:7px}.first-hint>span:not(.hint-stem){font-size:10px;color:#a1a791}.canvas-bottom{position:absolute;left:24px;right:24px;bottom:22px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none}.canvas-bottom>*{pointer-events:auto}.canvas-controls{display:flex;align-items:center;gap:2px;padding:4px;background:#fbfaf5;border:1px solid #dce0d0;box-shadow:0 3px 10px #2c452314;border-radius:8px;color:#7d8a70}.canvas-controls>span{font-size:10px;min-width:35px;text-align:center}.canvas-controls i{display:block;width:1px;height:19px;background:#e0e4d5;margin:0 5px}.canvas-tip{display:flex;gap:7px;align-items:center;font-size:9px;color:#9ba28e;background:#f5f3eceb;padding:5px;cursor:default}.details-panel{width:290px;flex:none;border-left:1px solid #dadfcf;background:#faf9f4;padding:21px 25px;overflow:auto;display:flex;align-items:center;flex-direction:column;position:relative;scrollbar-width:thin}.panel-heading{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:25px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.details-panel h2{font:400 25px/1.25 var(--serif);letter-spacing:-.5px;text-align:center;margin:17px 0 7px;overflow-wrap:anywhere;width:100%}.details-panel h2 strong{font-weight:600}.detail-relation{font-size:11px;color:#80916d;text-align:center;display:grid;gap:4px}.detail-relation small{font-size:11px;font-weight:400}.detail-english{font-size:10px;color:#929b84;margin-top:4px}.edit-person{font-size:10px;min-height:33px;padding:7px 25px;margin-top:20px}.panel-separator{width:100%;height:1px;background:#e2e5d8;margin:27px 0 23px;flex:none}.details-panel h3{font:400 17px var(--serif);align-self:flex-start;margin-bottom:8px}.panel-copy{font-size:10px;line-height:1.7;color:#919985;align-self:flex-start}.add-relative-list{display:grid;gap:10px;width:100%}.add-relative-list>button{border:1px solid #e0e4d5;border-radius:7px;display:flex;align-items:center;padding:12px 10px;gap:10px;text-align:left;width:100%;background:#f8f8f0}.add-relative-list>button:hover{background:#edf1e3;border-color:#c6d1b8}.add-relative-list>button>span:nth-child(2){font-size:11px;flex:1}.add-relative-list small{display:block;font-size:9px;color:#9ba28e;margin-top:4px}.add-relative-list>button>svg{color:#96a484}.relative-icon{display:grid;place-items:center;width:28px;height:28px;color:#899d73;background:#edf0e3;border-radius:6px}.relation-insight{display:flex;align-items:flex-start;gap:11px;color:#849372}.relation-insight>svg{flex:none;margin-top:2px}.relation-insight h3{font-size:15px;color:#667d55}.relation-insight p{font-size:10px;line-height:1.8;color:#929c84;margin:0}.relationship-path{font-size:8px;display:block;padding-top:9px;line-height:1.6;color:#7e8e70}.panel-foot{margin-top:auto;padding-top:36px;display:flex;align-items:flex-start;gap:7px;font-size:9px;line-height:1.7;color:#a0a791}.panel-foot>svg{flex:none;margin-top:1px}.modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#20332252;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overflow:auto}.modal{position:relative;padding:37px;width:475px;max-width:100%;max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #e5e6db;background:#faf9f3;border-radius:16px;box-shadow:0 24px 100px #14271c33}.close-modal{position:absolute;right:12px;top:12px}.modal h2{font:400 31px/1.15 var(--serif);letter-spacing:-.9px;margin:13px 0}.modal>p{color:#8b947e;font-size:12px;line-height:1.8;margin-bottom:22px}.modal-sprout{width:55px;height:55px;background:#e9eedf;color:#80966c;display:grid;place-items:center;border-radius:50%;margin-bottom:20px}.field-label{display:block;font-size:10px;font-weight:600;color:#6d7e60;margin:17px 0}.field-label>span{font-weight:400;color:#a3a997;font-size:8px;margin-left:3px}.field-label input,.field-label select{display:block;border:1px solid #d4ddc7;background:#fffef8;border-radius:6px;width:100%;padding:12px 11px;margin-top:8px;min-height:42px;font-size:12px;color:#526748;outline-offset:2px}.field-label input::placeholder{color:#b1b7a7}.field-label small{display:block;font-size:9px;font-weight:400;line-height:1.6;color:#9ba38e;margin-top:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row .field-label{margin-bottom:6px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:25px;border-top:1px solid #e0e6d5;padding-top:22px}.form-actions .primary{font-size:11px;padding:11px 17px;min-height:42px}.photo-row{display:flex;align-items:center;gap:16px;margin:22px 0}.photo-row>div>small{display:block;font-size:9px;color:#9da58f;margin-top:7px}.photo-row .text-link{font-size:10px;padding-bottom:5px;gap:7px}.remove-photo{font-size:9px;display:block;padding-bottom:0;color:#a19a87}.role-picker{display:flex;gap:7px;margin:20px 0 10px}.role-picker>button{flex:1;border:1px solid #d9dfce;border-radius:6px;padding:11px 5px;font-size:11px;color:#89977a}.role-picker>button.active{background:#e6edda;color:#5d7549;border-color:#a9ba95}.full{width:100%;margin-top:13px;gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:11px;margin:18px 0;color:#7d8e6e}.checkbox-label input{accent-color:#63804d}.form-error{font-size:11px;line-height:1.7;color:#a6533e;background:#f4e7df;border-radius:6px;padding:10px 12px;margin-top:15px}.custom-title{border-top:1px solid #e0e4d5;padding-top:17px;margin-top:20px}.custom-title summary{cursor:pointer;font-size:11px;color:#8b9a7a}.custom-title summary span{font-size:9px;color:#a7ad9c}.custom-title p{font-size:10px;line-height:1.6;color:#8a967c;margin-top:12px}.custom-title .field-label{margin:12px 0}.delete-section{border-top:1px solid #e0e4d5;padding-top:12px;margin-top:20px}.delete-section p{font-size:11px;line-height:1.6;color:#9d8771}.danger{color:#a98b73;font-size:9px}.danger-button{padding:9px 12px;border:1px solid #b89c88;border-radius:5px;color:#a07557;margin-right:15px;font-size:11px}.auth-switch{text-align:center!important;font-size:11px!important;margin-top:22px!important;margin-bottom:20px!important}.auth-switch button{font-size:inherit;color:#6b8655;text-decoration:underline;padding:2px}.auth-privacy{display:flex;gap:5px;align-items:center;justify-content:center;font-size:8px;color:#a7ae9a;border-top:1px solid #e2e6d9;padding-top:19px}.language-note{font-size:9px;line-height:1.8;color:#8c977c;padding:12px 13px;border-radius:6px;background:#eef1e5;margin:16px 0}.help-list{list-style:none;padding:0;display:grid;gap:20px;margin:25px 0}.help-list li{display:flex;align-items:flex-start;gap:13px;font-size:11px;line-height:1.8;color:#829175}.help-list svg{flex:none;width:18px;margin-top:3px;color:#91a27d}.toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translate(-50%);padding:13px 14px 13px 18px;background:#3d5c44;color:#f7faef;border-radius:8px;box-shadow:0 6px 30px #263e2940;display:flex;align-items:center;gap:10px;font-size:11px;max-width:calc(100% - 32px);width:max-content;line-height:1.5}.toast button{color:#cedbc4;display:flex;padding:4px;margin-left:15px}@media(min-width:1500px){.hero{padding-top:70px;padding-bottom:80px;min-height:740px}.hero-tree{height:590px}.details-panel{width:310px;padding:25px 30px}.hero h1{font-size:91px}.hero-copy p{font-size:16px}}@media(max-width:1150px){.canvas-tip{display:none}.details-panel{width:258px;padding:20px}.builder-header{gap:17px;padding:0 20px}.save-state{display:none}.hero{padding:30px 6% 50px}.hero h1{font-size:65px}.hero-tree{height:500px}.floating-note{right:-15px}.intro-strip{margin:0 6%;padding:30px 0;gap:45px}.canvas-top{left:24px;right:20px}.canvas-options{gap:11px}.canvas-intro .eyebrow{font-size:7px}.canvas-intro h1{font-size:23px}.language-select select{max-width:112px}}@media(max-width:850px){.landing-nav{padding:23px 6%}.landing-nav>div{gap:20px}.landing-nav a{display:none}.hero{grid-template-columns:1fr 1fr;padding-top:50px;min-height:560px}.hero h1{font-size:53px;letter-spacing:-2px}.hero-copy .eyebrow{font-size:7px;letter-spacing:1px}.hero-copy p{font-size:12px}.free-note{font-size:7px}.preview-node{width:115px;height:142px}.preview-node>span:not(.you-tag){font-size:15px}.preview-node>.avatar{width:52px!important;height:52px!important}.preview-you{width:145px;height:156px}.hero-tree{height:450px}.preview-caption{font-size:6px}.floating-note{font-size:9px;right:5px;bottom:70px}.floating-note span{font-size:11px}.floating-note svg{width:15px}.intro-strip h2{font-size:19px}.intro-strip p{font-size:10px}.landing footer>span{display:none}.details-panel{position:absolute;right:12px;top:115px;bottom:80px;z-index:8;border:1px solid #d5ddc8;box-shadow:0 8px 35px #253c2c20;border-radius:12px;width:240px;padding:18px;background:#faf9f4fa}.canvas-options{padding-right:0}.panel-heading{margin-bottom:12px}.panel-heading .eyebrow{font-size:7px}.details-panel>.avatar{width:65px!important;height:65px!important}.details-panel h2{font-size:21px;margin-top:10px}.panel-separator{margin:18px 0}.panel-foot{padding-top:20px}.builder-header{height:63px;gap:14px}.builder-header .brand>span{font-size:22px}.header-end{gap:13px}.header-end .help-button{display:none}.tree-title{max-width:160px;font-size:11px}.canvas-top{top:23px}.canvas-intro h1{font-size:24px}.language-select select{max-width:143px}}@media(max-width:600px){.landing-nav{padding:22px 24px}.landing-nav .primary{display:none}.brand>span{font-size:26px}.landing-nav .text-button{font-size:11px}.hero{display:flex;flex-direction:column;padding:38px 26px 30px;gap:5px}.hero-copy{align-self:flex-start;padding-bottom:0}.hero h1{font-size:64px;letter-spacing:-2.7px;margin-top:21px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-copy p{font-size:13px;line-height:1.8;margin:22px 0 25px}.hero-cta{font-size:12px;min-height:47px}.free-note{font-size:8px}.hero-tree{height:420px;width:100%;max-width:420px;margin-top:10px}.preview-node{width:120px;height:142px}.preview-you{width:146px;height:155px}.preview-father{left:28%;top:24%}.preview-mother{left:74%;top:24%}.preview-caption{font-size:6px;letter-spacing:1.4px;bottom:2px}.floating-note{right:-3px;bottom:95px}.orbit-one{width:320px;height:320px}.orbit-two{width:440px;height:440px}.intro-strip{display:block;padding:15px 0;margin:0 26px}.intro-strip>div{padding:20px 0;display:grid;grid-template-columns:35px 1fr;gap:5px 10px;border-bottom:1px solid #e3e5d9}.intro-strip>div:last-child{border:0}.step-number{grid-row:1/3;margin:4px 0 0}.intro-strip h2{font-size:20px;margin:0 0 4px}.intro-strip p{font-size:11px;max-width:none}.lower-cta{padding:52px 20px}.lower-cta h2{font-size:29px}.landing footer{padding:24px}.landing footer>.text-button{font-size:8px}.builder-header{height:60px;padding:0 14px;gap:10px}.builder-header .brand{gap:6px}.builder-header .brand>span{font-size:21px}.builder-header .brand>svg{width:21px}.header-divider,.tree-title,.header-end .sign-in{display:none}.header-end{gap:11px}.save-button{font-size:10px!important;padding:9px 12px!important;min-height:34px!important;gap:6px!important}.canvas-top{top:19px;left:18px;right:16px}.canvas-intro{max-width:52%}.canvas-intro .eyebrow{font-size:6px;letter-spacing:.8px}.canvas-intro h1{font-size:21px;margin:5px 0}.canvas-intro p{font-size:8px}.canvas-options{gap:9px}.language-select{padding:8px 7px;gap:4px}.language-select select{font-size:9px;max-width:111px}.language-select>svg:first-child{display:none}.label-switch{font-size:9px;gap:5px}.canvas-bottom{left:12px;right:12px;bottom:15px;gap:5px}.canvas-controls{gap:0;padding:3px}.canvas-controls .icon-button{width:29px;height:29px}.canvas-controls>span{min-width:31px;font-size:9px}.canvas-controls i{margin:0 2px}.details-panel{top:auto;left:12px;right:12px;bottom:70px;width:auto;max-height:220px;padding:15px;display:grid;grid-template-columns:55px 1fr auto;align-content:start;align-items:center;gap:2px 12px}.panel-heading{grid-column:1/-1;margin:0}.panel-heading .eyebrow{font-size:7px}.details-panel>.avatar{grid-column:1;grid-row:2/4;width:51px!important;height:51px!important}.details-panel h2{grid-column:2;grid-row:2;font-size:19px;text-align:left;margin:0}.detail-relation{grid-column:2;grid-row:3;text-align:left;display:block;font-size:10px}.detail-relation small{display:inline;font-size:9px;margin-left:6px}.detail-english{display:none}.edit-person{grid-column:3;grid-row:2/4;margin:0;padding:7px 11px;min-height:30px;font-size:9px}.details-panel>.panel-separator,.details-panel>h3,.details-panel>.panel-copy,.relation-insight,.panel-foot{display:none}.add-relative-list{grid-column:1/-1;display:flex;gap:8px;margin-top:12px}.add-relative-list>button{display:flex;justify-content:center;padding:8px;gap:5px}.add-relative-list>button>span:nth-child(2){font-size:9px;flex:none}.add-relative-list small,.add-relative-list>button>svg,.relative-icon{display:none}.first-hint{top:calc(50% + 130px)}.first-hint p{font-size:15px}.first-hint>span:not(.hint-stem){font-size:9px}.modal-shade{padding:14px}.modal{padding:29px 24px;max-height:calc(100dvh - 28px);border-radius:13px}.modal h2{font-size:28px}.modal>.eyebrow{font-size:8px}.modal>p{font-size:11px}.field-label input,.field-label select{font-size:16px;padding:10px 9px}.field-label{font-size:9px}.form-row,.form-actions{gap:10px}.form-actions .primary{font-size:10px;padding:11px 14px}.auth-privacy{font-size:7px}.toast{bottom:18px;font-size:10px}.toast button{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.existing-toggle{display:flex;border-bottom:1px solid #e0e4d5;margin:20px 0 10px;gap:20px}.existing-toggle button{padding:7px 0 11px;font-size:11px;color:#9aa58e;border-bottom:2px solid transparent}.existing-toggle button.active{color:#5b754b;border-color:#8fa67b}.stories-button{display:flex;align-items:center;gap:7px;color:#849375;font-size:11px;padding:7px 9px;border-radius:6px}.stories-button:hover,.stories-button.active{background:#e8eddf;color:#526c44}.stories-button small{display:grid;place-items:center;background:#dce5cf;border-radius:50%;width:16px;height:16px;font-size:9px}.story-panel{width:350px;flex:none;border-left:1px solid #d7decc;background:#faf9f4;padding:22px 28px;overflow:auto;z-index:8}.story-panel .panel-heading{margin-bottom:23px}.story-panel h2{font:400 30px/1.23 var(--serif);letter-spacing:-.7px;margin:10px 0 18px;overflow-wrap:anywhere}.story-intro{font-size:11px;line-height:1.9;color:#89967b}.story-panel .primary{font-size:11px;min-height:42px;padding:12px}.stories-list{margin-top:27px;display:grid;gap:17px}.stories-list>button{padding:19px 17px;border:1px solid #dce2d0;border-radius:9px;background:#f8f8ee;text-align:left}.stories-list>button:hover{background:#eef2e4;border-color:#bbc9a8}.stories-list .eyebrow{font-size:7px;letter-spacing:1px}.stories-list h3{font:400 21px/1.25 var(--serif);margin:8px 0 10px}.stories-list p{font-size:10px;line-height:1.8;color:#8d987e;margin-bottom:14px;overflow-wrap:anywhere}.read-story{display:flex;align-items:center;gap:10px;font-size:9px;color:#728762}.stories-empty{text-align:center;padding:35px 10px;color:#98a489}.stories-empty svg{margin-bottom:18px}.stories-empty p{font:400 20px/1.5 var(--serif)}.stories-empty span{font-size:10px;line-height:1.6}.story-private{display:flex;align-items:flex-start;gap:7px;font-size:9px;line-height:1.8;color:#9aa48a;margin-top:25px;padding-top:19px;border-top:1px solid #e0e5d6}.story-private svg{flex:none;margin-top:2px}.story-back{font-size:9px;padding:0 0 21px;color:#97a48b}.story-kicker{display:flex;align-items:center;gap:9px;font-size:7px;letter-spacing:1.5px;color:#a0a886;margin:12px 0 15px}.story-people{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 10px}.story-people>span{display:flex;gap:4px;align-items:center;background:#e8eddb;border-radius:30px;padding:6px 9px;color:#819166;font-size:9px}.tag-dot{width:4px;height:4px;background:#8d9e74;border-radius:50%}.story-highlight-note{font-size:8px;color:#a4ab97;margin-bottom:25px;line-height:1.6}.story-prose{white-space:pre-wrap;overflow-wrap:anywhere;font:400 16px/1.9 var(--serif);color:#697b5b}.story-panel>.outline{font-size:10px;min-height:38px;margin-top:32px}.story-mode .person-wrap{opacity:.38;transition:opacity .2s}.story-mode .person-wrap.story-mentioned{opacity:1}.story-mentioned .person-card{border-color:#a89f61;box-shadow:0 0 0 5px #c6c39332,0 7px 25px #7c81411c;background:#fffef2}.story-editor{width:590px}.field-label textarea{display:block;width:100%;font:400 15px/1.7 var(--serif);color:#5e7351;border:1px solid #d4ddc7;background:#fffef8;border-radius:7px;padding:13px;margin-top:9px;resize:vertical;min-height:155px}.field-label textarea::placeholder{color:#b0b9a4}.story-tags{border:0;padding:0;margin:22px 0}.story-tags legend{font-size:10px;font-weight:600;color:#788c67;margin-bottom:12px}.story-tags label{display:inline-flex;align-items:center;gap:5px;border:1px solid #dce3ce;border-radius:25px;padding:7px 11px;font-size:10px;color:#8c9a7c;margin:0 6px 7px 0;cursor:pointer}.story-tags label.checked{background:#e7eedb;border-color:#b7c69f;color:#647e4e}.story-tags input{accent-color:#6e8856;margin:0 2px 0 0;width:12px;height:12px}@media(max-width:850px){.story-panel{position:absolute;right:12px;bottom:72px;top:120px;border:1px solid #d5ddc8;box-shadow:0 8px 35px #253c2c20;border-radius:12px;width:285px;padding:20px;background:#faf9f4fa}.story-panel h2{font-size:25px}.story-panel .panel-heading{margin-bottom:12px}.stories-button{font-size:10px}}@media(max-width:600px){.stories-button{padding:7px 3px}.stories-button>span,.stories-button small{display:none}.story-panel{top:auto;left:12px;right:12px;bottom:70px;width:auto;max-height:38dvh;padding:16px 20px}.story-panel .panel-heading{margin-bottom:8px}.story-panel h2{font-size:24px;margin:7px 0 12px}.story-panel .panel-heading .eyebrow{font-size:7px}.story-intro{font-size:10px}.stories-empty{padding:15px 0}.stories-empty p{font-size:16px}.stories-empty svg{display:none}.story-kicker{margin:5px 0 8px}.story-prose{font-size:15px}.story-back{padding-bottom:8px}.story-people{margin:10px 0}.story-highlight-note{margin-bottom:15px}.story-editor .field-label textarea{font-size:16px}.stories-list{gap:10px;margin-top:15px}.stories-list>button{padding:12px}.stories-list p{display:none}.story-private{font-size:8px}.story-tags label{font-size:11px}}
