/* Mesures : graphiques (SVG en ligne) */
section > .graphiques{max-width:min(100%,980px);display:grid;gap:22px;margin-top:34px;text-shadow:none}
.chiffres-cles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.chiffre{background:rgba(13,13,12,.9);border:1px solid var(--trait);padding:16px 18px}
.chiffre b{display:block;font:400 clamp(40px,5vw,60px)/1 var(--serif);letter-spacing:-.02em}
.chiffre span{display:block;font-size:14px;color:var(--marbre);margin-top:6px}
.chiffre small{display:block;font:400 12px var(--mono);color:var(--pierre);margin-top:3px}
.graphique{margin:0;background:rgba(13,13,12,.92);border:1px solid var(--trait);padding:20px 22px 14px}
.graphique figcaption b{display:block;font:400 28px/1.1 var(--serif)}
.graphique figcaption span{display:block;color:var(--pierre);font-size:14px;margin:6px 0 10px;max-width:70ch}
.c-legende{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:0 0 6px;padding:0;font:400 12px var(--mono);color:var(--pierre)}
.c-legende i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.c-defile{overflow-x:auto;scrollbar-width:thin}
.c-svg{width:100%;height:auto;display:block;overflow:visible}
@media (max-width:700px){.c-svg{min-width:600px}.graphique{padding:16px 14px 10px}.graphique figcaption b{font-size:24px}}
.c-grille{stroke:#272725;stroke-width:1}.c-axe,.c-cat{fill:#9C9A93;font:11px "Geist Mono",monospace}.c-cat{fill:#c9c7c0}
.c-val{fill:#ECEAE4;font:11px "Geist Mono",monospace}
.s1{fill:#ECEAE4;stroke:#ECEAE4;background:#ECEAE4}.s2{fill:#8a8982;stroke:#8a8982;background:#8a8982}.s3{fill:#3f3f3b;stroke:#3f3f3b;background:#3f3f3b}.s4{fill:#d9b877;stroke:#d9b877;background:#d9b877}.s5{fill:#8f86c9;stroke:#8f86c9;background:#8f86c9}
.bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform .9s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.barh{transform-box:fill-box;transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.vu .bar{transform:scaleY(1)}.vu .barh{transform:scaleX(1)}
.ligne{fill:none;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s ease}
.vu .ligne{stroke-dashoffset:0}.pt{stroke:none}
.valeurs{margin-top:8px}.valeurs summary{cursor:pointer;font:400 12px var(--mono);color:var(--pierre)}
.valeurs table{border-collapse:collapse;margin-top:8px;font:400 12px var(--mono);width:100%}
.valeurs td,.valeurs th{text-align:left;padding:5px 8px;border-top:1px solid var(--trait);color:var(--pierre)}.valeurs th{color:var(--marbre);font-weight:400}
@media (prefers-reduced-motion:reduce){.bar,.barh{transform:none}.ligne{stroke-dashoffset:0}}

/* Methode */
section.methode > .bloc-methode{max-width:min(100%,780px);background:rgba(13,13,12,.88);border:1px solid var(--trait);padding:4px 24px;text-shadow:none}
.bloc-methode details{border-top:1px solid var(--trait);padding:16px 0}.bloc-methode details:last-child{border-bottom:1px solid var(--trait)}
.bloc-methode summary{cursor:pointer;font:400 30px/1.1 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:20px}
.bloc-methode summary::-webkit-details-marker{display:none}.bloc-methode summary::after{content:"+";font-family:var(--mono);color:var(--pierre)}
.bloc-methode details[open] summary::after{content:"-"}
.bloc-methode ol,.bloc-methode ul{margin:14px 0 0;padding-left:20px;color:var(--pierre)}.bloc-methode li{margin-bottom:10px}.bloc-methode li b{color:var(--marbre);font-weight:500}
.bloc-methode p{color:var(--pierre);margin-top:12px;max-width:none}
.bloc-methode table.poids{border-collapse:collapse;margin-top:14px;width:100%;font-size:14px}
.bloc-methode .poids td,.bloc-methode .poids th{text-align:left;padding:9px 10px 9px 0;border-top:1px solid var(--trait);vertical-align:top;color:var(--pierre)}
.bloc-methode .poids th{font:400 12px var(--mono)}.bloc-methode .poids td:first-child{color:var(--marbre)}


/* Export : copier / CSV / image */
.graphique{position:relative}
.graphique figcaption{padding-right:230px}
.c-outils{position:absolute;top:16px;right:16px;display:flex;gap:6px}
.c-outils button{font:400 12px var(--mono);color:var(--pierre);background:none;border:1px solid var(--trait);padding:5px 10px;border-radius:2px;cursor:pointer;transition:all .15s}
.c-outils button:hover{color:var(--nuit);background:var(--marbre);border-color:var(--marbre)}
.c-outils button.ok{color:var(--bien,#9bc7a8);border-color:var(--bien,#9bc7a8)}
@media (max-width:700px){.graphique figcaption{padding-right:0}.c-outils{position:static;margin:2px 0 10px}}
@media print{.c-outils{display:none}}

/* En resume : verdict en langage simple */
.resume .verdict-bloc{background:rgba(236,234,228,.05);border:1px solid var(--trait);border-left:3px solid var(--marbre);padding:22px 26px;margin:6px 0 26px;max-width:880px}
.resume .verdict-bloc b{display:block;font:400 clamp(28px,3.6vw,44px)/1.12 var(--serif);margin:6px 0 12px}
.resume .verdict-bloc p{color:var(--pierre);max-width:68ch}.resume .verdict-bloc i{color:var(--marbre)}
.resume .trois{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.resume .carte-r{background:var(--fond2);border:1px solid var(--trait);border-top:3px solid var(--trait);padding:20px 22px}
.resume .carte-r.ok{border-top-color:var(--bien)}.resume .carte-r.moyen{border-top-color:var(--moyen)}.resume .carte-r.non{border-top-color:var(--mal)}
.resume .carte-r h3{font:400 30px/1.1 var(--serif);margin:0 0 6px}.resume .carte-r > p{color:var(--pierre);font-size:14px;margin-bottom:10px}
.resume .carte-r ul{margin:0;padding-left:18px;color:var(--pierre);font-size:15px}.resume .carte-r li{margin-bottom:12px}.resume .carte-r b{color:var(--marbre);font-weight:500}
.resume .sous{font:400 clamp(30px,3.6vw,44px)/1.1 var(--serif);margin:52px 0 14px}
.resume .usage{list-style:none;margin:0;padding:0;max-width:820px}.resume .usage li{padding:15px 0;border-top:1px solid var(--trait);color:var(--pierre)}.resume .usage li:last-child{border-bottom:1px solid var(--trait)}
.resume .usage b{color:var(--marbre);font-weight:500;display:block}
.resume .deux{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:980px}
.resume .deux h4{font:600 16px var(--sans);margin:0 0 8px}.resume .deux ul{margin:0;padding-left:18px;color:var(--pierre)}.resume .deux li{margin-bottom:9px}
.resume .glossaire{max-width:820px;margin:0}.resume .glossaire dt{font-weight:500;margin-top:16px}.resume .glossaire dd{margin:4px 0 0;color:var(--pierre)}
.resume .phrase{margin-top:50px;max-width:62ch;font:400 clamp(26px,3vw,38px)/1.2 var(--serif)}.resume .phrase b{font-weight:400;border-bottom:1px solid var(--marbre)}

/* mobile : les graphiques ne doivent jamais elargir la page (elements de grille a largeur minimale = contenu) */
.graphiques,.chiffres-cles,.graphique,.mesure{min-width:0}
.graphiques{grid-template-columns:minmax(0,1fr)}
@media (max-width:700px){.chiffres-cles{grid-template-columns:repeat(2,minmax(0,1fr))}}
