/* Simulateur — habillage refonte v3 (le moteur n'est pas touché) */
body > header:not(.c-top){background:transparent !important;color:var(--encre) !important;padding:26px 20px 10px !important;max-width:1560px;margin:0 auto;border:0 !important;border-image:none !important;}
body > header:not(.c-top) h1{font-family:var(--titre) !important;font-weight:800 !important;font-size:clamp(30px,4.6vw,46px) !important;line-height:1.04;letter-spacing:-0.025em;}
body > header:not(.c-top) p{font-size:16px !important;color:var(--texte);opacity:1 !important;max-width:900px;font-family:var(--corps) !important;}
body > header:not(.c-top) a{color:var(--violet-fonce) !important;}
.barre-profil{background:#fff !important;color:var(--encre) !important;margin:10px 20px 0;border-radius:20px;padding:12px 16px !important;font-family:var(--corps) !important;font-size:14px !important;}
.barre-profil select,.barre-profil input[type=text]{min-height:40px;border:2px solid var(--bord);border-radius:12px;padding:0 10px;font:inherit;background:var(--fond);color:var(--encre);}
.barre-profil .btn{background:var(--fond) !important;color:var(--encre) !important;border:2px solid var(--bord) !important;min-height:40px;font-size:14px !important;font-weight:700;}
.barre-profil .btn.or{border-color:var(--violet) !important;color:var(--violet-fonce) !important;background:#fff !important;}
.layout{padding:16px 20px 40px !important;}
.panneau{border-radius:24px !important;border-color:var(--ligne) !important;padding:18px !important;}
.panneau h2{font-family:var(--titre) !important;text-transform:none !important;letter-spacing:-0.01em !important;font-size:20px !important;color:var(--encre) !important;border-bottom:1px solid var(--ligne) !important;font-weight:800;}
.ctrl input[type=range],.lev input[type=range]{accent-color:var(--violet) !important;height:32px;}
.lev{border-radius:16px !important;border-color:var(--ligne) !important;padding:12px !important;font-family:var(--corps) !important;}
.lev .nom{font-size:15px !important;color:var(--encre) !important;}
.lev .typ{font-size:12px !important;padding:2px 8px !important;background:var(--violet-pale) !important;color:var(--violet-nuit) !important;}
.lev .typ.D{background:var(--orange-pale) !important;color:var(--orange-fonce) !important;}
.aide{border-radius:18px !important;font-family:var(--corps) !important;}
.titre-graphe{font-family:var(--corps) !important;font-size:15px !important;color:var(--encre) !important;}

/* tableau de score toujours visible */
.s-score{position:sticky;top:64px;z-index:30;margin:12px 20px 0;padding:12px 18px;border-radius:20px;background:var(--encre);color:#fff;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;box-shadow:0 10px 30px -18px rgba(20,22,46,.6);}
.s-score::before{content:"";position:absolute;left:18px;right:18px;top:0;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(to right,var(--fr-bleu) 0 33.33%,#fff 33.33% 66.66%,var(--fr-rouge) 66.66%);}
.s-score .s-lib{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--jaune);}
.s-score .s-val{font-family:var(--titre);font-weight:800;font-size:clamp(26px,4vw,36px);line-height:1;}
.s-score .s-ref{font-size:14px;color:#C9CBE0;}
.s-score.mieux .s-ref{color:#9FE3C4;} .s-score.pire .s-ref{color:#FFB38A;}
@media (max-width:860px){.s-score{top:61px;margin:10px 12px 0;}}

/* lecture des graphiques */
.s-lire{margin:8px 0 6px;}
.s-dyn{margin:0 0 6px;padding:10px 12px;border-radius:14px;background:var(--violet-pale);font-size:15px;line-height:1.45;}
.s-comment summary{cursor:pointer;font-weight:700;color:var(--violet-fonce);font-size:14px;min-height:36px;display:flex;align-items:center;}
.s-comment p{margin:4px 0 8px;font-size:14px;line-height:1.5;color:var(--texte);}
.s-comment .s-legende{color:var(--discret);font-size:13px;}

/* et après ? */
.s-apres{margin-top:14px;}
.s-etape{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--ligne);}
.s-etape:first-child{border-top:0;}
.s-quand{flex-shrink:0;width:92px;font-family:var(--titre);font-weight:800;font-size:19px;color:var(--violet-fonce);}
.s-quoi p{margin:0 0 4px;font-size:15px;line-height:1.45;}

/* les mots du simulateur */
.s-mots{margin-top:14px;}
.s-mots summary{cursor:pointer;font-family:var(--titre);font-weight:800;font-size:18px;min-height:40px;display:flex;align-items:center;}
.s-mots dl{margin:10px 0 0;display:grid;grid-template-columns:1fr;gap:4px 14px;}
.s-mots dt{font-weight:800;margin-top:8px;}
.s-mots dd{margin:0;font-size:14px;line-height:1.45;color:var(--texte);}

/* explication de chaque curseur */
.s-lev{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--fond);}
.s-lev p{margin:0;font-size:13px;line-height:1.45;}
.s-lev .s-echelle{color:var(--discret);margin-bottom:4px;}
.s-lev .s-effet{color:var(--encre);font-weight:600;}
.s-score .s-scen{flex-basis:100%;font-size:12px;color:#C9CBE0;}
/* l'ancienne règle « header{…} » des pages ne doit pas toucher l'en-tête commun */
header.c-top{border:0 !important;border-image:none !important;border-bottom:1px solid var(--bord) !important;padding:0 !important;background:rgba(244,242,248,.95) !important;color:var(--encre) !important;}

/* les 30 mesures se lisent avec la page, sans boîte à faire défiler ; le tableau de score reste visible en haut */
.section-leviers{max-height:none !important;overflow:visible !important;}
details.avance summary{list-style:none;cursor:pointer;min-height:36px;display:flex;align-items:center;}
details.avance summary::-webkit-details-marker{display:none;}
@media (max-width:860px){.s-score{padding:10px 14px;}.s-score .s-scen{font-size:11px;line-height:1.3;}}

/* critique design du 11/10 */
/* ordinateur : la colonne des résultats reste à l'écran pendant qu'on règle les 30 mesures */
@media (min-width:1051px){
  .layout{align-items:start;}
  .layout > div:last-child{position:sticky;top:150px;max-height:calc(100vh - 166px);overflow-y:auto;scrollbar-gutter:stable;padding-right:6px;border-radius:24px;}
  .layout > div:last-child::-webkit-scrollbar{width:10px;}
  .layout > div:last-child::-webkit-scrollbar-thumb{background:var(--bord);border-radius:5px;}
  .layout > div:last-child::-webkit-scrollbar-thumb:hover{background:var(--discret);}
}
/* téléphone : le tableau de score se réduit à une ligne dès qu'on fait défiler */
@media (max-width:860px){
  .s-score.compact{padding:8px 14px;gap:2px 10px;align-items:baseline;}
  .s-score.compact .s-lib,.s-score.compact .s-scen{display:none;}
  .s-score.compact .s-val{font-size:20px;}
  .s-score.compact .s-val::before{content:"2037 : ";font:700 13px/1 var(--corps);color:var(--jaune);}
  .s-score.compact .s-ref{font-size:13px;}
}
