:root{color-scheme:light;--bg:#f6f4ef;--ink:#24211c;--muted:#6f675c;--line:#d7d0c4;--panel:#fffdf8;--accent:#276b5f;--accent-strong:#184d44;--gold:#b98945;--rose:#8e4f5f;--accent-soft:#e6efe9;--surface-2:#fbfaf6;--surface-3:#f9f5ed;--gold-soft:#f7eddb;--gold-ink:#795d3a;--rose-soft:#f5e6ea;--danger:#87342b;--ink-soft:#625b50;--field:white;--shadow:0 18px 50px rgba(36,33,28,0.12)}:root[data-fc-theme=dark] .family-chart-shell{color-scheme:dark;--bg:#151816;--ink:#ece7de;--muted:#a39c90;--line:#3b423e;--panel:#1f2421;--accent:#6cc0ad;--accent-strong:#8fd3c3;--gold:#d6ad6b;--rose:#d68fa0;--accent-soft:#1d3530;--surface-2:#242a26;--surface-3:#282d29;--gold-soft:#3a3122;--gold-ink:#e0c08c;--rose-soft:#3b262d;--danger:#f08d7f;--ink-soft:#c9c2b6;--field:#181c1a;--shadow:0 18px 50px rgba(0,0,0,0.5)}:root[data-fc-theme=dark] .family-chart-shell button.primary{color:#0e1d19}:root[data-fc-theme=dark] .family-chart-shell .person-cue{border-color:rgba(236,231,222,.14);background:#262b28}:root[data-fc-theme=dark] .family-chart-shell .person-cue.relation-type{background:#3a3122;color:#e0c08c}:root[data-fc-theme=dark] .family-chart-shell .person-cue.sex-f{background:#3b262d;color:#e6a5b6}:root[data-fc-theme=dark] .family-chart-shell .person-cue.sex-m{background:#1f2c3a;color:#9cc3e6}:root[data-fc-theme=dark] .family-chart-shell .person-cue.deceased,:root[data-fc-theme=dark] .family-chart-shell .person-cue.private{background:#2c2f2c;color:#bdb6aa}:root[data-fc-theme=dark] .family-chart-shell .placeholder-photo{filter:brightness(.8)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body,button{color:var(--ink)}button{min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font:inherit;font-weight:700;padding:0 14px;cursor:pointer}button.primary{border-color:var(--accent);background:var(--accent);color:white}.button-link{display:inline-grid;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-weight:800;padding:0 14px;text-decoration:none}.app-shell{min-height:100vh;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1440px;margin:0 auto 24px}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:0}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,4vw,4rem);line-height:1}.topbar h1{font-size:clamp(2rem,3vw,2.8rem)}h2{margin-bottom:10px;font-size:1.15rem}li,p,small,span{color:var(--muted)}.workspace{grid-template-columns:minmax(260px,340px) minmax(360px,1fr) minmax(260px,320px);grid-gap:18px;max-width:1440px}.guest-workspace,.workspace{display:grid;gap:18px;margin:0 auto}.guest-workspace{grid-template-columns:minmax(280px,520px) minmax(280px,420px);align-items:start;grid-gap:18px;max-width:980px}.guest-workspace>*{min-width:0}.guest-workspace.invite-workspace{grid-template-columns:minmax(0,440px);justify-content:center}.guest-account-actions{display:grid;grid-gap:18px;gap:18px;align-content:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.compact ul{padding-left:18px}.placeholder-photo{display:grid;place-items:center;width:96px;height:96px;margin-bottom:16px;border:1px solid #c9a36d;border-radius:50%;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.8),transparent 26%),linear-gradient(145deg,#d5a863,#23685c)}.avatar,.placeholder-photo span{color:white;font-weight:900}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:18px 0}.stat{border:1px solid var(--line);border-radius:8px;padding:12px}.stat strong{display:block;font-size:1.35rem}.node small,.stat span{display:block;font-size:.82rem}.node{position:absolute;display:grid;grid-template-columns:44px 1fr;grid-column-gap:10px;column-gap:10px;align-items:center;width:190px;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px rgba(36,33,28,.12)}.node strong{font-size:.95rem}.avatar{display:grid;grid-row:span 2;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);font-size:.8rem}.avatar.muted{background:var(--rose)}.login-form{display:grid;grid-gap:14px;gap:14px}.login-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.9rem;font-weight:800}.login-form input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;padding:0 12px}.login-form>a:not(.button-link){justify-self:start;color:var(--accent);font-size:.9rem}.form-note,.pending-note{margin:14px 0 0;color:var(--muted);font-size:.9rem}.account-box{position:relative;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}.account-email{max-width:220px;overflow:hidden;color:var(--muted);font-size:.82rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.account-box strong{border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:var(--accent-soft);color:var(--accent-strong);font-size:.82rem}.signed-in{padding-top:16px}.signed-in .topbar{align-items:flex-start;margin-bottom:12px}.signed-in h1{font-size:2.35rem;letter-spacing:0}.tree-title-block{display:grid;grid-gap:4px;gap:4px;min-width:0}.tree-title-block h1{color:var(--ink)}.signed-in .account-box{gap:8px}.signed-in .account-box button,.signed-in .button-link{min-height:36px;padding:0 12px}.admin-workspace-link{display:grid;place-items:center;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:.82rem;font-weight:800;padding:0 12px;box-shadow:none}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;max-width:1440px;margin:0 auto 10px}.segmented,.stats-strip .stat{background:var(--panel)}.segmented{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px}.segmented button{min-height:30px;border:0;background:transparent;font-size:.76rem;padding:0 9px}.segmented .selected{background:var(--accent-soft);color:var(--accent-strong)}.focused-avatar,.focused-avatar-image{display:block;width:100%;height:100%}.focused-avatar{overflow:hidden;border-radius:inherit}.focused-avatar-image{object-fit:cover}.profile-drawer{position:relative;z-index:9;grid-column:2;grid-row:2/4;width:auto;min-width:0;max-height:none;height:calc(100% - 12px);overflow:auto;margin:0 12px 12px 0;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);padding:14px}@media (max-width:1350px){.profile-drawer{position:relative;grid-column:1;grid-row:auto;width:auto;height:auto;max-height:none;margin:0 12px 12px}}.close-button{position:absolute;top:10px;right:10px;width:32px;min-height:32px;padding:0}.placeholder-photo.small{width:64px;height:64px;margin:0;flex:0 0 auto}.profile-photo-wrap{position:relative;width:74px;height:74px;flex:0 0 auto;margin:0;border:1px solid var(--line);border-radius:50%;overflow:hidden;background:var(--surface-3)}.profile-photo{width:100%;height:100%;margin:0;border:0;border-radius:0}.photo-edit-button{position:absolute;inset:auto 6px 6px;min-height:24px;border:0;border-radius:999px;background:rgba(36,33,28,.74);color:white;font-size:.66rem;font-weight:900;opacity:0;padding:0 8px;transition:opacity .14s ease}.profile-photo-wrap:focus-within .photo-edit-button,.profile-photo-wrap:hover .photo-edit-button{opacity:1}.profile-header{display:flex;align-items:center;gap:12px;padding-right:36px;border-bottom:1px solid var(--line);padding-bottom:12px}.profile-header div{min-width:0}.profile-kicker{display:block;color:var(--accent-strong);font-size:.68rem;font-weight:900;text-transform:uppercase}.profile-header h2{display:-webkit-box;overflow:hidden;margin:2px 0 4px;color:var(--ink);font-size:1.06rem;line-height:1.14;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:3}.profile-cues,.profile-relationship-cues{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 5px}.person-cue{display:inline-flex;align-items:center;min-height:20px;border:1px solid rgba(111,101,88,.2);border-radius:999px;background:#f7f2e9;color:var(--muted);font-size:.66rem;font-weight:900;line-height:1;padding:0 7px;white-space:nowrap}.person-cue.relationship,.person-cue.root{border-color:color-mix(in srgb,var(--accent) 28%,transparent);background:var(--accent-soft);color:var(--accent-strong)}.person-cue.relation-type{border-color:rgba(122,91,43,.24);background:#f4ecdd;color:#725326}.person-cue.sex-f{border-color:rgba(155,72,111,.24);background:#f7eaf0;color:#7d3658}.person-cue.sex-m{border-color:rgba(51,94,150,.24);background:#e9f0f8;color:#294f82}.person-cue.deceased,.person-cue.private{border-color:rgba(107,98,84,.28);background:#eee8df;color:#5f574b}.profile-header p{margin:0;color:var(--muted);font-size:.82rem;font-weight:800}.profile-header .profile-family-summary{margin-top:4px;color:var(--ink-soft);font-size:.74rem;font-weight:850;line-height:1.25}.profile-actions{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin-top:10px}.profile-actions button{min-height:36px;padding:0 10px;font-size:.78rem}.delete-form button,.edit-form button,.media-upload-form button,.profile-family-action-row button,.profile-relationship-empty button,.relationship-form button{font-size:.84rem}.profile-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));grid-gap:6px;gap:6px;position:-webkit-sticky;position:sticky;top:0;z-index:4;margin:10px -4px 0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,transparent);padding:6px 4px 10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-tabs button{min-height:34px;border-color:color-mix(in srgb,var(--line) 90%,transparent);background:var(--surface-2);color:var(--muted);font-size:.74rem;font-weight:900}.profile-tabs button.selected{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);color:var(--accent-strong)}.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0 0}.profile-facts div{display:grid;grid-gap:2px;gap:2px;min-width:0;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:8px;background:var(--surface-2);padding:8px}.profile-facts dt{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.profile-facts dd{margin:0;color:var(--ink);font-size:.84rem;line-height:1.35}.profile-timeline{margin-top:12px}.profile-timeline h3{margin:0 0 8px}.profile-timeline ol{position:relative;display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.profile-timeline ol:before{content:"";position:absolute;top:8px;bottom:8px;left:43px;width:2px;background:color-mix(in srgb,var(--line) 90%,transparent)}.profile-timeline li{position:relative;display:grid;grid-template-columns:36px 1fr;grid-gap:18px;gap:18px;align-items:start}.profile-timeline li:before{content:"";position:absolute;top:5px;left:39px;width:10px;height:10px;border:2px solid var(--surface-2);border-radius:50%;background:var(--muted)}.profile-timeline .timeline-divorce:before,.profile-timeline .timeline-engagement:before,.profile-timeline .timeline-marriage:before{background:var(--surface-2);border-color:#8a7b63}.profile-timeline .timeline-birth:before,.profile-timeline .timeline-death:before{background:var(--accent,#276b5f)}.timeline-year{color:var(--muted);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;line-height:20px;text-align:right}.profile-timeline p{margin:0;color:var(--ink);font-size:.86rem;line-height:20px}.profile-timeline small{display:block;color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}.timeline-person{display:inline;vertical-align:baseline;min-height:0;line-height:inherit;border:0;border-radius:0;background:none;color:inherit;font:inherit;font-weight:700;padding:0;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:2px;cursor:pointer}.profile-relationships{display:grid;grid-gap:10px;gap:10px;margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);border-radius:8px;background:var(--surface-2);padding:12px}.profile-relationships h3,.profile-relationships-group h3{margin:0;font-size:1rem}.profile-relationships-group{display:grid;grid-gap:8px;gap:8px}.profile-relationships-group div{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));grid-gap:6px;gap:6px}.profile-relationships-group button{display:grid;justify-items:start;min-height:48px;border-color:color-mix(in srgb,var(--line) 88%,transparent);background:var(--field);padding:8px 10px;text-align:left}.profile-relationships-group button[dir=rtl]{text-align:right;justify-items:end}.profile-relationship-name{color:var(--ink);font-size:.86rem;font-weight:850;white-space:pre-line}.profile-relationships-group small{font-size:.72rem}.profile-relationship-empty{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px dashed rgba(121,93,58,.34);border-radius:8px;background:var(--field);padding:9px 10px}.profile-relationship-empty div{display:grid;grid-gap:3px;gap:3px;min-width:0}.profile-relationship-empty strong{color:var(--ink);font-size:.82rem;line-height:1.2}.profile-relationship-empty span{color:var(--muted);font-size:.72rem;line-height:1.3}.profile-relationship-empty button{min-height:32px;padding:6px 9px;white-space:nowrap}.profile-relationship-cues{margin:2px 0 0}.profile-relationship-cues .person-cue{min-height:18px;font-size:.62rem;padding:0 6px}.profile-family-actions{display:grid;grid-gap:8px;gap:8px;margin-top:4px;border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);padding-top:10px}.profile-family-actions h4{margin:0;color:var(--muted);font-size:.75rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.profile-family-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:10px}.profile-family-action-row div{display:grid;grid-gap:3px;gap:3px;min-width:0}.profile-family-action-row strong{color:var(--ink);font-size:.84rem}.profile-family-action-row span{color:var(--muted);font-size:.74rem;line-height:1.35}.profile-family-action-row button{min-height:36px;padding:7px 10px;white-space:nowrap}.edit-form{display:grid;grid-gap:12px;gap:12px;margin-top:14px;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);border-radius:8px;background:var(--surface-2);padding:12px}.edit-form h3{margin:0;font-size:1rem}.edit-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.82rem;font-weight:850}.edit-form input,.edit-form select,.edit-form textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;padding:8px 10px}.edit-form textarea{min-height:78px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.checkbox-row{grid-template-columns:18px 1fr;align-items:center}.checkbox-row input{min-height:18px;padding:0}.form-error,.form-success{margin:0;border-radius:8px;padding:9px 10px;font-size:.86rem;font-weight:800}.form-error{background:#f8e8e6;color:var(--danger)}.form-success{background:var(--accent-soft);color:var(--accent-strong)}.media-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.media-strip figure{margin:0}.media-card{display:grid;grid-gap:5px;gap:5px}.media-image-button,.media-placeholder{display:block;width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:8px;overflow:hidden}.media-image-button{position:relative;min-height:0;background:var(--surface-3);padding:0;cursor:default}.media-image-button.editable{cursor:pointer}.media-image-button img,.media-strip img{width:100%;height:100%;object-fit:cover;transform-origin:center}.media-image-button span{position:absolute;right:8px;bottom:8px;border-radius:999px;background:rgba(36,33,28,.72);color:white;font-size:.68rem;font-weight:900;line-height:1;opacity:0;padding:6px 8px;transition:opacity .14s ease}.media-image-button:focus-visible span,.media-image-button:hover span{opacity:1}.media-placeholder{display:grid;place-items:center;background:var(--surface-3)}.media-placeholder span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.media-strip figcaption{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.2;overflow-wrap:anywhere}.media-focus-editor{display:grid;grid-gap:12px;gap:12px;margin-top:14px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:8px;background:var(--surface-2);padding:12px}.media-focus-editor>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.media-focus-editor h3{margin:0;font-size:1rem}.media-focus-editor>div:first-child button{min-height:30px;padding:0 10px;font-size:.74rem}.focus-stage{position:relative;width:min(100%,280px);aspect-ratio:1;justify-self:center;overflow:hidden;border-radius:50%;background:#9d978e;cursor:-webkit-grab;cursor:grab;touch-action:none}.focus-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.focus-stage img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.focus-stage span{position:absolute;inset:0;border:2px solid white;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(36,33,28,.24),0 0 0 999px rgba(36,33,28,.36);pointer-events:none}.focus-controls{display:grid;grid-gap:9px;gap:9px}.focus-controls label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:.78rem;font-weight:900}.profile-evidence{display:grid;grid-gap:10px;gap:10px;margin-top:12px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:8px;background:var(--surface-2);padding:12px}.profile-evidence h3{margin:0;font-size:1rem}.profile-evidence article{border:1px solid var(--line);border-radius:8px;background:var(--field);padding:10px}.profile-evidence strong{display:block;margin-bottom:4px;color:var(--accent-strong);font-size:.82rem}.profile-evidence[dir=rtl] strong{text-align:right}.profile-evidence p{margin:0;font-size:.86rem;line-height:1.35;white-space:pre-wrap}.profile-evidence small{display:block;margin-top:6px}.pending-change-list{display:grid;grid-gap:10px;gap:10px;border-bottom:1px solid var(--line);padding-bottom:14px}.pending-change-list article div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pending-change-list article span{border-radius:999px;background:var(--surface-3);color:var(--gold);font-size:.72rem;font-weight:900;padding:4px 8px}.profile-evidence pre{overflow:auto;max-height:180px;margin:8px 0 0;border-radius:8px;background:#24211c;color:#fffdf8;font-size:.72rem;line-height:1.35;padding:10px;white-space:pre-wrap}.source-identity-list{display:grid;grid-gap:4px;gap:4px;margin:0}.source-identity-list div{display:grid;grid-template-columns:54px minmax(0,1fr);grid-gap:8px;gap:8px}.source-identity-list dd,.source-identity-list dt{margin:0;font-size:.78rem;overflow-wrap:anywhere}.source-identity-list dt{color:var(--muted);font-weight:900}.source-identity-list dd{color:var(--ink)}.danger-zone{display:grid;grid-gap:10px;gap:10px;margin-top:16px;border:1px solid rgba(135,52,43,.22);border-radius:8px;background:#fff8f4;padding:10px}.danger-zone summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:var(--danger);font-weight:900}.danger-zone summary span{font-size:.82rem;text-transform:uppercase}.danger-zone summary strong{color:var(--muted);font-size:.76rem;font-weight:850}.delete-form{display:grid;grid-gap:10px;gap:10px;margin-top:10px;border-top:1px solid var(--line);padding-top:14px}.delete-form h3{margin:0;color:var(--danger);font-size:1rem}.delete-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.82rem;font-weight:850}.delete-form textarea{min-height:70px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;padding:8px 10px;resize:vertical}.media-upload-form,.relationship-form,.relationship-list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;margin-top:14px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:8px;background:var(--surface-2);padding:12px}.media-upload-form>*,.relationship-form>*,.relationship-list>*{min-width:0}.quick-relationship-form{border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:8px;background:var(--surface-2);padding:12px}.quick-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.quick-form-header div{display:grid;grid-gap:3px;gap:3px;min-width:0}.quick-form-header p{margin:0;color:var(--muted);font-size:.76rem;font-weight:850;line-height:1.3}.quick-form-header button{flex:0 0 auto;min-height:30px;padding:0 10px;font-size:.74rem}.media-upload-form h3,.relationship-form h3,.relationship-list h3{margin:0;font-size:1rem}.relationship-intents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;width:100%;min-width:0}.relationship-intents button{min-height:32px;min-width:0;width:100%;border-color:color-mix(in srgb,var(--accent) 22%,transparent);padding:0 9px;font-size:.76rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.relationship-intents .selected{background:var(--accent-soft);color:var(--accent-strong)}.relationship-entry-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.new-relative-fields{display:grid;grid-gap:10px;gap:10px;min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;padding:10px}.new-relative-fields legend{padding:0 4px;color:var(--muted);font-size:.78rem;font-weight:900}.date-field{display:grid;grid-gap:6px;gap:6px;min-width:0;margin:0;border:0;padding:0}.date-field legend{margin-bottom:6px;padding:0;color:var(--muted);font-size:.82rem;font-weight:850}.date-field input,.date-field select{width:100%;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;padding:8px}.date-field select:disabled{opacity:.55}.date-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.date-field-part{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2.3fr) minmax(0,1.1fr);grid-gap:6px;gap:6px}.date-field-and{color:var(--muted);font-size:.8rem}.date-field-hint{margin:0;color:var(--muted);font-size:.78rem}.date-field-hint.warn{color:var(--danger);font-weight:700}.place-field{position:relative;display:grid;grid-gap:6px;gap:6px;min-width:0}.place-field>label{color:var(--muted);font-size:.82rem;font-weight:850}.place-field input{width:100%;min-width:0;min-height:40px;color:var(--ink);font:inherit;padding:8px 10px}.place-field input,.place-field-list{border:1px solid var(--line);border-radius:8px;background:var(--field)}.place-field-list{position:absolute;top:calc(.82rem + 6px + 44px);left:0;right:0;z-index:30;max-height:260px;overflow-y:auto;margin:0;padding:4px;list-style:none;box-shadow:0 10px 28px rgb(0 0 0/.16)}.place-field-list li{display:grid;grid-gap:2px;gap:2px;padding:7px 9px;border-radius:6px;color:var(--ink);font-size:.9rem;cursor:pointer}.place-field-list li[aria-selected=true]{background:color-mix(in srgb,var(--accent) 12%,transparent)}.place-field-list small{color:var(--muted);font-size:.74rem}.place-field-status{min-height:1em;margin:0;color:var(--muted);font-size:.78rem}.detail-map-link,.place-field-status a{color:var(--accent);font-size:.78rem;font-weight:700}.media-upload-form label,.relationship-form label,.relationship-list form{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.82rem;font-weight:850}.media-upload-form input,.media-upload-form textarea,.relationship-form input,.relationship-form select,.relationship-form textarea,.relationship-list textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--field);font:inherit;padding:8px 10px}.relationship-list form{border:1px solid var(--line);border-radius:8px;padding:10px}.relationship-list span{color:var(--ink);font-weight:800}.approval-list{display:grid;grid-gap:16px;gap:16px;max-width:1180px;margin:0 auto}.approval-card{box-shadow:none}.approval-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.approval-card-header span{border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:900;padding:5px 9px}.source-box{margin:14px 0;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:12px}.source-box strong{display:block;margin-bottom:4px;color:var(--accent-strong);font-size:.82rem}.source-box p{margin:0}.change-table{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:8px}.change-row{display:grid;grid-template-columns:minmax(120px,.7fr) repeat(2,minmax(180px,1fr))}.change-row+.change-row{border-top:1px solid var(--line)}.change-row span{min-width:0;color:var(--ink);padding:10px;overflow-wrap:anywhere}.change-row span+span{border-left:1px solid var(--line)}.change-row.header span{background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:900;text-transform:uppercase}.approval-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.approval-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.approval-actions input{min-height:40px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;padding:0 10px}.empty-state{text-align:center}.admin-list{display:grid;grid-gap:14px;gap:14px;max-width:1180px;margin:0 auto}.user-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,.9fr);grid-gap:18px;gap:18px;align-items:start}.status-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.status-pills span{border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:900;padding:5px 9px}.health-section{display:grid;grid-gap:14px;gap:14px;max-width:1180px;margin:0 auto;width:100%}.health-section .stats-grid{margin:0}.admin-nav{display:flex;gap:10px;justify-content:space-between;align-items:center;width:100%;max-width:1180px;margin:0 auto;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.74);padding:8px;box-shadow:0 10px 30px rgba(37,31,23,.05)}.admin-nav>div{display:flex;flex:1 1;gap:4px;justify-content:flex-end;overflow-x:auto}.admin-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:7px;color:var(--muted);font-size:.84rem;font-weight:900;line-height:1;padding:0 12px;text-decoration:none;white-space:nowrap}.admin-nav a:focus-visible,.admin-nav a:hover{background:#f8f5ee;color:var(--ink)}.admin-nav a.active{background:#dcece6;color:var(--accent-strong)}.admin-nav .admin-nav-home{border:1px solid var(--line);color:var(--ink)}.health-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.health-table{width:100%;border-collapse:collapse;font-size:.88rem}.health-table td,.health-table th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}.health-table th{color:var(--muted);font-size:.72rem;letter-spacing:0;text-transform:uppercase}.cleanup-grid,.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.cleanup-card,.ops-grid>div{display:grid;grid-gap:4px;gap:4px;min-height:86px;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:12px;text-decoration:none}.cleanup-card strong,.ops-grid strong{font-size:1.18rem}.cleanup-card span,.ops-grid small,.ops-grid span{color:var(--muted);font-size:.8rem}.cleanup-card.disabled{background:#f8f5ee;color:var(--muted)}.status-pill{display:inline-block;border-radius:999px;font-size:.72rem;font-weight:900;padding:4px 8px}.severity-error{background:#f7dada;color:#8a1f1f}.severity-warning{background:#f9edd8;color:#865800}.severity-info{background:#ddebf7;color:#20547a}.user-access-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;grid-gap:10px;gap:10px;align-items:end}.user-access-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.82rem;font-weight:850}.user-access-form input,.user-access-form select{min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;padding:0 10px}.invite-form{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(180px,.55fr) auto}.invite-help{margin:0 0 12px;color:var(--muted);font-size:.9rem}.invite-result{display:grid;grid-gap:8px;gap:8px;margin-top:12px;min-width:0}.invite-link{display:flex;gap:8px;min-width:0}.invite-link input{flex:1 1;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:.86rem;padding:0 10px}.resend-invite{display:grid;grid-gap:8px;gap:8px;margin-top:10px;min-width:0}.settings-form{display:grid;grid-gap:16px;gap:16px;max-width:1180px;margin:0 auto;min-width:0}.settings-section{box-shadow:none;min-width:0}.settings-grid{display:grid;grid-gap:10px;gap:10px;min-width:0}.settings-grid label{display:grid;grid-gap:6px;gap:6px;min-width:0;color:var(--muted);font-size:.82rem;font-weight:850}.settings-grid input[type=number],.settings-grid select{width:100%;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;padding:0 10px}.settings-grid .checkbox-label{grid-template-columns:18px 1fr;align-items:center;color:var(--ink)}.settings-grid .checkbox-label input{width:18px;height:18px;margin:0}.compact-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.export-panel{max-width:720px;margin:0 auto}.export-intro{margin-bottom:18px}.export-intro p{margin-bottom:0;line-height:1.5}.toggle-row{display:grid;grid-template-columns:18px 1fr;align-items:center;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--ink);font-weight:800}.privacy-row input,.toggle-row input{width:18px;height:18px}.privacy-role-block{display:grid;grid-gap:8px;gap:8px;margin-top:18px;min-width:0}.privacy-role-block h3{margin:0;font-size:1rem}.privacy-matrix{display:grid;min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.privacy-row{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(9,minmax(76px,.65fr));min-width:860px}.privacy-row+.privacy-row{border-top:1px solid var(--line)}.privacy-row label,.privacy-row span{display:grid;place-items:center;min-height:42px;border-left:1px solid var(--line);padding:6px}.privacy-row span:first-child{justify-items:start;border-left:0;color:var(--ink);font-weight:800}.privacy-header span{background:var(--accent-soft);color:var(--accent-strong);font-size:.72rem;font-weight:900;text-transform:uppercase}.settings-actions{display:flex;justify-content:flex-end}@media (max-width:1050px){.guest-workspace,.workspace{grid-template-columns:1fr}.cleanup-grid,.health-stats-grid,.ops-grid,.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.app-shell{padding:16px}.admin-nav,.topbar{align-items:stretch;flex-direction:column}.admin-nav>div{justify-content:flex-start}.admin-nav a{min-height:42px}.approval-actions,.approval-actions form,.change-row,.cleanup-grid,.compact-settings,.health-stats-grid,.invite-form,.ops-grid,.stats-strip,.user-access-form,.user-card{grid-template-columns:1fr}.change-row span+span{border-left:0;border-top:1px solid var(--line)}.profile-drawer{width:auto}.media-strip,.profile-facts,.profile-relationships-group div{grid-template-columns:1fr}.profile-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-family-action-row,.profile-relationship-empty{grid-template-columns:1fr;align-items:stretch}.profile-family-action-row button,.profile-relationship-empty button{width:100%}.node{width:160px}}@media print{body{background:var(--field)}.profile-drawer,.stats-strip,.topbar{display:none!important}.app-shell{padding:0}}.media-list{display:flex;flex-direction:column;gap:12px}.media-item{border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;grid-gap:8px;gap:8px}.media-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.media-id{font-family:var(--font-mono);font-weight:700;color:var(--muted)}.badge{font-size:.72rem;background:var(--ink);color:white;padding:2px 8px;border-radius:999px}.media-info{display:flex;flex-direction:column;gap:4px}.media-meta{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}.media-meta strong{color:var(--ink)}.farsi-list{gap:16px}.farsi-item,.farsi-list{display:flex;flex-direction:column}.farsi-item{border:1px solid var(--line);border-radius:8px;padding:16px;gap:10px}.farsi-item-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.person-id{font-family:var(--font-mono);font-weight:700;color:var(--muted)}.sex-badge,.status-badge{font-size:.72rem;padding:2px 8px;border-radius:999px;font-weight:700}.sex-m{background:#e3f2fd;color:#1565c0}.sex-f{background:#f8bbd9;color:#c2185b}.sex-u{background:#f5f5f5;color:#616161}.status-living{background:#e8f5e9;color:#2e7d32}.status-deceased{background:#ffebee;color:#c62828}.status-unknown{background:#fff3e0;color:#ef6c00}.person-meta{font-size:.82rem;color:var(--muted)}.farsi-names-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.farsi-name-item{display:flex;flex-direction:column;gap:4px}.farsi-name-item label{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase}.value-display{padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--field);min-height:36px;display:flex;align-items:center}.value-display[dir=rtl]{justify-content:flex-end;text-align:right}.value-display .placeholder{color:var(--muted);font-style:italic}.save-toast-slot{position:-webkit-sticky;position:sticky;bottom:-8px;z-index:6;height:0;overflow:visible}.save-toast{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 10px 10px 12px;border-radius:12px;background:#1f3a2e;color:#fff;box-shadow:0 10px 30px rgba(20,24,22,.28);animation:save-toast-in .22s cubic-bezier(.22,.8,.26,1)}.save-toast.error{background:#7a2a21}.save-toast>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18);font-weight:800}.save-toast p{margin:0;font-size:.9rem;font-weight:700;line-height:1.3}.save-toast button{min-width:32px;min-height:32px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:1.2rem;cursor:pointer}@keyframes save-toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.save-toast{animation:none}}.living-review-item .person-meta{margin:2px 0}.living-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.bulk-edit{display:grid;grid-gap:12px;gap:12px}.bulk-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.bulk-toolbar label{display:grid;grid-gap:4px;gap:4px;font-size:.85rem;color:var(--muted)}.bulk-count{margin-left:auto;color:var(--muted);font-size:.9rem}.bulk-scroll{overflow:auto;max-height:calc(100vh - 260px);min-height:320px;border:1px solid var(--line);border-radius:6px}.bulk-table{border-collapse:separate;border-spacing:0;font-size:.88rem;min-width:100%}.bulk-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--surface-3);padding:6px 8px;text-align:left;white-space:nowrap;font-weight:600}.bulk-table td,.bulk-table th{border-bottom:1px solid var(--line)}.bulk-table td{padding:3px 4px;vertical-align:middle;background:var(--panel)}.bulk-table td:first-child,.bulk-table th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--line)}.bulk-table th:first-child{z-index:3}.bulk-table td.changed{background:var(--gold-soft)}.bulk-table input:not([type=checkbox]),.bulk-table select{width:100%;min-width:0;padding:4px 6px;font:inherit;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit}.bulk-table input:not([type=checkbox]):hover,.bulk-table select:hover{border-color:var(--line)}.bulk-table input:not([type=checkbox]):focus,.bulk-table select:focus{border-color:var(--accent);background:var(--field);outline:none}.bulk-table td:first-child input,.bulk-table td:nth-child(2) input{width:190px}.bulk-table td:nth-child(7) input,.bulk-table td:nth-child(9) input{width:180px}.bulk-table td:nth-child(3) select{width:90px}.bulk-table td:nth-child(4) select{width:100px}.bulk-table small{display:block;padding:0 6px 2px;color:var(--muted);font-size:.75rem}.bulk-table small.bulk-warn{color:var(--danger)}.bulk-center{text-align:center}.bulk-date{display:flex;width:175px}.bulk-date-pick{flex:none;padding:2px 8px;min-height:0;border-radius:4px}.bulk-links{display:grid;grid-gap:2px;gap:2px;min-width:230px}.bulk-links label{display:grid;grid-template-columns:1fr 110px;align-items:center;grid-gap:6px;gap:6px}.bulk-links span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-couples{gap:8px;min-width:250px}.bulk-couple{display:grid;grid-gap:3px;gap:3px}.bulk-couple+.bulk-couple{border-top:1px solid var(--line);padding-top:6px}.bulk-pages{gap:12px;justify-content:center}.bulk-pages,.bulk-savebar{display:flex;align-items:center}.bulk-savebar{position:-webkit-sticky;position:sticky;bottom:0;z-index:4;justify-content:flex-end;gap:10px;padding:10px 0 0;background:var(--panel)}.bulk-savebar span{margin-right:auto;color:var(--muted)}.bulk-message{border-left:3px solid var(--accent);padding:4px 12px}.bulk-message.error{border-color:var(--danger);color:var(--danger)}.bulk-picker-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(36,33,28,.35)}.bulk-picker{width:min(420px,100%);display:grid;grid-gap:12px;gap:12px}.bulk-picker-actions{display:flex;justify-content:flex-end;gap:8px}.audit-filter-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.audit-filter-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.audit-meta{display:grid;grid-template-columns:max-content 1fr;grid-gap:4px 12px;gap:4px 12px;margin:0;font-size:.88rem}.audit-meta dt{color:var(--muted)}.audit-meta dd{margin:0;overflow-wrap:anywhere}.audit-filter-link{font-size:.78rem;color:var(--muted)}.audit-table-wrap{overflow-x:auto}.audit-changes{width:100%;border-collapse:collapse;font-size:.85rem}.audit-changes td,.audit-changes th{border-top:1px solid var(--line);padding:4px 8px;text-align:start;vertical-align:top;overflow-wrap:anywhere}.audit-changes td:first-child{font-family:var(--font-mono);white-space:nowrap}.audit-raw summary{cursor:pointer;font-size:.85rem;color:var(--muted)}.audit-raw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;margin-top:8px}.audit-raw h3{font-size:.8rem;margin:0 0 4px}.audit-raw pre{margin:0;padding:8px;max-height:320px;overflow:auto;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere}.audit-pager{align-items:center;margin-top:16px}.record-flags{display:grid;grid-gap:10px;gap:10px;margin-top:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:12px}.record-flags-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.record-flags h3{margin:0;font-size:1rem}.record-flag-form{display:grid;grid-gap:8px;gap:8px}.record-flag-form label{display:grid;grid-gap:6px;gap:6px;font-weight:700}.record-flag{display:grid;grid-gap:6px;gap:6px;border-top:1px solid var(--line);padding-top:10px}.record-flag p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.record-flag-actions,.record-flag-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.record-flag-meta small{color:var(--muted)}.record-flag-status{border-radius:999px;font-size:.72rem;font-weight:900;padding:3px 8px}.flag-status-new{background:var(--rose-soft);color:var(--rose)}.flag-status-review{background:var(--gold-soft);color:var(--gold-ink)}.flag-status-resolved{background:var(--accent-soft);color:var(--accent-strong)}.record-flag-reply{border-left:3px solid var(--accent);background:var(--panel);border-radius:0 6px 6px 0;padding:6px 10px}.record-flag-reply strong{font-size:.78rem;color:var(--muted)}.record-flags-admin-link{color:var(--accent);font-weight:700}.flag-filters{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.flag-filters a[aria-current=page]{border-color:var(--accent);background:var(--accent);color:white}.admin-flag-list{display:grid;grid-gap:12px;gap:12px}.admin-flag{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:12px}.admin-flag,.admin-flag-review{display:grid;grid-gap:8px;gap:8px}.admin-flag-review{max-width:640px}.admin-flag-review label,.record-flag-form label{color:var(--muted);font-size:.82rem;font-weight:850}.admin-flag-review select,.admin-flag-review textarea,.record-flag-form textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:.95rem;font-weight:400;padding:8px 10px;resize:vertical}.admin-flag-review select{max-width:220px}.admin-flag-review label{display:grid;grid-gap:6px;gap:6px;font-weight:700}.record-flag-note{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}button.danger-button{border-color:var(--danger);background:var(--danger);color:white}