: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}
