:root{--paper:#f5f0e7;--ink:#201b17;--card:#fffdf9;--line:#d8cbbb;--accent:#70442d;--green:#315e3b;--warn:#8a5d19;--danger:#8f2929}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}a{color:var(--accent)}nav{background:#241c17;color:#fff;padding:.8rem 1rem;position:sticky;top:0;z-index:5}.nav{max-width:1180px;margin:auto;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.nav a{color:#fff;text-decoration:none}.nav .brand{font-weight:800;margin-right:auto}main{max-width:1180px;margin:auto;padding:2rem 1rem 5rem}h1{font:700 clamp(2rem,5vw,3.8rem)/1.05 Georgia,serif}h2{font-family:Georgia,serif}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem;box-shadow:0 4px 15px #00000008}.card h3{margin:.15rem 0}.muted{color:#6d645b}.tag{display:inline-block;border-radius:99px;background:#ede3d5;padding:.18rem .55rem;font-size:.75rem}.disputed{border-left:5px solid var(--warn)}.accepted{border-left:5px solid var(--green)}form{display:grid;gap:.75rem}label{display:grid;gap:.25rem;font-weight:650}input,select,textarea,button{font:inherit;padding:.62rem;border:1px solid #bcae9d;border-radius:8px;background:#fff}textarea{min-height:6rem}button,.button{background:var(--accent);color:#fff;border:0;cursor:pointer;text-decoration:none;display:inline-block;padding:.65rem .9rem;border-radius:8px}.secondary{background:#635b54}.danger{background:var(--danger)}.row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:1.2rem}.notice{padding:.8rem 1rem;border-radius:8px;background:#e4efe5}.error{background:#f7dddd;color:#721e1e}.claims{display:grid;gap:.7rem}.claim{padding:.8rem;border:1px solid var(--line);border-radius:9px;background:#fff}.tree{display:flex;gap:.8rem;flex-wrap:wrap}.tree .card{width:230px}.preview{max-width:100%;max-height:70vh;border:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem;border-bottom:1px solid var(--line)}code{word-break:break-all}@media(max-width:760px){.split{grid-template-columns:1fr}.nav{font-size:.9rem}table{display:block;overflow:auto}}

.hint{font-weight:400;font-size:.85rem;line-height:1.4;color:#6d645b}
label.check>span{display:flex;gap:.5rem;align-items:center}
.map-frame{display:block;width:100%;height:calc(100vh - 11rem);min-height:520px;border:1px solid #d4c5b2;border-radius:12px;background:#fff}
.tree-controls label{min-width:240px}.tree-info{min-height:1.5em;margin:.6rem 0}
.tree-canvas{overflow:auto;max-height:calc(100vh - 6rem);touch-action:pan-x pan-y;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;background:var(--card);-webkit-overflow-scrolling:touch}
#stammbaum{display:block}
#stammbaum .detailed text{font-family:system-ui,sans-serif;fill:var(--ink)}#stammbaum .detailed .name{font-size:12px;font-weight:700}#stammbaum .detailed .details{font-size:10px}
#stammbaum .detailed{stroke-width:1.5px}#stammbaum .detailed rect{stroke:#8a6538}#stammbaum .detailed a,#stammbaum .detailed g{cursor:pointer}
#stammbaum .link{fill:none;stroke:#6d645b;stroke-width:1px}#stammbaum .additional-marriage{stroke-dasharray:2}
#stammbaum .detailed rect.nocolor,#stammbaum .detailed rect.bysex{fill:#fff}
#stammbaum .detailed rect.bygeneration{fill:#fbf3e4}
#stammbaum [class*="generation-"] .detailed rect.bygeneration{fill:#f1e4cf}
#stammbaum [class*="generation1"] .detailed rect.bygeneration,#stammbaum [class*="generation3"] .detailed rect.bygeneration,#stammbaum [class*="generation5"] .detailed rect.bygeneration{fill:#e7efe3}
#stammbaum [class*="generation2"] .detailed rect.bygeneration,#stammbaum [class*="generation4"] .detailed rect.bygeneration,#stammbaum [class*="generation6"] .detailed rect.bygeneration{fill:#e6ecf3}
.invite-link{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:.6rem}.invite-link input{font-family:ui-monospace,monospace;font-size:.85rem}.invite-link .hint{grid-column:1/-1;margin:0}
[role=status]:empty{display:none}td .row{align-items:center}td form{gap:.4rem}
.excerpt{margin:.4rem 0;padding:.5rem .8rem;border-left:4px solid var(--line);background:#fff;font-family:Georgia,serif}details summary{cursor:pointer;color:var(--accent)}
.sources{list-style:none;margin:.4rem 0 0;padding:0;font-size:.85rem}.sources li{margin:.15rem 0}.sources q{color:#6d645b}
.pills{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem;padding:.55rem 0;position:sticky;top:var(--nav-h,4.4rem);z-index:4;background:var(--paper)}.pills a{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:.3rem .85rem;text-decoration:none;font-size:.9rem;white-space:nowrap}.pills a:hover,.pills a:focus-visible{background:#ede3d5}
.person-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;align-items:start}.form-grid{column-width:340px;column-gap:1rem;margin-top:1rem}.form-grid>.card{display:block;break-inside:avoid;margin:0 0 1rem}.person-overview>.card,.form-grid>.card{min-width:0}.card form+form{margin-top:.6rem}.card>h2:first-child{margin-top:0}section[id],main [id]{scroll-margin-top:calc(var(--nav-h,4.4rem) + 3.5rem)}input,select,textarea{max-width:100%;min-width:0}select{text-overflow:ellipsis}.rels{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}
@media(max-width:760px){.person-overview{grid-template-columns:1fr}.pills{position:static}}
.doc-thumb{display:block;margin:-.2rem 0 .7rem}.doc-thumb img{display:block;width:100%;height:190px;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:9px;background:#fff}
.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;padding:0;margin:1rem 0}
.steps li{border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:var(--card);font-size:.9rem}
.steps li b{display:block}.steps li span{color:#6d645b;font-size:.82rem}
.steps li.done{border-color:var(--green);background:#eef5ef}.steps li.done b::before{content:"✓ ";color:var(--green)}
.steps li.current{border:2px solid var(--accent);background:#fff}
.card.next{border-left:5px solid var(--accent)}
.step-label{margin:.7rem 0 .2rem;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:#6d645b}
.effects{margin:.2rem 0 .6rem;padding-left:1.2rem}.effects li{margin:.15rem 0}
.notice.warn{background:#fbf0d9;color:#6b4a0e}
.proposal.dependent{margin-left:1.5rem;border-left:4px solid var(--line)}
.proposal.blocked{opacity:.85}
.proposals{display:grid;gap:.8rem}
.decide{align-items:flex-start}.decide form{flex:1 1 260px}
.page .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
textarea.transcript{min-height:28rem;font-family:ui-monospace,monospace;font-size:.85rem;line-height:1.45}
.step-badge{font-size:.85rem;font-weight:650;color:var(--accent);margin:.3rem 0}
.done-list{margin:0;padding-left:1.2rem}.done-list li{margin:.2rem 0}
@media(max-width:760px){.page .split{grid-template-columns:1fr}.proposal.dependent{margin-left:.6rem}}
.steps li{position:relative}.steps li:has(.cost){padding-bottom:1.5rem}
.cost{display:block;text-align:right;font-size:.72rem;color:#8a8076;font-variant-numeric:tabular-nums}
.steps li .cost{position:absolute;right:.6rem;bottom:.35rem}
.card.page{position:relative}.card.page>.cost{margin-top:.4rem}
.timeline-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.timeline{display:block;font-family:system-ui,sans-serif}.timeline .tl-grid{stroke:#e8dfd2}.timeline .tl-year{font-size:11px;fill:#6d645b;text-anchor:middle}.timeline .tl-lane{font:700 15px Georgia,serif;fill:var(--ink)}
.timeline .tl-seg{fill:#efe3d1;stroke:#a88a66;stroke-width:1}.timeline .tl-seg.fam{fill:#c99f73;stroke:#70442d}.timeline .tl-seg.unsure{stroke-dasharray:4 3;fill-opacity:.6}.timeline .tl-seg.disputed{stroke:var(--warn);stroke-width:2}.timeline a:hover .tl-seg,.timeline a:focus .tl-seg{fill:#b98552}.timeline .tl-seg-label{font-size:11px;fill:#201b17;pointer-events:none}
.timeline .tl-ev line{stroke:#a39684;stroke-width:1}.timeline .tl-ev path{fill:var(--accent)}.timeline .tl-ev.disaster path{fill:var(--danger)}.timeline .tl-ev.unsure path{fill-opacity:.45}.timeline .tl-ev text{font-size:11px;fill:#3d342c}
.stack{display:grid;gap:1rem;margin-top:1rem}.table-wrap{overflow-x:auto}.timeline-table td{vertical-align:top}.timeline-table tr.disputed td:first-child{border-left:4px solid var(--warn)}.nowrap{white-space:nowrap}.small{font-size:.85rem}.sources.plain{margin:0}
.timeline .tl-break rect{fill:#f3ece2}.timeline .tl-break path{stroke:#8a7d6d;stroke-width:1.5;fill:none}
.tag-property{background:#e7d3bb;color:#5a3a22}.tag-person{background:#dfe8dc;color:#2f4a32}
/* Navigation: one row on wide screens, compact bar with a menu panel on phones */
.nav{flex-wrap:nowrap;gap:1.2rem}
.menu{display:flex;align-items:center;gap:1.2rem;flex:1;min-width:0}
.menu .group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.menu .group.more{margin-left:auto;font-size:.85rem;gap:.85rem}
.menu .label{display:none}
.menu a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}
.menu form{display:inline;margin:0}
.linklike{background:none;border:0;padding:0;color:#fff;font:inherit;cursor:pointer;opacity:.85}
.linklike:hover{opacity:1;text-decoration:underline}
.badge{display:inline-block;min-width:1.4em;margin-left:.3rem;padding:0 .4rem;border-radius:99px;background:#d9a05b;color:#241c17;font-size:.75rem;font-weight:800;text-align:center;line-height:1.5}
.menu-toggle{display:none;align-items:center;gap:.4rem;background:transparent;color:#fff;border:1px solid #6d5f55;border-radius:8px;padding:.4rem .75rem;font-size:.95rem}
@media(max-width:1000px){
 nav{padding:.5rem 1rem}
 .nav{flex-wrap:wrap;gap:.5rem}
 .menu-toggle{display:inline-flex}
 .brand-sub{display:none}
 .menu{flex-basis:100%;display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.5rem 0 .6rem;max-height:calc(100dvh - 3.5rem);overflow:auto}
 .js .menu{display:none}
 .js .nav.open .menu{display:grid}
 .menu .group{display:contents}
 .menu .label{display:block;grid-column:1/-1;margin:.6rem 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#bfb2a6}
 .menu a,.menu .linklike{display:block;width:100%;padding:.75rem .85rem;border-radius:10px;background:#31271f;font-size:1rem;text-align:left;opacity:1}
 .menu a[aria-current=page]{background:#5a3f2c;text-decoration:none}
 .menu form{display:block}
}
.zoom-bar{gap:.4rem;margin:.4rem 0 .6rem;padding:.35rem 0;position:sticky;top:var(--nav-h,4.4rem);z-index:3;background:var(--paper)}.zoom-bar button{padding:.35rem .75rem;min-width:2.6rem}.zoom-value{min-width:3.6rem;text-align:center;font-variant-numeric:tabular-nums;color:#6d645b}
.claim-edit{margin-top:.5rem}.claim-edit form{margin-top:.6rem}.inline-action{display:inline-flex;gap:.4rem;align-items:center;margin-left:.4rem}.inline-action [role=status]{margin:0}.link-danger{background:none;color:var(--danger);padding:0 .2rem;text-decoration:underline;font-size:.85rem}
.claim{position:relative}.claim-delete{position:absolute;top:.55rem;right:.6rem;display:flex;flex-direction:column;align-items:flex-end;gap:0}.claim-delete [role=status]{margin:0;font-size:.8rem}.claim>b{display:block;padding-right:4.5rem}
.feedback-item h3{margin:.2rem 0 .4rem}.feedback-item{margin-bottom:.8rem}.feedback-shot{display:block;max-width:100%;max-height:260px;border:1px solid var(--line);border-radius:8px;margin:.5rem 0}.feedback-comments{padding-left:1.1rem;display:grid;gap:.5rem}.tag-wait{background:#f3e3c4;color:#6b4a10}#meldungen .card{box-shadow:none}
.fb-panel{position:fixed;z-index:20;top:var(--nav-h,4.4rem);right:0;bottom:0;width:min(420px,100vw);background:var(--card);border-left:1px solid var(--line);box-shadow:-8px 0 30px #0000001f;overflow:auto;padding:1rem 1.1rem 1.5rem;transform:translateX(100%);transition:transform .2s ease}.fb-panel.open{transform:none}
.fb-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.fb-head h2{margin:.2rem 0}.fb-close{background:none;color:var(--ink);font-size:1.6rem;line-height:1;padding:.2rem .5rem}
.fb-form{display:grid;gap:.75rem}.fb-shot{display:grid;gap:.4rem}.fb-shot-label{margin:0;font-weight:650}.fb-preview img{display:block;width:100%;max-height:240px;object-fit:contain;object-position:top;border:1px solid var(--line);border-radius:8px;background:#fff}.fb-shot-actions{gap:.4rem}.fb-shot-actions button,.fb-own{padding:.4rem .7rem;font-size:.9rem;font-weight:400}
.fb-busy{position:fixed;z-index:21;left:50%;bottom:1.2rem;transform:translateX(-50%);background:#241c17;color:#fff;padding:.55rem .9rem;border-radius:99px;font-size:.9rem}
@media(max-width:760px){.fb-panel{top:auto;left:0;width:100%;max-height:78dvh;border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;box-shadow:0 -8px 30px #00000029;transform:translateY(100%)}}
/* Mark as wrong / restore, and the collapsed lists of rejected entries */
.claim-actions{position:absolute;top:.5rem;right:.6rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.1rem .6rem;max-width:55%}
.claim-actions .claim-delete{position:static}
.claim-actions .inline-action{margin-left:0}
.claim:has(.claim-actions)>b{display:block;padding-right:min(55%,14rem)}
.link-quiet{background:none;color:var(--accent);padding:0 .2rem;text-decoration:underline;font-size:.85rem}
.rejected-list{margin-top:.9rem}.rejected-list summary{cursor:pointer;color:#6d645b}
.rejected-list .claim{opacity:.75;margin-top:.6rem}.rejected-list .claim>b{text-decoration:line-through}
.rels li.rejected{opacity:.7}.rels li.rejected>a{text-decoration:line-through}
@media(max-width:760px){.claim-actions{position:static;justify-content:flex-start;max-width:none;margin-bottom:.3rem}.claim:has(.claim-actions)>b{padding-right:0}}
/* Navigation, desktop: main links in one row, Feedback and the account menu on the right */
@media(min-width:1001px){.menu .group.main{flex-wrap:nowrap}.nav-side{display:flex;align-items:center;gap:1rem;margin-left:auto;font-size:.9rem;white-space:nowrap}.account{position:relative}.account-toggle{background:transparent;color:#fff;border:1px solid #6d5f55;border-radius:8px;padding:.3rem .7rem;font-size:.9rem}.account-toggle:hover,.account.open .account-toggle{background:#31271f}.account-toggle.current{background:#5a3f2c;border-color:#5a3f2c}.account .group.more{display:none;position:absolute;right:0;top:calc(100% + .55rem);z-index:30;min-width:210px;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:.4rem;background:#241c17;border:1px solid #4a3d33;border-radius:10px;box-shadow:0 10px 30px #0000004d}.account.open .group.more{display:flex}.account .group.more a,.account .group.more .linklike{display:block;padding:.55rem .75rem;border-radius:7px;text-align:left;width:100%}.account .group.more a:hover,.account .group.more .linklike:hover{background:#31271f}.account .group.more a[aria-current=page]{background:#5a3f2c;text-decoration:none}}
@media(max-width:1000px){.nav-side,.account,.nav-feedback{display:contents}.account-toggle{display:none}}
.activity-card{margin-top:1.2rem}.activity-head{justify-content:space-between}.activity-head h2{margin:.2rem 0}.activity{list-style:none;margin:.4rem 0 0;padding:0;display:grid}.activity li{display:grid;grid-template-columns:8.5rem 1fr auto;gap:.8rem;align-items:baseline;padding:.55rem 0;border-top:1px solid var(--line)}.activity li:first-child{border-top:0}.activity .when{color:#6d645b;font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.activity .who{color:#6d645b;font-size:.85rem;white-space:nowrap}.activity .what a{text-decoration:none}.activity .what a:hover{text-decoration:underline}
@media(max-width:760px){.activity li{grid-template-columns:1fr;gap:.1rem}.activity .who{font-size:.8rem}}
.people-search{margin-bottom:1rem}.people-search input[type=search]{flex:1 1 18rem;max-width:26rem}.person-create{margin:0 0 1rem}.person-create summary{font-weight:650}.person-create form{margin-top:.8rem}
.person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}.person-tile{display:grid;gap:.15rem;padding:.7rem .85rem;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}.person-tile:hover,.person-tile:focus-visible{border-color:var(--accent);box-shadow:0 2px 10px #0000000f}.person-tile[hidden]{display:none}.person-name{font-weight:650;line-height:1.3}.person-dates{font-size:.85rem;color:#6d645b;font-variant-numeric:tabular-nums}.person-tags .tag{margin-right:.3rem}
.person-tile.weak{opacity:.62}.person-tile.weak::after{content:'Treffer in der Beschreibung';font-size:.75rem;color:#6d645b}
