:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f3ed;color:#25211d}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}.page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.card{background:#fffdf9;border:1px solid #e6ded4;border-radius:24px;box-shadow:0 18px 60px rgb(67 51 39/10%);max-width:640px;padding:clamp(32px,6vw,64px);width:100%}.hero{text-align:center}.eyebrow{color:#85664f;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin:0 0 16px;text-transform:uppercase}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,7vw,4.5rem);letter-spacing:-.04em;line-height:1;margin:0}.lede{color:#6a615a;font-size:1.1rem;line-height:1.7;margin:24px 0 0}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}.button{border:0;border-radius:999px;cursor:pointer;font-weight:700;padding:14px 22px;text-decoration:none}.button:disabled{cursor:wait;opacity:.65}.primary{background:#4c3b30;color:white}.secondary{background:transparent;border:1px solid #cfc2b6;color:#4c3b30}.danger{background:#8b2e26;color:white}.smallButton{padding:10px 16px}.form{grid-gap:18px;gap:18px;margin:32px 0 24px}.form,label{display:grid}label{font-size:.9rem;font-weight:700;grid-gap:8px;gap:8px}input,select,textarea{background:white;border:1px solid #cfc2b6;border-radius:12px;color:#25211d;padding:13px 14px;width:100%}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#725743;box-shadow:0 0 0 3px rgb(114 87 67/15%);outline:none}.submit{margin-top:6px;width:100%}.notice{border-radius:12px;line-height:1.5;margin:24px 0 0;padding:12px 14px}.error{background:#fbe9e7;color:#8b2e26}.success{background:#e8f3eb;color:#285f38}.warning{background:#fff3cd;color:#705200}.invitationDetails{background:#f8f3ec;border:1px solid #e6ded4;border-radius:16px;display:grid;grid-gap:14px;gap:14px;margin-top:28px;padding:20px}.invitationDetails div{align-items:baseline;display:flex;gap:16px;justify-content:space-between}.invitationDetails span{color:#82766d;font-size:.82rem;font-weight:700}.invitationDetails strong{text-align:right}.capitalize{text-transform:capitalize}.invitationAcceptButton{margin-top:28px}.textLink{color:#654a37;font-weight:700}.dashboardHeader,.linkRow{align-items:center;display:flex;gap:16px;justify-content:space-between}.familyPanel{border-top:1px solid #e6ded4;margin-top:36px;padding-top:32px}.familyPanel h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.03em;margin:0}.familyDescription{color:#5f5750;line-height:1.7;margin:16px 0 0;white-space:pre-wrap}.familyDescription.muted,.familyMeta{color:#82766d}.familyMeta{font-size:.9rem;margin:24px 0 0}.familyForm{margin-bottom:0}.membersHeader{align-items:center;border-top:1px solid #e6ded4;display:flex;gap:20px;justify-content:space-between;margin-top:32px;padding-top:32px}.membersHeader .eyebrow{margin-bottom:8px}.membersHeader h3{font-family:Georgia,Times New Roman,serif;font-size:1.8rem;margin:0}.memberForm{background:#f8f3ec;border:1px solid #e6ded4;border-radius:18px;padding:24px}.formGrid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.memberList{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.memberCard{border:1px solid #e6ded4;border-radius:16px;padding:20px}.memberCard h4{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;margin:0}.cardActions,.formActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.inlineEditForm{background:#f8f3ec;border:1px solid #e6ded4;border-radius:14px;margin-bottom:0;padding:18px}.emptyState,.memberBiography,.memberDates{color:#6a615a;line-height:1.6}.memberDates{font-size:.9rem;margin:8px 0 0}.memberBiography{margin:14px 0 0;white-space:pre-wrap}.emptyState{background:#f8f3ec;border-radius:14px;margin:24px 0 0;padding:18px}.relationshipsPanel{border-top:1px solid #e6ded4;margin-top:32px}.relationshipExample,.relationshipText{color:#6a615a;line-height:1.6;margin:0}.relationshipExample{margin-top:-4px}.invitationsPanel,.legacyMessagesPanel,.memoriesPanel{border-top:1px solid #e6ded4;margin-top:32px}.invitationList{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.invitationCard{border:1px solid #e6ded4;border-radius:16px;padding:20px}.invitationHeader{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.invitationHeader h4{font-family:Georgia,Times New Roman,serif;font-size:1.25rem;margin:0}.invitationMeta{color:#6a615a;font-size:.85rem;margin:8px 0 0;text-transform:capitalize}.invitationStatus{background:#f2e9e0;border-radius:999px;color:#654a37;font-size:.72rem;font-weight:800;padding:6px 10px;text-transform:uppercase}.legacyMessageList{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.legacyMessageGroupHeader{align-items:center;border-bottom:1px solid #e6ded4;display:flex;justify-content:space-between;margin-top:12px;padding-bottom:12px}.legacyMessageGroupHeader h4{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;margin:4px 0 0}.legacyMessageCount{background:#f2e9e0;border-radius:999px;color:#654a37;font-size:.78rem;font-weight:800;min-width:32px;padding:7px 10px;text-align:center}.legacyMessageCard{border:1px solid #e6ded4;border-radius:16px;padding:20px}.legacyMessageCard h4{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;margin:4px 0 0}.legacyMessageCard time{color:#6a615a;font-size:.82rem;white-space:nowrap}.legacyMessageContent{color:#4f4741;line-height:1.75;margin:18px 0 0;white-space:pre-wrap}.legacyDeliveryStatus{margin:12px 0 0}.legacyDeliveryStatus,.legacyEmailStatus{background:#f2e9e0;border-radius:999px;color:#654a37;display:inline-block;font-size:.78rem;font-weight:800;padding:7px 11px}.legacyEmailStatus{margin:8px 0 0 8px}.legacyEmailStatus.sent{background:#e8f3eb;color:#285f38}.legacyEmailStatus.failed{background:#fbe9e7;color:#8b2e26}.legacyRecipient{color:#6a615a;font-size:.85rem;margin:10px 0 0}.metadataNote{color:#82766d;font-size:.85rem;line-height:1.5;margin:-4px 0 0}.memoryList{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.memoryCard{border:1px solid #e6ded4;border-radius:16px;padding:20px}.memoryCardHeader{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.memoryCard h4{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;margin:4px 0 0}.memoryCard time,.memoryCategory,.memoryDescription,.memoryMember{color:#6a615a;line-height:1.6}.memoryCard time{font-size:.82rem;white-space:nowrap}.memoryType{color:#85664f;font-size:.68rem;font-weight:800;letter-spacing:.1em;margin:0;text-transform:uppercase}.memoryCategory,.memoryMember{font-size:.9rem;margin:10px 0 0}.memoryDescription{margin:14px 0 0;white-space:pre-wrap}.memoryPhotos{border-top:1px solid #eadfd5;display:grid;grid-gap:16px;gap:16px;margin-top:18px;padding-top:18px}.memoryPhoto{border:1px solid #e6ded4;border-radius:14px;margin:0;overflow:hidden}.memoryPhoto img,.photoUnavailable{aspect-ratio:16/10;display:block;width:100%}.memoryPhoto img{background:#f4eee7;object-fit:cover}.photoUnavailable{align-items:center;background:#f4eee7;color:#82766d;display:flex;justify-content:center}.memoryPhoto figcaption{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:12px}.memoryPhoto figcaption span{color:#6a615a;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photoUploadForm{align-items:end;background:#f8f3ec;border:1px dashed #cdbbad;border-radius:14px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.photoUploadForm input[type=file]{font-size:.82rem}.memoryMedia{border-top:1px solid #eadfd5;display:grid;grid-gap:16px;gap:16px;margin-top:18px;padding-top:18px}.memoryVideo{border:1px solid #e6ded4;border-radius:14px;margin:0;overflow:hidden}.memoryVideo video,.videoUnavailable{aspect-ratio:16/9;display:block;width:100%}.memoryVideo video{background:#181512}.videoUnavailable{align-items:center;background:#f4eee7;color:#82766d;display:flex;justify-content:center}.memoryVideo figcaption{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:12px}.memoryVideo figcaption span{color:#6a615a;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mediaUploadForm{align-items:end;background:#f8f3ec;border:1px dashed #cdbbad;border-radius:14px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.mediaUploadForm input[type=file]{font-size:.82rem}.memoryAudio{border-top:1px solid #eadfd5;display:grid;grid-gap:16px;gap:16px;margin-top:18px;padding-top:18px}.memoryAudioFile{background:#f8f3ec;border:1px solid #e6ded4;border-radius:14px;margin:0;overflow:hidden;padding:16px}.memoryAudioFile audio{display:block;width:100%}.audioUnavailable{align-items:center;background:#f4eee7;border-radius:10px;color:#82766d;display:flex;justify-content:center;min-height:72px}.memoryAudioFile figcaption{align-items:center;display:flex;gap:12px;justify-content:space-between;padding-top:12px}.memoryAudioFile figcaption span{color:#6a615a;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treePanel{border-top:1px solid #e6ded4;margin-top:32px}.viewToggle{display:flex;flex-wrap:wrap;gap:8px}.familyTree{background:linear-gradient(#f5eee6 1px,transparent 0),linear-gradient(90deg,#f5eee6 1px,transparent 0);background-size:24px 24px;border:1px solid #e6ded4;border-radius:20px;margin-top:24px;overflow-x:auto;padding:28px}.treeChildren,.treeRoots{list-style:none;margin:0;padding:0}.treeRoots{display:grid;grid-gap:32px;gap:32px;min-width:max-content}.treeBranch{position:relative}.treeCouple,.treeSingle{align-items:stretch;display:flex;width:max-content}.treeCouple{background:rgb(255 253 249/82%);border:1px solid #dccfc3;border-radius:20px;gap:0;padding:10px}.treeSpouseConnector,.treeSpousePair{align-items:center;display:flex}.treeSpouseConnector{color:#85664f;flex-direction:column;font-size:.68rem;font-weight:800;gap:4px;letter-spacing:.08em;text-transform:uppercase;width:70px}.treeSpouseConnector:after,.treeSpouseConnector:before{background:#a98b73;content:"";height:2px;width:100%}.treeDescendants{margin-top:18px;padding-top:18px;position:relative}.treeDescendants:before{background:#b89e89;content:"";height:18px;left:42px;position:absolute;top:0;width:2px}.treeBranchLabel{background:#725743;border-radius:999px;color:white;display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.1em;margin:0 0 12px 18px;padding:6px 10px;text-transform:uppercase}.treeChildren{border-left:2px solid #b89e89;display:grid;grid-gap:22px;gap:22px;margin-left:42px;padding-left:30px}.treeChildren>.treeBranch:before{background:#b89e89;content:"";height:2px;left:-30px;position:absolute;top:46px;width:30px}.treePersonCard{background:#fffdf9;border:1px solid #d9cabe;border-left:5px solid #85664f;border-radius:14px;box-shadow:0 10px 28px rgb(67 51 39/10%);min-width:220px;padding:18px 20px;width:260px}.treePersonCard h4{font-family:Georgia,Times New Roman,serif;font-size:1.3rem;line-height:1.2;margin:0}.treeCardLabel{color:#85664f;font-size:.68rem;font-weight:800;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.treeStatus{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:800;margin:10px 0 0;padding:5px 9px}.treeStatusLiving{background:#e5f3e8;color:#28613a}.treeStatusDeceased{background:#eee9e4;color:#665c55}.treeDates,.treeRelation{color:#6a615a;line-height:1.5;margin:10px 0 0}.treeDates{font-size:.82rem}.treeSiblingGroup{border-top:1px solid #eadfd5;margin-top:12px;padding-top:12px}.treeRelationLabel{color:#85664f;display:block;font-size:.68rem;font-weight:800;letter-spacing:.08em;margin-bottom:7px;text-transform:uppercase}.treeSiblingList{display:flex;flex-wrap:wrap;gap:6px}.treeSiblingChip{background:#f2e9e0;border-radius:999px;color:#654a37;font-size:.75rem;padding:5px 8px}@media (max-width:520px){.dashboardHeader,.linkRow,.membersHeader{align-items:flex-start;flex-direction:column}.formGrid{grid-template-columns:1fr}.memoryCardHeader{flex-direction:column;gap:8px}.mediaUploadForm,.photoUploadForm{align-items:stretch;grid-template-columns:1fr}.familyTree{padding:18px 14px}.treeRoots{min-width:0}.treeCouple,.treeSingle{width:100%}.treeCouple,.treeSpousePair{align-items:stretch;flex-direction:column}.treeSpouseConnector{flex-direction:row;margin:8px 0;width:100%}.treePersonCard{min-width:0;width:100%}.treeDescendants:before{left:18px}.treeBranchLabel{margin-left:0}.treeChildren{margin-left:18px;padding-left:18px}.treeChildren>.treeBranch:before{left:-18px;width:18px}}