
:root{--violet:#5B2BD9;--jaune:#EBD11A;--encre:#14141F;--creme:#F9F7F2;--blanc:#fff;--trait:#E4E0D6;--gris:#6B6B7A;--rouge:#B42318}
*{box-sizing:border-box}
body{margin:0;background:var(--creme);color:var(--encre);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--violet)}
.haut{background:var(--blanc);border-bottom:1px solid var(--trait)}
.haut .enveloppe{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.marque{font-weight:800;letter-spacing:.02em;text-decoration:none;color:var(--encre)}
.marque span{color:var(--violet)}
.haut nav{display:flex;gap:6px;flex:1;flex-wrap:wrap}
.haut nav a{padding:6px 12px;border-radius:999px;text-decoration:none;color:var(--encre);font-weight:600;font-size:.95rem}
.haut nav a[aria-current=page]{background:var(--encre);color:var(--blanc)}
.enveloppe{max-width:920px;margin:0 auto;padding:0 20px}
.enveloppe--large{max-width:1180px}
main{padding:28px 0 60px}
.etiquette-page{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--violet);margin:0}
h1{font-size:2.1rem;line-height:1.1;margin:.2em 0 .7em;letter-spacing:-.02em}
h2{font-size:1.25rem;margin:1.2em 0 .5em}
.bloc{background:var(--blanc);border:1px solid var(--trait);border-radius:16px;padding:18px 22px;margin:0 0 16px}
.bloc h2{margin-top:0}
label{display:block;font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gris);margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #cfcabb;border-radius:10px;background:var(--blanc);color:var(--encre)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(91,43,217,.35);border-color:var(--violet)}
textarea{resize:vertical}
.bouton{display:inline-block;border:0;border-radius:999px;padding:11px 26px;font:inherit;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;cursor:pointer;text-decoration:none;background:var(--encre);color:var(--blanc)}
.bouton--jaune{background:var(--jaune);color:var(--encre)}
.bouton--fantome{background:transparent;color:var(--encre);border:1px solid var(--encre)}
.bouton--petit{padding:6px 14px;font-size:.75rem}
.en-ligne{display:inline}
.annonce{padding:12px 16px;border-radius:12px;margin:0 0 16px;border:1px solid}
.annonce--erreur{background:#FEF3F2;border-color:#F4B4AE;color:var(--rouge)}
.annonce--info{background:#F4F0FF;border-color:#D4C8F8}
.annonce--ok{background:#ECFDF3;border-color:#A6E4C0}
.sourdine{color:var(--gris);font-size:.9rem}
.etiquette{display:inline-block;padding:1px 9px;border-radius:999px;background:#EFEAFC;font-size:.78rem;font-weight:700}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px 16px}
details.filtres{margin:10px 0 14px;padding:10px 14px;background:var(--blanc);border:1px solid var(--trait);border-radius:12px}
details.filtres summary{cursor:pointer;font-weight:600}
.item{padding:10px 0;border-top:1px solid var(--trait)}
.item:first-of-type{border-top:0}
.extrait{margin:6px 0 10px;padding:8px 14px;border-left:4px solid var(--jaune);background:#FFFBE0;font-style:italic}
.source{font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 0}
.passage{padding:10px 14px;margin:10px 0;background:var(--blanc);border:1px solid var(--trait);border-radius:10px;white-space:pre-wrap}
.passage--cible{background:#FFF6B8;border-color:var(--jaune);box-shadow:0 0 0 3px rgba(235,209,26,.35)}
.codes{columns:2;list-style:none;padding:0;font-size:1.05rem;font-family:ui-monospace,Consolas,monospace}
.cle{font:1.1rem ui-monospace,Consolas,monospace;letter-spacing:.06em;padding:4px 8px;background:var(--creme);border-radius:6px;user-select:all;word-break:break-all}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--trait);vertical-align:top}
.carte-connexion{max-width:420px;margin:8vh auto 0}
[hidden]{display:none!important}

.chat{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.chat-lateral{position:sticky;top:12px;background:var(--blanc);border:1px solid var(--trait);border-radius:16px;padding:14px;max-height:calc(100vh - 100px);overflow:auto}
.chat-lateral h2{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--violet);margin:14px 0 6px}
.chat-lateral ul{list-style:none;margin:0;padding:0}
.chat-lateral li a{display:block;padding:7px 10px;border-radius:10px;text-decoration:none;color:var(--encre);font-size:.92rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-lateral li a:hover{background:var(--creme)}
.chat-lateral li a[aria-current=page]{background:#EFEAFC;font-weight:600}
.fil{min-height:40vh;padding-bottom:10px}
.accueil-chat{text-align:center;padding:7vh 0 3vh}
.accueil-chat h1{font-size:2.4rem}
.suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.suggestions button{background:var(--blanc);border:1px solid var(--trait);border-radius:999px;padding:8px 14px;font:inherit;font-size:.9rem;cursor:pointer;max-width:100%}
.suggestions button:hover{border-color:var(--violet)}
.moi{display:flex;justify-content:flex-end;margin:22px 0 10px}
.moi p{margin:0;max-width:85%;background:var(--encre);color:var(--blanc);padding:10px 16px;border-radius:18px 18px 4px 18px;white-space:pre-wrap;word-break:break-word}
.elle{margin:0 0 6px}
.elle .bloc{border-radius:4px 18px 18px 18px}
.pense{display:flex;align-items:center;gap:10px;color:var(--gris)}
.points span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--violet);margin-right:4px;animation:rebond 1.2s infinite ease-in-out}
.points span:nth-child(2){animation-delay:.15s}.points span:nth-child(3){animation-delay:.3s}
@keyframes rebond{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}
.saisie{position:sticky;bottom:0;background:linear-gradient(to top,var(--creme) 80%,transparent);padding:18px 0 14px}
.saisie form{background:var(--blanc);border:1px solid #cfcabb;border-radius:22px;padding:12px 14px 10px;box-shadow:0 2px 12px rgba(20,20,31,.06)}
.saisie textarea{border:0;padding:4px 6px;resize:none;min-height:48px;max-height:220px}
.saisie textarea:focus{outline:0}
.saisie .barre{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mention{font-size:.78rem;color:var(--gris);text-align:center;margin:8px 0 0}
.supprimer{border:0;background:none;color:var(--gris);font-size:.8rem;cursor:pointer;text-decoration:underline;padding:0}
@media (max-width:760px){.chat{grid-template-columns:1fr}.chat-lateral{position:static;max-height:none}}
