.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
  background: radial-gradient(circle at top, #f8f3df, #ece6cf 62%, #e1d9bd);
}
.auth-card {
  width: min(100%, 32rem);
  padding: clamp(1.5rem, 5vw, 3rem);
  background: rgba(255,255,255,.88);
  border: 1px solid var(--line);
  border-radius: 1rem;
  box-shadow: 0 1.5rem 4rem rgba(71,55,21,.12);
}
.auth-card.wide { width: min(100%, 58rem); }
.auth-card h1 { margin: .2rem 0 1.3rem; }
.auth-card form { display: grid; gap: 1rem; }
.auth-card label { display: grid; gap: .4rem; font-weight: 600; }
.auth-card input {
  width: 100%;
  padding: .8rem .9rem;
  border: 1px solid #bcb293;
  border-radius: .45rem;
  background: #fff;
  font: inherit;
}
.auth-card select { width:100%; padding:.8rem .9rem; border:1px solid #bcb293; border-radius:.45rem; background:#fff; font:inherit; }
.auth-card textarea { width:100%; padding:.8rem .9rem; border:1px solid #bcb293; border-radius:.45rem; background:#fff; font:inherit; resize:vertical; }
.auth-card small { font-weight:400; color:#665f4b; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.panel-actions { margin:1.25rem 0; }
.tree-home-setting{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:1.4rem 0;padding:1.15rem 1.25rem;border:1px solid #cbc092;border-radius:.7rem;background:#fffdf5}.tree-home-setting p{margin:.25rem 0 0;color:#675f49}.tree-person-search{margin:1.8rem 0}.tree-person-search h2{margin-bottom:.6rem}.search-inline{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.search-inline label{width:100%;font-weight:700}.search-inline input{flex:1 1 18rem}.search-inline a{padding:.7rem 0;color:#675f49}
.tree-start-person{margin:1.7rem 0;padding:1.3rem;border:1px solid #cbc092;border-radius:.7rem;background:#fffdf5}.tree-start-person h2{margin:.1rem 0 .35rem}.tree-start-person>p{margin:.3rem 0 1rem}.start-person-results article{align-items:center}.start-person-results article>div{display:grid;gap:.15rem}.start-person-results article form{display:block}.start-person-results article .button{white-space:nowrap}.start-person-results em{font-style:normal;color:#58743a;font-weight:700}.clear-start-person{display:block!important;margin-top:1rem}.clear-start-person button{border:0;background:none;padding:0;color:#7a3429;text-decoration:underline;cursor:pointer;font:inherit}
.empty-state { margin:1.4rem 0; padding:1.4rem; border:1px dashed #bcb293; border-radius:.7rem; background:#fffdf5; }
.empty-state h2 { margin-top:0; }
.tree-list,.people-list { display:grid; gap:.7rem; margin:1.3rem 0; }
.tree-list a,.people-list article { display:flex; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid #d4ccb2; border-radius:.55rem; background:#fff; text-decoration:none; }
.tree-list span,.people-list span { color:#675f49; }
.form-success { padding:.75rem .9rem; border-left:4px solid #58743a; background:#edf5e4; color:#344b22; }
.person-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:1.4rem 0; }
.person-facts div { padding:1rem; border:1px solid #d4ccb2; border-radius:.55rem; background:#fff; }
.person-facts dt { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#716746; }
.person-facts dd { margin:.35rem 0 0; }
.family-section { margin:1.7rem 0; }
.family-section>div:first-child { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid #d4ccb2; }
.family-section h2 { margin:.2rem 0 .55rem; }
.muted { color:#706954; }
.title-actions { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
.title-actions h1 { margin-right:auto; }
.relation-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.8rem; font-size:.9rem; }
.chart-actions { display:flex; align-items:center; gap:1rem; margin:1.2rem 0 1.8rem; }
.note-list { display:grid; gap:.8rem; margin:1rem 0; }
.note-list article { padding:1rem; border:1px solid #d4ccb2; border-radius:.55rem; background:#fff; }
.note-list p { white-space:normal; overflow-wrap:anywhere; }
.note-list small,.note-privacy { color:#706954; }
.note-privacy { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:1rem; margin:1rem 0; }
.media-grid article { display:grid; gap:.45rem; align-content:start; }
.media-grid img,.document-tile { width:100%; aspect-ratio:4/3; object-fit:contain; border:1px solid #d4ccb2; border-radius:.55rem; background:#f5f0df; }
.document-tile { display:grid; place-items:center; color:#7b2f26; font-size:2rem; font-weight:800; }
.media-grid p { margin:0; font-size:.9rem; overflow-wrap:anywhere; }
@media(max-width:650px){.form-grid{grid-template-columns:1fr}.tree-list a,.people-list article{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.tree-home-setting{align-items:stretch;flex-direction:column}.tree-home-setting .button{text-align:center}}
@media(max-width:650px){.person-facts{grid-template-columns:1fr}}
.auth-card input:focus { outline: 3px solid rgba(128,119,24,.2); border-color: var(--olive); }
.auth-card .button { border: 0; cursor: pointer; text-align: center; }
.person-create-page .field-placeholder { position:relative; display:block; }
.person-create-page .field-placeholder > input,
.person-create-page .field-placeholder > select { position:relative; z-index:1; }
.person-create-page .field-prompt { position:absolute; z-index:2; left:.9rem; top:50%; transform:translateY(-50%); color:#77705d; font-weight:400; pointer-events:none; transition:opacity .12s ease; }
.person-create-page .field-placeholder:focus-within .field-prompt,
.person-create-page .field-placeholder.has-value .field-prompt { opacity:0; }
.person-create-page .field-placeholder:not(.has-value) > input[type="date"]:not(:focus) { color:transparent; }
.person-create-page { display:block; min-height:0; padding:1.1rem 1rem 2rem; background:#f4f0e1; }
.person-create-page .auth-card { width:min(100%,58rem); margin:0 auto; padding:1.05rem 1.25rem 1.15rem; border-radius:.45rem; box-shadow:0 .45rem 1.5rem rgba(71,55,21,.08); }
.person-create-page .auth-card .eyebrow { margin:0 0 .35rem; font-size:.7rem; }
.person-create-page .auth-card h1 { margin:.1rem 0 .9rem; font-size:1.7rem; line-height:1.1; }
.person-create-hero { display:flex; align-items:center; gap:.85rem; margin:0 0 .85rem; }
.person-create-hero h1 { margin:.05rem 0 .2rem!important; }
.profile-upload-picker { position:relative; display:grid!important; flex:0 0 76px; width:76px; height:76px; overflow:hidden; border:2px solid #aa9d6b; border-radius:50%; background:#eee5cb; cursor:pointer; box-shadow:0 .12rem .4rem rgba(71,55,21,.12); }
.profile-upload-picker img { width:100%; height:100%; object-fit:cover; }
.profile-upload-picker input { position:absolute; width:1px!important; height:1px!important; opacity:0; pointer-events:none; }
.profile-upload-overlay { position:absolute; right:0; bottom:0; display:grid; place-items:center; width:1.6rem; height:1.6rem; border:1px solid #fffdf7; border-radius:50%; background:var(--olive); color:#fff; font:700 1.25rem/1 Arial,sans-serif; box-shadow:0 1px 4px rgba(0,0,0,.25); }
.profile-upload-picker:hover .profile-upload-overlay,.profile-upload-picker:focus-within .profile-upload-overlay { background:#625b20; transform:scale(1.08); }
.profile-upload-note { margin:0; color:#706954; font-size:.78rem; line-height:1.3; }
.profile-upload-note span { display:inline-block; max-width:21rem; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; white-space:nowrap; }
.person-edit-hero{align-items:flex-start}
.person-edit-media{display:flex;flex:0 0 auto;gap:.48rem}
.person-edit-portrait-form{margin:0}
.person-edit-media-tile{position:relative;display:grid;grid-template-rows:1fr auto;width:86px;height:122px;overflow:hidden;border:1px solid #b9ae85;border-radius:.35rem;background:#eee5cb;color:#4c432e;text-align:center;text-decoration:none;box-shadow:0 .12rem .4rem rgba(71,55,21,.12)}
.person-edit-portrait-picker{cursor:pointer}
.person-edit-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.person-edit-media-tile img{display:block;width:86px;height:98px;object-fit:cover;background:#eee5cb}
.person-edit-media-tile.person-edit-coat img{object-fit:contain;padding:.28rem}
.person-edit-media-tile span{display:flex;align-items:center;justify-content:center;gap:.22rem;height:24px;background:#fffdfa;font-size:.72rem;font-weight:700}
.person-edit-media-tile b{display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--olive);color:#fff;font:700 .78rem/1 Arial,sans-serif}
.person-edit-media-tile:hover,.person-edit-media-tile:focus-visible{border-color:#756c1d;box-shadow:0 .15rem .55rem rgba(71,55,21,.2)}
.person-edit-media-tile:hover b,.person-edit-media-tile:focus-visible b{background:#625b20}
.person-create-page .auth-card form { gap:.65rem; }
.person-create-page .person-create-grid { gap:.6rem .75rem; }
.person-create-page .person-create-grid input,
.person-create-page .person-create-grid select,
.person-create-page .person-event-row input { min-height:2.3rem; padding:.48rem .65rem; border-radius:.3rem; font-size:.92rem; }
.person-create-page .field-prompt { left:.65rem; font-size:.92rem; }
.person-create-page .auth-card .button { width:auto; min-width:9rem; padding:.55rem 1rem; border-radius:.3rem; font-size:.9rem; }
.person-create-page .auth-card > p:last-child { margin:.75rem 0 0; font-size:.9rem; }
.person-create-section { margin:0; padding:.72rem .8rem .82rem; border:1px solid #d8d0b6; border-radius:.35rem; background:#fffdfa; }
.person-create-section legend { padding:0 .3rem; color:#4c432e; font-size:.95rem; font-weight:700; }
.person-create-section .form-grid { margin-top:.1rem; }
.person-events-create { padding-top:.6rem; }
.person-create-page .form-help { margin:.05rem 0 .55rem; color:#706954; font-size:.82rem; line-height:1.35; }
.person-event-heading,.person-event-row { display:grid; grid-template-columns:7.5rem 8.8rem minmax(0,1fr); gap:.48rem; align-items:center; }
.person-event-heading { margin:0 0 .2rem; color:#706954; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.person-event-row { padding:.34rem 0; border-top:1px solid #ebe5d4; }
.person-event-row:first-of-type { border-top:0; }
.person-event-row strong { font-size:.88rem; color:#423a29; }
@media(max-width:650px){.person-event-heading{display:none}.person-event-row{grid-template-columns:1fr 1fr}.person-event-row strong{grid-column:1/-1}.person-events-create .field-placeholder{min-width:0}.profile-upload-note{max-width:18rem}.person-edit-media-tile{width:72px;height:108px}.person-edit-media-tile img{width:72px;height:84px}.person-edit-media{gap:.35rem}}
.form-error { padding: .75rem .9rem; border-left: 4px solid #9b322b; background: #f9e9e6; color: #74251f; }
.genealogy-audio{display:block;width:100%;margin:12px 0 5px;accent-color:#7b761d}.genealogy-video{display:block;width:100%;max-height:420px;margin:12px 0 5px;border:1px solid #bcb293;border-radius:7px;background:#211f19}.media-grid article>strong{display:block;margin-bottom:7px}.branch-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:1rem 0}.branch-map-grid h3{margin:.2rem 0 .6rem}.branch-candidate{display:grid;grid-template-columns:auto 1fr;gap:.1rem .55rem;padding:.55rem;border-bottom:1px solid #e4dec8;cursor:pointer}.branch-candidate input{grid-row:span 2;margin-top:.25rem}.branch-candidate small{grid-column:2;color:#756f5d}@media(max-width:640px){.branch-map-grid{grid-template-columns:1fr}}

/* Everyday forms are workspaces, not promotional posters. */
.auth-page{place-items:start center;min-height:0;padding:1.25rem;background:#f4f0e1}
.auth-card{width:min(100%,30rem);padding:1.1rem 1.25rem 1.25rem;border-radius:.5rem;box-shadow:0 .45rem 1.5rem rgba(71,55,21,.08)}
.auth-card.wide{width:min(100%,62rem)}
.auth-card h1{margin:.1rem 0 .75rem;font:700 1.75rem/1.08 "Cormorant Garamond",Georgia,serif}
.auth-card h2{margin:.9rem 0 .5rem;font:700 1.3rem/1.1 "Cormorant Garamond",Georgia,serif}
.auth-card p{margin:.45rem 0;font-size:.92rem;line-height:1.45}
.auth-card form{gap:.65rem}.auth-card label{gap:.25rem;font-size:.88rem}
.auth-card input,.auth-card select,.auth-card textarea{padding:.52rem .62rem;border-radius:.32rem;font-size:.92rem}
.auth-card textarea{min-height:4.5rem}.auth-card .button{padding:.55rem .9rem;border-radius:.3rem;font-size:.84rem;box-shadow:none}
.auth-card .eyebrow{margin-bottom:.35rem;font-size:.68rem}
.form-grid{gap:.65rem .75rem}.person-facts{gap:.55rem;margin:1rem 0}.person-facts div{padding:.65rem .75rem;border-radius:.35rem}
.tree-list,.people-list{gap:.45rem;margin:.8rem 0}.tree-list a,.people-list article{padding:.65rem .75rem;border-radius:.35rem}
.family-section{margin:1rem 0}.family-section h2{margin:.1rem 0 .35rem}.media-grid{gap:.65rem;margin:.7rem 0}
.gedcom-archive-card{max-width:62rem}.gedcom-archive-list{display:grid;gap:.45rem;margin:1rem 0}.gedcom-archive-list article{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.35rem;background:#fffdf8}.gedcom-archive-file{min-width:0;display:grid;gap:.12rem}.gedcom-archive-file strong{overflow-wrap:anywhere;font-size:.9rem}.gedcom-archive-file small{color:var(--muted);font-size:.76rem}.gedcom-archive-actions{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.gedcom-archive-actions form{display:block}.gedcom-archive-actions .button,.gedcom-delete-button{padding:.42rem .6rem!important;font-size:.76rem!important}.gedcom-delete-button{border:1px solid #a24a43;border-radius:.28rem;background:#fff;color:#8b302b;font-weight:700;cursor:pointer}.gedcom-delete-button:hover{background:#fff0ef}.gedcom-archive-missing{color:var(--muted);font-size:.78rem}.gedcom-archive-back{margin-top:1rem!important}@media(max-width:640px){.gedcom-archive-list article{align-items:flex-start;flex-direction:column}.gedcom-archive-actions{width:100%}}
/* Profile-photo and coat selectors show the whole source image. */
.profile-upload-picker{width:auto!important;height:auto!important;min-width:76px;min-height:76px;max-width:112px;border-radius:.38rem!important}.profile-upload-picker>img{display:block;width:auto!important;height:auto!important;max-width:112px;max-height:136px;object-fit:contain!important}.person-edit-media-tile{height:auto!important;min-height:0}.person-edit-media-tile>img{display:block;width:auto!important;height:auto!important;max-width:112px;max-height:136px;margin:auto;object-fit:contain!important}
.person-edit-media-tile.person-edit-coat{width:86px!important;height:122px!important;grid-template-rows:98px 24px!important}.person-edit-media-tile.person-edit-coat>img{width:86px!important;height:98px!important;max-width:86px!important;max-height:98px!important;margin:0!important;padding:.28rem;box-sizing:border-box;object-fit:contain!important}@media(max-width:650px){.person-edit-media-tile.person-edit-coat{width:72px!important;height:108px!important;grid-template-rows:84px 24px!important}.person-edit-media-tile.person-edit-coat>img{width:72px!important;height:84px!important;max-width:72px!important;max-height:84px!important}}
