:root{--fond:#f6f4ef;--carte:#fff;--texte:#1f2a24;--doux:#5b665f;--vert:#2f5d3a;--vert-clair:#e4ede5;--ocre:#a8662a;--trait:#d8d4c8;--erreur:#8a2c1d}
@media (prefers-color-scheme:dark){:root{--fond:#151a17;--carte:#1d2420;--texte:#e8ece9;--doux:#a7b2ab;--vert:#8cc59a;--vert-clair:#25332a;--ocre:#d9a066;--trait:#33403a;--erreur:#f08a75}}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--fond);color:var(--texte)}
.bandeau{background:var(--ocre);color:#fff;font-size:.82rem;padding:.4rem 1rem;text-align:center}
.entete{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:860px;margin:0 auto;padding:1rem}
.titre{display:block;font-weight:700;font-size:1.2rem;color:var(--vert)}
.sous-titre{display:block;color:var(--doux);font-size:.9rem}
.langues button,.onglets button{font:inherit;border:1px solid var(--trait);background:var(--carte);color:var(--texte);padding:.35rem .7rem;cursor:pointer}
.langues button[aria-pressed=true]{background:var(--vert);color:#fff;border-color:var(--vert)}
.onglets{display:flex;gap:.25rem;max-width:860px;margin:0 auto;padding:0 1rem;border-bottom:1px solid var(--trait);overflow-x:auto}
.onglets button{border-bottom:none;border-radius:6px 6px 0 0;white-space:nowrap}
.onglets button[aria-selected=true]{background:var(--vert-clair);font-weight:600}
main{max-width:860px;margin:0 auto;padding:1rem}
.avertissement{font-size:.88rem;color:var(--doux);border-left:3px solid var(--ocre);padding:.3rem .7rem;margin:0 0 1rem}
.fil{display:flex;flex-direction:column;gap:.8rem;min-height:4rem}
.msg{max-width:92%;padding:.7rem .9rem;border-radius:10px;background:var(--carte);border:1px solid var(--trait)}
.msg.moi{align-self:flex-end;background:var(--vert-clair);border-color:transparent}
.msg.refus{border-left:4px solid var(--ocre)}
.msg .meta{font-size:.75rem;color:var(--doux);margin-top:.4rem}
.sources{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem}
.sources a,.lien{color:var(--vert);cursor:pointer;text-decoration:underline}
.outils{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.outils button,.suggestions button{font:inherit;font-size:.82rem;border:1px solid var(--trait);background:transparent;color:var(--texte);border-radius:999px;padding:.2rem .7rem;cursor:pointer}
.outils button[aria-pressed=true]{background:var(--vert-clair)}
.suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}
.saisie{display:flex;gap:.5rem;align-items:stretch}
.saisie textarea,.saisie input{flex:1;font:inherit;padding:.6rem;border:1px solid var(--trait);border-radius:8px;background:var(--carte);color:var(--texte);resize:vertical}
.saisie button,dialog .actions button,#d-fiche button{font:inherit;background:var(--vert);color:#fff;border:0;border-radius:8px;padding:.55rem 1rem;cursor:pointer}
.saisie button:disabled{opacity:.6;cursor:wait}
.etat,.aide,.nb{font-size:.8rem;color:var(--doux)}
.resultats{padding-left:1.2rem}.resultats li{margin-bottom:1rem}
.resultats .rub{font-size:.75rem;color:var(--ocre);text-transform:uppercase;letter-spacing:.04em}
.apropos h2{font-size:1.05rem;color:var(--vert);margin-top:1.4rem}
.apropos li{margin-bottom:.3rem}
dialog{border:1px solid var(--trait);border-radius:10px;background:var(--carte);color:var(--texte);max-width:min(560px,92vw)}
dialog label{display:block;margin-top:.7rem;font-size:.9rem}
dialog textarea,dialog input{width:100%;font:inherit;padding:.5rem;border:1px solid var(--trait);border-radius:6px;background:var(--fond);color:var(--texte)}
dialog .actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
dialog .actions button[value=annuler]{background:transparent;color:var(--texte);border:1px solid var(--trait)}
.pied{max-width:860px;margin:2rem auto 1rem;padding:0 1rem;font-size:.78rem;color:var(--doux);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pied a{color:var(--doux)}
.masque{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--ocre);outline-offset:2px}
table{border-collapse:collapse;width:100%;font-size:.82rem}td,th{border-bottom:1px solid var(--trait);padding:.35rem;text-align:left;vertical-align:top}
@media (max-width:560px){.saisie{flex-direction:column}.entete{padding:.8rem 1rem}}
.defile{overflow-x:auto}
