:root{color-scheme:light;--bg: #f7f7f5;--fg: #1f2328;--muted: #5b6472;--accent: #2f6f4f;--accent-fg: #ffffff;--border: #e2e2df;--border-strong: #7b817e;--danger: #b42318;--danger-bg: #fef3f2}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}.container{max-width:46rem;margin:2.5rem auto;padding:0 1rem}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}h1{font-size:1.5rem;margin:0;overflow-wrap:anywhere}h2{font-size:1.1rem;margin-top:0}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin:1rem 0}.muted{color:var(--muted)}.error{color:var(--danger)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;word-break:break-all}.profile{display:grid;grid-template-columns:11rem 1fr;gap:.5rem 1rem;margin:0}.profile dt{color:var(--muted)}.profile dd{margin:0;font-weight:600}form{display:grid;gap:.75rem;min-width:0}label{display:grid;gap:.25rem;font-size:.9rem;color:var(--muted);min-width:0}label.inline{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}input,textarea,select{font:inherit;padding:.5rem;border:1px solid var(--border-strong);border-radius:8px;color:var(--fg);background:#fff;min-width:0;max-width:100%;min-height:24px}button{padding:.55rem 1.1rem;font-size:.95rem;color:var(--accent-fg);background:var(--accent);border:none;border-radius:8px;cursor:pointer;min-width:24px}button:disabled{opacity:.6;cursor:default}button:hover:not(:disabled){opacity:.9}button.danger{background:var(--danger)}summary{padding-block:.25rem;min-width:24px}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#eef2f0;color:#374151}.badge-pending,.badge-submitted,.badge-admin_review,.badge-info_requested{background:#fff7e6;color:#92400e}.badge-active,.badge-approved,.badge-linked,.badge-success{background:#e7f6ec;color:#166534}.badge-rejected,.badge-revoked,.badge-disputed,.badge-denied,.badge-failure{background:var(--danger-bg);color:var(--danger)}.requests{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.4rem}.admin-table-scroll{overflow-x:auto}.admin-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;padding:.5rem;border-bottom:1px solid var(--border)}.admin-table .actions{display:flex;gap:.5rem}.admin-table .actions button{padding:.35rem .7rem;font-size:.8rem}a{color:var(--accent)}.legal-nav{margin-bottom:1rem}.legal-doc h2{margin-top:1.5rem}.legal-doc p,.legal-doc li{line-height:1.55}.legal-doc code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;word-break:break-all}.cookie-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:.5rem 0}.cookie-table th,.cookie-table td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}.legal-footer{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem}.legal-footer a{padding-block:.25rem;min-width:24px}.consent-check{display:flex;align-items:flex-start;gap:.5rem;color:var(--fg)}.consent-check input{margin-top:.2rem;flex:0 0 auto;inline-size:1.5rem;block-size:1.5rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.topbar-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;min-width:0}.nav{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}.nav-link{color:var(--muted);text-decoration:none;padding-bottom:.1rem;border-bottom:2px solid transparent}.nav .nav-link{display:inline-flex;align-items:center;min-height:24px;min-width:24px}.nav-link:hover{color:var(--fg)}.nav-link.is-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.button-quiet{color:var(--fg);background:transparent;border:1px solid var(--border-strong)}.button-secondary{color:var(--fg);background:#eef2f0;border:1px solid var(--border-strong)}.button-secondary:hover:not(:disabled){background:#e2e8e5}.button-quiet:hover:not(:disabled){background:#f1f2f0}.button-link{display:inline-block;padding:.35rem .8rem;border:1px solid var(--border-strong);border-radius:8px;text-decoration:none;font-size:.85rem;white-space:nowrap}.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem}.inline-actions button{padding:.35rem .8rem;font-size:.85rem}.lifeline-figure{margin:0;overflow-x:auto}.lifeline{position:relative;min-width:34rem;margin:.5rem 0 0}.lifeline-rail{position:absolute;left:0;right:0;top:26px;height:2px;background:linear-gradient(to right,var(--border),var(--accent),var(--border));border-radius:2px}.lifeline-marker{position:absolute;transform:translate(-50%);display:grid;justify-items:center;gap:.1rem;width:3.25rem;padding:0;color:var(--fg);background:transparent;border:none;border-radius:0;cursor:pointer}.lifeline-glyph{display:grid;place-items:center;width:2.1rem;height:2.1rem;font-size:1.15rem;line-height:1;background:#fff;border:1px solid var(--border-strong);border-radius:999px}.lifeline-marker:hover .lifeline-glyph,.lifeline-marker:focus-visible .lifeline-glyph{border-color:var(--accent);box-shadow:0 0 0 3px #2f6f4f26}.lifeline-marker:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lifeline-year{font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}.lifeline-bound{position:absolute;bottom:0;font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}.lifeline-bound-start{left:0}.lifeline-bound-end{right:0}.lifeline-caption{margin:.5rem 0 0;font-size:.85rem}.lifeline-empty{margin:.5rem 0 0}.symbol-picker{margin:.75rem 0;border:1px solid var(--border);border-radius:10px;padding:.6rem .8rem;background:#fff}.symbol-picker>summary{cursor:pointer;font-size:.9rem;font-weight:600}.symbol-picker-current{font-size:1.1rem}.symbol-picker-search{margin:.75rem 0 .5rem}.symbol-picker-clear{margin-bottom:.5rem}.symbol-group{margin-top:.75rem}.symbol-group h4{margin:0 0 .35rem;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.symbol-grid{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;margin:0;padding:0}.symbol-button{display:grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:1.15rem;line-height:1;color:var(--fg);background:#fff;border:1px solid var(--border-strong);border-radius:8px}.symbol-button:hover:not(:disabled){border-color:var(--accent);background:#f6f8f6}.symbol-button.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#eef5f0}.symbol-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timeline-list h2{margin-top:2rem}.event-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.event-card{display:grid;grid-template-columns:2.5rem 1fr;gap:.75rem;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem}.event-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.event-glyph{font-size:1.5rem;line-height:1.2}.event-main{min-width:0}.event-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.event-head h3{margin:0;font-size:1rem}.event-date{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.event-meta{margin:.2rem 0 .5rem;font-size:.85rem}.event-card p{line-height:1.5}.event-actions{margin-top:.75rem}.event-actions .symbol-picker{margin:0;padding:0;border:none;background:transparent}.event-actions .symbol-picker>summary{font-size:.85rem;font-weight:400;color:var(--fg);border:1px solid var(--border-strong);border-radius:8px;padding:.35rem .8rem}.event-actions .symbol-picker[open]>summary{margin-bottom:.5rem}.badge-event-disputed{background:#fff7e6;color:#92400e}.badge-event-retracted{background:var(--danger-bg);color:var(--danger)}.comments{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.comment-list{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.75rem}.comment-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.85rem}.comment-head .muted{font-size:.8rem}.comment-body{margin:.25rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.comment-edit textarea{width:100%;margin-top:.35rem}.comment-form{display:grid;gap:.35rem}.comment-form textarea{width:100%}.comment-form-row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem}.comment-form-row label{font-size:.85rem}.proposal-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem}.proposal{border:1px solid var(--border);border-radius:10px;padding:.75rem}.proposal-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.proposal-head>div{flex:1 1 12rem;min-width:0}.proposal-glyph{font-size:1.35rem;line-height:1}.proposal-meta{margin:.15rem 0 0;font-size:.8rem}.proposal-reason{margin-top:.5rem}.proposal-reason textarea{width:100%}.proposal p{line-height:1.5}.badge-proposal-pending{background:#fff7e6;color:#92400e}.badge-proposal-approved{background:#e7f6ec;color:#166534}.badge-proposal-rejected{background:var(--danger-bg);color:var(--danger)}.badge-proposal-needs_clarification{background:#eef2ff;color:#3730a3}.badge-proposal-withdrawn{background:#f3f4f6;color:#4b5563}.person-header h2{margin:0}.person-header p{margin:.25rem 0 0}.persons-search{margin:.75rem 0}.person-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.person{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.person:last-child{border-bottom:none}.person-link{font-weight:600;text-decoration:none}.person-link:hover{text-decoration:underline}.person-meta{margin:.15rem 0 0;font-size:.85rem}.event-form{display:grid;gap:.75rem;margin-top:.75rem}.event-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:30rem){.event-form-row,.event-card{grid-template-columns:1fr}.event-glyph{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.lifeline-marker,.symbol-button,.lifeline-glyph{transition:none}}.container-wide{max-width:64rem}.person-card-head h2{margin:0}.person-card-head p{margin:.25rem 0 0}.person-facts{display:grid;grid-template-columns:11rem 1fr;gap:.4rem 1rem;margin:1rem 0}.person-facts dt{color:var(--muted)}.person-facts dd{margin:0;font-weight:600}.person-card-subtitle{font-size:.95rem;margin:1.25rem 0 .5rem}.person-relations{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.relation-type{color:var(--muted)}.person-card-rights{margin:1rem 0 0;font-size:.85rem}.person-links{display:flex;flex-wrap:wrap;gap:.5rem}.tree-figure{margin:0}.tree-generations{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.tree-generation{display:grid;gap:.35rem;padding:.5rem 0;border-bottom:1px dashed var(--border)}.tree-generation:last-child{border-bottom:none}.tree-generation-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tree-people{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.tree-person{display:grid;gap:.15rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:10px;background:#fff;min-width:9rem}.tree-chip{font-weight:600;text-decoration:none;color:var(--fg)}.tree-chip,.tree-chip-secondary{padding-block:.3rem;min-width:24px}.tree-chip:hover{text-decoration:underline}.tree-chip.is-root{color:var(--accent)}.tree-chip-root{font-weight:400;color:var(--muted)}.tree-chip-secondary{font-size:.78rem;color:var(--muted);text-decoration:none}.tree-chip-secondary:hover{text-decoration:underline}.tree-note,.tree-empty{margin:.75rem 0 0;font-size:.85rem;color:var(--muted)}@media(max-width:30rem){.person-facts{grid-template-columns:1fr;gap:.15rem}.person-facts dd{margin-bottom:.5rem}.tree-person{min-width:100%}}.search-scope{margin:1rem 0 0;font-size:.85rem}.search-count{margin:.75rem 0 0}.search-results{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.5rem}.search-result{padding:.6rem 0;border-bottom:1px solid var(--border)}.search-result:last-child{border-bottom:none}.search-type{display:inline-block;margin-right:.5rem;padding:.05rem .4rem;border-radius:6px;background:#f3f4f6;color:#4b5563;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.search-title{font-weight:600}.search-note{margin:.15rem 0 0;font-size:.8rem}.search-truncated{margin:.75rem 0 0;font-size:.85rem}.search-deeplink{margin:.5rem 0 0;font-size:.8rem}.family-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.5rem}.family{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.family:last-child{border-bottom:none}.family-meta{margin:.15rem 0 0;font-size:.85rem}.family-branch-name{font-weight:600}.family-status{display:inline-block;padding:.05rem .4rem;border-radius:6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.family-status-active{background:#e7f6ec;color:#166534}.family-status-archived{background:#f3f4f6;color:#4b5563}.family-note{margin:.75rem 0 0;font-size:.85rem}.branch-members{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:.9rem}.relationship-section{margin-top:1rem}.relationship-panels{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.relationship-panel{border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.relationship-panel>summary{cursor:pointer;font-weight:600}.relationship-facts{display:grid;grid-template-columns:max-content 1fr;gap:.15rem .75rem;margin:.5rem 0;font-size:.9rem}.relationship-facts dt{color:var(--muted)}.relationship-facts dd{margin:0}.relationship-edit{margin-top:.5rem}.relationship-status-form{margin-top:.75rem;border-top:1px solid var(--border);padding-top:.5rem}.relationship-note{margin:.75rem 0 0;font-size:.85rem}.event-edit{margin-top:1rem}.event-edit>summary{cursor:pointer;font-weight:600}.event-edit-note{margin:.5rem 0 0;font-size:.85rem}.graph-picture{display:block;width:100%;height:auto;max-width:760px;margin:.5rem 0 1rem}.graph-picture-edges line{stroke:var(--border-strong);stroke-width:1}.graph-picture-edges text{fill:var(--muted);font-size:11px}.graph-picture-node{fill:#fff;stroke:var(--border-strong);stroke-width:1.5}.graph-picture-root{fill:var(--accent);stroke:var(--accent);stroke-width:1.5}.graph-picture-label{fill:var(--fg);font-size:13px}.graph-picture-label-root{fill:var(--fg);font-size:13px;font-weight:600}.event-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.event-item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.event-item:last-child{border-bottom:none}.event-link{font-weight:600;text-decoration:none}.event-link:hover{text-decoration:underline}.event-meta{margin:.15rem 0 0;font-size:.85rem}.event-deleted{margin:.35rem 0 0;font-size:.85rem}.event-item-deleted{border-left:3px solid var(--border-strong);padding-left:.6rem}.event-type-missing{color:var(--muted)}.place-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.place-item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.place-item:last-child{border-bottom:none}.place-link{font-weight:600;text-decoration:none}.place-link:hover{text-decoration:underline}.place-meta{margin:.15rem 0 0;font-size:.85rem;overflow-wrap:anywhere}.place-links{display:flex;gap:.5rem}.media-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.media-item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.media-item:last-child{border-bottom:none}.media-item.is-removed{border-left:3px solid var(--muted);padding-left:.6rem}.media-link{font-weight:600;text-decoration:none;overflow-wrap:anywhere}.media-link:hover{text-decoration:underline}.media-meta{margin:.15rem 0 0;font-size:.85rem;overflow-wrap:anywhere}.media-status{font-weight:600}.media-links{display:flex;gap:.5rem}.media-form,.role-form,.subscription-form,.privacy-form{display:grid;gap:.6rem;justify-items:start;margin-top:.6rem}.media-form label,.role-form label,.subscription-form label,.privacy-form label{display:grid;gap:.25rem;font-size:.9rem}.privacy-form textarea{width:100%;min-height:4.5rem;resize:vertical;font:inherit}.media-status-form{display:grid;gap:.5rem}.media-status-actions{display:flex;flex-wrap:wrap;gap:.5rem}.media-status-note{margin:0;font-size:.85rem}.media-content{display:grid;gap:.5rem;justify-items:start}.media-preview-image{display:block;max-width:100%;height:auto;border:1px solid var(--border-strong);border-radius:8px}.media-content-note{margin:0;font-size:.85rem}.media-link-form{margin-top:.75rem;border-top:1px solid var(--border);padding-top:.75rem}.media-link-note{margin:0;font-size:.85rem;max-width:60ch}.media-link-actions{display:grid;gap:.35rem;justify-items:end}.media-unlink{white-space:nowrap}.event-links{display:flex;gap:.5rem}.conversation-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.5rem}.conversation{padding:.6rem 0;border-bottom:1px solid var(--border)}.conversation:last-child{border-bottom:none}.conversation.is-unread{border-left:3px solid #2563eb;padding-left:.6rem}.conversation-subject{margin:.15rem 0 0;font-style:italic}.chat-thread{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.75rem}.chat-message{padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:#fafafa}.chat-message.is-own{background:#f0f6ff;border-color:#c7dcff}.chat-meta{margin:0;font-size:.85rem}.chat-subject{margin:.25rem 0;font-size:1rem}.chat-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
