:root{--paper:#ead4aa;--cream:#fff0cf;--ink:#2a2119;--green:#173d2d;--red:#9d271b;--gold:#b8873c;--line:#74502d}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,sans-serif;background:repeating-linear-gradient(0deg,#00000008 0 1px,transparent 1px 5px),linear-gradient(#f0ddb7,#d8ba83);min-height:100vh}
header{display:flex;justify-content:space-between;align-items:center;padding:16px 5%;background:#f1ddb5;border-bottom:5px double var(--green);box-shadow:0 5px 18px #51351d44}.brand{display:flex;gap:14px;align-items:center}.treeMark{width:72px;height:72px;border:4px double var(--red);border-radius:50%;display:grid;place-items:center;font-size:42px;color:var(--green);background:var(--cream)}h1,h2,h3{font-family:Georgia,serif;margin:.1em 0}h1{color:var(--red);text-transform:uppercase;letter-spacing:.05em}header h2{color:var(--green)}header p{margin:3px 0;font-style:italic}
button{cursor:pointer;border:2px solid #432d1d;background:linear-gradient(#b83d29,#8f2418);color:#fff1d4;padding:10px 16px;border-radius:3px;box-shadow:2px 3px 0 #49301f;font-weight:700}.green{background:linear-gradient(#285842,#173d2d)}.secondary{background:#e4c995;color:#3a2a1f}
nav{display:flex;gap:8px;padding:10px 5%;background:var(--green);overflow:auto}nav button{background:#ead4aa;color:#34261b;border-color:var(--gold);white-space:nowrap}nav button.active{background:var(--red);color:#fff1d4}
main{max-width:1250px;margin:auto;padding:26px}.view{display:none}.view.active{display:block}.hero{display:grid;grid-template-columns:1.5fr .7fr;gap:30px;align-items:center;background:#f5e3bd;border:4px double var(--green);padding:35px;box-shadow:6px 7px 0 #795b3438}.hero h3{font-size:2.5rem;color:var(--red)}.hero p{font-size:1.1rem;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-weight:bold;font-size:.78rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.emblem{display:grid;place-items:center}.emblem div{width:210px;height:210px;border-radius:50%;border:9px double var(--green);outline:5px solid var(--red);background:radial-gradient(circle,#f8e6be,#d7b573);display:grid;place-content:center;text-align:center;font:22px Georgia;color:var(--red);transform:rotate(-2deg)}.emblem b{font-size:31px;color:var(--green)}.emblem small{margin-top:12px;color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.stats article,.panel,.card{background:#f6e4bd;border:2px solid var(--line);box-shadow:4px 5px 0 #75522f38;padding:18px}.stats b{display:block;font:34px Georgia;color:var(--red)}.stats span{color:var(--green);font-weight:bold}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.sectionHead h3{font-size:2rem;color:var(--red)}.search,input,textarea{width:100%;padding:11px;background:#fff5dc;border:2px solid #9f7d4e;border-radius:3px;color:var(--ink)}textarea{min-height:90px}.search{margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.card h4{margin:0;color:var(--green);font:20px Georgia}.card small,.muted{color:#715f4d}.treeCanvas{min-height:420px;padding:28px;background:radial-gradient(circle,#f9e8c4,#d9ba82);border:4px double var(--green);display:flex;gap:22px;flex-wrap:wrap;align-content:flex-start}.treePerson{width:190px;background:#fff0cf;border:3px double var(--red);padding:14px;text-align:center;position:relative}.treePerson:after{content:"";position:absolute;width:24px;height:3px;background:var(--green);right:-26px;top:50%}.sourceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin:15px 0}.sourceGrid span{padding:12px;border:1px solid var(--gold);background:#fff0cf;font-weight:bold;color:var(--green)}.archiveForm{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.archiveForm button{align-self:end}label{display:block;font-weight:bold;color:var(--green)}label input,label textarea{margin-top:5px}dialog{width:min(720px,94vw);background:#ead4aa;border:4px double var(--green);color:var(--ink)}dialog::backdrop{background:#1e140da8}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide{grid-column:1/-1}.dialogActions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:700px){header{align-items:flex-start;gap:12px;flex-direction:column}.treeMark{width:55px;height:55px}.hero{grid-template-columns:1fr;padding:22px}.hero h3{font-size:2rem}.emblem{display:none}.stats{grid-template-columns:1fr}.formGrid,.archiveForm{grid-template-columns:1fr}main{padding:18px}nav{padding-left:18px}.brand h1{font-size:1.25rem}.brand h2{font-size:1rem}}
/* Logo officiel V2 */
.brandLogo{
  width:min(520px,55vw);
  max-height:145px;
  object-fit:contain;
  object-position:left center;
  display:block;
  filter:drop-shadow(0 4px 5px #56351f35);
}
.emblem img{
  width:100%;
  max-width:300px;
  height:auto;
  border:4px double var(--green);
  background:#f5e3bd;
  box-shadow:5px 6px 0 #795b3438;
}
@media(max-width:700px){
  .brandLogo{width:min(92vw,460px);max-height:120px}
}

select{width:100%;padding:11px;margin-top:5px;background:#fff5dc;border:2px solid #9f7d4e;border-radius:3px;color:var(--ink)}
.hidden{display:none}.detail{margin-top:22px}.detailHead{display:flex;gap:18px;align-items:center}.portrait{width:110px;height:110px;object-fit:cover;border:4px double var(--red)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.personCard{display:flex;gap:14px;cursor:pointer}.thumb{width:72px;height:72px;object-fit:cover;border:3px double var(--red);flex:0 0 72px}.placeholder{display:grid;place-items:center;background:#e1c18a;color:var(--green);font-size:28px}.treePhoto{width:55px;height:55px;object-fit:cover;border-radius:50%;border:2px solid var(--red);display:block;margin:0 auto 8px}.parentsMini{font-size:.68rem;color:#715f4d;margin-top:8px}.danger{margin-top:12px;background:linear-gradient(#963326,#702018)}
@media(max-width:700px){.facts{grid-template-columns:1fr}.detailHead{align-items:flex-start}.portrait{width:85px;height:85px}}

.nasStatus{position:fixed;right:14px;bottom:14px;z-index:99;background:#173d2d;color:#fff0cf;border:2px solid #b8873c;padding:9px 12px;box-shadow:3px 4px 0 #49301f;font-size:.82rem;max-width:min(420px,90vw)}
.nasStatus.bad{background:#8f2418}

.accountActions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.accountGate{min-height:65vh;display:grid;place-items:center;padding:24px}
.accountPanel{width:min(100%,480px);padding:28px;border:3px double var(--green);border-radius:18px;background:#fff0cfdd;box-shadow:0 12px 35px #51351d33}
.accountLogo{display:block;width:86px;height:86px;margin:0 auto 12px}
.accountPanel h2{text-align:center;color:var(--green);margin:.4em 0}
.accountPanel>p{text-align:center;line-height:1.5}
.accountTabs{display:flex;gap:8px;margin:22px 0 16px}
.accountTabs button{flex:1;background:#eee0c3;color:var(--ink)}
.accountTabs button.active{background:var(--green);color:#fff}
#accountForm{display:grid;gap:12px}
#accountForm label{display:grid;gap:5px;font-weight:600}
#accountForm input{width:100%;padding:11px;border:1px solid var(--line);border-radius:7px;background:#fffaf0;font:inherit}
.accountError{color:#9d271b;font-weight:600;margin:0}

.archiveConnectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:1rem 0}
.archiveConnector{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid #d9e4d6;border-radius:.8rem;background:#f5f8f1;color:#244a35;text-decoration:none}
.archiveConnector:hover{border-color:#73966f;box-shadow:0 3px 12px #244a3514}
.archiveConnector span{font-size:.92rem;color:#4c5e51}
