/* Hypervisible : l'analyse complète gratuite (06/10/2026), vue commune à /scan/ et à /r/<jeton> (analyse.js), direction
   artistique v3 « Noir ». Variables --hv-* de jetons.css, composants de rapport.css (étapes, barre de progression,
   champs, boutons, cartes, barres). La scène ne se fige jamais : le faisceau balaie, les cinq IA s'allument à son
   passage, le symbole veille, la barre luit, le fil écoute ; tout tourne en CSS, sans attendre le serveur.
   `prefers-reduced-motion` : tout s'arrête, les nombres continuent d'avancer.
   Retours du test du 06/10 (dossier/24) : D6, le bloc marque et statut sous l'en-tête, des marges à la hauteur de
   l'écran, l'avancement dans un seul panneau, visible sans défiler de 360 à 1920 px ; D7, le direct (compteurs, phrase,
   classement) ; D4, l'adresse qui se corrige sur la carte du compte ; D5, le sélecteur de langue figé et son info-bulle. */

/* ---------- Mise en page : la page d'analyse commence sous l'en-tête ---------- */
.rapport[data-vue="analyse"],.scan[data-vue="analyse"]{padding-top:0;padding-bottom:0}
.analyse{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);grid-template-areas:"principal compte";gap:clamp(24px,3.5vw,56px);align-items:start;padding:clamp(12px,2.6vh,28px) 0 clamp(40px,7vh,88px)}
.analyse>.analyse-principal{grid-area:principal}
.analyse>.analyse-compte{grid-area:compte}
.analyse[data-etat="echec"]{grid-template-columns:minmax(0,1fr);grid-template-areas:"principal";max-width:720px}
/* En cours : le haut, le direct et le fil dans la colonne principale ; la carte du compte à côté, collée en haut. */
.analyse[data-etat="encours"]{grid-template-areas:"haut compte" "direct compte" "fil compte";row-gap:clamp(24px,3.6vh,40px)}
.analyse-encours{display:contents}
.analyse-haut{grid-area:haut}
.analyse>.analyse-encours>.direct{grid-area:direct}
.analyse>.analyse-encours>.fil{grid-area:fil}
.analyse-principal{min-width:0}
.analyse-marque{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:15px;font-weight:var(--hv-graisse-moyenne);color:var(--hv-encre)}
.analyse-marque .symbole{--taille-symbole:32px}
.analyse-marque .logo-pastille{width:32px;height:32px;border-radius:var(--hv-rayon-2)}
.analyse-kicker{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--hv-rayon-pilule);background:var(--hv-bleu-fond);border:1px solid var(--hv-bleu-trait);font-size:12px;color:var(--hv-bleu-clair)}
.analyse-titre{margin-top:clamp(10px,1.8vh,18px)}
.analyse .chapo{margin-top:clamp(10px,1.6vh,16px)}

/* ---------- L'avancement : un panneau (la scène, le pourcentage, la barre, les cinq pas ; lot 24 : « Concurrents cités par les IA ») ---------- */
.analyse-tableau{position:relative;margin-top:clamp(14px,2.4vh,24px);border-radius:var(--hv-rayon-4);background:var(--hv-voile-1);border:1px solid var(--hv-trait);box-shadow:var(--hv-trait-lumiere);overflow:hidden}
/* La scène : un faisceau qui balaie une piste, les cinq IA (pastilles de leur couleur) qui s'allument à son passage. */
.analyse-scene{position:relative;height:clamp(40px,6vh,56px);border-bottom:1px solid var(--hv-trait);overflow:hidden;isolation:isolate}
.analyse-scene::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,var(--hv-voile-1) 0 1px,rgba(0,0,0,0) 1px 28px)}
.analyse-faisceau{position:absolute;top:50%;left:0;width:38%;height:4px;margin-top:-2px;border-radius:2px;background:var(--hv-faisceau-scene);box-shadow:var(--hv-lueur-douce);transform:translateX(-110%);animation:analyse-balayage 2.8s var(--hv-courbe) infinite}
.analyse-faisceau::after{content:"";position:absolute;inset:-10px 0;border-radius:12px;background:var(--hv-faisceau-scene);opacity:.35;filter:blur(10px)}
.analyse-points{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-around;padding:0 6%}
.analyse-points .pastille{width:10px;height:10px;opacity:.28;animation:analyse-point 2.8s var(--hv-courbe) infinite}
.analyse-points .pastille:nth-child(1){animation-delay:.25s}
.analyse-points .pastille:nth-child(2){animation-delay:.6s}
.analyse-points .pastille:nth-child(3){animation-delay:.95s}
.analyse-points .pastille:nth-child(4){animation-delay:1.3s}
.analyse-points .pastille:nth-child(5){animation-delay:1.65s}
/* Trois IA (l'analyse gratuite, 11/11) : les pastilles sont plus espacées, le faisceau les atteint plus tard. */
.analyse-points[data-n="3"] .pastille:nth-child(1){animation-delay:.37s}
.analyse-points[data-n="3"] .pastille:nth-child(2){animation-delay:.95s}
.analyse-points[data-n="3"] .pastille:nth-child(3){animation-delay:1.53s}
@keyframes analyse-balayage{0%{transform:translateX(-110%)}100%{transform:translateX(290%)}}
@keyframes analyse-point{0%,100%{opacity:.28;transform:scale(1);box-shadow:none}18%{opacity:1;transform:scale(1.45);box-shadow:0 0 14px var(--m)}40%{opacity:.6;transform:scale(1)}}
/* Le symbole veille : le faisceau le traverse encore et encore. */
.symbole-veille .symbole-faisceau{animation:symbole-veille 2.4s var(--hv-courbe) infinite}
@keyframes symbole-veille{0%{clip-path:inset(0 100% 0 0)}45%,70%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}

.analyse-tableau .encours-mesure{margin:clamp(12px,2vh,18px) clamp(14px,2vw,20px) 0}
.analyse-progression{overflow:hidden}
.analyse-tableau .analyse-progression{margin:12px clamp(14px,2vw,20px) 0}
.analyse-progression i{transition:width 400ms linear}
.analyse-progression i::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 100%);transform:translateX(-100%);animation:analyse-reflet 1.6s linear infinite}
@keyframes analyse-reflet{to{transform:translateX(100%)}}
.analyse-tableau .analyse-etapes{grid-template-columns:repeat(5,minmax(0,1fr));margin:clamp(12px,2vh,16px) clamp(10px,1.4vw,14px) clamp(10px,1.4vw,14px);gap:6px}
.analyse-etapes .etape{gap:8px;padding:10px 12px}
.analyse-pause{margin-top:12px;padding:12px 14px;border-radius:var(--hv-rayon-2);background:var(--hv-attention-fond);font-size:14px;line-height:1.5;color:var(--hv-attention)}
/* « Vous pouvez fermer cette page » : dit tout de suite, sous l'avancement. */
.analyse-partir{display:flex;align-items:flex-start;gap:10px;margin-top:clamp(10px,1.8vh,16px);padding:12px 14px;border-radius:var(--hv-rayon-3);background:var(--hv-bleu-fond);font-size:14px;line-height:1.5;color:var(--hv-encre)}
.analyse-partir .ic{width:18px;height:18px;margin-top:1px;color:var(--hv-bleu-clair)}

/* ---------- Le direct : compteurs vivants, une phrase tirée des données, le classement des marques citées ---------- */
.direct{display:grid;gap:14px;min-width:0}
.direct .mini-lab{margin-bottom:0}
.direct-compteurs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.direct-compteur{display:grid;align-content:start;gap:4px;padding:14px 16px;border-radius:var(--hv-rayon-3);background:var(--hv-voile-1);border:1px solid var(--hv-trait)}
.direct-compteur b{font-size:clamp(1.5rem,1.15rem + 1.1vw,2.125rem);font-weight:var(--hv-graisse-moyenne);line-height:1;letter-spacing:-.035em;color:var(--hv-encre)}
.direct-compteur span{font-size:13px;line-height:1.35;color:var(--hv-encre-2)}
.direct-phrase{padding:2px 0 2px 14px;border-left:2px solid var(--hv-bleu);font-size:var(--hv-taille-intro);line-height:1.4;letter-spacing:-.01em;color:var(--hv-encre);text-wrap:balance}
.direct-classement{padding:clamp(16px,2vw,22px);border-radius:var(--hv-rayon-4);background:var(--hv-voile-1);border:1px solid var(--hv-trait);box-shadow:var(--hv-trait-lumiere)}
.direct-classement .mini-lab{margin-bottom:14px}
.direct-barres{display:grid;gap:12px}
.direct-ligne{grid-template-columns:18px 28px minmax(72px,.8fr) minmax(0,1.4fr) 36px;gap:10px}
.direct-ligne[data-nouveau]{animation:analyse-arrivee 520ms var(--hv-expo) both}
.direct-ligne .barre-piste i{transition:transform 700ms var(--hv-expo)}
.direct-rang{font-size:13px;color:var(--hv-encre-3);text-align:right}
.direct-ligne[data-marque] .direct-rang{color:var(--hv-bleu-clair)}
.direct-note,.direct-vide{margin-top:12px;font-size:13px;line-height:1.5;color:var(--hv-encre-3)}
.direct-vide{margin-top:0}

/* ---------- Le fil des réponses : les plus récentes en tête, chacune entre en glissant ---------- */
.fil .mini-lab{margin-bottom:12px}
.ecoute{display:inline-flex;gap:3px;margin-left:2px}
.ecoute i{width:4px;height:4px;border-radius:50%;background:var(--hv-bleu-texte);animation:analyse-ecoute 1.2s var(--hv-courbe) infinite}
.ecoute i:nth-child(2){animation-delay:.2s}
.ecoute i:nth-child(3){animation-delay:.4s}
@keyframes analyse-ecoute{0%,100%{opacity:.25}50%{opacity:1}}
.fil-liste{display:grid;gap:8px}
.fil-item{display:grid;grid-template-columns:minmax(118px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--hv-rayon-3);background:var(--hv-voile-1);border:1px solid var(--hv-trait)}
.fil-item[data-nouveau]{animation:analyse-arrivee 520ms var(--hv-expo) both}
@keyframes analyse-arrivee{from{opacity:0;transform:translateY(-8px)}}
.fil-surface{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--hv-graisse-moyenne);color:var(--hv-encre)}
.fil-question{min-width:0;overflow:hidden;font-size:14px;line-height:1.4;color:var(--hv-encre-2);text-overflow:ellipsis;white-space:nowrap}
.fil-vide{font-size:14px;color:var(--hv-encre-3)}

/* ---------- La carte du compte : à côté de l'analyse, collée en haut pendant le défilement ; dessous sur téléphone ---------- */
.analyse-compte{position:sticky;top:calc(var(--hv-hauteur-entete) + 16px);display:grid;gap:16px;padding:clamp(20px,2.2vw,28px);border-radius:var(--hv-rayon-4);background:var(--hv-panneau);border-color:var(--hv-trait-fort);box-shadow:var(--hv-ombre-flottante),var(--hv-trait-lumiere)}
.analyse-compte:hover{background:var(--hv-panneau)}
.analyse-compte-titre{font-size:clamp(1.375rem,1.2rem + .6vw,1.625rem);font-weight:var(--hv-graisse-moyenne);line-height:1.15;letter-spacing:-.025em;color:var(--hv-encre);text-wrap:balance}
.analyse-compte-raisons{font-size:15px;line-height:1.55;color:var(--hv-encre-2)}
.analyse-compte-note{padding:10px 12px;border-radius:var(--hv-rayon-2);background:var(--hv-voile-2);font-size:14px;line-height:1.5;color:var(--hv-encre)}
.analyse-compte-form{display:grid;gap:14px}
/* Relance d'une analyse sans issue : le bouton, et le champ du code d'accès quand le Worker le demande. */
.analyse-relance{display:grid;gap:14px;max-width:420px;margin-top:clamp(20px,3vh,32px)}
.analyse-relance .encours-bouton{margin-top:0;justify-self:start}
.analyse-compte-form .champ-saisie:disabled{opacity:1;color:var(--hv-encre-2);background:var(--hv-voile-1);cursor:not-allowed}
.compte-email-inconnu{display:flex;align-items:center;min-height:var(--hv-bouton-hauteur);padding:0 12px;border-radius:var(--hv-rayon-2);border:1px dashed var(--hv-trait-fort);font-size:15px;font-style:italic;color:var(--hv-encre-3)}
.analyse-voir,.analyse-lien{width:100%}
.analyse-compte-phrase{font-size:var(--hv-taille-petit);line-height:1.5;color:var(--hv-encre-2)}
.analyse-compte-etat{font-size:14px;line-height:1.5;color:var(--hv-mieux)}
.analyse-compte-etat a{color:var(--hv-bleu-texte);text-decoration:underline}
.analyse-compte-attente{display:flex;gap:6px;height:var(--hv-bouton-hauteur);align-items:center}
.analyse-compte-attente i{width:6px;height:6px;border-radius:50%;background:var(--hv-encre-3);animation:analyse-ecoute 1.2s var(--hv-courbe) infinite}
.analyse-compte-attente i:nth-child(2){animation-delay:.2s}
.analyse-compte-attente i:nth-child(3){animation-delay:.4s}
/* L'adresse : pré-remplie, « Modifier », puis la confirmation (adresse.js). */
.compte-adresse-tete{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.compte-adresse-modifier{padding:2px 0;border:0;background:none;font:inherit;font-size:var(--hv-taille-petit);font-weight:var(--hv-graisse-moyenne);color:var(--hv-bleu-texte);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.compte-adresse-modifier:hover{color:var(--hv-encre)}
.compte-adresse-modifier:focus-visible{outline:none;box-shadow:var(--hv-focus);border-radius:var(--hv-rayon-1)}
.compte-adresse-actions{display:flex;flex-wrap:wrap;gap:8px}
.compte-adresse-confirmation{display:grid;gap:12px;padding:14px;border-radius:var(--hv-rayon-3);background:var(--hv-voile-2);border:1px solid var(--hv-trait-fort)}
.compte-adresse-question{font-size:14px;line-height:1.5;color:var(--hv-encre-2);overflow-wrap:anywhere}
.compte-adresse-question b{font-weight:var(--hv-graisse-moyenne);color:var(--hv-encre)}
.compte-adresse-note{font-size:13px;line-height:1.5;color:var(--hv-mieux);overflow-wrap:anywhere}

/* ---------- L'aperçu d'une analyse terminée : le taux de citation en grand, la position, les premiers concurrents ---------- */
.apercu-chiffre{margin-top:clamp(20px,3.4vh,40px)}
.apercu-chiffre .mini-lab{margin-bottom:4px}
.apercu-phrase{margin-top:16px;max-width:44ch;font-size:var(--hv-taille-intro);line-height:1.45;color:var(--hv-encre)}
.apercu-marge{margin-top:8px;max-width:52ch;font-size:13px;line-height:1.5;color:var(--hv-encre-2)}
.apercu-faits{display:grid;gap:8px;margin-top:clamp(16px,2.6vh,24px)}
.apercu-faits li{position:relative;padding-left:18px;font-size:15px;line-height:1.5;color:var(--hv-encre-2)}
.apercu-faits li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--hv-bleu)}
.apercu-concurrents{margin-top:clamp(20px,3vh,36px)}
.apercu-classement{display:grid;gap:12px}
.apercu-classement li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px}
.apercu-nom{overflow:hidden;font-size:15px;font-weight:var(--hv-graisse-moyenne);color:var(--hv-encre);text-overflow:ellipsis;white-space:nowrap}
.apercu-classement b{font-size:15px;font-weight:var(--hv-graisse-moyenne);color:var(--hv-encre-2)}

/* ---------- La langue figée pendant l'analyse (langue-figee.js) : grisée, une info-bulle dit pourquoi ---------- */
[data-info]{position:relative}
a[aria-disabled="true"][data-info],.btn[aria-disabled="true"][data-info]{opacity:1;color:var(--hv-encre-3);cursor:not-allowed}
a[aria-disabled="true"][data-info]:hover{background:transparent;color:var(--hv-encre-3);text-decoration:none}
.langues a[aria-current="true"][aria-disabled="true"]{background:var(--hv-voile-1);color:var(--hv-encre-3);box-shadow:none}
[data-info]::after{content:attr(data-info);position:absolute;z-index:40;top:calc(100% + 10px);right:0;width:max-content;max-width:min(240px,calc(100vw - 32px));padding:8px 10px;border-radius:var(--hv-rayon-2);background:var(--hv-panneau-3);border:1px solid var(--hv-trait-fort);box-shadow:var(--hv-ombre-flottante);font-size:12px;font-weight:var(--hv-graisse-corps);line-height:1.4;letter-spacing:0;color:var(--hv-encre);text-align:left;white-space:normal;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity var(--hv-duree-rapide) var(--hv-courbe),transform var(--hv-duree-rapide) var(--hv-courbe)}
[data-info]:hover::after,[data-info]:focus-visible::after,[data-info][data-info-visible]::after{opacity:1;transform:none}

/* ---------- Tablette et téléphone ---------- */
@media (max-width:900px){
  .analyse{grid-template-columns:minmax(0,1fr);grid-template-areas:"principal" "compte"}
  .analyse[data-etat="encours"]{grid-template-areas:"haut" "direct" "compte" "fil"}
  .analyse-compte{position:static}
}
/* Tablette : les cinq pas tiennent sur une ligne (une rangée de moins avant le pli). */
@media (min-width:561px) and (max-width:900px){
  .analyse-tableau .analyse-etapes{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:720px){
  .direct-ligne{grid-template-columns:18px 28px minmax(0,1fr) 36px;grid-template-areas:"rang logo nom valeur" ". . piste piste";row-gap:8px}
  .direct-ligne .direct-rang{grid-area:rang}
}
@media (max-width:560px){
  .analyse-etapes .etape{flex-direction:row;align-items:center;gap:8px;padding:9px 10px;font-size:12px}
  .analyse-etapes .etape-haut{min-height:0}
  .analyse-etapes .etape-surfaces{display:none}
  .analyse-tableau .analyse-etapes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analyse-etapes .etape:last-child:nth-child(odd){grid-column:1/-1}
  .direct-compteur{padding:12px}
  .direct-compteur span{font-size:12px}
  .fil-item{grid-template-columns:minmax(0,1fr) auto}
  .fil-question{grid-column:1/-1;grid-row:2;white-space:normal}
}
/* ---------- Le profil à confirmer (lot 22, dossier/29 B3) : la carte « Voici ce que nous avons compris de {marque} » (profil.js) ---------- */
.analyse[data-etat="profil"] .analyse-titre em{font-style:normal;color:var(--hv-bleu-clair)}
.analyse-profil{display:grid;gap:clamp(14px,2.2vh,20px);margin-top:clamp(12px,2vh,20px);padding:clamp(20px,2.4vw,28px);border-radius:var(--hv-rayon-4);background:var(--hv-panneau);border:1px solid var(--hv-trait-fort);box-shadow:var(--hv-trait-lumiere)}
.analyse-profil .analyse-titre{margin-top:0}
.analyse-profil .profil-pourquoi{margin-top:0;max-width:62ch}
.profil-note{padding:10px 12px;border-radius:var(--hv-rayon-2);background:var(--hv-attention-fond);font-size:14px;line-height:1.5;color:var(--hv-attention)}
.profil-faits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:0}
.profil-fait{display:grid;align-content:start;gap:4px;min-width:0}
.profil-fait dt{font-size:13px;color:var(--hv-encre-2)}
.profil-fait dd{margin:0;font-size:15px;line-height:1.5;color:var(--hv-encre);overflow-wrap:anywhere}
.profil-aide{display:block;margin-top:2px;font-size:13px;line-height:1.5;color:var(--hv-encre-2)}
.profil-vide{font-size:14px;color:var(--hv-encre-3)}
.profil-jetons{display:flex;flex-wrap:wrap;gap:6px}
.profil-jeton{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--hv-rayon-pilule);background:var(--hv-voile-2);font-size:13px;color:var(--hv-encre)}
.profil-champs{display:grid;gap:14px}
.profil-champs textarea.champ-saisie{min-height:84px;padding-top:10px;resize:vertical}
/* 07/11 (« Où et pour qui mesurer », site/app/js/bloc-mesure.js) : comment les IA seront interrogées, le même bloc que l'application. */
.mesure{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--hv-trait)}
.mesure-marche{display:grid;gap:4px}
.mesure-marche .lab,.mesure-ville-champ label{font-size:13px;color:var(--hv-encre-2)}
.mesure-marche .champ-lecture{font-size:15px;color:var(--hv-encre)}
.mesure .aide{display:block;font-size:13px;line-height:1.5;color:var(--hv-encre-2);max-width:68ch}
.mesure-ville{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}
.mesure-ville legend{padding:0;margin-bottom:4px;font-size:16px;font-weight:var(--hv-graisse-moyenne);color:var(--hv-encre)}
.mesure-choix{display:grid;gap:10px}
.mesure-choix .case{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:var(--hv-rayon-2);border:1px solid var(--hv-trait);background:var(--hv-voile-2);cursor:pointer;font-size:14px;color:var(--hv-encre)}
.mesure-ville-champ{display:grid;gap:6px;max-width:360px}
.mesure-ville-champ input{width:100%;height:var(--hv-bouton-hauteur);padding:0 12px;border-radius:var(--hv-rayon-2);border:1px solid var(--hv-trait);background:var(--hv-voile-2);color:var(--hv-encre);font-size:15px}
.mesure-ville-champ input:focus-visible{border-color:var(--hv-bleu-texte);box-shadow:var(--hv-focus);outline:none}
.mesure-requise{padding:10px 12px;border-radius:var(--hv-rayon-2);background:var(--hv-attention-fond);font-size:14px;line-height:1.5;color:var(--hv-attention)}
.mesure-indice{color:var(--hv-attention)}
.mesure-erreur{font-size:13px;line-height:1.45;color:var(--hv-moins)}
.mesure-graphie-bouton{padding:0;border:0;background:none;font:inherit;color:var(--hv-bleu-texte);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mesure-phrase{margin:4px 0 0;font-size:14px;line-height:1.55;color:var(--hv-encre)}
.profil-concurrents{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--hv-trait)}
.profil-sous-titre{font-size:16px;font-weight:var(--hv-graisse-moyenne);color:var(--hv-encre)}
.profil-pastilles{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.profil-pastille{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 4px 0 6px;border-radius:var(--hv-rayon-pilule);background:var(--hv-voile-2);border:1px solid var(--hv-trait);font-size:14px;color:var(--hv-encre)}
.profil-pastille .logo-pastille{width:22px;height:22px;border-radius:50%}
.profil-retirer{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;font-size:16px;line-height:1;color:var(--hv-encre-2);cursor:pointer;transition:background var(--hv-duree-rapide) var(--hv-courbe),color var(--hv-duree-rapide) var(--hv-courbe)}
.profil-retirer:hover{background:var(--hv-voile-3);color:var(--hv-moins)}
.profil-retirer:focus-visible{outline:none;box-shadow:var(--hv-focus)}
.profil-ajout{display:flex;gap:8px}
.profil-ajout .champ-saisie{flex:1 1 auto;min-width:0}
.profil-compte{margin:0}
.profil-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.profil-preuve{max-width:62ch;margin:0;padding:2px 0 2px 14px;border-left:2px solid var(--hv-bleu);font-size:14px;line-height:1.55;color:var(--hv-encre-2);overflow-wrap:anywhere}
.profil-rechercher{justify-self:start;padding:4px 0;border:0;background:none;font:inherit;font-size:14px;color:var(--hv-encre-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color var(--hv-duree-rapide) var(--hv-courbe)}
.profil-rechercher:hover:not(:disabled){color:var(--hv-encre)}
.profil-rechercher:focus-visible{outline:none;border-radius:4px;box-shadow:var(--hv-focus)}
.profil-rechercher:disabled{cursor:progress;opacity:.7}
@media (max-width:560px){
  .profil-faits{grid-template-columns:minmax(0,1fr)}
  .profil-actions{flex-direction:column-reverse;align-items:stretch}
  .profil-ajout{flex-direction:column}
}
/* Écran bas (portable, téléphone couché) : le titre se resserre pour que l'avancement reste dans le premier écran. */
@media (max-height:720px){
  .analyse .analyse-titre{font-size:clamp(2rem,1.7rem + 1.2vw,2.75rem)}
}
@media (prefers-reduced-motion:reduce){
  .analyse-faisceau,.analyse-points .pastille,.symbole-veille .symbole-faisceau,.analyse-progression i::after,.ecoute i,.analyse-compte-attente i,.fil-item[data-nouveau],.direct-ligne[data-nouveau]{animation:none}
  .analyse-faisceau{transform:translateX(80%)}
  .analyse-points .pastille{opacity:.7}
  .direct-ligne .barre-piste i,[data-info]::after{transition:none}
}
