:root{--bg:#f5f1e7;--surface:#fffdf7;--ink:#182018;--muted:#657065;--line:#d9d5c7;--green:#294f38;--green-soft:#d8e3d6;--ochre:#b77a31;--blue:#567987;--rose:#956b65;--shadow:0 18px 50px #25302514}*{box-sizing:border-box}html{background:var(--bg);overflow-x:hidden}body{color:var(--ink);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}button{color:inherit}.brand-mark{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:16px;justify-content:center;align-items:center;width:50px;height:50px;padding:0;display:flex}.brand-tree-logo{object-fit:contain;width:50px;height:50px;display:block}.topbar{grid-template-columns:1fr minmax(260px,400px) auto;align-items:center;gap:24px;min-width:0;min-height:110px;display:grid}.topbar h1{margin:2px 0 0;font-family:Georgia,serif;font-size:29px}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:700}.search-field{border:1px solid var(--line);background:#fffdf7e6;border-radius:15px;align-items:center;gap:10px;height:48px;padding:0 15px;display:flex}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.avatar-button{background:var(--ochre);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;text-decoration:none;display:grid}.page-stack{gap:24px;display:grid}.welcome-row{justify-content:space-between;align-items:end;gap:24px;padding:26px 0 8px;display:flex}.welcome-row h2{margin:0 0 8px;font-family:Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:500}.welcome-row p:not(.eyebrow){color:var(--muted);margin:0}.wide{width:100%;margin-top:10px}.panel{background:var(--surface);box-shadow:var(--shadow);border:1px solid #78786421;border-radius:24px}.dashboard-grid{grid-template-columns:minmax(0,2.1fr) minmax(280px,.9fr);gap:24px;display:grid}.constellation-panel{min-height:430px;padding:26px}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:20px;display:flex}.panel h3{margin:0;font-family:Georgia,serif;font-size:22px}.panel-heading p:not(.eyebrow){color:var(--muted)}.mini-constellation,.full-tree{background-image:radial-gradient(circle at 1px 1px,#2850371f 1px,#0000 0);background-size:22px 22px;border-radius:18px;height:330px;margin-top:16px;position:relative;overflow:hidden}.constellation-links{pointer-events:none;z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.connection{transform-origin:0;background:var(--line);z-index:0;height:2px;position:absolute}.connection-parent,.connection-child{height:2px}.connection-adoptive_parent{border-top:2px dashed var(--line);background:0 0;height:2px}.connection-partner,.connection-spouse{height:3px}.connection-guardian{border-top:2px dotted var(--line);background:0 0;height:2px}.branch-segment{background:var(--line);z-index:0;position:absolute}.branch-horizontal{height:2px}.branch-vertical{width:2px}.branch-adoptive.branch-horizontal{border-top:2px dashed var(--line);background:0 0;height:0}.branch-adoptive.branch-vertical{border-left:2px dashed var(--line);background:0 0;width:0}.branch-couple{height:3px}.mini-person{text-align:center;z-index:2;cursor:pointer;background:0 0;border:0;width:62px;padding:0;position:absolute;transform:translate(-50%,-26px)}.mini-constellation[data-layout-ready=false]>.constellation-links,.mini-constellation[data-layout-ready=false]>.mini-person{visibility:hidden}.mini-person span{color:#fff;border:4px solid var(--surface);border-radius:50%;place-items:center;width:52px;height:52px;margin:auto;font-weight:800;display:grid;box-shadow:0 8px 20px #0000001f}.mini-person small{margin-top:4px;font-weight:700;display:block}.constellation-links line{stroke:#65706547;stroke-width:1.15px;stroke-linecap:round}.mini-person span{transition:transform .18s,box-shadow .18s;box-shadow:0 7px 18px #1820181a,0 0 0 1px #ffffffa6}.mini-person:hover span{transform:scale(1.05);box-shadow:0 10px 24px #18201826,0 0 0 3px #fffdf7b3}.mini-person-avatar{position:relative;overflow:hidden}.mini-person-portrait{border-radius:inherit;object-fit:cover;object-position:center;opacity:0;width:100%;height:100%;transition:opacity .18s;display:block;position:absolute;inset:0}.mini-person:hover .mini-person-portrait,.mini-person:focus-visible .mini-person-portrait{opacity:1}.mini-person small{color:var(--ink);font-size:12px;line-height:1.2}.mini-person.green span,.portrait.green,.person-node.green span{background:var(--green)}.mini-person.ochre span,.portrait.ochre,.person-node.ochre span{background:var(--ochre)}.mini-person.blue span,.portrait.blue,.person-node.blue span{background:var(--blue)}.mini-person.rose span,.portrait.rose,.person-node.rose span{background:var(--rose)}.memory-focus{padding:20px}.memory-art{color:#fff;border-radius:17px;flex-direction:column;justify-content:end;min-height:190px;padding:18px;display:flex;position:relative;overflow:hidden}.memory-art:before,.dialog-art:before{content:"";background:repeating-linear-gradient(125deg,#0000 0 18px,#ffffff0f 19px 20px);position:absolute;inset:0}.memory-art span,.memory-art strong{position:relative}.memory-art strong{font-family:Georgia,serif;font-size:30px}.memory-art.sage,.dialog-art.sage{background:linear-gradient(145deg,#456450,#9bac90)}.memory-art.sand,.dialog-art.sand{background:linear-gradient(145deg,#80633e,#c8a876)}.memory-art.slate,.dialog-art.slate{background:linear-gradient(145deg,#3f5960,#819ba0)}.memory-art.rose,.dialog-art.rose{background:linear-gradient(145deg,#714f4b,#b89187)}.memory-art.has-media{position:relative;overflow:hidden}.memory-art-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.memory-art-overlay{z-index:1;flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex;position:relative}.dialog-art.has-media{position:relative;overflow:hidden}.dialog-art.has-media .dialog-art-image{object-fit:cover;object-position:center;border:0;border-radius:0;width:100%;margin:0;padding:0;position:absolute;top:0;left:0}.dialog-art.has-media .dialog-art-overlay{z-index:1;flex-direction:column;justify-content:flex-start;padding:18px 24px 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.dialog-art.has-media .dialog-art-overlay strong{margin-top:14px}.dialog-art.has-media.image-landscape .dialog-art-image{height:42%}.dialog-art.has-media.image-landscape .dialog-art-overlay{top:42%}.dialog-art.has-media.image-square .dialog-art-image{height:50%}.dialog-art.has-media.image-square .dialog-art-overlay{top:50%}.dialog-art.has-media.image-portrait .dialog-art-image{height:62%}.dialog-art.has-media.image-portrait .dialog-art-overlay{top:62%}.memory-dialog.memory-dialog--photo:not(.is-editing){grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media{background:#20332d;min-height:0;padding:0}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media .dialog-art-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media.image-landscape .dialog-art-image{object-position:center center}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media.image-square .dialog-art-image{object-position:center 45%}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media.image-portrait .dialog-art-image{object-position:center 35%}.dialog-art.has-media.is-editing.image-landscape .dialog-art-image{height:260px}.dialog-art.has-media.is-editing.image-landscape .dialog-art-overlay{top:260px}.dialog-art.has-media.is-editing.image-square .dialog-art-image{height:320px}.dialog-art.has-media.is-editing.image-square .dialog-art-overlay{top:320px}.dialog-art.has-media.is-editing.image-portrait .dialog-art-image{height:400px}.dialog-art.has-media.is-editing.image-portrait .dialog-art-overlay{top:400px}.memory-focus .eyebrow{margin-top:18px}.memory-focus p:not(.eyebrow){color:var(--muted);line-height:1.5}.memory-focus .secondary-button{width:100%}.timeline-panel{padding:26px;overflow:hidden}.timeline-track{grid-template-columns:repeat(5,1fr);margin-top:30px;display:grid;position:relative}.timeline-event{z-index:1;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;display:flex}.timeline-dot{background:var(--green);border:6px solid var(--surface);width:28px;height:28px;box-shadow:0 0 0 2px var(--green);border-radius:50%}.featured .timeline-dot{background:var(--ochre);box-shadow:0 0 0 2px var(--ochre);transform:scale(1.16)}.timeline-event small{color:var(--muted);text-align:center;max-width:120px}.lower-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.places-panel,.tasks-panel{padding:24px}.tasks-intro{max-width:520px;color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.stat-pill{background:var(--green-soft);color:var(--green);border-radius:99px;padding:7px 10px;font-size:12px;font-weight:700}.places-intro{max-width:520px;color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.family-places{margin-top:16px;display:grid}.family-places-empty{color:var(--muted);margin:0;padding:18px 0;font-size:13px}.family-place{border-top:1px solid var(--line)}.family-place:first-child{border-top:0}.family-place-summary{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 8px;display:flex}.family-place-summary:hover{background:var(--green-soft)}.family-place-main{grid-template-columns:auto 1fr;align-items:baseline;gap:3px 10px;min-width:0;display:grid}.family-place-main strong{font-size:14px}.family-place-main small{color:var(--muted);font-size:12px}.family-place-names{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;overflow:hidden}.family-place-toggle{background:var(--green-soft);width:26px;height:26px;color:var(--green);border-radius:50%;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.family-place-details{gap:14px;padding:2px 8px 14px;display:grid}.family-place-section{display:grid}.family-place-section>small{color:var(--green);letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:700}.family-place-section button{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:9px 4px;display:grid}.family-place-section button span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-place-section button span:nth-child(2){color:var(--muted);font-size:11px}.family-place-section button b{color:var(--green)}.family-places-more{border:0;border-top:1px solid var(--line);width:100%;color:var(--green);text-align:left;cursor:pointer;background:0 0;padding:13px 8px 4px;font-size:12px;font-weight:700}.task-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;width:100%;padding:16px 8px;display:grid}.task-row.priority{background:var(--green-soft);border:0;border-radius:13px;margin-top:16px;padding-inline:14px}.task-row small{color:var(--muted)}.tree-layout{grid-template-columns:minmax(0,1fr) 340px;gap:24px;min-width:0;padding-top:26px;display:grid}.tree-canvas{min-width:0;min-height:780px;padding:26px}.full-tree{height:650px;margin-top:30px;padding:10px;overflow:auto}.tree-stage{width:100%;height:100%;position:relative}.zoom-controls{background:var(--bg);border-radius:12px;gap:3px;padding:3px;display:flex}.zoom-controls button{cursor:pointer;background:0 0;border:0;padding:8px 11px}.person-node{width:var(--tree-node-width,170px);min-width:var(--tree-node-width,170px);border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;z-index:2;border-radius:18px;grid-template-columns:48px 1fr;column-gap:10px;padding:12px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 20px #1e281e14}.person-node:hover,.person-node:focus-visible,.person-node:active,.person-node.selected{z-index:8;box-shadow:0 18px 34px #1e281e2e}.person-node span{color:#fff;border-radius:50%;grid-row:1/3;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.person-node strong{align-self:end}.person-node small{color:var(--muted)}.tree-stage.compact .person-node{width:var(--tree-node-width,56px);min-width:var(--tree-node-width,56px);height:var(--tree-node-width,56px);min-height:var(--tree-node-width,56px);border-radius:50%;grid-template-columns:1fr;place-items:center;padding:7px;font-size:12px}.tree-stage.compact .person-node span{width:calc(var(--tree-node-width,56px) - 14px);height:calc(var(--tree-node-width,56px) - 14px);grid-row:auto}.tree-stage.compact .person-node strong,.tree-stage.compact .person-node small{display:none}.tree-stage.compact .person-node:hover,.tree-stage.compact .person-node:focus-visible,.tree-stage.compact .person-node:active,.tree-stage.compact .person-node.expanded{border-radius:18px;grid-template-columns:42px 1fr;place-items:stretch stretch;column-gap:9px;width:150px;min-width:150px;min-height:64px;padding:10px}.tree-stage.compact .person-node:hover span,.tree-stage.compact .person-node:focus-visible span,.tree-stage.compact .person-node:active span,.tree-stage.compact .person-node.expanded span{grid-row:1/3}.tree-stage.compact .person-node:hover strong,.tree-stage.compact .person-node:hover small,.tree-stage.compact .person-node:focus-visible strong,.tree-stage.compact .person-node:focus-visible small,.tree-stage.compact .person-node:active strong,.tree-stage.compact .person-node:active small,.tree-stage.compact .person-node.expanded strong,.tree-stage.compact .person-node.expanded small{display:block}.person-node.selected{outline:3px solid var(--green);outline-offset:3px}.person-drawer{min-width:0;min-height:780px;padding:26px;position:relative}.drawer-menu{cursor:pointer;background:0 0;border:0;position:absolute;top:18px;right:20px}.portrait{color:#fff;border-radius:50%;place-items:center;width:92px;height:92px;margin:20px 0;font-size:24px;font-weight:800;display:grid}.person-node-portrait,.person-drawer-portrait{border-radius:inherit;object-fit:cover;object-position:center;width:100%;height:100%;display:block}.person-node span:has(.person-node-portrait){overflow:hidden}.portrait:has(.person-drawer-portrait){overflow:hidden}.person-drawer h2{margin:0;font-family:Georgia,serif;font-size:31px}.person-years{color:var(--muted);font-weight:700}.person-drawer>p:not(.eyebrow):not(.person-years){color:var(--muted);line-height:1.65}.drawer-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0;padding:18px 0;display:grid}.drawer-stats div{gap:3px;display:grid}.drawer-stats strong{font-family:Georgia,serif;font-size:25px}.drawer-stats small{color:var(--muted)}.drawer-relations{gap:12px;margin:0 0 24px;display:grid}.drawer-relations h4{margin:0;font-size:15px}.drawer-relations>div{gap:2px;display:grid}.drawer-relations strong{letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-size:11px}.drawer-relations span{color:var(--ink);font-size:14px}.filter-bar{justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.filter-pills{flex-wrap:wrap;gap:8px;display:flex}.filter-pills button{cursor:pointer;background:0 0;border:0;border-radius:99px;padding:9px 13px}.filter-pills button.active{background:var(--green);color:#fff}.filter-bar>span{color:var(--muted);font-size:13px}.memory-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.memory-card{appearance:none;background:var(--surface);text-align:left;cursor:pointer;width:100%;box-shadow:var(--shadow);border:1px solid #78786421;border-radius:22px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;transition:transform .2s;display:flex;overflow:hidden}.memory-card:hover{transform:translateY(-4px)}.memory-card .memory-art{border-radius:0;width:100%;min-height:180px;margin:0}.memory-card-body{grid-template-rows:18px 30px 22px 48px minmax(28px,auto);row-gap:5px;padding:19px;display:grid}.memory-card-place{white-space:nowrap;text-overflow:ellipsis;align-self:center;margin:0;overflow:hidden}.memory-card-body h3.memory-card-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Georgia,serif;font-size:21px;line-height:1.2;overflow:hidden}.memory-card-body .memory-file-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;line-height:22px;overflow:hidden}.memory-card-body .memory-card-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.memory-card-people{align-content:end;align-self:end;min-height:28px}.person-memory-carousel{width:100%;min-width:0;padding-inline:46px;position:relative}.person-memory-carousel-viewport{width:100%;min-width:0;overflow:hidden}.person-memory-carousel-track{scroll-behavior:smooth;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;gap:18px;width:100%;min-width:0;display:flex;overflow:auto hidden}.person-memory-carousel-track::-webkit-scrollbar{width:0;height:0;display:none}.person-memory-carousel-item{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 calc(50% - 9px);min-width:calc(50% - 9px);max-width:calc(50% - 9px)}.person-memory-carousel-item .memory-card{width:100%;height:100%;box-shadow:none}.person-memory-carousel-item .memory-art{min-height:150px}.person-memory-carousel-arrow{z-index:3;width:34px;height:72%;color:var(--green);cursor:pointer;background:#fffdf7eb;border:1px solid #7878642e;border-radius:18px;place-items:center;padding:0;font-family:Georgia,serif;font-size:34px;line-height:1;transition:background .2s,border-color .2s,transform .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.person-memory-carousel-arrow-left{left:0}.person-memory-carousel-arrow-right{right:0}.person-memory-carousel-arrow:hover{background:var(--green-soft);border-color:#24543b4d}.person-memory-carousel-arrow:active{transform:translateY(-50%)scale(.96)}@media (max-width:760px){.person-memory-carousel{padding-inline:38px}.person-memory-carousel-item{flex-basis:100%;min-width:100%;max-width:100%}.person-memory-carousel-arrow{width:30px}}.person-preview-memory-empty{text-align:center;min-height:280px;color:var(--muted);border:1px dashed #78786440;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.person-preview-memory-empty strong{color:var(--ink);margin-bottom:8px;font-family:Georgia,serif;font-size:22px}.person-preview-memory-empty p{max-width:380px;margin:0;line-height:1.6}.people-tags{flex-wrap:wrap;gap:7px;display:flex}.people-tags span{background:var(--green-soft);color:var(--green);border-radius:99px;padding:6px 9px;font-size:12px;font-weight:700}.member-list{padding:8px 20px}.member-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:16px 4px;display:grid}.member-row:last-child{border:0}.member-avatar{background:var(--green);color:#fff;border-radius:15px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.member-row div{gap:4px;display:grid}.member-row small{color:var(--muted)}.role-badge{background:var(--green-soft);color:var(--green);border-radius:99px;padding:7px 10px;font-size:12px;font-weight:700}.member-identity{min-width:0}.member-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-row-invited{position:relative}.member-avatar-invited{background:var(--ochre)}.member-status-badge{color:#80521f;white-space:nowrap;background:#b77a311a;border:1px solid #b77a3133;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:700}.member-row button{cursor:pointer;background:0 0;border:0}.invite-panel{padding:26px}.invite-panel-heading{margin-bottom:24px}.invite-panel-heading h3{margin:4px 0 7px;font-family:Georgia,serif;font-size:25px;font-weight:500}.invite-panel-heading p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.5}.invite-form{gap:20px;display:grid}.invite-fields{grid-template-columns:minmax(0,1fr) 220px;gap:16px;display:grid}.invite-field{gap:8px;display:grid}.invite-field label{color:var(--ink);font-size:13px;font-weight:700}.invite-field input,.invite-field select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:48px;color:var(--ink);font:inherit;border-radius:13px;outline:none;padding:0 14px;transition:border-color .16s,box-shadow .16s}.invite-field input:focus,.invite-field select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.invite-field input::placeholder{color:var(--muted);opacity:.7}.invite-field input:disabled,.invite-field select:disabled{opacity:.6;cursor:not-allowed}.invite-form [role=alert]{color:var(--rose);background:#956b651f;border-radius:12px;margin:0;padding:11px 14px;font-size:13px;font-weight:700}.invite-submit{justify-self:start;min-width:180px}.invite-link-box{background:var(--green-soft);border:1px solid #294f382e;border-radius:16px;gap:14px;padding:17px;display:grid}.invite-link-box>div:first-child{gap:4px;display:grid}.invite-link-box strong{font-size:14px}.invite-link-box small{color:var(--muted);line-height:1.4}.invite-link-row{align-items:center;gap:10px;min-width:0;display:flex}.invite-link-row code{background:var(--surface);min-width:0;color:var(--green);text-overflow:ellipsis;white-space:nowrap;border:1px solid #294f3824;border-radius:10px;flex:1;padding:11px 13px;overflow:hidden}.invite-copy-button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:10px;flex:none;min-height:40px;padding:0 14px;font-weight:700}.member-actions{position:relative;display:block!important}.member-options-button{width:38px;height:38px;color:var(--muted);font-size:18px;line-height:1;border-radius:11px!important}.member-options-button:hover,.member-options-button[aria-expanded=true]{color:var(--green);background:var(--green-soft)!important}.member-actions-menu{z-index:30;border:1px solid var(--line);background:var(--surface);border-radius:15px;width:240px;padding:10px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 16px 40px #25302524;gap:10px!important;display:grid!important}.member-actions-menu form{gap:8px;margin:0;display:grid}.member-actions-menu label{color:var(--muted);padding:2px 4px 0;font-size:12px;font-weight:700}.member-actions-menu select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:40px;color:var(--ink);font:inherit;border-radius:10px;outline:none;padding:0 10px}.member-actions-menu select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.member-actions-menu button{background:var(--green-soft);width:100%;min-height:40px;color:var(--green);text-align:left;border-radius:10px;padding:0 11px;font-weight:700}.member-actions-menu button:hover{background:var(--green);color:#fff}.member-actions-menu .member-danger-action{border-top:1px solid var(--line);color:var(--rose);background:0 0;border-radius:0 0 9px 9px}.member-actions-menu .member-danger-action:hover{color:var(--rose);background:#956b651a}@media (max-width:700px){.invite-fields{grid-template-columns:1fr}.invite-link-row{flex-direction:column;align-items:stretch}.invite-copy-button{min-height:44px}.invite-submit{width:100%}.member-actions-menu{width:min(240px,100vw - 48px)}}.modal-backdrop{z-index:100;background:#0d140e9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.memory-dialog{box-sizing:border-box;background:var(--surface);border-radius:26px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);width:min(1040px,100vw - 48px);max-width:100%;height:min(760px,100vh - 48px);max-height:90vh;display:grid;position:relative;overflow-x:hidden}.memory-dialog.is-editing{height:min(840px,100vh - 48px)}.memory-dialog,.add-dialog,.confirm-dialog,.person-panel.person-preview-card{transform-origin:50%;animation:.22s cubic-bezier(.22,1,.36,1) both temporalis-modal-open}@keyframes temporalis-modal-close{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.95)}}.person-panel-backdrop.is-closing .person-panel.person-preview-card,.modal-backdrop.is-closing>.memory-dialog,.modal-backdrop.is-closing>.add-dialog,.confirm-overlay.is-closing>.confirm-dialog{pointer-events:none;animation:.16s cubic-bezier(.4,0,1,1) both temporalis-modal-close}@media (prefers-reduced-motion:reduce){.memory-dialog,.add-dialog,.confirm-dialog,.person-panel.person-preview-card{animation:none}}.modal-close{border:1px solid var(--line);background:var(--surface);cursor:pointer;z-index:3;border-radius:50%;width:38px;height:38px;font-size:25px;position:absolute;top:16px;right:18px}.dialog-art{color:#fff;flex-direction:column;justify-content:end;min-height:520px;padding:34px;display:flex;position:relative}.dialog-art>*{position:relative}.dialog-art strong{font-family:Georgia,serif;font-size:60px}.dialog-content{scrollbar-width:thin;scrollbar-color:#1f302752 transparent;flex-direction:column;min-width:0;min-height:0;padding:52px 34px 34px;display:flex;overflow:hidden auto}.dialog-content::-webkit-scrollbar{width:7px}.dialog-content::-webkit-scrollbar-track{background:0 0}.dialog-content::-webkit-scrollbar-thumb{background:#1f302747;border-radius:999px}.dialog-content::-webkit-scrollbar-button{display:none}.dialog-content h2,.add-dialog h2{margin:0 0 18px;font-family:Georgia,serif;font-size:36px}.dialog-content>p:not(.eyebrow){color:var(--muted);line-height:1.7}.dialog-content h3{margin-top:35px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:35px;display:flex}.add-dialog{box-sizing:border-box;background:var(--surface);border-radius:26px;width:min(680px,100%);max-width:100%;max-height:90vh;padding:38px;position:relative;overflow:hidden auto}.step-indicator{grid-template-columns:repeat(3,1fr);gap:7px;margin:24px 0;display:grid}.step-indicator i{background:var(--line);border-radius:99px;height:5px}.step-indicator i.done{background:var(--green)}.upload-zone{border:2px dashed var(--line);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;display:flex}.upload-zone span{color:var(--muted);font-size:13px}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-width:0;display:grid}.form-grid label{gap:8px;min-width:0;font-size:13px;font-weight:700;display:grid}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;max-width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:12px}.form-grid textarea{resize:none}.form-grid select{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;max-width:100%;height:42px;color:var(--ink);font:inherit;cursor:pointer;appearance:none;background:#fff;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:12px;padding:0 36px 0 12px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);outline-offset:1px;border-color:var(--green)}.place-autocomplete{min-width:0;position:relative}.place-autocomplete-results{z-index:30;overscroll-behavior:contain;border:1px solid var(--line);background:#fff;border-radius:14px;max-height:310px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 32px #141e1824}.place-autocomplete-option{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:0;align-items:flex-start;gap:11px;padding:11px 13px;display:flex}.place-autocomplete-option:last-child{border-bottom:0}.place-autocomplete-option:hover,.place-autocomplete-option:focus-visible{background:var(--soft)}.place-autocomplete-flag{flex:none;margin-top:2px}.place-autocomplete-text{flex-direction:column;gap:3px;min-width:0;display:flex}.place-autocomplete-text strong{font-size:14px;line-height:1.25}.place-autocomplete-text small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.35}.place-autocomplete-status{z-index:31;color:var(--muted);pointer-events:none;font-size:11px;font-weight:400;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.privacy-options{gap:12px;display:grid}.privacy-options label{border:1px solid var(--line);border-radius:15px;grid-template-columns:auto 1fr;gap:4px 10px;padding:15px;font-weight:700;display:grid}.privacy-options small{color:var(--muted);grid-column:2;font-weight:400}@media (max-width:1050px){.dashboard-grid{grid-template-columns:1fr}.memory-focus{grid-template-columns:260px 1fr;gap:20px;display:grid}.memory-focus .memory-art{grid-row:1/6}.lower-grid,.tree-layout{grid-template-columns:1fr}.person-drawer{min-height:auto}.memory-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.topbar{grid-template-columns:1fr auto;min-height:82px}.search-field{display:none}.topbar h1{font-size:23px}.welcome-row{flex-direction:column;align-items:start;padding-top:18px}.welcome-row h2{font-size:38px}.primary-button{width:100%}.panel{border-radius:20px}.constellation-panel,.timeline-panel,.places-panel,.tasks-panel,.tree-canvas,.person-drawer{padding:20px}.panel-heading{align-items:start}.panel-heading .quiet-button{font-size:12px}.mini-constellation{height:300px}.memory-focus{display:block}.memory-focus .memory-art{min-height:170px}.timeline-track{grid-template-columns:repeat(5,130px);padding-bottom:10px;overflow-x:auto}.timeline-track:before{width:540px;left:50px;right:auto}.tree-layout{padding-top:12px}.tree-canvas{min-height:550px}.full-tree{height:460px;margin-top:15px;overflow:hidden auto}.person-node{grid-template-columns:38px 1fr;width:135px;min-width:135px;font-size:12px}.person-node span{width:38px;height:38px}.memory-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:start;gap:12px}.memory-dialog{grid-template-columns:1fr;overflow:hidden auto}.dialog-art{min-height:250px}.dialog-content{min-height:auto;padding:32px 22px 22px;overflow:visible}.dialog-content h2,.add-dialog h2{font-size:30px}.add-dialog{padding:30px 20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}@media (max-width:390px){.mini-person{transform-origin:50%;transform:translate(-50%,-26px)scale(.85)}.task-row{grid-template-columns:auto 1fr auto}.task-row small{display:none}}@media (prefers-reduced-motion:no-preference){.person-node{animation:.5s both float-in}.person-node:nth-of-type(2){animation-delay:50ms}.person-node:nth-of-type(3){animation-delay:.1s}@keyframes float-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}}.auth-form{gap:18px;margin-top:28px;display:grid}.auth-form label{gap:8px;font-size:13px;font-weight:800;display:grid}.auth-form input{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:13px;padding:13px 14px}.auth-form small{color:var(--muted);margin-top:-10px}.simple-page,.onboarding-page{background:var(--bg);place-items:center;min-height:100vh;padding:30px;display:grid}.simple-panel{max-width:620px;padding:40px}.simple-panel h1,.onboarding-copy h1{margin:10px 0 20px;font-family:Georgia,serif;font-size:clamp(38px,6vw,68px)}.link-button{width:auto;margin-top:20px;text-decoration:none;display:inline-flex}.onboarding-page{grid-template-columns:minmax(0,1fr) minmax(340px,520px);align-content:center;gap:clamp(30px,8vw,120px)}.onboarding-copy{max-width:720px}.onboarding-copy>p:last-child{color:var(--muted);max-width:650px;line-height:1.75}.onboarding-panel{width:100%;padding:38px}.onboarding-panel h2{font-family:Georgia,serif;font-size:32px}.onboarding-divider{color:var(--muted);align-items:center;gap:14px;margin:22px 0;display:flex}.onboarding-divider:before,.onboarding-divider:after{content:"";background:var(--line);flex:1;height:1px}.onboarding-note{color:var(--muted);margin-top:18px;font-size:13px;line-height:1.55}.empty-constellation{text-align:center;min-height:320px;color:var(--muted);place-content:center;gap:10px;display:grid}.empty-constellation strong{color:var(--ink);font-family:Georgia,serif;font-size:26px}.topbar form{margin:0}@media (max-width:850px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:360px;padding:34px 24px}.auth-brand{margin-bottom:45px}.auth-story h1{font-size:44px}.auth-card{margin:20px}.onboarding-page{grid-template-columns:1fr;align-content:start;padding-top:60px}}.topbar-management{align-items:center;gap:.65rem;display:flex}.topbar-management .secondary-button,.topbar-management .quiet-button{white-space:nowrap}.tree-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.person-drawer a.wide{justify-content:center;margin-top:.7rem;text-decoration:none;display:flex}.management-page{background:var(--page);min-height:100vh;color:var(--ink);padding-bottom:4rem}.management-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:1.5rem;min-height:78px;padding:1rem clamp(1rem,4vw,4rem);display:grid;position:sticky;top:0}.management-header>div:first-child{align-items:baseline;gap:1rem;display:flex}.management-brand{color:var(--green);font-size:1.4rem;font-weight:800;text-decoration:none}.management-header nav{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:.35rem;padding:.35rem;display:flex}.management-header nav a{color:var(--muted);border-radius:999px;padding:.6rem .9rem;font-size:.9rem;font-weight:700;text-decoration:none}.management-header nav a:hover{background:var(--green-soft);color:var(--green)}.management-account{justify-self:end;align-items:center;gap:.75rem;display:flex}.management-intro{width:min(1180px,100% - 2rem);margin:3.2rem auto 1.5rem}.management-intro>.person-action-button{min-height:44px;color:var(--green);background:#e2ebe4;border:1px solid #c5d5c8;border-radius:12px;align-items:center;gap:8px;margin-bottom:18px;padding:.65rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.management-intro>.person-action-button:hover{background:#d2e2d6;text-decoration:none;transform:none;box-shadow:0 2px 8px #0000000f}.management-intro>.person-action-button:focus-visible{outline:2px solid var(--green);outline-offset:3px}.management-intro h1{letter-spacing:-.055em;margin:.25rem 0 .65rem;font-size:clamp(2rem,4vw,3.7rem)}.management-intro p:last-child{max-width:760px;color:var(--muted);font-size:1.05rem}.management-page>.panel,.management-page>.status-message,.management-page>.permission-callout,.management-page>.people-directory,.management-page>.relations-layout{width:min(1180px,100% - 2rem);margin-left:auto;margin-right:auto}.status-message{border-radius:14px;margin-bottom:1rem;padding:.9rem 1rem;font-weight:700}.status-message.success{color:#234b2d;background:#e8f4e9;border:1px solid #bad7be}.status-message.error{color:#7a2e24;background:#fff0ed;border:1px solid #ecc4bd}.permission-callout{color:#594b23;background:#fff8df;border:1px solid #d9c995;border-radius:16px;margin-bottom:1rem;padding:1rem 1.1rem}.management-toolbar{align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.management-toolbar>.primary-button{box-sizing:border-box;text-align:center;justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.people-search{flex:1;gap:.55rem;display:flex}.people-search input{border:1px solid var(--line);background:var(--page);min-width:0;color:var(--ink);font:inherit;border-radius:13px;flex:1;padding:.8rem .95rem}.segmented-control{background:var(--page);border:1px solid var(--line);border-radius:999px;padding:.25rem;display:flex}.segmented-control a{color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:.55rem .8rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.segmented-control a.active{background:var(--green);color:#fff}.people-directory{gap:.85rem;display:grid}.person-management-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;display:grid}.person-management-card.archived{opacity:.72;border-style:dashed}.directory-avatar{background:var(--green-soft);width:58px;height:58px;color:var(--green);border-radius:50%;place-items:center;font-weight:800;display:grid}.directory-avatar-image{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.directory-main h2{margin:.1rem 0 .25rem;font-size:1.2rem}.directory-main>p:not(.eyebrow){color:var(--muted);margin:0}.directory-meta{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.directory-meta span{background:var(--page);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.3rem .55rem;font-size:.78rem}.directory-actions{align-items:center;gap:.55rem;display:flex}.danger-button{color:#9b352a;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:.65rem .8rem;font-weight:800}.empty-management-state{text-align:center;justify-items:center;gap:.7rem;padding:3rem 1.5rem;display:grid}.empty-management-state.compact{padding:1.5rem 1rem}.empty-management-state p{color:var(--muted);margin:0}.entity-form{padding:clamp(1rem,3vw,2rem);width:min(980px,100% - 2rem)!important}.form-section{border-bottom:1px solid var(--line);padding:1.1rem 0 1.8rem}.form-section:first-child{padding-top:0}.form-section-heading{grid-template-columns:38px 1fr;gap:.8rem;margin-bottom:1.2rem;display:grid}.form-section-heading>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.form-section-heading h2{margin:0 0 .3rem}.form-section-heading p{color:var(--muted);margin:0}.management-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-form label,.relationship-form label{color:var(--ink);gap:.42rem;font-weight:750;display:grid}.entity-form label b{color:#9b352a}.entity-form input,.entity-form select,.entity-form textarea,.relationship-form input,.relationship-form select{border:1px solid var(--line);background:var(--page);width:100%;color:var(--ink);font:inherit;border-radius:12px;padding:.8rem .9rem}.entity-form textarea{resize:vertical;line-height:1.55}.entity-form input:focus,.entity-form select:focus,.entity-form textarea:focus,.relationship-form input:focus,.relationship-form select:focus{outline:3px solid color-mix(in srgb, var(--green) 20%, transparent);border-color:var(--green)}.checkbox-field{background:var(--green-soft);border-radius:14px;grid-column:1/-1;align-items:flex-start;padding:.9rem;gap:.75rem!important;display:flex!important}.checkbox-field input{width:20px;height:20px;margin-top:.15rem}.checkbox-field span{gap:.2rem;display:grid}.checkbox-field small{color:var(--muted);font-weight:500}.biography-field{gap:.45rem;display:grid}.form-actions{justify-content:flex-end;gap:.75rem;padding-top:1.5rem;display:flex}.form-actions a{text-decoration:none}.relations-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1rem;display:grid}.relationship-form-panel,.relationship-list-panel{padding:1.25rem}.relationship-form{gap:1rem;display:grid}.relationship-date-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.relationship-help{border:1px solid var(--line);background:var(--page);border-radius:14px;padding:.9rem 1rem}.relationship-help ul{color:var(--muted);gap:.35rem;margin:.65rem 0 0;padding-left:1.1rem;font-size:.87rem;display:grid}.relationship-row{border:1px solid var(--line);background:var(--page);border-radius:15px;gap:.5rem;padding:.9rem;display:grid}.relationship-people{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.relationship-people span{font-weight:800}.relationship-people strong{color:var(--green);background:var(--green-soft);border-radius:999px;padding:.3rem .55rem;font-size:.78rem}.relationship-row>small{color:var(--muted)}.relationship-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.relationship-actions a{text-decoration:none}.relationship-form-panel>.panel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.relationship-form-panel>.panel-heading>.secondary-button{min-height:38px;color:var(--green);white-space:nowrap;justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.relationship-form-panel>.panel-heading>.secondary-button:hover{background:var(--green-soft)}.relationship-actions .quiet-button,.relationship-actions .danger-button{border:1px solid var(--line);min-width:88px;min-height:36px;font:inherit;border-radius:10px;justify-content:center;align-items:center;padding:8px 12px;font-size:.84rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.relationship-actions .quiet-button{background:var(--surface);color:var(--green)}.relationship-actions .quiet-button:hover{background:var(--green-soft)}.relationship-actions .danger-button{color:#9b352a;background:0 0;border-color:#dcb8b4;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.relationship-actions .danger-button:not(:disabled):hover{color:#842e27;background:#f4d9d5;border-color:#ad5149;transform:translateY(-1px);box-shadow:0 3px 10px #9b352a1f}@media (max-width:1050px){.topbar-management{display:none}.management-header{grid-template-columns:1fr auto}.management-header nav{grid-area:2/1/auto/-1;justify-self:center}.relations-layout{grid-template-columns:1fr}}@media (max-width:760px){.management-header{flex-wrap:wrap;padding:1rem;display:flex;position:static}.management-header>div:first-child{justify-content:space-between;width:100%}.management-header nav{order:3;justify-content:flex-start;width:100%;overflow-x:auto}.management-account{margin-left:auto}.management-intro{margin-top:2rem}.management-toolbar{flex-direction:column;align-items:stretch}.people-search{flex-direction:column}.segmented-control{align-self:flex-start}.person-management-card{grid-template-columns:auto 1fr}.directory-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;padding-top:.8rem}.management-form-grid,.relationship-date-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions>*{text-align:center;justify-content:center;width:100%}.tree-canvas>.panel-heading{flex-direction:column;align-items:stretch;gap:14px}.tree-heading-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.tree-heading-actions .person-action-button{box-sizing:border-box;text-align:center;white-space:normal;width:100%;min-width:0;min-height:44px;padding:8px 6px;line-height:1.25}}.field-help{color:var(--muted,#687169);margin-top:-.3rem;margin-bottom:.7rem;font-size:.82rem;line-height:1.45;display:block}.password-field{display:block;position:relative}.password-field input{width:100%;padding-right:5.8rem}.password-toggle{color:inherit;font:inherit;cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;font-size:.78rem;font-weight:700;text-decoration:underline;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.password-toggle:hover{text-decoration-thickness:2px}.password-toggle:focus-visible{outline-offset:3px;border-radius:.2rem;outline:2px solid}.password-toggle-icon{border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;text-decoration:none;display:inline-flex}.password-toggle-icon:hover{text-decoration:none}.password-toggle-icon svg{width:1.2rem;height:1.2rem;display:block}.password-rules{gap:.18rem;margin-top:-.35rem;margin-bottom:.75rem;display:grid}.password-rules p{color:#8a8f89;margin:0;font-size:.78rem}.password-rules .rule-ok{color:#27633f;font-weight:600}.legal-checkbox{grid-template-columns:20px 1fr;align-items:start;gap:12px;margin-top:12px;display:grid}.legal-checkbox input[type=checkbox]{appearance:auto;width:18px;height:18px;margin:4px 0 0;padding:0}.legal-checkbox span{min-width:0;line-height:1.45}.legal-checkbox a{text-decoration:underline}.theme-a-real{isolation:isolate;color:#fff8ec;background:#0b0a08;width:100%;height:100svh;min-height:620px;max-height:1080px;font-family:Georgia,Times New Roman,serif;position:relative;overflow:hidden}.theme-a-real__image{opacity:0;will-change:opacity;transition:opacity .7s cubic-bezier(.45,0,.55,1);position:absolute;inset:0}.theme-a-real__image--active{opacity:1}.theme-a-real__image>div{position:absolute;inset:-4%}.theme-a-real__image img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.theme-a-real__ken-a{transform-origin:42% 58%;will-change:transform;transform:scale(1.055)}.theme-a-real__image--one.theme-a-real__image--active .theme-a-real__ken-a{animation:5s cubic-bezier(.37,0,.63,1) forwards themeARealKenBurnsA}.theme-a-real__ken-b{transform-origin:50% 42%;will-change:transform;transform:scale(1)}.theme-a-real__image--two.theme-a-real__image--active .theme-a-real__ken-b{animation:5s cubic-bezier(.37,0,.63,1) forwards themeARealKenBurnsB}.theme-a-real__image--two img{transform-origin:50%;transform:scaleX(-1)}.theme-a-real__copper{pointer-events:none;opacity:.15;mix-blend-mode:soft-light;background:#d4a574;position:absolute;inset:0}.theme-a-real__multiply{pointer-events:none;mix-blend-mode:multiply;background:#1a130a14;position:absolute;inset:0}.theme-a-real__vignette{pointer-events:none;opacity:.92;background:radial-gradient(68% 58% at 50% 46%,#0c0a089e 0%,#0c0a0861 38%,#0c0a081f 62%,#0c0a0800 78%);position:absolute;inset:0}.theme-a-real__bottom-gradient{pointer-events:none;background:linear-gradient(#0000,#0b0a084d,#0b0a08cc);height:42%;position:absolute;bottom:0;left:0;right:0}.theme-a-real__top-gradient{pointer-events:none;background:linear-gradient(#0b0a084d,#0000);height:18%;position:absolute;top:0;left:0;right:0}.theme-a-real__canvas{pointer-events:none;filter:contrast(1.05)brightness(1.02);width:100%;height:100%;position:absolute;inset:0}.theme-a-real__tree{pointer-events:none;justify-content:center;align-items:center;transition:opacity 1.2s cubic-bezier(.45,0,.55,1);display:flex;position:absolute;inset:0}.theme-a-real__tree svg{filter:drop-shadow(0 0 18px #ffd27a59);width:min(56vw,460px);height:min(74vh,640px);transform:translateY(-2%)}.theme-a-real__content{z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.theme-a-real__eyebrow{color:#e8d5b5e6;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.theme-a-real__eyebrow span{background:#d4a574b3;width:2rem;height:1px}.theme-a-real__eyebrow p{letter-spacing:.32em;text-transform:uppercase;margin:0;font-size:11px}.theme-a-real__title{letter-spacing:-.03em;color:#fff8ec;text-shadow:0 2px 40px #0000008c,0 0 80px #d4a57440;will-change:transform;margin:0;font-family:Times New Roman,Georgia,serif;font-size:clamp(3.2rem,10vw,8.5rem);font-weight:300;line-height:.85;animation:6s cubic-bezier(.45,0,.55,1) infinite themeARealFloatText}.theme-a-real__copy{max-width:34rem;margin-top:1.25rem}.theme-a-real__subtitle{letter-spacing:.02em;color:#efe2c8;margin:0;font-size:clamp(1.05rem,2.2vw,1.45rem);font-style:italic;font-weight:300;line-height:1.375}.theme-a-real__description{letter-spacing:.025em;color:#d8c9a8cc;margin:.75rem 0 0;font-size:13px;line-height:1.6}.theme-a-real__scene-nav{z-index:20;align-items:center;gap:.625rem;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%)}.theme-a-real__scene-nav button{background:0 0;border:0;width:48px;height:32px;padding:0;position:relative}.theme-a-real__scene-nav .line,.theme-a-real__scene-nav .progress{position:absolute;top:50%;left:0;transform:translateY(-50%)}.theme-a-real__scene-nav .line{background:#fff3;width:100%;height:1px}.theme-a-real__scene-nav button.active .line{background:#ffd27acc}.theme-a-real__scene-nav .progress{background:#ffd27a;width:0;height:2px}.theme-a-real__scene-nav .dot{background:#ffffff80;border-radius:999px;width:6px;height:6px;transition:all .5s cubic-bezier(.45,0,.55,1);position:absolute;top:50%;left:0;transform:translateY(-50%)}.theme-a-real__scene-nav button.active .dot{background:#ffd27a;left:calc(100% - 6px);box-shadow:0 0 8px #ffd27a}.theme-a-real__footer{z-index:20;justify-content:space-between;align-items:flex-end;gap:.75rem;padding:1.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.theme-a-real__footer-left,.theme-a-real__footer-right{align-items:center;gap:.5rem;display:flex}.theme-a-real__pill,.theme-a-real__replay{color:#ffffffd9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);cursor:pointer;background:#0000004d;border:1px solid #ffffff26;height:36px}.theme-a-real__pill{letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:0 .875rem;font-size:11px;font-weight:500}.theme-a-real__replay{border-radius:999px;width:36px;font-size:18px}.theme-a-real__cycle{letter-spacing:.18em;text-transform:uppercase;color:#ffffff59;margin-left:.5rem;font-size:10px}.theme-a-real__scene-name,.theme-a-real__copyright{letter-spacing:.14em;text-transform:uppercase;color:#e8d5b5b3;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0b0a0866;border:1px solid #ffffff1a;border-radius:999px;padding:.375rem .75rem;font-size:10px}.theme-a-real__copyright{letter-spacing:.025em;text-transform:none;color:#ffffff80}.theme-a-real__grain{pointer-events:none;opacity:.035;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes themeARealKenBurnsA{0%{transform:scale(1)}to{transform:scale(1.055)}}@keyframes themeARealKenBurnsB{0%{transform:scale(1.055)}to{transform:scale(1)}}@keyframes themeARealFloatText{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (max-width:800px){.theme-a-real{min-height:360px;max-height:none}.theme-a-real__eyebrow{margin-bottom:.9rem}.theme-a-real__eyebrow span{width:18px}.theme-a-real__eyebrow p{letter-spacing:.18em;font-size:8px}.theme-a-real__title{font-size:clamp(3rem,16vw,5.2rem)}.theme-a-real__subtitle{font-size:clamp(1rem,4.5vw,1.25rem)}.theme-a-real__description{max-width:320px;font-size:11px}.theme-a-real__scene-nav{top:14%}.theme-a-real__cycle,.theme-a-real__scene-name{display:none}.theme-a-real__footer{padding:.75rem}.theme-a-real__tree svg{width:min(92vw,430px);height:min(65vh,540px)}}@media (max-width:480px){.theme-a-real__description,.theme-a-real__footer-right,.theme-a-real__pill span{display:none}}@media (prefers-reduced-motion:reduce){.theme-a-real *,.theme-a-real :before,.theme-a-real :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.auth-theme-shell{background:#f3efe6;grid-template-columns:minmax(0,68%) minmax(360px,32%);width:100%;min-height:100svh;display:grid;overflow:hidden}.auth-theme-shell__animation{min-width:0;height:100svh;position:relative;overflow:hidden}.auth-theme-shell__animation .theme-a-real{width:100%;height:100%;min-height:100svh}.auth-theme-shell__panel{background:#f3efe6;min-width:0;height:100svh;padding:clamp(1.25rem,2.6vw,3rem);display:flex;overflow:hidden auto}.auth-form-panel{justify-content:center;align-items:center;width:100%;display:flex}.auth-form-panel__inner{background:#fffdf8;border-radius:30px;width:min(100%,480px);margin:auto;padding:clamp(2rem,3.2vw,3.4rem);box-shadow:0 20px 60px #271f1214}.auth-form-panel__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#687169;margin:0 0 .8rem;font-size:.7rem;font-weight:700}.auth-form-panel__title{letter-spacing:-.035em;color:#172019;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,3.2vw,3.8rem);font-weight:600;line-height:.98}.auth-form-panel__description{color:#687169;max-width:34rem;margin:1rem 0 2rem;font-size:.98rem;line-height:1.55}.auth-form-panel__message{background:#f5f0e5;border-radius:12px;margin-bottom:1rem;padding:.8rem 1rem;font-size:.88rem}.auth-form-panel__content{width:100%}.auth-form-panel__footer{color:#687169;border-top:1px solid #1720191f;margin-top:1.75rem;padding-top:1.4rem;font-size:.9rem}.auth-form-panel__footer a{color:#24583d;text-underline-offset:.18em;font-weight:700;text-decoration:underline}.auth-signup-invite{text-align:center;gap:12px;display:grid}.auth-signup-invite p{margin:0}.auth-form-panel__footer .auth-signup-button{justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:flex}.auth-signup-button:hover{background:var(--green-soft)}.auth-signup-button:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media (max-width:1180px){.auth-theme-shell{grid-template-columns:minmax(0,60%) minmax(390px,40%)}.auth-theme-shell__panel{padding:1.25rem}.auth-form-panel__inner{padding:2rem}}@media (max-width:820px){.auth-theme-shell{min-height:100svh;display:block;overflow:visible}.auth-theme-shell__animation{width:100%;height:52svh;min-height:400px}.auth-theme-shell__animation .theme-a-real{height:100%;min-height:100%}.auth-theme-shell__panel{width:100%;height:auto;min-height:48svh;padding:1.25rem;overflow:visible}.auth-form-panel__inner{border-radius:24px;width:min(100%,560px);padding:clamp(1.5rem,6vw,2.5rem)}}@media (max-width:520px){.auth-theme-shell__animation{height:44svh;min-height:340px}.auth-theme-shell__panel{padding:0}.auth-form-panel__inner{width:100%;box-shadow:none;border-radius:0;padding:2rem 1.25rem 3rem}.auth-form-panel__title{font-size:2.5rem}}.auth-password-help{text-align:right;margin-top:-.3rem;font-size:.8rem}.auth-password-help a{color:var(--muted);text-underline-offset:.18em;font-weight:500;text-decoration:underline}.auth-password-help a:hover{color:var(--green)}.legal-page{width:min(100% - 2rem,860px);color:var(--text);margin:0 auto;padding:4rem 0 5rem}.legal-page h1{font-family:var(--font-serif);color:var(--green);margin:0 0 .75rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.legal-page>p:first-of-type{color:var(--muted);margin-bottom:2.5rem;font-size:.9rem}.legal-page h2{font-family:var(--font-serif);color:var(--green);margin:2.75rem 0 1rem;padding-top:.4rem;font-size:clamp(1.25rem,3vw,1.6rem);line-height:1.25}.legal-page p{margin:0 0 1rem;font-size:1rem;line-height:1.75}.legal-page ul,.legal-page ol{margin:0 0 1.5rem;padding-left:1.4rem}.legal-page li{margin-bottom:.55rem;line-height:1.65}.legal-page a{color:var(--green);text-underline-offset:.18em;font-weight:600;text-decoration:underline}.legal-page a:hover{text-decoration-thickness:2px}@media (max-width:640px){.legal-page{width:min(100% - 1.5rem,860px);padding:2.5rem 0 3.5rem}.legal-page h2{margin-top:2.2rem}.legal-page p,.legal-page li{font-size:.96rem}}.timeline-track{min-height:var(--timeline-height,360px);margin-top:2rem;padding:0 2rem;position:relative}.timeline-track:before{content:"";background:var(--border-color,#d8d3ca);height:1px;position:absolute;top:36px;left:2rem;right:2rem}.timeline-event{cursor:pointer;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:.45rem;width:150px;display:flex;position:absolute;transform:translate(-50%)}.timeline-year{opacity:.7;font-size:.75rem;font-weight:600}.timeline-marker{background:currentColor;border:3px solid #fff;border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 1px}.timeline-event-content{flex-direction:column;gap:.15rem;display:flex}.timeline-event-content strong{font-size:.8rem;line-height:1.25}.timeline-event-content small{opacity:.65;font-size:.7rem}.timeline-event-birth{color:#688174}.timeline-event-death{color:#81776d}.timeline-event-memory{color:#a16f55}@media (max-width:900px){.timeline-track{grid-template-columns:none;width:auto;min-height:0;margin-top:1.5rem;padding:0 0 0 28px;display:block;position:relative;overflow-x:visible}.timeline-track:before{content:"";background:#65706561;width:1px;position:absolute;top:0;bottom:0;left:9px}.timeline-event{text-align:left;grid-template-columns:44px 1fr;grid-template-areas:"year content"".content";gap:2px 10px;width:100%;min-height:64px;margin-bottom:12px;padding-left:18px;display:grid;position:relative;transform:none;top:auto!important;left:auto!important}.timeline-year{grid-area:year;align-self:start}.timeline-marker{position:absolute;top:22px;left:-18px}.timeline-event-content{grid-area:content;min-width:0}}.confirm-overlay{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c1675;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.confirm-dialog{border:1px solid var(--line);background:var(--surface);border-radius:22px;width:min(100%,430px);padding:28px;box-shadow:0 24px 70px #0003}.confirm-dialog h3{margin:6px 0 12px;font-family:Georgia,serif;font-size:28px}.confirm-dialog p:not(.eyebrow){color:var(--muted);line-height:1.5}.danger-button{color:#fff;font:inherit;cursor:pointer;background:#8b3f38;border:0;border-radius:12px;padding:12px 18px;font-weight:700}.danger-button:hover{background:#74332e}.danger-button:disabled{opacity:.6;cursor:wait}.memory-document-preview{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.memory-document-icon{letter-spacing:.08em;background:#ffffff24;border:1px solid #ffffff8c;border-radius:10px;place-items:center;width:68px;height:82px;font-size:15px;font-weight:800;display:grid}.memory-document-preview small{opacity:.8;font-size:12px}.dialog-art.has-document{position:relative;overflow:hidden}.dialog-document-preview{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:34px;display:flex;position:absolute;inset:0}.dialog-document-icon{letter-spacing:.08em;background:#ffffff24;border:1px solid #ffffff8c;border-radius:16px;place-items:center;width:110px;height:140px;font-size:22px;font-weight:800;display:grid}.dialog-document-preview>strong{font-family:Georgia,serif;font-size:24px}.dialog-document-open{text-decoration:none}.dialog-art.has-document.is-editing .dialog-document-preview{height:520px;inset:0 0 auto}.dialog-art.has-audio{position:relative;overflow:hidden}.dialog-audio-preview{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:40px;display:flex;position:absolute;inset:0}.dialog-audio-icon{background:#ffffff24;border:1px solid #ffffff8c;border-radius:50%;place-items:center;width:110px;height:110px;font-family:Georgia,serif;font-size:52px;line-height:1;display:grid}.dialog-audio-preview>strong{font-family:Georgia,serif;font-size:24px}.dialog-audio-player{width:min(100%,360px)}.dialog-art.has-audio.is-editing .dialog-audio-preview{height:520px;inset:0 0 auto}.memory-art.has-audio{position:relative;overflow:hidden}.memory-audio-preview{pointer-events:none;justify-content:center;align-items:center;gap:16px;padding:34px 24px 18px;display:flex;position:absolute;inset:0}.memory-audio-play{color:#fff;background:#ffffff1a;border:1px solid #ffffffb8;border-radius:50%;flex:none;place-items:center;width:64px;height:64px;padding-left:3px;font-size:22px;line-height:1;display:grid}.memory-audio-wave{opacity:.28;flex:1;justify-content:center;align-items:center;gap:3px;height:58px;display:flex}.memory-audio-wave i{background:#fff;border-radius:999px;width:3px;height:20px;display:block}.memory-audio-wave i:nth-child(2n){height:34px}.memory-audio-wave i:nth-child(3n){height:48px}.memory-audio-wave i:nth-child(4n){height:28px}.memory-art.has-video{position:relative;overflow:hidden}.memory-video-preview{pointer-events:none;position:absolute;inset:0;overflow:hidden}.memory-video-thumbnail{object-fit:cover;object-position:center;border:0;width:100%;height:100%;position:absolute;inset:0}.memory-video-preview:after{content:"";background:#0000001f;position:absolute;inset:0}.memory-video-play{z-index:1;color:#fff;background:#0000002e;border:1px solid #ffffffc7;border-radius:50%;place-items:center;width:64px;height:64px;padding-left:3px;font-size:22px;line-height:1;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.memory-dialog-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:auto;padding-top:28px;display:grid}.memory-action-button{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);font:inherit;text-align:center;cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:700;line-height:1.2;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.memory-action-button:hover{border-color:var(--green);background:color-mix(in srgb, var(--green) 5%, white)}.memory-action-button:focus-visible{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);outline-offset:2px}.memory-action-button.is-danger{color:#8f3535}.memory-action-button.is-danger:hover{background:#f9f5f5;border-color:#8f3535}.memory-action-button.is-primary{border-color:var(--green);background:var(--green);color:#fff}.memory-action-button.is-primary:hover{background:color-mix(in srgb, var(--green) 88%, black);border-color:color-mix(in srgb, var(--green) 88%, black)}.memory-people-picker{flex-direction:column;grid-column:1/-1;gap:7px;width:100%;display:flex;position:relative}.memory-people-picker>label{font-weight:600}.memory-people-picker-trigger{border:1px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex}.memory-people-picker-trigger:hover{background:#00000005}.memory-people-picker-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.memory-people-picker-menu{z-index:200;overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface);box-sizing:border-box;border-radius:14px;flex-direction:column;padding:8px;display:flex;overflow:hidden;box-shadow:0 12px 30px #0000001a}.memory-people-picker-search{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;height:42px;color:var(--ink);font:inherit;border-radius:10px;flex:none;margin:0 0 6px;padding:0 12px;display:block}.memory-people-picker-search:focus{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);outline-offset:1px;border-color:var(--green)}.memory-people-picker-search::placeholder{color:var(--muted)}.memory-people-picker-options{overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;flex:auto;min-height:0;max-height:none;overflow:hidden auto}.memory-people-picker-empty{color:var(--muted);margin:8px 10px;font-size:13px}.memory-people-picker-option{cursor:pointer;border-radius:8px;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.memory-people-picker-option input[type=checkbox]{flex:none;width:16px;height:16px;margin:0}.memory-people-picker-option span{flex:1;min-width:0}.memory-people-picker-option:hover{background:#0000000a}.memory-people-picker-option input{margin:0}.memory-people-picker-menu .memory-people-picker-option{cursor:pointer;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:38px;padding:6px 10px;display:flex}.memory-people-picker-menu .memory-people-picker-option input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin:0}.memory-people-picker-menu .memory-people-picker-option span{white-space:nowrap;flex:1;width:auto;margin:0;display:inline}.memory-file-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 8px;font-size:12px;font-weight:600;line-height:1.35;overflow:hidden}.dialog-file-name{color:#ffffffc7;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:min(100%,320px);font-size:12px;font-weight:600;line-height:1.35;display:block;overflow:hidden}.dialog-art.has-video{min-width:0;position:relative;overflow:hidden}.dialog-art.has-video .dialog-video-preview{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;padding:28px;display:flex;position:absolute;inset:0;overflow:hidden}.dialog-art.has-video .dialog-video-player{object-fit:contain;background:#000;border:0;border-radius:10px;width:100%;max-width:100%;height:auto;max-height:calc(100% - 40px);display:block}.dialog-art.has-video .dialog-file-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:none;width:100%;max-width:100%;overflow:hidden}.dialog-art.has-video.is-editing .dialog-video-preview{width:100%;height:100%;padding:24px;position:absolute;inset:0}.dialog-art.has-video.is-editing .dialog-video-player{width:100%;max-width:100%;max-height:calc(100% - 40px)}.dialog-content{min-width:0}.dialog-content .memory-file-name,.dialog-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) minmax(280px,420px) auto auto;align-items:center;gap:22px;min-width:0;min-height:96px;display:grid}.app-header-identity{align-items:center;gap:14px;min-width:0;display:flex}.app-header-brand{color:var(--green);white-space:nowrap;font-family:Georgia,serif;font-size:26px;font-weight:700;text-decoration:none;transition:color .16s,opacity .16s}.app-header-separator{background:var(--line);flex:0 0 1px;width:1px;height:28px}.app-header-family{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.app-header-search{border:1px solid var(--line);background:#fffdf7e6;border-radius:14px;align-items:center;gap:10px;min-width:0;height:46px;padding:0 15px;display:flex}.app-header-search>span{color:var(--muted);flex:none;place-items:center;font-size:18px;line-height:1;display:grid}.app-header-search>span svg{width:18px;height:18px;display:block}.app-header-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.global-search{z-index:20;min-width:0;position:relative}.global-search-mobile-trigger{display:none}.global-search>.app-header-search{width:100%}.global-search-results{z-index:30;border:1px solid var(--line);background:var(--bg);border-radius:14px;max-height:min(420px,65vh);padding:12px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #00000024}.global-search-results h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:4px 8px 8px;font-size:12px;font-weight:700}.global-search-results ul{margin:0;padding:0;list-style:none}.global-search-results li+li{margin-top:2px}.global-search-results a{color:var(--ink);border-radius:8px;padding:10px 12px;text-decoration:none;display:block}.global-search-results a:hover,.global-search-results a:focus-visible{background:var(--green-soft)}.global-search-results section+section{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.global-search-results p{color:var(--muted);margin:0;padding:10px 12px}.app-header-actions{align-items:center;gap:8px;display:flex}.app-header-action{border:1px solid var(--line);background:var(--surface);height:42px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex}.app-header-action:hover{border-color:var(--green);background:var(--green);color:#fff;transform:none;box-shadow:0 4px 10px #1f5a4024}.create-menu{position:relative}.create-menu--primary{display:none}.create-menu--primary>.app-header-action{border-color:var(--green);background:var(--green);color:#fff;min-height:46px;box-shadow:0 4px 12px #1f5a401f}.create-menu--primary>.app-header-action:hover{border-color:var(--green);background:var(--green);color:#fff}@media (max-width:760px){.create-menu--primary{display:block}}@media (max-width:720px){.welcome-row>.create-menu--primary{width:100%}.create-menu--primary>.app-header-action{width:100%;min-height:48px}.create-menu--primary .create-menu-panel{box-sizing:border-box;width:100%;left:0;right:auto}}.create-menu-chevron{margin-left:2px;font-size:11px;transition:transform .16s}.create-menu-chevron.open{transform:rotate(180deg)}.create-menu-panel{z-index:60;border:1px solid var(--line);background:var(--surface);border-radius:15px;gap:4px;width:270px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px #1f30271f}.create-menu-panel a{color:var(--ink);border-radius:10px;gap:3px;padding:11px 12px;text-decoration:none;transition:background .16s,color .16s;display:grid}.create-menu-panel a:hover{background:var(--green-soft);color:var(--green)}.create-menu-panel strong{font-size:14px}.create-menu-panel small{color:var(--muted);font-size:12px;font-weight:500;line-height:1.35}.app-header-account{justify-content:flex-end;align-items:center;display:flex}.account-menu{position:relative}.app-header-avatar{background:var(--ochre);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:13px;font-weight:800;text-decoration:none;display:grid}.account-menu-panel{z-index:50;border:1px solid var(--line);background:var(--surface);border-radius:15px;gap:5px;width:210px;padding:14px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px #1f30271f}.account-menu-panel strong{color:var(--ink);font-size:14px}.account-menu-panel>span{color:var(--muted);font-size:12px}.account-menu-link{color:var(--muted);border-radius:9px;margin-top:8px;padding:9px 10px;font-size:13px;font-weight:700;text-decoration:none}.account-menu-link:hover{background:var(--green-soft);color:var(--green)}.account-menu-panel form{border-top:1px solid var(--line);margin:8px 0 0;padding-top:8px}.account-menu-panel button{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 10px;font-size:13px;font-weight:700}.account-menu-panel button:hover{background:var(--green-soft);color:var(--green)}@media (max-width:1100px){.app-header{grid-template-columns:minmax(180px,1fr) auto auto}.app-header-search,.global-search{display:none}}@media (max-width:760px){.app-header{align-items:center;gap:12px;min-height:78px;display:flex}.app-header-identity{margin-right:auto}.app-header-separator,.app-header-family{display:none}.app-header-brand{font-size:23px}.app-header-actions{flex:none;display:flex}.app-header-actions--mobile-hidden,.app-header-actions:empty{display:none}.app-header-actions .create-menu>.app-header-action{border-color:var(--green);background:var(--green);color:#fff;width:42px;height:42px;padding:0;font-size:23px}.app-header-actions .create-menu>.app-header-action span:not(:first-child){display:none}.app-header-actions .create-menu-panel{width:min(270px,100vw - 36px);right:-56px}.app-header-account{flex:none}.app-header--demo{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand search account""actions actions actions";align-items:center;gap:12px 10px;padding-top:12px;padding-bottom:14px;display:grid}.app-header--demo .app-header-identity{grid-area:brand;min-width:0}.app-header--demo .app-header-brand{text-overflow:clip;font-size:23px;overflow:visible}.app-header--demo .app-header-actions{grid-area:actions;width:100%;min-width:0}.app-header--demo .app-header-actions>.primary-button{box-sizing:border-box;justify-content:center;align-items:center;width:100%;display:flex}.app-header--demo .global-search{grid-area:search;min-width:0}.app-header--demo .app-header-identity{grid-area:brand}.app-header--demo .app-header-account{grid-area:account}.app-header--demo .app-header-actions{grid-area:actions}}.timeline-full-page{padding-bottom:48px}.timeline-full-heading{justify-content:space-between;align-items:flex-end;gap:32px;padding-top:26px;display:flex}.timeline-full-heading>.stat-pill{white-space:nowrap;flex:none}@media (min-width:761px) and (max-width:850px) and (orientation:portrait){.timeline-full-heading{align-items:flex-start;gap:20px}.timeline-full-heading>div{flex:auto;min-width:0}.timeline-full-heading>.stat-pill{align-self:flex-end}}@media (max-width:760px) and (orientation:portrait){.timeline-full-heading{flex-direction:column;align-items:flex-start;gap:16px}.timeline-full-heading>div{width:100%;min-width:0}.timeline-full-heading>.stat-pill{white-space:nowrap;align-self:flex-start}}.timeline-full-heading>div{gap:10px;display:grid}.timeline-full-heading h2,.timeline-full-heading p{margin:0}.timeline-full-panel{padding:34px 38px;overflow:hidden}.timeline-history{gap:0;width:75%;max-width:1120px;margin:0 auto;display:grid;position:relative}.timeline-history-events{gap:10px;display:grid}.timeline-history-event{border:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;background:#ffffff59;border-radius:14px;grid-template-columns:14px minmax(0,1fr);gap:12px;padding:13px 16px;display:grid;position:relative}.timeline-history-memory,.timeline-history-birth,.timeline-history-death{grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:78px}.timeline-memory-media{border:1px solid var(--line);background:var(--green-soft);border-radius:10px;place-items:center;width:58px;height:58px;display:grid;position:relative;overflow:hidden}.timeline-memory-image,.timeline-memory-video{object-fit:cover;width:100%;height:100%;display:block}.timeline-memory-play{width:26px;height:26px;color:var(--green);background:#ffffffe0;border-radius:50%;place-items:center;padding-left:2px;font-size:10px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.timeline-memory-document{color:var(--green);letter-spacing:.08em;font-size:11px;font-weight:800}.timeline-memory-audio{align-items:center;gap:3px;height:28px;display:flex}.timeline-memory-audio i{background:var(--green);border-radius:999px;width:3px}.timeline-memory-audio i:first-child,.timeline-memory-audio i:nth-child(5){height:10px}.timeline-memory-audio i:nth-child(2),.timeline-memory-audio i:nth-child(4){height:20px}.timeline-memory-audio i:nth-child(3){height:28px}.timeline-memory-fallback{color:var(--green);font-size:18px;font-weight:700}.timeline-memory-file{opacity:.75;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-history-event:not(:disabled){cursor:pointer}.timeline-history-event:not(:disabled):hover{background:var(--surface);transform:translateY(-1px);box-shadow:0 8px 22px #2a372d12}.timeline-history-event:disabled{opacity:1;cursor:default}.timeline-history-event-dot{background:currentColor;border-radius:50%;width:9px;height:9px;margin-top:5px}.timeline-history-event-content{gap:3px;display:grid}.timeline-history-type{letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.timeline-history-event-content strong{color:var(--ink);font-size:14px;line-height:1.3}.timeline-history-event-content small{color:var(--muted);font-size:12px}.timeline-history-birth{color:var(--green)}.timeline-history-death{color:#846b62}.timeline-history-memory{color:#ad6f3d}.timeline-period{border-top:1px solid var(--line)}.timeline-period:first-child{border-top:0}.timeline-period-summary{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:18px 8px;display:flex}.timeline-period-summary:hover{background:var(--green-soft)}.timeline-period-main{align-items:baseline;gap:12px;min-width:0;display:flex}.timeline-period-main strong{color:var(--green);letter-spacing:.01em;font-size:17px}.timeline-period-main small{color:var(--muted);font-size:12px}.timeline-period-toggle,.timeline-year-toggle{background:var(--green-soft);color:var(--green);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.timeline-period-toggle{width:28px;height:28px;font-size:17px}.timeline-period-years{border-left:1px solid var(--line);margin:0 8px 18px 38px;padding-left:26px}.timeline-year-group{border-top:1px solid var(--line)}.timeline-year-group:first-child{border-top:0}.timeline-year-summary{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 8px;display:flex}.timeline-year-summary:hover{background:var(--green-soft)}.timeline-year-summary>span:first-child{align-items:baseline;gap:10px;display:flex}.timeline-year-summary strong{color:var(--ink);font-size:14px}.timeline-year-summary small{color:var(--muted);font-size:11px}.timeline-year-toggle{width:24px;height:24px;font-size:15px}.timeline-year-group>.timeline-history-events{padding:2px 8px 14px}@media (max-width:760px){.timeline-period-summary{padding:16px 4px}.timeline-period-main{gap:4px;display:grid}.timeline-period-years{margin-left:10px;padding-left:12px}.timeline-year-summary{padding-inline:4px}}.timeline-full-panel .timeline-preview-legend{border-top:1px solid var(--line);max-width:980px;margin:32px auto 0;padding-top:18px}@media (max-width:760px){.timeline-full-panel{padding:24px 18px}.timeline-history-events{padding-top:28px}}.timeline-preview{width:100%;height:360px;margin-top:20px;position:relative}.timeline-preview-axis{background:#2c4c3d40;height:1px;position:absolute;top:50%;left:5%;right:5%}.timeline-preview-event{width:0;height:0;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;top:50%}.timeline-preview-dot{background:var(--bg);z-index:2;border:2px solid;border-radius:50%;width:11px;height:11px;transition:background-color .16s,transform .16s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.timeline-preview-event:hover .timeline-preview-dot,.timeline-preview-event:focus-visible .timeline-preview-dot{background:currentColor;transform:translate(-50%,-50%)scale(1.25)}.timeline-preview-event:before{content:"";background:#2c4c3d33;width:1px;height:42px;position:absolute;left:0;transform:translate(-50%)}.timeline-preview-top:before{bottom:6px}.timeline-preview-bottom:before{top:6px}.timeline-preview-card{text-align:center;flex-direction:column;gap:3px;width:120px;transition:transform .16s,all;display:flex;position:absolute;left:0;transform:translate(-50%)}.timeline-preview-top .timeline-preview-card{bottom:54px}.timeline-preview-bottom .timeline-preview-card{top:54px}.timeline-preview-year{color:currentColor;font-size:12px;line-height:1}.timeline-preview-title{font-size:12px;font-weight:600;line-height:1.2;display:block}.timeline-preview-card small{color:var(--muted);font-size:11px;line-height:1.2;display:block}.timeline-preview-birth{color:var(--green)}.timeline-preview-death{color:#846b62}.timeline-preview-memory{color:#ad6f3d}.timeline-preview-top:hover .timeline-preview-card,.timeline-preview-top:focus-visible .timeline-preview-card{transform:translate(-50%)translateY(-3px)scale(1.03)}.timeline-preview-bottom:hover .timeline-preview-card,.timeline-preview-bottom:focus-visible .timeline-preview-card{transform:translate(-50%)translateY(3px)scale(1.03)}.timeline-preview-legend{color:var(--muted);align-items:center;gap:22px;margin-top:8px;margin-bottom:20px;font-size:12px;display:flex}.timeline-preview-legend span{align-items:center;gap:7px;display:inline-flex}.legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.legend-birth{background:#087c83}.legend-death{background:#c05232}.legend-memory{background:#7350a2}.app-header-brand:hover{color:var(--ochre)}.person-profile{gap:28px;padding-bottom:32px;display:grid}.person-profile-header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:4px 0 24px;display:grid}.person-profile-header .directory-avatar{width:68px;height:68px;font-size:20px}.person-profile-identity h2{margin:0;font-family:Georgia,serif;font-size:28px}.person-profile-identity>p:last-child{color:var(--muted);margin:6px 0 0}.person-profile-actions{align-items:center;gap:8px;display:flex}.person-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 16px;display:grid}.person-profile-grid>div{border:1px solid var(--line);background:#ffffff4d;border-radius:12px;gap:6px;min-width:0;padding:16px;display:grid}.person-profile-grid span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.person-profile-grid strong{font-size:14px;line-height:1.4}.person-profile-biography{border-top:1px solid var(--line);padding-top:24px}.person-profile-biography>p:last-child{max-width:760px;color:var(--ink);white-space:pre-wrap;margin:0;line-height:1.7}@media (max-width:900px){.person-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.person-profile-header{grid-template-columns:auto minmax(0,1fr)}.person-profile-actions{grid-column:1/-1}.person-profile-grid{grid-template-columns:1fr}}.person-action-view{border-color:var(--green);background:var(--green);color:#fff}.person-action-view:hover{background:var(--green);color:#fff;box-shadow:0 5px 14px #1f4e3929}.person-action-edit:hover,.person-action-back:hover{border-color:var(--green);background:var(--green-soft);color:var(--green)}.person-action-archive{background:var(--surface);color:#9b4438;cursor:pointer;border-color:#9b443873}.person-action-archive:hover{color:#8a392f;background:#9b443812;border-color:#9b4438}.person-panel-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#161d188f;justify-content:flex-end;padding:22px;display:flex;position:fixed;inset:0}.person-panel{background:var(--surface);border:1px solid #1f30271f;border-radius:24px;flex-direction:column;width:min(680px,100vw - 44px);height:calc(100vh - 44px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #121b163d}.person-panel-close{z-index:2;border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);border-radius:50%;place-items:center;font-size:25px;line-height:1;text-decoration:none;display:grid;position:absolute;top:18px;right:18px}.person-panel-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:28px 72px 22px 28px;display:grid}.person-panel-avatar{width:92px;height:92px;color:var(--green);background:#dce7dc;border-radius:50%;place-items:center;font-size:28px;font-weight:800;display:grid;overflow:hidden}.person-panel-avatar-image{border-radius:inherit;object-fit:cover;object-position:center;width:100%;height:100%;display:block}.person-panel-heading{min-width:0}.person-panel-heading .eyebrow{margin-bottom:5px}.person-panel-heading h1{margin:0;font-family:Georgia,serif;font-size:clamp(28px,3vw,38px);line-height:1.05}.person-panel-nickname{color:var(--muted);margin:5px 0 0}.person-panel-summary{color:var(--muted);flex-wrap:wrap;gap:5px 16px;margin-top:10px;font-size:13px;display:flex}.person-panel-edit{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.person-panel-edit:hover{border-color:var(--green);background:var(--green-soft);color:var(--green)}.person-panel-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0 28px;display:grid}.person-panel-tabs button{color:var(--muted);font:inherit;background:0 0;border:0;padding:14px 8px;font-size:13px;font-weight:700;position:relative}.person-panel-tabs button.active{color:var(--green)}.person-panel-tabs button.active:after{content:"";background:var(--green);border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:-1px;left:6px;right:6px}.person-panel-tabs button:disabled{cursor:default;opacity:.58}.person-panel-content{gap:14px;min-height:0;padding:20px 28px 28px;display:grid;overflow-y:auto}.person-panel-section{border:1px solid var(--line);background:#ffffff3d;border-radius:15px;overflow:hidden}.person-panel-section-title{border-bottom:1px solid #1f302714;align-items:center;gap:11px;padding:14px 16px;display:flex}.person-panel-section-title>span{width:25px;height:25px;color:var(--green);place-items:center;font-size:20px;display:grid}.person-panel-section-title h2{margin:0;font-family:Georgia,serif;font-size:20px}.person-panel-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 0;display:grid}.person-panel-fields-3{grid-template-columns:repeat(3,minmax(0,1fr))}.person-panel-fields>div{gap:5px;min-width:0;padding:13px 16px;display:grid}.person-panel-fields>div+div{border-left:1px solid #1f302714}.person-panel-fields span{color:var(--muted);font-size:12px}.person-panel-fields strong{color:var(--ink);font-family:Georgia,serif;font-size:15px;line-height:1.35}.person-panel-biography{color:var(--muted);white-space:pre-wrap;margin:0;padding:15px 16px 18px;line-height:1.6}.person-panel-footer{border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding:15px 28px;display:flex}.person-panel-footer>div{color:var(--muted);gap:2px;font-size:11px;display:grid}@media (max-width:760px){.person-panel-backdrop{padding:0}.person-panel{border:0;border-radius:0;width:100%;height:100%}.person-panel-header{grid-template-columns:auto minmax(0,1fr);padding:24px 58px 20px 20px}.person-panel-avatar{width:66px;height:66px;font-size:21px}.person-panel-edit{grid-column:1/-1;justify-self:start}.person-panel-tabs{margin:0 20px;overflow-x:auto}.person-panel-content{padding:18px 20px 24px}.person-panel-fields,.person-panel-fields-3{grid-template-columns:1fr}.person-panel-fields>div+div{border-top:1px solid #1f302714;border-left:0}.person-panel-footer{padding:14px 20px}}.person-panel-backdrop{justify-content:center;align-items:center;padding:24px}.person-panel.person-preview-card{border-radius:22px;grid-template-columns:minmax(250px,.85fr) minmax(420px,1.35fr);width:min(900px,100vw - 48px);height:min(720px,100dvh - 48px);max-height:min(720px,100dvh - 48px);display:grid;overflow:hidden}.person-preview-portrait{background:linear-gradient(#26563d0f,#26563d1f),repeating-linear-gradient(135deg,#0000 0 18px,#ffffff29 18px 19px),#dce7dc;flex-direction:column;justify-content:space-between;min-width:0;padding:42px 34px 32px;display:flex}.person-preview-portrait-main{align-content:start;justify-items:start;display:grid}.person-preview-card .person-panel-avatar{width:88px;height:88px;margin-bottom:26px;font-size:27px}.person-preview-role{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.person-preview-card h1{margin:0;font-family:Georgia,serif;font-size:clamp(30px,3vw,42px);line-height:1.02}.person-preview-card .person-panel-nickname{margin-top:8px}.person-preview-summary{color:var(--muted);gap:5px;margin-top:22px;font-size:13px;display:grid}.person-preview-quote{color:#1f3027ad;margin-top:48px;font-family:Georgia,serif;font-size:15px;font-style:italic;line-height:1.5}.person-preview-details{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.person-preview-card .person-panel-tabs{flex:none;margin:22px 24px 0}.person-preview-content{gap:10px;width:100%;min-width:0;min-height:0;padding:16px 24px;display:grid;overflow:hidden auto}.person-preview-relations{align-content:start;gap:14px;display:grid}.person-preview-content>*{min-width:0}.person-preview-block{border:1px solid var(--line);background:#ffffff38;border-radius:13px;overflow:hidden}.person-preview-block-title{border-bottom:1px solid #1f302714;align-items:center;gap:9px;padding:10px 13px;display:flex}.person-preview-block-title>span{color:var(--green);font-size:16px}.person-preview-block-title h2{margin:0;font-family:Georgia,serif;font-size:17px}.person-preview-fields{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.person-preview-fields-3{grid-template-columns:repeat(3,minmax(0,1fr))}.person-preview-fields>div{gap:3px;min-width:0;padding:10px 13px;display:grid}.person-preview-fields>div+div{border-left:1px solid #1f302714}.person-preview-fields span{color:var(--muted);font-size:10px}.person-preview-fields strong{color:var(--ink);font-family:Georgia,serif;font-size:13px;line-height:1.3}.person-preview-card .person-panel-biography{padding:11px 13px 13px;font-size:13px;line-height:1.45}.person-preview-actions{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding:14px 24px 18px;display:flex}.person-preview-tree{margin-left:auto}@media (max-width:800px){.person-panel.person-preview-card{border-radius:18px;grid-template-columns:1fr;width:min(560px,100vw - 24px);max-height:calc(100vh - 24px)}.person-preview-portrait{padding:26px 24px 22px}.person-preview-card .person-panel-avatar{width:68px;height:68px;margin-bottom:16px;font-size:21px}.person-preview-quote{display:none}.person-preview-summary{margin-top:12px}}@media (min-width:561px) and (max-width:800px) and (orientation:portrait){.person-panel.person-preview-card{grid-template-rows:max-content minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:min(560px,100vw - 24px);height:min(850px,100dvh - 32px);max-height:min(850px,100dvh - 32px)}.person-preview-portrait{min-height:0;padding:12px 48px 12px 20px}.person-preview-portrait-main{grid-template-columns:52px minmax(0,1fr);align-content:start;align-items:start;gap:2px 12px;display:grid}.person-preview-portrait-main>.person-panel-avatar,.person-preview-portrait-main>.person-preview-photo{grid-area:1/1/span 5;align-self:start}.person-preview-card .person-preview-portrait .person-panel-avatar,.person-preview-portrait-main>.person-preview-photo{width:52px;height:52px;margin:0}.person-preview-portrait h1{font-size:23px;line-height:1.05}.person-preview-portrait .eyebrow{margin-bottom:3px}.person-preview-card .person-panel-nickname{margin-top:3px}.person-preview-quote{display:none}.person-preview-summary{gap:2px;margin-top:2px}.person-preview-details{min-height:0;overflow:hidden}.person-preview-content{overscroll-behavior-y:contain;flex-direction:column;flex:auto;align-items:stretch;min-height:0;display:flex;overflow-y:auto}.person-preview-content>*{flex-shrink:0}}@media (max-width:560px){.person-panel-backdrop{padding:0}.person-panel.person-preview-card{border:0;border-radius:0;width:100%;max-height:100vh}.person-preview-fields,.person-preview-fields-3{grid-template-columns:1fr}.person-preview-fields>div+div{border-top:1px solid #1f302714;border-left:0}.person-preview-actions{flex-wrap:wrap}.person-preview-tree{margin-left:0}}.person-preview-card{font-family:Arial,Helvetica,sans-serif}.person-preview-portrait{position:relative}.person-preview-portrait .person-panel-avatar{letter-spacing:.02em;border:1px solid #1f4e391a;width:64px;height:64px;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:21px;font-weight:800}.person-preview-role{letter-spacing:.14em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:700}.person-preview-portrait h1{letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,3vw,38px);font-weight:700;line-height:1.02}.person-panel-nickname,.person-preview-summary{font-family:Arial,Helvetica,sans-serif}.person-preview-quote{font-family:Georgia,Times New Roman,serif;font-size:14px;font-style:italic;line-height:1.45}.person-preview-card .person-panel-close{background:#fffdf8f0;border-color:#1f302729;width:34px;height:34px;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:400;transition:background .16s,border-color .16s,transform .16s;top:14px;right:14px}.person-preview-card .person-panel-close:hover{border-color:var(--green);background:var(--green-soft);transform:rotate(4deg)}.person-preview-card .person-panel-tabs{padding-right:46px}.person-preview-card .person-panel-tabs button{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600}.person-preview-block{box-shadow:none;border-color:#1f302724}.person-preview-block-title{min-height:42px}.person-preview-block-title h2{font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:700;line-height:1.15}.person-preview-fields span{color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:400}.person-preview-fields strong{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;line-height:1.35}.person-panel-biography{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5}.person-preview-actions{align-items:center;gap:12px}.person-preview-actions-secondary{align-items:center;gap:8px;display:flex}.person-preview-actions .person-action-button{border-radius:9px;min-height:36px;padding:8px 13px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700}.person-preview-actions .person-action-edit{border-color:var(--line);background:var(--surface);color:var(--ink)}.person-preview-actions .person-action-archive{color:#9b4438;background:0 0;border-color:#9b44386b}.person-preview-actions .person-preview-tree{border-color:var(--green);background:var(--green);color:#fff;margin-left:auto}.person-preview-portrait{padding:40px 32px 30px}.person-preview-card .person-preview-portrait .person-panel-avatar{color:#fff;letter-spacing:.03em;width:58px;height:58px;box-shadow:none;border:0;border-radius:50%;margin:0 0 22px;font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:800}.person-preview-portrait .eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800;line-height:1.2}.person-preview-portrait h1{margin:0;line-height:1.02}.person-preview-nickname{margin:7px 0 0}.person-preview-summary{margin-top:18px}.person-preview-photo{aspect-ratio:1;background:#ffffff52;border:1px solid #1f4e3924;border-radius:12px;justify-self:center;width:min(100%,210px);margin-top:22px;overflow:hidden;box-shadow:0 8px 24px #22302714}.person-preview-photo img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.person-color-green{background:var(--green);color:#fff}.person-color-blue{color:#fff;background:#557f8e}.person-color-ochre{background:var(--ochre);color:#fff}.person-color-rose{color:#fff;background:#a77770}.person-management-card.archived .directory-avatar{color:#fff;background:#8e988c}.person-management-card.archived .directory-avatar-image{filter:grayscale()}.directory-avatar,.person-panel-avatar{border-radius:50%}.person-preview-portrait.person-preview-tone-green{background:linear-gradient(#26563d0f,#26563d1f),repeating-linear-gradient(135deg,#0000 0 18px,#ffffff29 18px 19px),#dce7dc}.person-preview-portrait.person-preview-tone-blue{background:linear-gradient(#557f8e0f,#557f8e1f),repeating-linear-gradient(135deg,#0000 0 18px,#ffffff29 18px 19px),#dce7eb}.person-preview-portrait.person-preview-tone-ochre{background:linear-gradient(#be7d260f,#be7d261f),repeating-linear-gradient(135deg,#0000 0 18px,#ffffff29 18px 19px),#eee0c8}.person-preview-portrait.person-preview-tone-rose{background:linear-gradient(#a777700f,#a777701f),repeating-linear-gradient(135deg,#0000 0 18px,#ffffff29 18px 19px),#ead8d4}.person-panel-backdrop{position:fixed}.person-panel-backdrop-close{z-index:0;position:absolute;inset:0}.person-panel.person-preview-card{z-index:1;position:relative}.person-preview-card .memory-art{padding:16px}.person-preview-card .memory-art-overlay>span{transform:translateY(-8px)}.person-preview-card .memory-art-overlay>strong{transform:translateY(12px)}.person-date-parts,.person-date-year-only{align-items:center;gap:7px;width:100%;min-width:0;display:grid}.person-date-parts-exact{grid-template-columns:minmax(54px,.65fr) auto minmax(92px,1.25fr) auto minmax(76px,.85fr) 42px}.person-date-parts-month{grid-template-columns:minmax(100px,1.35fr) auto minmax(76px,.85fr) 42px}.person-date-year-only{grid-template-columns:minmax(90px,150px) 42px;justify-content:start}.person-date-parts input,.person-date-parts select,.person-date-year-only input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;max-width:100%;height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:12px}.person-date-parts input,.person-date-year-only input{text-align:center;padding:0 10px}.person-date-parts select{text-align:left;cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:0 30px 0 12px}.person-date-parts select option{text-align:left}.person-date-parts input:focus,.person-date-parts select:focus,.person-date-year-only input:focus{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);outline-offset:1px;border-color:var(--green)}.person-date-reset{border:1px solid var(--line);width:42px;min-width:42px;height:42px;color:var(--muted);font:inherit;cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:400;line-height:1;transition:border-color .16s,color .16s,background-color .16s;display:inline-flex}.person-date-reset:hover:not(:disabled){border-color:var(--green);background:color-mix(in srgb, var(--green) 5%, white);color:var(--green)}.person-date-reset:focus-visible{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);outline-offset:1px;border-color:var(--green)}.person-date-reset:disabled{visibility:hidden}.account-page{max-width:860px}.account-message{border:1px solid var(--line);background:var(--green-soft);color:var(--green);border-radius:12px;margin:0 0 1.25rem;padding:.85rem 1rem;font-weight:700}.account-section{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.account-page{gap:20px;display:grid}.account-section-heading{border-bottom:1px solid var(--line);padding:1.4rem 1.5rem}.account-section-heading h2{color:var(--ink);margin:0 0 .35rem;font-size:1.35rem}.account-section-heading p{color:var(--muted);margin:0;line-height:1.5}.account-form{padding:1.5rem}.account-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.account-form label{gap:.45rem;display:grid}.account-form label>span{color:var(--ink);font-size:.9rem;font-weight:750}.account-form input{box-sizing:border-box;border:1px solid var(--line);background:var(--page);width:100%;color:var(--ink);font:inherit;border-radius:12px;padding:.8rem .9rem}.account-form input:focus{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);outline-offset:1px;border-color:var(--green)}.account-form input[readonly]{color:var(--muted);cursor:default}.account-form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.account-form-footer p{color:var(--muted);margin:0;font-size:.9rem}.account-form-footer strong{color:var(--ink)}.account-form-footer button{background:var(--green);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:12px;padding:.8rem 1.1rem;font-weight:750}.account-form-footer button:hover{opacity:.9}@media (max-width:700px){.account-form-grid{grid-template-columns:1fr}.account-form-footer{flex-direction:column;align-items:stretch}.account-form-footer button{width:100%}}.invitation-primary-link{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.timeline-decade-group{border-top:1px solid var(--line)}.timeline-decade-group:first-child{border-top:0}.timeline-decade-summary,.timeline-month-summary{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;display:flex}.timeline-decade-summary{padding:13px 8px}.timeline-decade-summary:hover,.timeline-month-summary:hover{background:var(--green-soft)}.timeline-decade-summary>span:first-child,.timeline-month-summary>span:first-child{align-items:baseline;gap:10px;display:flex}.timeline-decade-summary strong{color:var(--green);font-size:14px}.timeline-decade-summary small,.timeline-month-summary small{color:var(--muted);font-size:11px}.timeline-decade-toggle,.timeline-month-toggle{background:var(--green-soft);color:var(--green);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.timeline-decade-toggle{width:24px;height:24px;font-size:15px}.timeline-decade-years{border-left:1px solid var(--line);margin-left:20px;padding-left:18px}.timeline-year-content{border-left:1px solid var(--line);margin:0 8px 14px 20px;padding-left:18px}.timeline-month-group{position:relative}.timeline-month-summary{z-index:1;position:relative}.timeline-month-toggle{z-index:2;position:relative}.timeline-month-summary{padding:11px 8px}.timeline-month-summary strong{color:var(--ink);font-size:13px;font-weight:600}.timeline-month-toggle{width:22px;height:22px;font-size:14px}.timeline-month-group>.timeline-history-events{padding:4px 0 14px}.timeline-history-event-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.timeline-event-day{background:var(--green-soft);min-width:28px;color:var(--ochre);font-variant-numeric:tabular-nums;border-radius:7px;flex:none;justify-content:center;align-items:center;padding:3px 7px;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}@media (max-width:760px){.timeline-decade-years{margin-left:8px;padding-left:10px}.timeline-year-content{margin-left:4px;padding-left:10px}.timeline-decade-summary,.timeline-month-summary{padding-inline:4px}.timeline-event-day{flex-basis:28px}}.invite-feedback{border-left:3px solid var(--forest);color:var(--ink);background:#31533b0f;border-radius:10px;margin:0;padding:12px 16px;font-size:.95rem;line-height:1.5}.control-chevron{width:7px;height:7px;color:var(--muted);border-bottom:1.5px solid;border-right:1.5px solid;flex:0 0 7px;transition:transform .16s;transform:rotate(45deg)translateY(-2px)}.control-chevron.is-open{transform:rotate(225deg)translate(-2px,-2px)}.family-date-picker{position:relative}.family-date-trigger{border:1px solid var(--line);background:var(--bg);width:100%;min-height:42px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.family-date-trigger:disabled{cursor:default;opacity:.7}.family-date-trigger-value{font-weight:600}.family-date-trigger-placeholder{color:var(--muted)}.family-date-calendar-icon{flex:none;width:18px;height:18px}.family-date-popover{z-index:60;border:1px solid var(--line);background:var(--bg);border-radius:12px;width:min(310px,100vw - 40px);padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #00000024}.family-date-calendar-header{justify-content:space-between;align-items:center;gap:8px;min-height:38px;margin-bottom:8px;display:flex}.family-date-calendar-header button,.family-date-calendar-navigation button,.family-date-calendar-footer button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.family-date-calendar-title{font-weight:700}.family-date-calendar-navigation{gap:4px;display:flex}.family-date-calendar-navigation button,.family-date-calendar-header>button{border-radius:8px;min-width:36px;min-height:36px}.family-date-weekdays,.family-date-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.family-date-weekdays{margin-bottom:4px}.family-date-weekdays span{min-height:28px;color:var(--muted);place-items:center;font-size:.75rem;display:grid}.family-date-option{min-width:0;min-height:34px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0}.family-date-months,.family-date-years{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.family-date-month,.family-date-year{background:var(--surface);min-height:38px;color:inherit;cursor:pointer;border:0;border-radius:8px}.family-date-option:hover,.family-date-month:hover,.family-date-year:hover,.family-date-calendar-header button:hover{background:var(--surface)}.family-date-option.is-selected,.family-date-month.is-selected,.family-date-year.is-selected{background:var(--green);color:#fff;font-weight:700}.family-date-calendar-footer{border-top:1px solid var(--line);justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;display:flex}.family-date-calendar-footer button{min-height:34px;color:var(--green);font-weight:600}select:not([multiple]){appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}select:not([multiple]):focus-visible{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);outline-offset:1px;border-color:var(--green)}@media (max-width:760px){html,body{width:100%;max-width:100%;overflow-x:hidden}body{min-height:100dvh}.app-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;min-height:70px}.app-header-identity{min-width:0}.app-header-brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:22px;overflow:hidden}.app-header-account{min-width:44px}.panel,.tree-canvas,.person-drawer{min-width:0;max-width:100%}.welcome-row h2{font-size:clamp(30px,9vw,38px)}.tree-layout{width:100%;min-width:0}.tree-canvas{width:100%;min-height:520px;padding:16px}.full-tree{overscroll-behavior-x:contain;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;width:100%;height:460px;overflow:auto hidden}.memory-grid{grid-template-columns:1fr}.modal-backdrop{padding:0}.memory-dialog{overscroll-behavior:contain;border-radius:0;grid-template-columns:1fr;width:100%;max-width:none;height:100dvh;max-height:100dvh;overflow:hidden auto}.memory-dialog.is-editing{height:100dvh}.dialog-art{min-height:220px}.dialog-content{min-width:0;padding:28px 18px 22px;overflow:visible}.memory-dialog-actions{grid-template-columns:1fr}.add-dialog{width:100%;max-width:none;min-height:100dvh;max-height:100dvh;padding:28px 18px calc(24px + env(safe-area-inset-bottom));border-radius:0}.form-grid,.management-form-grid,.account-form-grid,.relationship-date-grid{grid-template-columns:1fr}.form-grid>*,.management-form-grid>*,.account-form-grid>*,.relationship-form>*{min-width:0}input,select,textarea,button{max-width:100%}.person-panel-backdrop{padding:0}.person-panel,.person-panel.person-preview-card{border:0;border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.person-preview-card{overflow-y:auto}.person-preview-actions{padding:14px 18px calc(16px + env(safe-area-inset-bottom));gap:8px}.person-preview-actions-secondary{flex-wrap:wrap}}@media (max-width:560px) and (orientation:portrait){.person-panel.person-preview-card{grid-template-rows:max-content minmax(0,1fr)}.person-preview-card .person-panel-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:16px;min-width:0;margin:12px 16px 0;padding:0 0 1px;display:flex;overflow:auto hidden}.person-preview-card .person-panel-tabs::-webkit-scrollbar{display:none}.person-preview-card .person-panel-tabs button{white-space:nowrap;flex:none;padding:12px 4px;font-size:12px}.person-preview-portrait{padding:16px 46px 16px 16px}.person-preview-portrait-main{grid-template-columns:72px minmax(0,1fr);align-content:start;place-items:start stretch;gap:4px 12px;display:grid}.person-preview-portrait-main>.person-panel-avatar,.person-preview-portrait-main>.person-preview-photo{grid-area:1/1/span 4;align-self:start}.person-preview-card .person-preview-portrait .person-panel-avatar{width:72px;height:72px;margin:0}.person-preview-portrait-main>.person-preview-photo{justify-self:start;width:72px;height:72px;margin:0}.person-preview-portrait-main:has(>.person-preview-photo)>.person-panel-avatar{display:none}.person-preview-portrait-main>.person-preview-role,.person-preview-portrait-main>h1,.person-preview-portrait-main>.person-panel-nickname,.person-preview-portrait-main>.person-preview-summary{grid-column:2;min-width:0}.person-preview-portrait-main>.person-preview-role{margin:0}.person-preview-portrait-main>h1{overflow-wrap:anywhere;font-size:clamp(22px,6vw,28px)}.person-preview-portrait-main>.person-panel-nickname{margin:0}.person-preview-portrait-main>.person-preview-summary{margin:2px 0 0;font-size:11px}.person-preview-memories .person-memory-carousel-counter{grid-area:2/2;place-self:center;margin:0;font-size:12px}.person-preview-content{flex-direction:column;flex:auto;align-items:stretch;min-height:0;display:flex;overflow-y:auto}.person-preview-content>*{flex-shrink:0}.person-preview-memories{width:100%;min-width:0}.person-preview-memories .person-memory-carousel{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;width:100%;padding-inline:0;display:grid}.person-preview-memories .person-memory-carousel-viewport{grid-area:1/1/auto/-1;min-width:0}.person-preview-memories .person-memory-carousel-track{gap:10px}.person-preview-memories .person-memory-carousel-item{flex:0 0 100%;min-width:100%;max-width:100%}.person-preview-memories .person-memory-carousel-arrow{border-radius:12px;width:44px;height:44px;padding:0;font-size:26px;position:static;transform:none}.person-preview-memories .person-memory-carousel-arrow-left{grid-area:2/1}.person-preview-memories .person-memory-carousel-arrow-right{grid-area:2/3}.person-preview-memories .person-memory-carousel-arrow:active{transform:scale(.96)}}@media (max-width:430px){.app-header-brand{font-size:20px}.panel,.tree-canvas,.person-drawer{border-radius:16px}.person-node{width:132px;min-width:132px}.dialog-content h2,.add-dialog h2{font-size:27px}.person-preview-actions{padding:10px 12px calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.person-preview-actions-secondary{display:contents}.person-preview-actions-secondary>form{min-width:0;display:flex}.person-preview-actions-secondary>form>button{width:100%}.person-preview-actions .person-action-button{text-align:center;white-space:normal;justify-content:center;align-items:center;min-height:48px;padding:10px 8px;font-size:13px;line-height:1.25;display:flex}.person-preview-actions .person-preview-tree{grid-area:1/1/auto/-1;width:100%;margin-left:0}.person-memory-carousel-counter{text-align:center;font-variant-numeric:tabular-nums;color:var(--green);opacity:.8;margin-top:10px;font-size:12px}}.timeline-preview--horizontal .timeline-preview-card{box-sizing:border-box;width:144px;height:96px;overflow:hidden}.timeline-preview--horizontal .timeline-preview-title,.timeline-preview--horizontal .timeline-preview-card small{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.timeline-preview--horizontal .timeline-preview-card small{-webkit-line-clamp:1}.timeline-preview--horizontal{height:300px}.timeline-preview--horizontal .timeline-preview-event:before{height:30px}.timeline-preview--horizontal .timeline-preview-top .timeline-preview-card{bottom:42px}.timeline-preview--horizontal .timeline-preview-bottom .timeline-preview-card{top:42px}.timeline-preview-event:focus-visible .timeline-preview-card{outline:2px solid var(--green);outline-offset:2px}.timeline-preview--vertical{box-sizing:border-box;gap:12px;width:100%;height:auto;margin-top:16px;padding:12px 0 12px 32px;display:grid}.timeline-preview--vertical .timeline-preview-axis{width:1px;height:auto;inset:0 auto 0 11px}.timeline-preview--vertical .timeline-preview-event{text-align:left;width:100%;height:auto;min-height:0;padding:0;display:block;position:relative;top:auto;left:auto!important}.timeline-preview--vertical .timeline-preview-dot{top:24px;left:-21px}.timeline-preview--vertical .timeline-preview-event:before{content:none}.timeline-preview--vertical .timeline-preview-card{box-sizing:border-box;text-align:left;overflow-wrap:anywhere;width:100%;min-width:0;position:relative;top:auto;bottom:auto;left:auto}.timeline-preview--vertical .timeline-preview-event .timeline-preview-card{transform:none}.timeline-panel .timeline-preview-legend{flex-wrap:wrap;gap:10px 16px}@media (max-width:720px){.memory-dialog{grid-template-rows:max-content max-content;align-content:start}.memory-dialog .dialog-art{min-height:180px;padding:20px}.memory-dialog:not(.is-editing){overscroll-behavior:contain;border-radius:18px;grid-template-rows:max-content max-content;align-content:start;width:calc(100% - 24px);max-width:420px;height:auto;max-height:calc(100dvh - 24px);overflow:hidden auto}.memory-dialog .dialog-art.has-media:not(.is-editing){--mobile-photo-height:66%;height:clamp(240px,34dvh,290px);min-height:0;padding:0}.memory-dialog .dialog-art.has-media.image-landscape:not(.is-editing){--mobile-photo-height:64%}.memory-dialog .dialog-art.has-media.image-portrait:not(.is-editing){--mobile-photo-height:70%}.memory-dialog .dialog-art.has-media:not(.is-editing) .dialog-art-image{height:var(--mobile-photo-height)}.memory-dialog .dialog-art.has-media:not(.is-editing) .dialog-art-overlay{top:var(--mobile-photo-height);justify-content:center;gap:2px;padding:8px 18px}.memory-dialog .dialog-art.has-media:not(.is-editing) .dialog-art-overlay strong{margin-top:2px;line-height:1.05}.memory-dialog .dialog-art strong{font-size:clamp(28px,8vw,38px);line-height:1.15}.memory-dialog .dialog-content{padding:24px 18px calc(24px + env(safe-area-inset-bottom))}.memory-dialog .dialog-content h2{font-size:clamp(22px,7vw,28px);line-height:1.2}.memory-dialog .memory-dialog-actions{gap:10px;margin-top:16px;padding-top:0}.memory-dialog .memory-action-button{min-height:44px}.memory-dialog .modal-close{width:44px;height:44px;top:12px;right:12px}}@media (orientation:landscape) and (max-height:480px) and (max-width:950px){.modal-backdrop{padding:8px}.memory-dialog:not(.is-editing){overscroll-behavior:contain;border-radius:16px;grid-template-rows:max-content max-content;grid-template-columns:minmax(0,1fr);align-content:start;width:min(560px,100vw - 16px);max-width:none;height:auto;max-height:calc(100dvh - 16px);overflow:hidden auto}.memory-dialog:not(.is-editing) .dialog-art{min-height:190px}.memory-dialog:not(.is-editing) .dialog-art.has-media{height:190px;min-height:0;padding:0}.memory-dialog:not(.is-editing) .dialog-art.has-media .dialog-art-image{height:63%}.memory-dialog:not(.is-editing) .dialog-art.has-media .dialog-art-overlay{justify-content:center;gap:1px;padding:6px 16px;top:63%}.memory-dialog:not(.is-editing) .dialog-art.has-media .dialog-art-overlay strong{margin-top:0;font-size:28px;line-height:1.1}.memory-dialog:not(.is-editing) .dialog-content{min-height:auto;padding:18px 16px 22px;overflow:visible}.memory-dialog:not(.is-editing) .dialog-content h2{font-size:26px}.memory-dialog:not(.is-editing) .memory-dialog-actions{grid-template-columns:1fr;margin-top:16px;padding-top:0}.memory-dialog.is-editing{border-radius:16px;grid-template-rows:max-content max-content;grid-template-columns:minmax(0,1fr);align-content:start;width:min(560px,100vw - 16px);max-width:none;height:auto;max-height:calc(100dvh - 16px);overflow:hidden auto}.memory-dialog.is-editing .dialog-art.has-media{height:190px;min-height:0;padding:0}.memory-dialog.is-editing .dialog-art.has-media .dialog-art-image{height:63%}.memory-dialog.is-editing .dialog-art.has-media .dialog-art-overlay{justify-content:center;padding:6px 16px;top:63%}.memory-dialog.is-editing .dialog-content{min-height:0;padding:18px 16px 22px;overflow:visible}.confirm-overlay{box-sizing:border-box;flex-direction:column;justify-content:safe center;align-items:center;padding:8px;display:flex}.confirm-dialog{box-sizing:border-box;border-radius:16px;flex:none;width:min(430px,100%);max-height:calc(100dvh - 16px);padding:16px 18px;overflow-y:auto}.confirm-dialog h3{margin:4px 0 8px;font-size:22px}.confirm-dialog .dialog-actions{flex-wrap:wrap;gap:8px;margin-top:12px}.confirm-dialog .dialog-actions button{min-height:40px}}@media (max-width:720px){.timeline-full-heading{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.timeline-full-heading>.stat-pill{white-space:nowrap;text-align:right;align-self:flex-end;width:max-content;max-width:100%}}@media (max-width:760px){.app-header .global-search{z-index:60;flex:none;align-items:center;display:flex}.global-search-mobile-trigger{border:1px solid var(--line);background:var(--bg);width:36px;height:40px;color:var(--green);cursor:pointer;border-radius:12px;place-items:center;padding:0;font-size:24px;line-height:1;display:grid}.global-search-mobile-trigger svg{margin:0;display:block}.global-search-mobile-icon{flex-shrink:0;width:18px;height:18px;display:block}.global-search>.app-header-search{display:none}.global-search.is-mobile-open>.app-header-search{z-index:101;background:var(--bg);width:auto;display:flex;position:fixed;top:84px;left:12px;right:12px;box-shadow:0 8px 24px #0000001f}.global-search-results{z-index:102;max-height:calc(100dvh - 150px);position:fixed;top:138px;left:12px;right:12px}}@media (min-width:761px) and (max-width:1100px){.app-header{grid-template-columns:minmax(180px,1fr) auto auto auto;gap:12px}.app-header .global-search{z-index:60;align-items:center;display:flex}.app-header .global-search-mobile-trigger{border:1px solid var(--line);background:var(--bg);width:36px;height:40px;color:var(--green);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:24px;display:inline-flex}.app-header .global-search>.app-header-search{display:none}.app-header .global-search.is-mobile-open>.app-header-search{z-index:101;background:var(--bg);width:min(360px,100vw - 240px);display:flex;position:absolute;top:calc(100% + 12px);left:auto;right:0}.app-header .global-search .global-search-results{width:min(360px,100vw - 240px);max-height:min(440px,100dvh - 190px);position:absolute;top:calc(100% + 68px);left:auto;right:0}}.demo-form-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.app-error-page{background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.app-error-panel{text-align:center;border-radius:24px;width:100%;max-width:520px;padding:clamp(28px,5vw,48px);box-shadow:0 16px 50px #2a372d14}.app-error-icon{background:var(--green-soft);width:56px;height:56px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:30px;font-weight:700;display:grid}.app-error-panel .eyebrow{margin:0 0 14px}.app-error-panel h1{margin:0;font-size:clamp(28px,4vw,38px);line-height:1.2}.app-error-description{color:var(--muted);margin:18px 0 30px;line-height:1.6}.app-error-actions{gap:12px;display:grid}.app-error-actions>*{box-sizing:border-box;text-align:center;justify-content:center;align-items:center;width:100%;min-height:48px;display:inline-flex}.tree-stage.tablet .person-node{width:var(--tree-node-width,116px);min-width:var(--tree-node-width,116px);box-sizing:border-box;border-radius:12px;grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:6px;height:60px;min-height:60px;padding:8px}.tree-stage.tablet .person-node span{grid-row:1/3;width:32px;height:32px;font-size:11px}.tree-stage.tablet .person-node strong{overflow-wrap:anywhere;min-width:0;font-size:11px;line-height:1.2;display:block}.tree-stage.tablet .person-node small{display:none}.tree-stage.compact .person-node:is(:hover,:focus-visible,:active,.expanded){width:var(--tree-node-width,56px);min-width:var(--tree-node-width,56px);height:var(--tree-node-width,56px);min-height:var(--tree-node-width,56px);border-radius:50%;grid-template-columns:1fr;place-items:center;padding:7px}.tree-stage.compact .person-node:is(:hover,:focus-visible,:active,.expanded) span{width:calc(var(--tree-node-width,56px) - 14px);height:calc(var(--tree-node-width,56px) - 14px);grid-row:auto}.tree-stage.compact .person-node:is(:hover,:focus-visible,:active,.expanded) strong,.tree-stage.compact .person-node:is(:hover,:focus-visible,:active,.expanded) small{display:none}.timeline-event-birth,.timeline-history-birth,.timeline-preview-birth{color:#087c83}.timeline-event-death,.timeline-history-death,.timeline-preview-death{color:#c05232}.timeline-event-memory,.timeline-history-memory,.timeline-preview-memory{color:#7350a2}.timeline-preview-dot{background-color:currentColor}.tree-stage:not(.compact) .person-node strong{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;line-height:1.2;display:-webkit-box;overflow:hidden}.tree-heading-actions.tree-heading-actions--demo{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;max-width:460px;margin:0;display:grid}.tree-heading-actions--demo>.person-action-button,.tree-heading-actions--demo>.demo-reset-button{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--ink);text-align:center;white-space:normal;cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;margin:0;padding:8px 6px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.tree-heading-actions--demo>.demo-reset-button{gap:6px;transition:background .2s}.tree-heading-actions--demo>.demo-reset-button:hover{background:var(--surface)}.tree-heading-actions--demo>.demo-reset-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.demo-reset-icon{font-size:19px;line-height:1}@media (max-width:760px){.tree-heading-actions.tree-heading-actions--demo{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:6px;max-width:100%}.tree-heading-actions--demo>.person-action-button{padding:8px 4px;font-size:11px}.tree-heading-actions--demo>.demo-reset-button{gap:0;width:40px;height:40px;min-height:40px;padding:0}.tree-heading-actions--demo .demo-reset-label{display:none}.tree-heading-actions--demo .demo-reset-icon{font-size:20px}}@media (max-width:720px) and (orientation:portrait){.memory-dialog:not(.is-editing) .dialog-art.has-video{height:min(52dvh,500px);min-height:0;padding:0}.memory-dialog:not(.is-editing) .dialog-art.has-video .dialog-video-preview{gap:0;padding:12px}.memory-dialog:not(.is-editing) .dialog-art.has-video .dialog-video-player{aspect-ratio:9/16;object-fit:contain;width:auto;max-width:100%;height:100%;max-height:100%}}@media (max-width:720px){.memory-dialog:not(.is-editing) .dialog-art.has-audio{height:220px;min-height:220px;padding:0}.memory-dialog:not(.is-editing) .dialog-art.has-audio .dialog-audio-preview{justify-content:center;gap:8px;padding:12px 16px}.memory-dialog:not(.is-editing) .dialog-art.has-audio .dialog-audio-icon{flex:0 0 48px;width:48px;height:48px;font-size:28px}.memory-dialog:not(.is-editing) .dialog-art.has-audio .dialog-audio-preview>strong{font-size:18px;line-height:1.2}.memory-dialog:not(.is-editing) .dialog-art.has-audio .dialog-audio-player{flex:0 0 54px;width:100%;min-width:0;max-width:100%;height:54px;display:block}.memory-dialog.memory-dialog--photo:not(.is-editing){grid-template-rows:max-content max-content;grid-template-columns:minmax(0,1fr)}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media{height:clamp(260px,40dvh,380px);min-height:0;padding:0}}@media (orientation:landscape) and (max-height:480px) and (max-width:950px){.memory-dialog.memory-dialog--photo:not(.is-editing){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-content:stretch;width:min(900px,100vw - 16px);height:calc(100dvh - 16px)}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media{height:100%;min-height:0}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-content{min-height:0;overflow-y:auto}}.memories-count{color:var(--muted);vertical-align:middle;white-space:nowrap;margin-left:6px;font-family:Arial,sans-serif;font-size:13px;font-weight:500;display:inline-block}@media (max-width:720px){.filter-bar.filter-bar--memories{padding:10px 8px;display:block}.filter-bar--memories .filter-pills{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:100%;display:grid}.filter-bar--memories .filter-pills button{white-space:nowrap;text-align:center;min-width:0;padding:9px 2px;font-size:clamp(10px,2.4vw,12px)}.memory-dialog:not(.is-editing) .dialog-art.has-document{height:235px;min-height:0;padding:0}.memory-dialog:not(.is-editing) .dialog-document-preview{gap:9px;padding:12px 16px}.memory-dialog:not(.is-editing) .dialog-document-icon{letter-spacing:.08em;background:#fff3;border:1px solid #ffffffd9;border-radius:4px;flex:0 0 90px;width:72px;height:90px;font-size:18px;position:relative}.memory-dialog:not(.is-editing) .dialog-document-icon:after{content:"";background:linear-gradient(225deg,#ffffffd9 0 50%,#fff3 50% 100%);border-bottom-left-radius:4px;width:20px;height:20px;position:absolute;top:-1px;right:-1px}.memory-dialog:not(.is-editing) .dialog-document-preview>strong{font-size:20px;line-height:1.2}}@media (max-width:720px) and (orientation:portrait){.memory-dialog:not(.is-editing) .dialog-art.has-video{height:min(42dvh,375px);min-height:0}.memory-dialog:not(.is-editing) .dialog-art.has-video+.dialog-content{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.memory-dialog:not(.is-editing) .dialog-art.has-video+.dialog-content h2{margin-bottom:8px}.memory-dialog:not(.is-editing) .dialog-art.has-video+.dialog-content>p:not(.eyebrow){margin-block:8px;line-height:1.45}.memory-dialog:not(.is-editing) .dialog-art.has-video+.dialog-content h3{margin-top:14px;margin-bottom:8px}.memory-dialog:not(.is-editing) .dialog-art.has-video+.dialog-content .memory-dialog-actions{margin-top:10px;padding-top:0}}@media (orientation:landscape) and (min-width:721px) and (max-width:950px) and (max-height:480px){.memory-dialog:not(.is-editing):not(.memory-dialog--photo){border-radius:16px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:stretch;width:min(900px,100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);display:grid;overflow:hidden}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .dialog-art{width:100%;min-width:0;height:100%;min-height:0;padding:0;overflow:hidden}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .dialog-content{overscroll-behavior:contain;min-width:0;min-height:0;padding:14px 14px 12px;overflow:hidden auto}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .dialog-content h2{margin-bottom:8px;font-size:22px;line-height:1.15}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .dialog-content>p:not(.eyebrow){margin-block:8px;line-height:1.4}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .dialog-content h3{margin-top:12px;margin-bottom:6px}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .memory-dialog-actions{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px;display:flex}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .memory-action-button{flex:75px;min-width:0;min-height:36px;padding:6px 4px;font-size:11px}.memory-dialog:not(.is-editing):not(.memory-dialog--photo) .modal-close{z-index:10;width:36px;height:36px;top:8px;left:auto;right:8px;transform:none}.memory-dialog:not(.is-editing) .dialog-document-preview{gap:8px;padding:12px}.memory-dialog:not(.is-editing) .dialog-document-icon{border-radius:4px;flex:0 0 105px;width:84px;height:105px;font-size:19px;position:relative}.memory-dialog:not(.is-editing) .dialog-document-icon:after{content:"";background:linear-gradient(225deg,#ffffffd9 0 50%,#fff3 50% 100%);width:22px;height:22px;position:absolute;top:-1px;right:-1px}.memory-dialog:not(.is-editing) .dialog-document-preview>strong{font-size:19px;line-height:1.2}.memory-dialog:not(.is-editing) .dialog-audio-preview{gap:10px;padding:12px 16px}.memory-dialog:not(.is-editing) .dialog-audio-icon{flex:0 0 54px;width:54px;height:54px;font-size:30px}.memory-dialog:not(.is-editing) .dialog-audio-preview>strong{font-size:19px;line-height:1.2}.memory-dialog:not(.is-editing) .dialog-audio-player{flex:0 0 54px;width:100%;min-width:0;max-width:100%;height:54px;display:block}.memory-dialog:not(.is-editing) .dialog-art.has-video .dialog-video-preview{gap:0;padding:12px}.memory-dialog:not(.is-editing) .dialog-art.has-video .dialog-video-player{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%}}@supports (appearance:base-select){select[name]{appearance:base-select}select[name]::picker(select){appearance:base-select}select[name]{background-image:none;background-color:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;align-items:center;padding-right:12px;line-height:1.25;display:flex}select[name]::picker-icon{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);flex:0 0 7px;width:7px;height:7px;margin-left:auto;transition:transform .16s;display:block;transform:rotate(45deg)translateY(-2px)}select[name]:open::picker-icon{transform:rotate(225deg)translate(-2px,-2px)}select[name]::picker(select){background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;max-height:min(300px,100dvh - 24px);margin-top:6px;padding:6px;overflow-y:auto;box-shadow:0 12px 30px #00000026}select[name] option{background:var(--surface);color:var(--ink);font:inherit;border-radius:8px;padding:10px 12px}select[name] option:is(:hover,:focus-visible,:checked){background:var(--green-soft);color:var(--green)}}input[type=file]{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;max-width:100%;color:var(--muted);font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:12px;padding:6px;font-size:13px;display:block;overflow:hidden}input[type=file]::file-selector-button{appearance:none;background:var(--green);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;margin-right:12px;padding:10px 14px;font-size:13px;font-weight:600;transition:filter .16s}input[type=file]:hover::file-selector-button{filter:brightness(.9)}input[type=file]:focus-visible{outline:2px solid var(--green);outline-offset:2px}input[type=file]:disabled::file-selector-button{opacity:.5;cursor:not-allowed}.family-date-popover{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;line-height:1.35}.family-date-popover button{letter-spacing:normal;text-transform:none;font-family:inherit;font-size:12px;font-weight:400;line-height:1.35}.family-date-popover .family-date-calendar-title{font-size:13px;font-weight:700}.family-date-popover .family-date-weekdays span{font-size:12px;font-weight:400}.family-date-popover .family-date-option{border-radius:7px;min-height:34px;padding:0;font-size:12px;font-weight:400}.family-date-popover .family-date-option.is-selected{font-weight:700}.family-date-popover .family-date-calendar-navigation button,.family-date-popover .family-date-calendar-header>button{min-width:36px;min-height:36px;font-size:14px}.family-date-popover .family-date-month,.family-date-popover .family-date-year{font-size:12px}.family-date-popover .family-date-month.is-selected,.family-date-popover .family-date-year.is-selected{font-weight:700}.family-date-popover .family-date-calendar-footer button{font-size:12px;font-weight:600}.brand-mark{cursor:pointer;transition:transform .2s,background-color .2s,box-shadow .2s}.brand-tree-logo{transition:transform .2s,filter .2s}@media (hover:hover){.brand-mark:hover{background-color:#ffffff1a;transform:translateY(-2px);box-shadow:0 0 0 1px #ffffff47,0 5px 18px #0000001f}.brand-mark:hover .brand-tree-logo{filter:drop-shadow(0 0 6px #ffffff8c);transform:scale(1.06)}}.brand-mark:focus-visible{outline-offset:3px;outline:2px solid #ffffffe6}.brand-mark:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.brand-mark,.brand-tree-logo{transition:none}}.create-menu .app-header-action .control-chevron{margin-left:4px;display:block}@media (hover:hover){.brand-mark:hover{background-color:#c79d5e1f;border-color:#c79d5ea6;box-shadow:0 0 0 1px #c79d5e4d}.brand-mark:hover .brand-tree-logo{filter:sepia(.85)saturate(1.65)brightness(1.12)drop-shadow(0 0 6px #c79d5ea6);transform:scale(1.06)}}.create-menu .app-header-action:hover .control-chevron{color:#fff}@media (max-width:720px){.create-menu .app-header-action .control-chevron{color:#fff;opacity:1;border-color:currentColor}}.create-menu--primary>.app-header-action .control-chevron{opacity:1;border-bottom-color:#fff;border-right-color:#fff;color:#fff!important}.constellation-panel{flex-direction:column;display:flex}.constellation-panel-link{text-align:left;align-self:flex-start;margin-top:auto}.tasks-panel .task-list{margin-top:16px}.tasks-panel .task-list>.task-row:first-child{border-top:none}.tasks-panel .task-list>.task-row.priority:first-child{margin-top:0}.places-panel .family-place-summary{border-radius:12px;padding:14px 10px;transition:background-color .16s}.places-panel .family-place-summary[aria-expanded=true]{background:var(--green-soft)}.places-panel .family-place-main{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.places-panel .family-place-main strong{color:var(--ink);font-size:16px;font-weight:700;line-height:1.3}.places-panel .family-place-main>small{color:var(--green);font-size:12px;font-weight:600;line-height:1.4}.places-panel .family-place-names{color:var(--muted);white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.4}.places-panel .family-place-details{gap:18px;padding:12px 10px 16px}.places-panel .family-place-section>small{letter-spacing:.1em;margin-bottom:8px;font-size:11px}.places-panel .family-place-section button{padding:11px 4px;font-size:13px}.places-panel .family-place-section button:first-of-type{border-top:none}.places-panel .family-place-section button span:first-child{white-space:normal;overflow-wrap:anywhere}.app-header-actions[aria-label=Découvrir\ Temporalis]>a.primary-button,.app-header-actions[aria-label=Découvrir\ Temporalis]>a.primary-button:hover,.app-header-actions[aria-label=Découvrir\ Temporalis]>a.primary-button:focus-visible{text-decoration:none}.person-drawer .drawer-relations>div{padding-left:12px}.tree-stage>.tree-indirect-branches{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tree-indirect-branches path{fill:none;stroke:var(--line);stroke-width:2px;stroke-dasharray:5 6;stroke-linecap:round;opacity:1;vector-effect:non-scaling-stroke}.tree-indirect-branches path.tree-indirect-couple{stroke-dasharray:none}.full-tree{scrollbar-width:none;-ms-overflow-style:none}.full-tree::-webkit-scrollbar{display:none}.relationship-form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}@media (max-height:500px) and (orientation:landscape){.person-panel-backdrop{padding:8px}.person-panel.person-preview-card{border-radius:16px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);width:min(1000px,100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);overflow:hidden}.person-preview-portrait{min-height:0;padding:18px 20px;overflow-y:auto}.person-preview-card .person-preview-portrait .person-panel-avatar{width:48px;height:48px;margin-bottom:12px}.person-preview-portrait h1{font-size:25px}.person-preview-quote{display:none}.person-preview-details{min-height:0;overflow:hidden}.person-preview-content{overscroll-behavior-y:contain;flex-direction:column;flex:auto;align-items:stretch;min-height:0;display:flex;overflow-y:auto}.person-preview-content>*{flex-shrink:0}.person-preview-actions{flex:none;padding:8px 12px}.person-preview-portrait{padding:12px 18px;overflow:hidden}.person-preview-portrait-main{align-content:start;row-gap:3px}.person-preview-card .person-preview-portrait .person-panel-avatar{width:42px;height:42px;margin:0 0 6px}.person-preview-portrait h1{font-size:22px;line-height:1.05}.person-preview-role,.person-preview-portrait .eyebrow{margin-bottom:3px}.person-preview-card .person-panel-nickname{margin-top:3px}.person-preview-summary{gap:2px;margin-top:5px;font-size:11px}.person-preview-photo{aspect-ratio:1;justify-self:start;width:100px;height:100px;margin-top:8px}.person-preview-card .person-panel-tabs{margin-top:0}.person-preview-content{padding:8px 14px}.person-preview-memories .person-memory-carousel-item{flex:0 0 calc(50% - 5px);min-width:calc(50% - 5px);max-width:calc(50% - 5px)}.person-preview-memories .person-memory-carousel-track{gap:10px}.person-preview-memories .memory-card-body{flex-direction:column;gap:4px;min-height:0;padding:8px 10px;display:flex}.person-preview-memories .memory-card-place{font-size:9px;line-height:1.2}.person-preview-memories .memory-card-title{font-size:14px;line-height:1.2}.person-preview-memories .memory-card-description{-webkit-line-clamp:1;font-size:10px;line-height:1.25}.person-preview-memories .memory-card-people{min-height:0;margin-top:auto}.person-preview-memories .memory-card-people span{padding:3px 6px;font-size:9px;line-height:1.2}.person-preview-memories .memory-card-body h3.memory-card-title{font-size:15px}.person-preview-memories .memory-card-description{font-size:11px;line-height:1.25}.person-preview-memories .memory-card-people{min-height:20px}.person-preview-portrait-main{grid-template-rows:repeat(5,auto);grid-template-columns:100px minmax(0,1fr);align-content:start;justify-items:stretch;gap:3px 16px;display:grid}.person-preview-portrait-main>.person-panel-avatar{grid-area:1/1;justify-self:center}.person-preview-portrait-main>.person-preview-photo{grid-area:2/1/span 4;justify-self:center;width:90px;height:90px;margin:8px 0 0}.person-preview-portrait-main>:not(.person-panel-avatar):not(.person-preview-photo){grid-column:2}.person-preview-portrait-main>.person-preview-photo+*{grid-row:auto}.person-preview-memories .person-memory-carousel{padding-inline:38px}.person-preview-memories .person-memory-carousel-arrow{border-radius:14px;width:28px;height:44px;top:50%}.person-preview-memories .person-memory-carousel-arrow-left{left:2px}.person-preview-memories .person-memory-carousel-arrow-right{right:2px}.person-preview-portrait{padding-top:24px}.person-preview-memories .person-memory-carousel-arrow{border-radius:14px;width:28px;height:100px}.person-preview-memories .memory-file-name{display:none}.person-preview-memories .person-memory-carousel-item .memory-art{height:92px;min-height:0}.person-preview-memories .memory-art-overlay{justify-content:space-between;padding:8px 10px}.person-preview-memories .memory-art-overlay strong{font-size:21px;line-height:1}.person-preview-memories .memory-document-icon{border-radius:7px;width:38px;height:46px;font-size:11px}.person-preview-memories .memory-audio-play,.person-preview-memories .memory-video-play{width:38px;height:38px;font-size:17px}.person-preview-memories .memory-document-preview,.person-preview-memories .memory-audio-preview,.person-preview-memories .memory-video-preview{justify-content:center;align-items:center}.person-preview-memories .memory-card-people{flex-wrap:wrap;align-content:flex-start;align-self:stretch;align-items:flex-start;gap:4px;width:100%;min-height:0;margin-top:auto;display:flex}.person-preview-memories .memory-card-people span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:3px 6px;font-size:9px;line-height:1.2;overflow:hidden}.person-preview-memories .memory-card-people{display:none}.person-preview-memories .memory-card-people-compact{flex-wrap:nowrap;align-self:stretch;align-items:center;gap:4px;width:100%;min-width:0;margin-top:auto;display:flex}.person-preview-memories .memory-card-people-compact span{background:var(--green-soft);min-width:0;color:var(--green);text-overflow:ellipsis;white-space:nowrap;border-radius:99px;padding:3px 6px;font-size:9px;font-weight:700;line-height:1.2;overflow:hidden}.person-preview-memories .memory-card-people-compact span:last-child:not(:first-child){flex-shrink:0}}.memory-card-people-compact{display:none}@media (min-width:721px) and (max-width:850px) and (orientation:portrait){.memory-dialog.memory-dialog--photo:not(.is-editing){grid-template-rows:360px minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:min(720px,100vw - 32px);height:min(850px,100dvh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media{width:100%;height:360px;min-height:0;padding:0}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media .dialog-art-image{object-fit:cover;object-position:center;width:100%;height:100%}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-content{min-width:0;min-height:0;overflow-y:auto}.memory-dialog.memory-dialog--photo:not(.is-editing):has(.dialog-art.image-portrait){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);height:min(620px,100dvh - 32px)}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media.image-portrait{width:100%;height:100%;min-height:0}.memory-dialog.memory-dialog--photo:not(.is-editing) .dialog-art.has-media.image-portrait .dialog-art-image{object-fit:cover;object-position:center;width:100%;height:100%}}.tree-summary-back{display:none}.tree-stage.compact .person-node,.tree-stage.compact .person-node:is(:hover,:focus-visible,:active,.expanded){width:var(--tree-node-width);min-width:var(--tree-node-width);border-radius:14px;grid-template-rows:42px minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;row-gap:6px;height:104px;min-height:104px;padding:8px}.tree-stage.compact .person-node span,.tree-stage.compact .person-node:is(:hover,:focus-visible,:active,.expanded) span{grid-row:1;width:42px;height:42px}.tree-stage.compact .person-node strong,.tree-stage.compact .person-node:is(:hover,:focus-visible,:active,.expanded) strong{-webkit-line-clamp:2;line-clamp:2;text-align:center;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;grid-row:2;align-self:center;width:100%;min-width:0;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.tree-stage.tablet .person-node strong,.tree-stage:not(.compact) .person-node.without-dates strong{grid-row:1/3;align-self:center}@media (max-width:760px){.full-tree:has(.tree-stage.compact){height:auto}.person-drawer{scroll-margin-top:16px}.tree-summary-back{margin-bottom:16px;display:inline-flex}}.tree-scroll-hint{color:var(--muted);font-size:12px;line-height:1.5}.tree-stage>.tree-direct-branches{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tree-direct-branches path,.tree-indirect-branches path{fill:none;stroke:var(--line);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tree-direct-branches path.tree-direct-adoptive{stroke-dasharray:5 6}.auth-theme-shell{grid-template-columns:minmax(0,1fr) minmax(460px,1fr)}.auth-theme-shell__panel{padding:clamp(20px,3vw,48px)}.auth-form-panel__inner{border-radius:24px;width:min(100%,500px);padding:clamp(24px,3vw,40px)}.auth-form-panel__title{text-wrap:balance;font-size:clamp(30px,3vw,44px);line-height:1.1}.auth-help{color:var(--muted);font-size:13px;line-height:1.5}.auth-help summary{cursor:pointer;color:var(--green);padding:5px 0}.auth-help p{margin:8px 0}.auth-help label{margin-top:12px}.auth-help .password-rules{margin:10px 0}.password-field{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:6px;display:grid}.password-field input{min-width:0;padding-right:44px}.password-field .password-toggle{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:44px;height:44px;position:static;transform:none}.family-start{background:linear-gradient(120deg, var(--green-soft), var(--surface));margin-bottom:24px;padding:clamp(22px,3vw,36px)}.family-start h2{margin:8px 0 12px;font:32px/1.2 Georgia,serif}.family-start p{max-width:65ch;line-height:1.6}.family-start-actions{flex-wrap:wrap;gap:12px;margin:20px 0 16px;display:flex}.family-start small{color:var(--muted);line-height:1.5}.dashboard-grid--starting .constellation-panel{min-height:280px}.dashboard-grid--starting .empty-constellation{min-height:160px}.onboarding-copy h1{text-wrap:balance;font-size:clamp(36px,4.5vw,64px)}.onboarding-copy>p:last-child{max-width:54ch;line-height:1.7}@media (max-width:800px){.auth-theme-shell{display:block}.auth-theme-shell__animation{display:none}.auth-theme-shell__panel{height:auto;min-height:100svh;padding:20px 16px;overflow:visible}.auth-form-panel__inner{padding:24px}.family-start-actions{flex-direction:column;align-items:stretch}}.auth-form .auth-help .field-help{margin:10px 0 0}.auth-help[open]>label{margin-bottom:0}.account-form-grid{align-items:start}.account-form-grid>label{align-content:start;min-width:0}.account-form-grid .field-help{margin:2px 0 0;font-weight:400}.account-form input{min-width:0;min-height:46px}.account-section-body{padding:20px 24px 24px}.account-section-body p{color:var(--muted);margin:0;line-height:1.6}.account-section-body .secondary-button{white-space:normal;text-align:center;max-width:100%}.account-role{background:var(--green-soft);color:var(--green);vertical-align:middle;border-radius:20px;margin-left:8px;padding:3px 9px;font:500 12px/1.5 sans-serif;display:inline-block}.settings-legal{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.legal-resource-links{flex-wrap:wrap;gap:10px 20px;display:flex}.legal-resource-links a{color:var(--muted);text-underline-offset:3px;font-size:13px;line-height:1.6}.legal-resource-links a:hover{color:var(--green)}.password-field{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:minmax(0,1fr) 44px;gap:0}.password-field:focus-within{outline:2px solid color-mix(in srgb, var(--green) 30%, transparent);outline-offset:2px;border-color:var(--green)}.auth-form .password-field input{border:0;border-right:1px solid var(--line);width:100%;min-width:0;box-shadow:none;border-radius:12px 0 0 12px;outline:none;grid-area:1/1;margin:0;padding:13px 14px}.password-field .password-toggle{background:0 0;border:0;border-radius:0 12px 12px 0;grid-area:1/2;width:44px;height:44px;position:static;transform:none}.password-field .password-toggle:hover{background:var(--green-soft)}.password-field .password-toggle:focus-visible{outline-offset:-4px}@media (max-width:700px){.account-section-heading,.account-section-body,.account-form{padding:20px}.account-section-heading h2{line-height:1.5}.legal-resource-links{gap:12px 18px}}.families-page{max-width:1160px;margin:0 auto;padding:clamp(24px,5vw,64px) clamp(16px,3vw,36px)}.families-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.families-greeting{font:500 18px/1.5 var(--font-sans,Arial, sans-serif);color:var(--green);margin:0 0 8px}.families-heading h1{margin:0 0 12px;font:600 clamp(30px,3vw,40px)/1.2 Georgia,serif}.families-heading p:last-child{color:var(--muted);max-width:60ch;line-height:1.6}.families-heading>a{flex-shrink:0}.families-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.families-grid .panel{min-width:0;padding:24px}.families-grid h2{margin:0 0 12px;font:600 24px/1.3 Georgia,serif}.families-grid p{line-height:1.6}.families-create-stack{gap:24px;display:grid}.families-page .received-invitation{gap:16px;padding:18px;display:grid}.received-invitation-copy h3{font:600 17px/1.5 var(--font-sans,Arial, sans-serif);overflow-wrap:anywhere;margin:0 0 10px}.received-invitation-copy,.received-invitation form{width:100%}.received-invitation button{white-space:normal;width:100%}.families-page .members-invitations-heading{flex-wrap:wrap;align-items:start}.families-page .members-invitations h2{font-size:22px}.families-page .family-choice{border:1px solid var(--line);background:var(--green-soft);min-height:48px;margin:8px 0}.legal-resource-buttons a{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;min-height:40px;padding:8px 12px;text-decoration:none;display:inline-flex}.invitation-context{padding:22px}.invitation-context h3{margin-top:0}.invitation-context p{line-height:1.6}@media (max-width:760px){.families-grid{grid-template-columns:1fr}.families-heading{flex-direction:column;align-items:stretch;gap:14px}.families-grid .panel{padding:20px}}.family-empty-state{grid-template-columns:minmax(240px,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,44px);min-width:0;padding:clamp(24px,4vw,48px);display:grid}.family-empty-art{color:var(--green);background:radial-gradient(#e4ebdd 0%,#f2f3e9 65%,#f7f6ef 100%);border-radius:22px;min-width:0}.family-empty-art svg{width:100%;height:auto;display:block}.family-empty-copy{min-width:0}.family-empty-copy h3{text-wrap:balance;margin:8px 0 14px;font:600 clamp(25px,2.4vw,32px)/1.2 Georgia,serif}.family-empty-copy>p:last-of-type{color:var(--muted);max-width:55ch;line-height:1.65}.family-empty-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.family-empty-actions>*{white-space:normal;text-align:center}.family-first-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.family-empty-state--compact{grid-template-columns:1fr;gap:20px;padding:24px}.family-empty-state--compact .family-empty-art{place-items:center;max-height:160px;display:grid;overflow:hidden}.family-empty-state--compact svg{max-height:160px}.family-empty-state--compact h3{font-size:24px}.timeline-full-heading h2,.memories-page .welcome-row h2{font-size:clamp(28px,3vw,38px);line-height:1.2}.auth-help .password-rules{flex-wrap:wrap;gap:6px;display:flex}.auth-help .password-rules p{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin:0;padding:4px 9px;font-size:12px;line-height:1.4}.auth-help .password-rules .rule-ok{background:var(--green-soft);color:var(--green)}@media (max-width:760px){.family-empty-state{grid-template-columns:1fr;gap:22px;padding:22px}.family-empty-art svg{max-height:190px}.family-first-preview{grid-template-columns:1fr;gap:18px}.family-empty-actions{flex-direction:column;align-items:stretch}.family-empty-copy h3{font-size:26px}.family-empty-copy .eyebrow{font-size:10px}}.family-empty-state:has(.empty-timeline-legend){position:relative}.empty-timeline-legend{flex-wrap:wrap;grid-area:2/1;justify-content:center;margin:-12px 0 0}.family-empty-state:has(.empty-timeline-legend) .family-empty-copy{grid-area:1/2/span 2}.family-empty-state--compact:has(.empty-timeline-legend) .family-empty-copy{grid-area:3/1}.memory-card--refined{text-align:left;transition:transform .18s,box-shadow .18s;overflow:hidden}.memory-card--refined:hover{transform:translateY(-3px);box-shadow:0 12px 28px #243b2920}.memory-card--refined .memory-art{padding:0;position:relative;overflow:hidden}.memory-card--refined .family-empty-art{border-radius:0;place-items:center;width:100%;height:100%;display:grid}.memory-card--refined .family-empty-art svg{max-height:100%}.memory-card--refined .memory-card-body{flex-direction:column;gap:12px;padding:20px;display:flex}.memory-card-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;font-size:13px;display:flex}.memory-card--refined .memory-card-meta{margin:0}.memory-kind-badge{background:var(--green-soft);color:var(--green);border-radius:20px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex}.memory-kind-badge svg{width:16px;height:16px}.memory-card--refined .memory-card-body .memory-card-title{min-height:0;margin:0;font-size:23px;line-height:1.3}.memory-card--refined .memory-card-place{text-transform:none;letter-spacing:normal;min-height:0;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.memory-card--refined .memory-card-body .memory-card-description{min-height:0;margin:0;line-height:1.6}.memory-card--refined .memory-card-people{flex-wrap:wrap;margin:0;display:flex}.memory-card-open{border-top:1px solid var(--line);color:var(--green);justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;font-size:12px;font-weight:600;display:flex}@media (max-width:760px){.family-empty-state:has(.empty-timeline-legend) .family-empty-copy{grid-area:3/1}.memory-card--refined .memory-card-body{padding:18px}}@media (prefers-reduced-motion:reduce){.memory-card--refined{transition:none}.memory-card--refined:hover{transform:none}}.memory-card--refined .memory-card-body{flex:1}.memory-card--refined .memory-card-body .memory-card-title{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.memory-card--refined .memory-card-place{align-self:flex-start}.memory-card--refined .memory-card-people{justify-content:flex-start;align-self:flex-start}.memory-grid{grid-auto-rows:1fr;align-items:stretch}.memory-grid .memory-card--refined{height:100%;min-height:380px}.memory-card--refined .memory-art{flex:0 0 180px;height:180px;min-height:180px;max-height:180px}.memory-card--refined .memory-art-image{object-fit:cover;width:100%;height:100%}.memory-card--refined .memory-card-body{gap:10px;padding:18px 20px 22px}.memory-card--refined .memory-card-people{margin-top:auto;padding-top:8px}@media (hover:hover) and (pointer:fine){.memory-card--refined:hover{z-index:1;transform:translateY(-3px)scale(1.015);box-shadow:0 14px 32px #243b2926}}.memory-card--refined:focus-visible{outline:3px solid var(--green);outline-offset:4px}.status-page-actions{align-items:stretch}.status-page-actions>a{text-align:center;text-decoration:none}@media (max-width:760px){.memory-grid .memory-card--refined{min-height:350px}}@media (prefers-reduced-motion:reduce){.memory-card--refined:hover{transform:none}}.tree-direct-branches g[data-union-lane="0"] path{stroke:#648a79}.tree-direct-branches g[data-union-lane="1"] path{stroke:#b08a52}.tree-direct-branches g[data-union-lane="2"] path{stroke:#8e7ca3}.union-period{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.tree-legend{background:var(--green-soft);border:1px solid var(--line);border-radius:14px;margin:0 0 22px;padding:14px 16px}.tree-legend summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:600}.tree-legend-items{flex-wrap:wrap;gap:14px 22px;margin-top:14px;display:flex}.tree-legend-items>span{color:var(--ink);align-items:center;gap:9px;font-size:12px;display:inline-flex}.tree-legend-line{border-top:2px solid #829081;width:30px;display:inline-block}.tree-legend-line--adoption{border-top-style:dashed}.tree-legend-line--archived{border-top:2px dashed #8f7f99}.tree-legend-unions{gap:3px;width:30px;display:grid}.tree-legend-unions b{border-top:2px solid #648a79}.tree-legend-unions b:nth-child(2){border-color:#b08a52}.tree-legend-unions b:nth-child(3){border-color:#8e7ca3}.tree-legend p{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.6}.person-mourning-ribbon{z-index:3;pointer-events:none;background:#202020;border-radius:1px;width:7px;height:24px;position:absolute;top:5px;right:9px;transform:rotate(-40deg)}.account-section-back{place-self:flex-start start;gap:9px;display:inline-flex}.families-page--embedded{max-width:none;margin:0;padding:0}.relations-workspace{align-items:start}.relationship-list-panel .relationship-list-heading{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:22px;display:block}.relationship-list-heading .secondary-button{margin-top:16px;display:inline-flex}.relationship-list-heading h2,.relations-workspace>section>h2{font:600 28px/1.25 Georgia,serif}.relationship-list{gap:18px;display:grid}.relationship-row{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px;box-shadow:0 4px 12px #263b2610}.relationship-period{background:var(--green-soft);color:var(--green);border-radius:12px;margin-top:12px;padding:5px 10px;display:inline-flex}.relationship-form label{gap:8px;display:grid}@media (max-width:760px){.tree-legend-items{gap:14px}.tree-legend-items>span{flex:180px}.relationship-list-heading h2{font-size:24px}.relationship-row{padding:18px}}.tree-direct-branches path{stroke:#829081}.tree-indirect-branches path{stroke:#8f7f99}.person-mourning-ribbon{background:0 0;border-radius:0;width:16px;height:23px;display:block;top:6px;right:7px;transform:none}.mini-person .person-mourning-ribbon{width:13px;height:18px;top:0;right:1px}.tree-legend-ribbon{background:0 0;width:16px;height:23px;margin:0 7px;display:inline-block;transform:none}.person-mourning-ribbon .mourning-ribbon-icon,.tree-legend-ribbon .mourning-ribbon-icon{width:100%;height:100%;display:block;position:static;overflow:visible}.tree-canvas>.tree-legend{margin:22px 0 0}.tree-stage>.tree-union-connections{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tree-union-connections path{fill:none;stroke:#836796;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.tree-union-connections .tree-union-ended{stroke-dasharray:3 5}.tree-legend-line--union{border-color:#836796}.tree-legend-line--union-ended{border-color:#836796;border-top-style:dashed}.tree-union-connections path{stroke:#b08a42;stroke-width:2.5px}.tree-legend-line--union,.tree-legend-line--union-ended{border-color:#b08a42}.tree-union-picker{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:0 0 22px;padding:18px}.tree-union-picker strong{color:var(--green);font-size:15px}.tree-union-picker p{color:var(--muted);margin:8px 0 14px;font-size:13px;line-height:1.5}.tree-union-picker-actions{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.tree-union-picker-actions .tree-union-choice{white-space:normal;flex-direction:column;gap:4px;display:flex}.tree-union-choice small{font-size:11px;font-weight:400}.tree-union-picker-actions button[aria-pressed=true]{background:var(--green-soft);border-color:var(--green)}.tree-other-unions{margin-top:14px}.tree-other-unions summary{cursor:pointer;color:var(--green);padding:6px 0;font-size:13px}.tree-other-unions[open] summary{margin-bottom:10px}@media (max-width:760px){.tree-union-picker-actions{flex-direction:column}.tree-union-picker{padding:14px}}
