:root{--bg:#faf8f4;--surface:#fff;--text:#1f1d1a;--muted:#6b655c;--border:#ddd6ca;--accent:#7a3e1d;--accent-text:#fff;--banner-bg:#fff3cd;--banner-text:#5c4300;--error:#a32d2d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#15130f;--surface:#1f1c17;--text:#efe9df;--muted:#a39c90;--border:#3a352d;--accent:#d08a5a;--accent-text:#15130f;--banner-bg:#3d3005;--banner-text:#ffe8a3;--error:#ff8a8a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.site-header,main,.site-footer{max-width:1100px;margin:0 auto;padding:0 16px}.site-header{padding-top:32px}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.site-header h1{letter-spacing:-.01em;margin:0 0 8px;font-size:2rem}.btn-secondary{color:var(--accent);border:1px solid var(--accent);background:0 0;padding:7px 14px;font-weight:500}.btn-secondary:hover{background:var(--accent);color:var(--accent-text)}.btn-secondary.danger{color:var(--error);border-color:var(--error)}.btn-secondary.danger:hover{background:var(--error);color:#fff}.btn-file{cursor:pointer;font:inherit;border-radius:6px;display:inline-block}.tagline{color:var(--muted);max-width:70ch;margin:0 0 24px}.banner{background:var(--banner-bg);color:var(--banner-text);border-radius:6px;margin-bottom:16px;padding:10px 14px}.search-form{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.sources{border:none;flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 12px;padding:0;display:flex}.sources legend{color:var(--muted);float:left;margin-bottom:4px;margin-right:8px;padding:0;font-size:.85rem}.sources label{align-items:center;gap:6px;font-size:.95rem;display:inline-flex}.row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.row:last-child{margin-bottom:0}.field{flex-direction:column;gap:4px;min-width:120px;display:flex}.field.grow{flex:200px}.field span{color:var(--muted);font-size:.85rem}.field small{font-weight:400}input,select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;min-width:0;padding:8px 10px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.actions{align-items:center}button{font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:6px;padding:9px 18px;font-weight:600}button:disabled{opacity:.5;cursor:wait}.status{color:var(--muted);margin:0}.status.error{color:var(--error)}.summary{margin:24px 0 8px;font-weight:600}.variantes{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:.9rem;display:flex}.variantes[hidden],.sources[hidden],.lien-attente[hidden]{display:none}.lien-attente{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.variantes-titre{margin-right:4px}.variantes button.chip{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:500}.variantes button.chip:hover{border-color:var(--accent);color:var(--accent)}.variantes button.chip small{color:var(--muted);font-weight:400}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}tbody tr:last-child td{border-bottom:none}td.num{font-variant-numeric:tabular-nums}button.btn-acte,button.btn-pistes,button.btn-arbre-ajout,button.btn-retirer,button.btn-relier{color:var(--accent);border:1px solid var(--accent);background:0 0;padding:4px 10px;font-size:.85rem;font-weight:500}button.btn-acte:hover,button.btn-pistes:hover,button.btn-arbre-ajout:not([disabled]):hover,button.btn-retirer:hover,button.btn-relier:hover{background:var(--accent);color:var(--accent-text)}button.btn-retirer{color:var(--muted);border-color:var(--border)}button.btn-retirer:hover{background:var(--error);border-color:var(--error);color:#fff}.demande{border:1px solid var(--border);background:var(--surface);width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:10px;padding:0}.demande::backdrop{background:#00000073}.demande-head{justify-content:space-between;align-items:flex-start;gap:16px;margin:0;padding:20px 20px 0;display:flex}.demande-head h2{margin:0 0 4px;font-size:1.3rem}.demande-personne{color:var(--muted);margin:0}.btn-close{color:var(--muted);background:0 0;padding:0 6px;font-size:1.6rem;line-height:1}.btn-close:hover{color:var(--text)}.demande>.status{padding:8px 20px 0}#demande-sections{padding:8px 20px}.acte{border-top:1px solid var(--border);margin:16px 0;padding-top:12px}.acte h3{margin:0 0 8px;font-size:1.05rem}.contact{background:var(--bg);border-radius:6px;margin:10px 0;padding:10px 12px}.contact .role{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}.contact .nom{margin:2px 0;font-weight:600}.contact .coord{color:var(--muted);margin:0;font-size:.9rem}.contact .liens{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.contact .liens a{border:1px solid var(--accent);color:var(--accent);border-radius:6px;padding:5px 12px;font-size:.9rem;text-decoration:none;display:inline-block}.contact .liens a.primary{background:var(--accent);color:var(--accent-text)}.acte ul.notes{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:.9rem}.demande-note{color:var(--muted);border-top:1px solid var(--border);margin:0;padding:12px 20px 20px;font-size:.85rem}td.actions{white-space:nowrap}td.actions button+button{margin-left:6px}.pistes{width:min(1000px,100vw - 32px)}.fil{flex-wrap:wrap;align-items:center;gap:4px;padding:10px 20px 0;font-size:.9rem;display:flex}.fil button{color:var(--accent);background:0 0;border:1px solid #0000;padding:2px 6px;font-weight:500}.fil button:hover{border-color:var(--accent)}.fil button[aria-current=true]{color:var(--text);cursor:default;border-color:#0000;font-weight:600}.fil .sep{color:var(--muted)}.pistes-avertissement{background:var(--banner-bg);color:var(--banner-text);border-radius:6px;margin:8px 20px 0;padding:8px 12px;font-size:.9rem}#pistes-sections{padding:8px 20px 20px}.piste{margin:16px 0 0}.piste h3{margin:0 0 4px;font-size:1.05rem}.piste .explication{color:var(--muted);margin:0 0 8px;font-size:.9rem}.piste .summary{margin:0 0 8px;font-size:.95rem}.piste .table-wrap{max-height:320px;overflow:auto}button.btn-arbre-ajout{border-style:dashed}button.btn-arbre-ajout[disabled]{opacity:.6;cursor:default;border-style:solid}.arbre-outils{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px 0;display:flex}.onglets{border:1px solid var(--border);border-radius:6px;margin-right:8px;display:inline-flex;overflow:hidden}.onglet{color:var(--muted);background:0 0;border:none;border-radius:0;padding:7px 12px;font-weight:500}.onglet[aria-selected=true]{background:var(--accent);color:var(--accent-text)}.vue-panneau{padding:10px 20px 20px}.vue-panneau[hidden],.arbre-liste[hidden],.vue-actions[hidden]{display:none}.vue-actions{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:8px 10px;display:flex}.vue-selection{margin-right:6px;font-weight:600}.vue-groupe{color:var(--muted);align-items:center;gap:4px;font-size:.9rem;display:inline-flex}.vue-zoom{align-items:center;gap:6px;margin-bottom:6px;display:flex}.vue-legende{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:.85rem;display:inline-flex}.vue-gen{color:var(--muted);align-items:center;gap:4px;margin-left:6px;font-size:.85rem;display:inline-flex}.vue-gen select{padding:3px 6px;font-size:.85rem}.vue-svg .noeud.vivant rect{fill:#f4fbf4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .vue-svg .noeud.vivant rect{fill:#1d2a1d}}.badge.vivant{color:#1f5e1f;background:#d8efd8}@media print{body>*{display:none!important}body.impression-arbre>#impression{display:block!important}#impression svg{max-width:100%;height:auto}@page{size:landscape;margin:10mm}}.vue-legende .trait{border-top:2px solid var(--accent);width:26px;height:0;display:inline-block}.vue-legende .trait.hypothese{border-top:2px dashed #b8862b}.vue-scroll{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:220px;max-height:calc(100vh - 290px);overflow:auto}.vue-svg{transform-origin:0 0;display:block}.vue-svg .noeud{cursor:pointer}.vue-svg .noeud rect{fill:var(--surface);stroke:var(--accent);stroke-width:1.2px}.vue-svg .noeud.femme rect{stroke:#8a3b6e}.vue-svg .noeud.inconnu rect{stroke:var(--muted);stroke-dasharray:4 3}.vue-svg .noeud.manuel rect{fill:var(--bg)}.vue-svg .noeud.racine rect{stroke-width:3px}.vue-svg .noeud.selection rect{fill:var(--banner-bg)}.vue-svg .noeud.isole rect{opacity:.7}.vue-svg .noeud:hover rect,.vue-svg .noeud:focus rect{stroke-width:2.5px;outline:none}.vue-svg .noeud text{fill:var(--text);pointer-events:none;font-family:inherit}.vue-svg .noeud .nom{font-size:13px;font-weight:600}.vue-svg .noeud .dates{fill:var(--muted);font-size:12px}.vue-svg .lien{fill:none;stroke:var(--accent);stroke-width:1.5px}.vue-svg .lien.hypothese{stroke-dasharray:6 4;stroke:#b8862b}.vue-svg .lien.fratrie{stroke:var(--muted);stroke-width:1px}.vue-svg .lien.conjoint{stroke-width:2px}.vue-svg .lien.terminee{stroke:var(--muted);opacity:.7}.vue-svg .etiquette{fill:var(--muted);pointer-events:none;font-size:10px}.vue-svg .separateur{stroke:var(--border);stroke-dasharray:2 4}.vue-svg .pastille.erreur{fill:#c0392b}.vue-svg .pastille.avertissement{fill:#d99a1b}.compteur:empty{display:none}.compteur{background:var(--error);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:4px;padding:0 5px;font-size:.75rem;display:inline-block}.eventail-svg .case{cursor:pointer}.eventail-svg .case path,.eventail-svg .case circle{stroke:var(--accent);stroke-width:1px}.eventail-svg .case.mere path{stroke:#8a3b6e}.eventail-svg .case.vide path{stroke:var(--border);stroke-dasharray:4 3}.eventail-svg .case.vide:hover path{fill:var(--banner-bg)}.eventail-svg .case:hover path,.eventail-svg .case:focus path{stroke-width:2.5px;outline:none}.eventail-svg .case.selection path,.eventail-svg .case.selection circle{stroke-width:3px}.eventail-svg text{fill:var(--text);pointer-events:none;font-size:12px}.eventail-svg .nom{font-size:13px;font-weight:600}.eventail-svg .prenom{fill:var(--muted);font-size:11px}.eventail-svg .etiquette.g5,.eventail-svg .etiquette.g6,.eventail-svg .etiquette.g7,.eventail-svg .etiquette.g8{font-size:9px}.eventail-svg .case.vide text{fill:var(--muted)}.explication{color:var(--muted);margin:6px 0 10px;font-size:.9rem}.carnet{padding:10px 20px 20px}.carnet h3{margin:12px 0 4px}.carnet ul{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.carnet li{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:.92rem;display:flex}.carnet li.erreur{border-left:4px solid #c0392b}.carnet li.avertissement{border-left:4px solid #d99a1b}.carnet li.info{border-left:4px solid var(--border);color:var(--muted)}.carnet li.alerte{cursor:pointer}.carnet li .texte{flex:1}.carnet li.fait .texte{color:var(--muted);text-decoration:line-through}.carnet-form{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.carnet-form input[name=texte]{flex:260px}.carnet-panneau[hidden],.carnet[hidden]{display:none}.parente-resultat{color:var(--text);font-weight:600}.parente-resultat.hyp{color:var(--banner-text)}.chrono-svg{font-family:inherit;display:block}.chrono-svg .periode{fill:var(--banner-bg);opacity:.5}.chrono-svg .periode-libelle{fill:var(--banner-text);font-size:10px}.chrono-svg .graduation{stroke:var(--border);stroke-dasharray:2 3}.chrono-svg .graduation.forte{stroke:var(--muted);stroke-dasharray:none}.chrono-svg .annee{fill:var(--muted);font-size:11px}.chrono-svg .ligne{cursor:pointer}.chrono-svg .fond-ligne{fill:#0000}.chrono-svg .ligne:hover .fond-ligne,.chrono-svg .ligne.selection .fond-ligne{fill:var(--banner-bg);opacity:.6}.chrono-svg .nom{fill:var(--text);font-size:12px;font-weight:600}.chrono-svg .dates{fill:var(--muted);font-size:11px}.chrono-svg .vie{fill:var(--accent);opacity:.8}.chrono-svg .vie.ouverte{fill:#4e9a4e}.chrono-svg .vie.inconnue{fill:var(--muted)}.chrono-svg .repere.evenement{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}.chrono-svg .repere.union{fill:#8a3b6e}.fiche .evenements{margin-top:10px}.fiche .evenements ul{gap:4px;margin:0 0 6px;padding:0;list-style:none;display:grid}.fiche .evenements li{flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.fiche .evenements li .type{min-width:110px;font-weight:600}.fiche .evenements li .source{color:var(--muted);font-size:.85rem}.fiche .evenement-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fiche .evenement-form input,.fiche .evenement-form select{padding:4px 6px;font-size:.85rem}.fiche .evenement-form input.courte{width:120px}.fiche .evenement-form input.longue{flex:180px}.carte-svg{background:var(--surface);max-width:100%;height:auto;display:block}.carte-svg .silhouette{stroke:var(--border);stroke-width:2.2px;stroke-linecap:round;fill:none}.carte-svg .personne{cursor:pointer}.carte-svg .naissance{fill:var(--accent);stroke:var(--surface);stroke-width:1.2px}.carte-svg .deces{fill:#8a3b6e;stroke:var(--surface);stroke-width:1.2px}.carte-svg .personne.selection .naissance,.carte-svg .personne.selection .deces{stroke:#000;stroke-width:2px}.carte-svg .vie{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.carte-svg .filiation{stroke-width:1.6px;fill:none;opacity:.8}.carte-svg .filiation.hypothese{stroke-dasharray:5 4}.stats{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:12px;display:grid}.stats .tuile{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:8px 10px;font-size:.9rem}.stats .tuile b{font-size:1.1rem;display:block}.stats .tuile ul{color:var(--muted);margin:4px 0 0;padding-left:16px}.vue-svg .legende{fill:var(--muted);font-size:11px}.personne-form{padding:20px}.personne-form .demande-head{margin-bottom:8px;padding:0}.personne-choix{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.personne-choix[hidden]{display:none}.arbre-outils .status{font-size:.85rem}.arbre-vide{color:var(--muted);margin:16px 20px}.arbre-liste{gap:12px;padding:8px 20px 20px;display:grid}.fiche{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:12px 14px}.fiche-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fiche-head .nom{font-size:1.05rem;font-weight:600}.fiche-head .dates{color:var(--muted);font-size:.9rem}.fiche .fiche-actions{flex-wrap:wrap;gap:6px;display:flex}.fiche .champs{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.fiche .champs label{color:var(--muted);flex-direction:column;gap:3px;font-size:.8rem;display:flex}.fiche .champs input{font-size:.9rem}.fiche ul.liens{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.fiche ul.liens li{flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.fiche ul.liens .role{min-width:70px;font-weight:600}.fiche ul.liens select,.fiche ul.liens input{padding:4px 6px;font-size:.85rem}.fiche ul.liens input.preuve{flex:220px}.badge{border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge.hypothese{background:var(--banner-bg);color:var(--banner-text)}.badge.deduit{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.fiche ul.liens .union{flex-wrap:wrap;flex-basis:100%;gap:6px;padding-left:78px;display:flex}.fiche ul.liens .union input.date{width:150px}.badge.prouve{color:#1f5e1f;background:#d8efd8}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.prouve{color:#a5e0a5;background:#1f3d1f}}@media (max-width:600px){.fiche .champs{grid-template-columns:1fr}}.help{color:var(--muted);margin:32px 0}.help summary{cursor:pointer;color:var(--text)}.help ol{padding-left:20px}code,kbd{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.site-footer{color:var(--muted);border-top:1px solid var(--border);margin-top:40px;padding-top:16px;padding-bottom:40px;font-size:.85rem}
