/* Deus : la page des statistiques */
.st { max-width: 1180px; margin: 0 auto; padding: 28px max(16px, env(safe-area-inset-left, 0px)) 90px max(16px, env(safe-area-inset-left, 0px)); display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; font-variant-numeric: lining-nums tabular-nums; }
.st h1, .st h2, .st h3, .st h4 { font-family: var(--titre); color: var(--or-clair); margin: 0; text-wrap: balance; }
.st h1 { font-size: clamp(1.9rem, 5vw, 3rem); }
.st h2 { font-size: 1.4rem; margin-bottom: 8px; }
.st h3 { font-size: 1rem; margin: 14px 0 6px; }
.st p { max-width: 72ch; margin: 0 0 10px; }
.st-tete { display: grid; gap: 8px; }
.st-jeu { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--encre-2); font-size: .96rem; }
.st select { background: var(--suie); color: var(--encre); border: 1px solid var(--terre); border-radius: 6px; padding: 8px; font: inherit; max-width: 100%; }
.st-corps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 46px; }
.st-sec { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.st-rien { color: var(--encre-3); font-style: italic; }
.st-txt { font-size: 1rem; line-height: 1.32; margin: 0; }
.st-tuiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--brun); border: 1px solid var(--brun); }
.st-tuiles.larges { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 6px 0; }
.st-tuiles.quatre { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 6px 0; }
@media (max-width: 720px) { .st-tuiles.quatre { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.st-tuiles > div { background: var(--suie); padding: 10px 12px; }
.st-tuiles b { display: block; font-family: var(--titre); font-size: 1.4rem; color: var(--or-clair); line-height: 1.1; }
.st-tuiles span { display: block; color: var(--encre-2); font-size: .92rem; line-height: 1.2; margin-top: 3px; }
.st-constats { background: #241410; border: 1px solid var(--sang-clair); padding: 12px 16px; margin-top: 8px; }
.st-constats h3 { margin: 0 0 6px; color: #f3b3a4; }
.st-constats ul { margin: 0; padding-left: 20px; }
.st-constats li { margin-bottom: 4px; line-height: 1.3; }
.st-constats b { color: var(--or-clair); }
.st-profils, .st-cycles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 14px; }
.st-profil { display: grid; gap: 10px; background: var(--suie); border: 1px solid var(--brun); border-top: 3px solid var(--c); padding: 14px; min-width: 0; }
.st-profil header { display: flex; align-items: center; gap: 12px; }
.st-profil img { width: 66px; height: 66px; object-fit: cover; border-radius: 50%; border: 2px solid var(--c); flex: none; }
.st-profil h3 { margin: 0; font-size: 1.2rem; }
.st-profil header p { margin: 0; color: var(--encre-2); font-size: .98rem; }
.st-cycle { background: var(--suie); border: 1px solid var(--brun); border-left: 3px solid var(--c); padding: 14px; min-width: 0; display: grid; gap: 10px; }
.st-cycle ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.st-cycle li { display: grid; grid-template-columns: 112px auto minmax(0, 1fr); gap: 4px 10px; align-items: baseline; padding: 5px 0; border-bottom: 1px solid var(--brun); position: relative; }
.st-cycle li b { font-family: var(--titre); font-size: .72rem; color: var(--encre-2); }
.st-cycle li strong { font-size: 1.1rem; color: var(--or-clair); white-space: nowrap; }
.st-cycle li span { color: var(--encre-2); font-size: .94rem; line-height: 1.2; }
.st-grille-fig { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 14px; margin-top: 8px; }
.st-fig { margin: 0; background: var(--suie); border: 1px solid var(--brun); padding: 12px; min-width: 0; }
.st-fig figcaption { font-family: var(--titre); font-size: .92rem; color: var(--or-clair); margin-bottom: 6px; }
.st-fig figcaption small { display: block; font-family: var(--texte); color: var(--encre-2); font-size: .94rem; }
.st-fig svg { display: block; width: 100%; height: auto; }
.st-leg { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .92rem; color: var(--encre-2); margin-bottom: 4px; }
.st-leg i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.st-grille { stroke: #2c2118; }
.st-axe { fill: var(--encre-2); font-size: 12.5px; font-family: var(--texte); }
.st-barres { display: grid; gap: 5px; }
.st-barre { display: grid; grid-template-columns: minmax(96px, 42%) minmax(0, 1fr) 52px; gap: 8px; align-items: center; font-size: .96rem; }
.st-barre b { height: 14px; background: #221a13; border-radius: 3px; overflow: hidden; display: block; }
.st-barre i { display: block; height: 100%; border-radius: 3px; }
.st-barre em { font-style: normal; text-align: right; color: var(--encre-2); white-space: nowrap; }
.st-bulle { position: fixed; z-index: 30; background: #000; border: 1px solid var(--or); padding: 5px 9px; font-size: .92rem; line-height: 1.25; max-width: 270px; pointer-events: none; color: var(--encre); }
.st-tab { overflow-x: auto; border: 1px solid var(--brun); }
.st-tab table { border-collapse: collapse; width: 100%; font-size: .98rem; }
.st-tab th { background: var(--bitume); padding: 0; white-space: nowrap; text-align: left; position: sticky; top: 0; }
.st-tab th.n { text-align: right; }
.st-tab th button { background: none; border: 0; color: var(--encre-2); font-family: var(--titre); font-size: .7rem; letter-spacing: .03em; padding: 9px 10px; cursor: pointer; width: 100%; text-align: inherit; }
.st-tab th[aria-sort="ascending"] button, .st-tab th[aria-sort="descending"] button { color: var(--or-clair); }
.st-tab th button:focus-visible, .st-filtre button:focus-visible, .st-carte:focus-visible { outline: 2px solid var(--or-clair); outline-offset: -2px; }
.st-tab td { padding: 7px 10px; border-top: 1px solid #2a2118; vertical-align: middle; }
.st-tab td.n { text-align: right; white-space: nowrap; }
.st-carte { background: none; border: 0; padding: 0; cursor: pointer; display: inline-block; vertical-align: middle; margin-right: 10px; }
.st-carte .carte { --cw: 54px; }
.st-carte .fx-long { display: none; }
.st-carte-nom { display: inline-block; vertical-align: middle; min-width: 130px; line-height: 1.15; }
.st-carte-nom b { display: block; color: var(--or-clair); }
.st-carte-nom small { color: var(--encre-2); font-size: .86rem; white-space: nowrap; }
.st-usage { display: flex; width: 120px; height: 12px; border-radius: 3px; overflow: hidden; background: #221a13; gap: 1px; }
.st-usage i { display: block; height: 100%; }
.st-p { display: inline-block; width: 11px; height: 11px; border-radius: 3px; vertical-align: -1px; }
.st-filtre { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.st-filtre button { background: var(--bitume); color: var(--encre); border: 1px solid var(--terre); border-radius: 6px; padding: 7px 12px; font: inherit; cursor: pointer; }
.st-filtre button[aria-pressed="true"] { background: var(--or); color: #201505; border-color: var(--or); }
.st-note { color: var(--encre-2); font-size: .96rem; }
.st-lien { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; margin-top: 18px; color: var(--encre-2); text-align: center; }
@media (max-width: 520px) { .st-cycle li { grid-template-columns: minmax(0, 1fr); } .st-barre { grid-template-columns: minmax(90px, 38%) minmax(0, 1fr) 44px; } }
