/* =========================================================================
   Aktory : styles propres à la page Lexique.
   Le héros sobre et le bandeau final sont repris de la page Méthode :
   chaque page garde sa feuille, seul commun.css est mutualisé.
   ========================================================================= */

/* ── Héros sobre : le texte seul, sans image ── */
.m-heros{padding:170px 0 60px}
.m-heros .heros-texte{max-width:700px}
.m-heros h1{font-size:clamp(40px,4.8vw,60px)}
.m-heros .heros-sous{max-width:620px}
.bande.plate{margin-top:0}

/* ── Chapo de section ── */
.m-chapo{margin:-8px 0 30px;font-size:16.5px;line-height:1.66;color:var(--gris-encre);max-width:44em}
.m-chapo b{color:var(--charbon);font-weight:600}

/* ── L'assistant flottant du lexique ── */
.robot{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.robot[hidden]{display:none}

/* le bouton lanceur */
.robot-bouton{position:relative;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;
  display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#FF8C6B 0%,var(--corail) 45%,var(--corail-fonce) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 14px 34px -12px rgba(255,122,89,.9);
  transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s;
  animation:levite 3.4s ease-in-out infinite}
.robot-bouton:hover{transform:translateY(-3px) scale(1.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 20px 44px -14px rgba(255,122,89,1)}
.robot-bouton svg{width:30px;height:30px}
.robot-bouton::after{content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(255,122,89,.55);animation:sonar 2.6s ease-out infinite}
.robot-bouton.actif{animation:none}
.robot-bouton.actif::after{display:none}
@keyframes levite{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes sonar{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.6);opacity:0}100%{transform:scale(1.6);opacity:0}}

/* la petite invite à côté du bouton */
.robot-invite{border:1px solid var(--trait);border-radius:14px 14px 3px 14px;background:var(--blanc);
  box-shadow:var(--ombre-survol);padding:10px 14px;font-family:inherit;font-size:13px;font-weight:500;
  color:var(--charbon);cursor:pointer;animation:invite-pop .45s cubic-bezier(.2,.7,.3,1)}
.robot-invite:hover{border-color:rgba(255,122,89,.5)}
@keyframes invite-pop{from{opacity:0;translate:0 8px;scale:.9}}

/* le panneau de conversation */
.robot-panneau{width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 120px));
  display:flex;flex-direction:column;border:1px solid var(--trait);border-radius:20px;overflow:hidden;
  background:var(--ivoire);box-shadow:0 3px 8px rgba(43,34,58,.08), 0 42px 90px -30px rgba(43,34,58,.5);
  opacity:0;transform:translateY(14px) scale(.96);transform-origin:bottom right;
  transition:opacity .22s cubic-bezier(.2,.7,.3,1), transform .22s cubic-bezier(.2,.7,.3,1)}
.robot-panneau.ouvert{opacity:1;transform:none}
.robot-panneau[hidden]{display:none}

.robot-tete{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--charbon);color:#fff}
.robot-avatar{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:var(--corail);flex-shrink:0}
.robot-avatar svg{width:24px;height:24px}
.robot-titres{display:flex;flex-direction:column;gap:3px;min-width:0}
.robot-titres b{font-family:'Satoshi',sans-serif;font-weight:700;font-size:14.5px;letter-spacing:-.01em}
.robot-etat{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;
  font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.robot-etat i{width:5px;height:5px;border-radius:50%;background:var(--corail);box-shadow:0 0 8px var(--corail);
  animation:pouls 2.2s ease-in-out infinite;font-style:normal;flex-shrink:0}
.robot-fermer{margin-left:auto;width:30px;height:30px;flex-shrink:0;border-radius:9px;border:0;cursor:pointer;
  background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;transition:background .2s}
.robot-fermer:hover{background:rgba(255,255,255,.22)}
.robot-fermer svg{width:14px;height:14px}

/* le fil de la conversation */
.robot-fil{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:16px 14px;scroll-behavior:smooth}
.bulle{max-width:86%;border-radius:16px;padding:11px 14px;font-size:13.5px;line-height:1.6;
  animation:bulle-pop .3s cubic-bezier(.2,.7,.3,1)}
.bulle.question{align-self:flex-end;border-bottom-right-radius:5px;color:#fff;font-weight:500;
  background:linear-gradient(135deg,#FF8C6B,var(--corail-fonce));box-shadow:0 10px 24px -14px rgba(255,122,89,.9)}
.bulle.reponse{align-self:flex-start;max-width:96%;background:var(--blanc);border:1px solid var(--trait);
  border-bottom-left-radius:5px;box-shadow:var(--ombre);color:var(--gris-encre)}
@keyframes bulle-pop{from{opacity:0;translate:0 10px;scale:.96}}

/* le robot réfléchit */
.bulle.pense{display:flex;gap:5px;align-items:center;padding:14px 16px}
.bulle.pense i{width:7px;height:7px;border-radius:50%;background:var(--texte-3);animation:pense 1.1s ease-in-out infinite}
.bulle.pense i:nth-child(2){animation-delay:.18s}
.bulle.pense i:nth-child(3){animation-delay:.36s}
@keyframes pense{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}

/* les fiches clonées dans une bulle */
.bulle-intro{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--corail-fonce);margin-bottom:10px}
.bulle.reponse p + p{margin-top:9px}
.bulle.reponse .terme, .bulle.reponse .bench{border-radius:12px;box-shadow:none;padding:16px 18px}
.bulle.reponse .terme:hover, .bulle.reponse .bench:hover{transform:none;box-shadow:none}
.bulle.reponse .bench-tete{flex-direction:column;gap:7px}
.bulle.reponse .bench .echelle{max-width:none;text-align:left;align-self:flex-start}
.bulle-suite{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.bulle-suite .etiquette{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--texte-3)}

/* les exemples et la saisie */
.robot-exemples{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 10px}
.robot-exemples.replie{display:none}
.robot-form{display:flex;gap:9px;padding:12px 14px;border-top:1px solid var(--trait);background:var(--blanc)}
.robot-form input{flex:1;min-width:0;border:1px solid var(--trait-fort);border-radius:12px;padding:11px 14px;
  font:inherit;font-size:13.5px;color:var(--charbon);background:var(--ivoire);outline:none;transition:border-color .25s}
.robot-form input::placeholder{color:var(--texte-3)}
.robot-form input:focus{border-color:rgba(255,122,89,.55)}
.robot-envoyer{width:42px;height:42px;flex-shrink:0;border:0;border-radius:12px;cursor:pointer;
  display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#FF8C6B 0%,var(--corail) 45%,var(--corail-fonce) 100%);
  box-shadow:0 10px 24px -12px rgba(255,122,89,.9);transition:transform .2s, box-shadow .2s}
.robot-envoyer:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(255,122,89,1)}
.robot-envoyer svg{width:17px;height:17px}

/* le clin d'œil du robot */
.oeil{transform-box:fill-box;transform-origin:center;animation:cligne 4.6s infinite}
@keyframes cligne{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.12)}}

button.pion{background:none;cursor:pointer;font-family:inherit}
.cible{animation:cible 1.6s ease}
@keyframes cible{0%{box-shadow:0 0 0 4px rgba(255,122,89,.65)}100%{box-shadow:0 0 0 4px rgba(255,122,89,0)}}

@media (prefers-reduced-motion:reduce){
  .robot-bouton{animation:none}
  .robot-bouton::after{display:none}
  .robot-panneau{transition:none}
  .robot-invite, .bulle{animation:none}
  .oeil{animation:none}
}

/* ── Les termes ── */
.termes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.terme{position:relative;border:1px solid var(--trait);border-radius:15px;background:rgba(255,255,255,.6);
  backdrop-filter:blur(10px) saturate(1.25);-webkit-backdrop-filter:blur(10px) saturate(1.25);
  padding:18px 21px;display:flex;flex-direction:column;gap:8px;
  transition:border-color .25s, background .25s, box-shadow .25s}
.terme::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;background:var(--corail);opacity:.35;transition:opacity .25s}
.terme:hover{border-color:rgba(255,122,89,.4);background:rgba(255,255,255,.85);box-shadow:var(--ombre)}
.terme:hover::before{opacity:1}
.terme h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:15.5px;letter-spacing:-.01em}
.terme .court{font-size:13.5px;line-height:1.6;color:var(--charbon)}
.terme .detail{font-size:12.5px;line-height:1.62;color:var(--gris-encre)}

/* ── Liens de sources, communs aux termes et aux benchmarks ── */
.sources-liens{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:8px}
.sources-liens a{display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;
  font-size:9.5px;letter-spacing:.04em;color:var(--gris-encre);text-decoration:none;
  border:1px solid var(--trait);border-radius:8px;padding:5px 9px;transition:all .18s;max-width:100%}
.sources-liens a:hover{border-color:rgba(255,122,89,.5);color:var(--corail-fonce)}
.sources-liens svg{width:11px;height:11px;flex-shrink:0}

/* ── Le filtre ── */
.lexi-filtre{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:18px;
  border:1px solid var(--trait-fort);border-radius:14px;background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);
  padding:4px 16px 4px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 28px -22px rgba(43,34,58,.6);
  transition:border-color .25s, box-shadow .25s}
.lexi-filtre:focus-within{border-color:rgba(255,122,89,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 14px 32px -20px rgba(255,122,89,.5)}
.lexi-filtre svg{width:17px;height:17px;color:var(--texte-3);flex-shrink:0}
.lexi-filtre input{flex:1;border:0;background:none;font:inherit;font-size:14.5px;color:var(--charbon);
  padding:11px 0;outline:none;min-width:0}
.lexi-filtre input::placeholder{color:var(--texte-3)}
.lexi-compte{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--corail-fonce);white-space:nowrap}

/* ── Le sommaire des domaines ── */
.sommaire{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:10px}
.pion{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--trait-fort);border-radius:10px;
  padding:7px 13px;font-size:12.5px;font-weight:500;color:var(--gris-encre);text-decoration:none;transition:all .18s}
.pion:hover{border-color:rgba(255,122,89,.55);color:var(--charbon)}
.pion b{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:10px;color:var(--corail-fonce)}

/* ── Un domaine ── */
.domaine{padding-top:34px}
.domaine-tete{margin-bottom:16px}
.domaine-titre{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.domaine-tete h3{font-family:'Satoshi',sans-serif;font-weight:900;font-size:22px;letter-spacing:-.018em}
.domaine-tete .compte{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--corail-fonce)}
.domaine-tete p{margin-top:6px;font-size:14px;line-height:1.6;color:var(--gris-encre);max-width:52em}

/* ── Une entrée de benchmark ── */
.benchs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bench{position:relative;border:1px solid var(--trait);border-radius:16px;background:var(--blanc);box-shadow:var(--ombre);
  padding:20px 22px;display:flex;flex-direction:column;gap:9px;overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.7,.3,1), border-color .25s, box-shadow .25s}
.bench:hover{transform:translateY(-2px);border-color:rgba(255,122,89,.4);box-shadow:var(--ombre-survol)}
.bench-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bench h4{font-family:'Satoshi',sans-serif;font-weight:700;font-size:16.5px;letter-spacing:-.012em;line-height:1.3}
.bench .echelle{flex-shrink:0;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--corail-fonce);border:1px solid rgba(255,122,89,.3);background:var(--corail-doux);
  border-radius:7px;padding:4px 8px;max-width:46%;text-align:right}
.bench-meta{display:flex;flex-direction:column;gap:2px}
.bench-meta span{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--texte-3)}
.bench-meta .alias{text-transform:none;letter-spacing:.03em}
.bench .demande{font-size:14px;line-height:1.6;color:var(--charbon);font-weight:500}
.bench .represente{font-size:13px;line-height:1.65;color:var(--gris-encre)}
.bench .attention{position:relative;border:1px solid rgba(255,122,89,.35);background:var(--corail-doux);
  border-radius:12px;padding:12px 14px 12px 16px;overflow:hidden}
.bench .attention::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--corail)}
.bench .attention-titre{display:block;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--corail-fonce);margin-bottom:5px}
.bench .attention p{font-size:12.5px;line-height:1.6;color:var(--charbon)}

/* ── Le bandeau final ── */
.methode.m-cta{margin-top:70px;justify-content:space-between;flex-wrap:wrap;gap:20px}
.methode.m-cta p{max-width:44em;font-size:14.5px}
.methode.m-cta .btn{flex-shrink:0}

/* ── Réactif ── */
@media (max-width:1040px){
  .termes{grid-template-columns:1fr 1fr}
  .benchs{grid-template-columns:1fr}
}
@media (max-width:760px){
  .m-heros{padding-top:140px}
  .termes{grid-template-columns:1fr}
  .lexi-compte{display:none}
  .bench-tete{flex-direction:column;gap:7px}
  .bench .echelle{max-width:none;text-align:left;align-self:flex-start}
}
@media (max-width:600px){
  .robot{right:12px;bottom:12px}
  .robot-panneau{height:min(560px,calc(100vh - 96px))}
  .robot-bouton{width:52px;height:52px}
  .robot-bouton svg{width:27px;height:27px}
}
