@font-face{font-family:__Fraunces_eb41fe;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.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_eb41fe;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.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_eb41fe;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,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_Fallback_eb41fe;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:__Fraunces_eb41fe,__Fraunces_Fallback_eb41fe;font-style:normal}.__variable_eb41fe{--font-display-loaded:"__Fraunces_eb41fe","__Fraunces_Fallback_eb41fe"}@font-face{font-family:__Source_Sans_3_1fdbab;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Source_Sans_3_1fdbab;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Source_Sans_3_1fdbab;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Source_Sans_3_1fdbab;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Source_Sans_3_1fdbab;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.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:__Source_Sans_3_1fdbab;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.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:__Source_Sans_3_1fdbab;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Source_Sans_3_Fallback_1fdbab;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_1fdbab{font-family:__Source_Sans_3_1fdbab,__Source_Sans_3_Fallback_1fdbab;font-style:normal}.__variable_1fdbab{--font-body-loaded:"__Source_Sans_3_1fdbab","__Source_Sans_3_Fallback_1fdbab"}:root{--bg:#f3efe6;--bg-deep:#e7dfd0;--ink:#1c2a22;--ink-soft:#4a5a50;--line:#c9beab;--panel:rgba(255,252,246,.86);--accent:#1f6b4a;--accent-2:#0f3d2c;--warn:#9a3412;--shadow:0 18px 50px rgba(28,42,34,.12);--radius:18px;--font-display:"Fraunces",Georgia,serif;--font-body:"Source Sans 3","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 10% -10%,rgba(31,107,74,.18),transparent 55%),radial-gradient(900px 500px at 100% 0,rgba(154,52,18,.1),transparent 50%),linear-gradient(180deg,var(--bg) 0,var(--bg-deep) 100%);background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1120px,calc(100% - 2rem));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0}.brand{font-family:var(--font-display);font-size:1.55rem;font-weight:600;letter-spacing:-.02em}.brand span{color:var(--accent)}.nav-actions{display:flex;gap:.75rem}.btn,.nav-actions{align-items:center}.btn{display:inline-flex;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:999px;padding:.7rem 1.15rem;background:var(--accent);color:#f7faf8;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.btn:hover{background:var(--accent-2);transform:translateY(-1px)}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost{background:transparent;color:var(--ink-soft);border-color:transparent;padding-inline:.7rem}.btn.danger{background:var(--warn)}.panel{background:var(--panel);border:1px solid hsla(38,22%,73%,.8);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:2rem;gap:2rem;align-items:flex-end;min-height:calc(100vh - 6rem);padding:2rem 0 3rem}.hero-copy h1{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.6rem);line-height:.95;margin:.4rem 0 1rem;letter-spacing:-.03em}.hero-copy p{max-width:34rem;font-size:1.15rem;color:var(--ink-soft);line-height:1.55}.hero-visual{min-height:420px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(15,61,44,.92),rgba(31,107,74,.75)),repeating-linear-gradient(-18deg,transparent,transparent 12px,hsla(0,0%,100%,.04) 0,hsla(0,0%,100%,.04) 13px);color:#f4f7f5;padding:1.5rem;position:relative;overflow:hidden;animation:rise-in .8s ease both}.hero-visual:after{content:"";position:absolute;inset:auto -10% -20% 40%;height:70%;background:radial-gradient(circle,hsla(42,35%,93%,.22),transparent 65%);animation:drift 8s ease-in-out infinite alternate}.tree-preview{position:relative;z-index:1;display:grid;grid-gap:1rem;gap:1rem;height:100%;align-content:center}.preview-row{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.preview-node{min-width:110px;padding:.7rem .9rem;border-radius:14px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.2);text-align:center;animation:node-pop .6s ease both}.preview-node:nth-child(2){animation-delay:.12s}.preview-node:nth-child(3){animation-delay:.22s}.preview-node strong{display:block;font-family:var(--font-display)}.preview-node span{font-size:.8rem;opacity:.8}.auth-wrap{min-height:calc(100vh - 5rem);display:grid;place-items:center;padding:2rem 0}.auth-card{width:min(420px,100%);padding:1.75rem}.auth-card h1{font-family:var(--font-display);margin:0 0 .35rem}.auth-card p{margin:0 0 1.25rem;color:var(--ink-soft)}.form{display:grid;grid-gap:.9rem;gap:.9rem}.form label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.92rem}.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem;background:#fffdf8;color:var(--ink)}.form textarea{min-height:90px;resize:vertical}.error{color:var(--warn);font-size:.92rem}.muted{color:var(--ink-soft)}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:1rem 0 1.25rem}.page-title h1{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,4vw,2.6rem)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.tree-card{padding:1.2rem;transition:transform .15s ease}.tree-card:hover{transform:translateY(-2px)}.tree-card h2{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.35rem}.badge{display:inline-flex;border-radius:999px;padding:.2rem .55rem;background:rgba(31,107,74,.12);color:var(--accent-2);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.workspace{display:grid;grid-template-columns:280px 1fr 320px;grid-gap:1rem;gap:1rem;min-height:calc(100vh - 6rem);padding-bottom:2rem}.canvas-panel,.detail-panel,.side-panel{padding:1rem}.canvas-panel h2,.detail-panel h2,.side-panel h2{font-family:var(--font-display);margin:0 0 .8rem;font-size:1.2rem}.person-list{display:grid;grid-gap:.45rem;gap:.45rem;max-height:48vh;overflow:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.panel-heading h2{margin:0}.btn-sm{padding:.35rem .7rem;font-size:.85rem}.person-row{display:grid;grid-gap:.45rem;gap:.45rem;border:1px solid transparent;border-radius:12px;padding:.55rem .65rem}.person-row.active,.person-row:hover{background:rgba(31,107,74,.08);border-color:rgba(31,107,74,.18)}.person-row-main{text-align:left;border:0;background:transparent;padding:0;width:100%;color:inherit}.person-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.canvas{min-height:560px;border-radius:16px;border:1px dashed var(--line);background:linear-gradient(180deg,rgba(255,253,248,.7),hsla(42,35%,93%,.35)),radial-gradient(circle at 50% 0,rgba(31,107,74,.08),transparent 55%);padding:1.25rem;overflow:auto}.family-chart{grid-gap:.35rem;gap:.35rem;min-width:max-content;margin:0 auto;padding:.5rem 0 1rem}.family-chart,.generation-block{display:grid;justify-items:center}.generation-block{width:100%}.family-stem,.generation-stem{width:2px;height:28px;background:var(--accent);opacity:.55;margin:.15rem auto}.family-unit{display:grid;justify-items:center;grid-gap:.15rem;gap:.15rem}.children-row,.partners-row{display:flex;justify-content:center;align-items:flex-start;gap:.85rem;flex-wrap:wrap}.child-slot,.partner-slot{display:grid;justify-items:center}.union-mark{display:inline-block;width:18px;height:2px;background:var(--accent);opacity:.7;margin:0 .15rem;align-self:center}.partner-slot{display:flex;align-items:center;gap:.35rem}.child-stem{width:2px;height:18px;background:var(--accent);opacity:.45}.descendant-families{align-items:flex-start}.orphan-row{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--line);width:100%;text-align:center}.person-node{min-width:140px;max-width:180px;padding:.85rem;border-radius:16px;border:1px solid var(--line);background:#fffdf8;text-align:center;box-shadow:0 8px 24px rgba(28,42,34,.06);transition:transform .15s ease,border-color .15s ease;color:inherit}.person-node.selected,.person-node:hover{transform:translateY(-2px);border-color:var(--accent)}.person-node strong{display:block;font-family:var(--font-display);font-size:1rem}.person-node span{display:block;color:var(--ink-soft);font-size:.82rem;margin-top:.25rem}.activity-list{display:grid;grid-gap:.7rem;gap:.7rem;max-height:220px;overflow:auto}.activity-list li{list-style:none;padding-bottom:.6rem;border-bottom:1px solid hsla(38,22%,73%,.55);font-size:.9rem}.activity-list{margin:0;padding:0}.stack{display:grid;grid-gap:.75rem;gap:.75rem}.inline-actions{display:flex;flex-wrap:wrap;gap:.5rem}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes node-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes drift{0%{transform:translateX(0)}to{transform:translateX(-8%)}}.public-share .public-layout{display:grid;grid-template-columns:1fr 300px;grid-gap:1rem;gap:1rem;padding-bottom:2rem}.public-canvas{min-height:70vh}.focus-picker{display:flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--ink-soft)}.focus-picker select{border:1px solid var(--line);border-radius:10px;padding:.4rem .55rem;background:#fffdf8}@media (max-width:960px){.hero{min-height:auto}.hero,.public-share .public-layout,.workspace{grid-template-columns:1fr}}