:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible:is(.v3, .v3 *) { outline: 2px solid var(--marine); outline-offset: 2px; }
:where(.fond-marine, .fond-marine *, .carte.marine, .carte.marine *):focus-visible:is(.v3, .v3 *) { outline-color: var(--or); }
.fond-marine:is(.v3, .v3 *) { background: var(--marine); color: var(--sur-marine); }
.point:is(.v3, .v3 *) { color: var(--or); }
.point.carmin:is(.v3, .v3 *) { color: var(--carmin); }
.btn:is(.v3, .v3 *) { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: var(--e-2); height: var(--h-md); padding: 0 var(--e-5); border: 0; border-radius: var(--r-pilule); background: var(--creme-2); color: var(--marine); font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-dense); line-height: var(--lh-serre); white-space: nowrap; text-decoration: none; cursor: pointer; transition: background-color var(--d-court) var(--courbe), color var(--d-court) var(--courbe), transform var(--d-court) var(--courbe); }
.btn.lg:is(.v3, .v3 *) { height: var(--h-lg); padding: 0 var(--e-6); font-size: var(--fs-bouton-lg); }
.btn.sm:is(.v3, .v3 *) { height: var(--h-sm); padding: 0 var(--e-4); }
.btn.sm:is(.v3, .v3 *)::after { content: ""; position: absolute; inset: calc((var(--h-cible) - var(--h-sm)) / -2) 0; }
.btn:is(.v3, .v3 *) .fleche { display: inline-block; transition: transform var(--d-court) var(--courbe); }
.btn:hover:is(.v3, .v3 *) .fleche { transform: translateX(var(--e-1)); }
.btn:hover:is(.v3, .v3 *),
.btn.tonal:hover:is(.v3, .v3 *) { background: var(--filet); }
.btn:active:is(.v3, .v3 *) { transform: scale(.98); }
.btn.or:is(.v3, .v3 *) { background: var(--or); color: var(--marine); }
.btn.or:hover:is(.v3, .v3 *) { background: var(--or-sombre); }
.btn.marine:is(.v3, .v3 *) { background: var(--marine); color: var(--sur-marine); }
.btn.marine:hover:is(.v3, .v3 *) { background: var(--marine-profond); }
.btn.tonal:is(.v3, .v3 *) { background: var(--creme-2); color: var(--marine); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .btn.tonal { background-color: var(--marine-2); color: var(--sur-marine); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .btn.tonal:hover { background-color: color-mix(in srgb, var(--marine-2), var(--sur-marine) 12%); }
.btn.tonal-carmin:is(.v3, .v3 *) { background: var(--carmin-pale); color: var(--carmin); }
.btn.tonal-carmin:hover:is(.v3, .v3 *) { background: var(--carmin-filet); }
.btn.carmin:is(.v3, .v3 *) { background: var(--carmin); color: var(--sur-marine); }
.btn.carmin:hover:is(.v3, .v3 *) { background: var(--carmin-fonce); }
.btn:disabled:is(.v3, .v3 *),
.btn[aria-disabled="true"]:is(.v3, .v3 *) { opacity: .45; cursor: default; pointer-events: none; }
@media (pointer: coarse) {
  .btn:is(.v3, .v3 *),
.btn.sm:is(.v3, .v3 *) { min-height: var(--h-tactile); }
}
.lien:is(.v3, .v3 *) { padding: 0; border: 0; background: none; border-radius: var(--r-trait); color: var(--marine); font: inherit; font-weight: 500; text-decoration: underline; text-decoration-color: var(--filet-champ); text-decoration-thickness: 1px; text-underline-offset: var(--e-1); cursor: pointer; transition: color var(--d-court) var(--courbe), text-decoration-color var(--d-court) var(--courbe); }
.lien:hover:is(.v3, .v3 *) { text-decoration-color: var(--or); text-decoration-thickness: var(--filet-fort); }
.rangee:is(.v3, .v3 *) { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-5); }
.rangee:is(.v3, .v3 *) .lien { position: relative; color: var(--texte-2); text-decoration-color: var(--filet); }
.rangee:is(.v3, .v3 *) .lien::after { content: ""; position: absolute; inset: calc((var(--h-cible) - var(--fs-ui) * var(--lh-ui)) / -2) 0; }
.rangee:is(.v3, .v3 *) .lien:hover { color: var(--marine); text-decoration-color: var(--or); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .lien { color: var(--sur-marine); text-decoration-color: var(--or); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .rangee .lien { color: var(--sur-marine-2); text-decoration-color: var(--creme-a22); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .rangee .lien:hover { color: var(--sur-marine); text-decoration-color: var(--or); }
.carte:is(.v3, .v3 *) { display: block; min-width: 0; padding: var(--e-5); background: var(--papier); border: 1px solid var(--filet); border-radius: var(--r-lg); color: var(--texte); }
.carte-titre:is(.v3, .v3 *) { margin: 0 0 var(--e-2); font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-bloc); line-height: var(--lh-bloc); }
.carte.marine:is(.v3, .v3 *) { background: var(--marine); border-color: var(--marine); color: var(--sur-marine); }
.carte.marine.heros:is(.v3, .v3 *) { border-radius: var(--r-xl); }
.carte.vide:is(.v3, .v3 *) { background: transparent; border-style: dashed; border-color: var(--filet-champ); }
.carte.cliquable:is(.v3, .v3 *) { cursor: pointer; text-decoration: none; transition: transform var(--d-court) var(--courbe), box-shadow var(--d-court) var(--courbe), border-color var(--d-court) var(--courbe); }
.carte.cliquable:hover:is(.v3, .v3 *) { transform: translateY(calc(var(--e-1) * -1)); border-color: var(--filet-champ); box-shadow: var(--ombre-survol); }
.carte.choisie:is(.v3, .v3 *) { border: var(--filet-fort) solid var(--or); padding: calc(var(--e-5) - 1px); }
@media (max-width: 639.98px) {
  .carte:is(.v3, .v3 *) { padding: var(--e-4); border-radius: var(--r-md); }
  .carte.choisie:is(.v3, .v3 *) { padding: calc(var(--e-4) - 1px); }
}
.encart:is(.v3, .v3 *) { --encart-fond: var(--creme-2); --encart-encre: var(--marine); --encart-glyphe: var(--papier); --encart-signe: "i"; display: grid; grid-template-columns: var(--signe) minmax(0, 1fr); column-gap: var(--e-2); row-gap: var(--e-1-5); padding: calc(var(--e-3) + var(--e-0-5)) var(--e-4); background: var(--encart-fond); border-radius: var(--r-md); color: var(--texte); font-size: var(--fs-ui); line-height: var(--lh-ui); }
.encart:is(.v3, .v3 *)::before { content: var(--encart-signe); grid-column: 1; grid-row: 1; align-self: start; display: grid; place-items: center; width: var(--signe); height: var(--signe); border-radius: var(--r-rond); background: var(--encart-encre); color: var(--encart-glyphe); font-family: var(--font-donnee); font-size: var(--fs-meta); font-weight: 600; line-height: var(--lh-serre); text-transform: none; }
.encart:is(.v3, .v3 *) > * { grid-column: 2; min-width: 0; margin: 0; }
.encart-titre:is(.v3, .v3 *) { display: flex; align-items: center; min-height: var(--signe); font-family: var(--font-donnee); font-size: var(--fs-etiquette); line-height: var(--lh-etiquette); font-weight: 600; letter-spacing: var(--ls-capitales); text-transform: uppercase; color: var(--encart-encre); }
.encart.info:is(.v3, .v3 *) { --encart-signe: "i"; }
.encart.or:is(.v3, .v3 *) { --encart-fond: var(--or-pale); --encart-encre: var(--or); --encart-glyphe: var(--marine); --encart-signe: "!"; }
.encart.or:is(.v3, .v3 *) .encart-titre { color: var(--marine); }
.encart.carmin:is(.v3, .v3 *) { --encart-fond: var(--carmin-pale); --encart-encre: var(--carmin); --encart-signe: "!"; }
.encart.ok:is(.v3, .v3 *) { --encart-fond: var(--ok-pale); --encart-encre: var(--note-ok); --encart-signe: "✓"; }
.encart.clair:not(.or, .carmin, .ok):is(.v3, .v3 *) { --encart-fond: var(--papier); box-shadow: 0 0 0 1px var(--filet); }
.champ:is(.v3, .v3 *) { display: block; box-sizing: border-box; width: 100%; min-height: var(--h-tactile); padding: 0 var(--e-3); background: var(--papier); border: 1px solid var(--filet-champ); border-radius: var(--r-sm); color: var(--texte); font-family: var(--font-texte); font-size: var(--fs-ui); line-height: var(--lh-ui); caret-color: var(--marine); transition: border-color var(--d-court) var(--courbe); }
textarea.champ:is(.v3, .v3 *) { padding: var(--e-3); resize: vertical; }
select.champ:is(.v3, .v3 *) { appearance: none; padding-right: var(--e-10); background-image: linear-gradient(45deg, transparent 50%, var(--texte-2) 50%), linear-gradient(135deg, var(--texte-2) 50%, transparent 50%); background-position: calc(100% - var(--e-5) - var(--e-1)) 50%, calc(100% - var(--e-5)) 50%; background-size: var(--e-1) var(--e-1); background-repeat: no-repeat; cursor: pointer; }
.champ:is(.v3, .v3 *)::placeholder { color: var(--texte-3); opacity: 1; }
.champ:hover:is(.v3, .v3 *) { border-color: var(--marine); }
.champ:focus-visible:is(.v3, .v3 *) { border-color: var(--marine); }
.champ[aria-invalid="true"]:is(.v3, .v3 *) { border-color: var(--carmin); }
.champ:disabled:is(.v3, .v3 *) { background: var(--creme-2); border-color: var(--filet); color: var(--texte-inactif); cursor: default; }
.champ.copie:is(.v3, .v3 *) { min-height: calc(var(--e-16) * 4); padding: var(--e-4); font-size: var(--fs-lecture); line-height: var(--lh-lecture); }
.champ.copie:placeholder-shown:is(.v3, .v3 *) { border-style: dashed; }
.champ-libelle:is(.v3, .v3 *) { display: block; margin-bottom: var(--e-1-5); font-family: var(--font-texte); font-size: var(--fs-dense); line-height: var(--lh-dense); font-weight: 500; color: var(--texte); }
.champ-aide:is(.v3, .v3 *) { display: block; margin-top: var(--e-1-5); font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--texte-3); }
.champ-aide.erreur:is(.v3, .v3 *) { color: var(--carmin); }
.choix:is(.v3, .v3 *) { display: flex; align-items: center; gap: var(--e-3); box-sizing: border-box; width: 100%; min-height: var(--h-tactile); padding: var(--e-3) var(--e-4); background: var(--papier); border: 1px solid var(--filet); border-radius: var(--r-md); color: var(--texte); font-family: var(--font-texte); font-size: var(--fs-ui); line-height: var(--lh-ui); text-align: left; cursor: pointer; transition: border-color var(--d-court) var(--courbe); }
.choix:hover:is(.v3, .v3 *) { border-color: var(--filet-champ); }
.choix:is(.v3, .v3 *) .choix-detail { display: block; font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--texte-3); }
.choix:is(.v3, .v3 *)::after { content: ""; flex: none; margin-left: auto; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: var(--signe); height: var(--signe); border: 1px solid var(--filet-champ); border-radius: var(--r-rond); font-family: var(--font-texte); font-weight: 600; font-size: var(--fs-dense); line-height: var(--lh-serre); }
.choix.choisi:is(.v3, .v3 *),
.choix[aria-pressed="true"]:is(.v3, .v3 *),
.choix[aria-checked="true"]:is(.v3, .v3 *) { border: var(--filet-fort) solid var(--or); padding: calc(var(--e-3) - 1px) calc(var(--e-4) - 1px); }
.choix.choisi:is(.v3, .v3 *)::after,
.choix[aria-pressed="true"]:is(.v3, .v3 *)::after,
.choix[aria-checked="true"]:is(.v3, .v3 *)::after { content: "✓"; border-color: var(--or); background: var(--or); color: var(--marine); }
.choix.juste:is(.v3, .v3 *) { border: var(--filet-fort) solid var(--note-ok); padding: calc(var(--e-3) - 1px) calc(var(--e-4) - 1px); cursor: default; }
.choix.juste:is(.v3, .v3 *)::after { content: "✓"; border-color: var(--note-ok); background: var(--note-ok); color: var(--papier); }
.choix.faux:is(.v3, .v3 *) { border: var(--filet-fort) solid var(--note-ko); padding: calc(var(--e-3) - 1px) calc(var(--e-4) - 1px); cursor: default; }
.choix.faux:is(.v3, .v3 *)::after { content: "✗"; border-color: var(--note-ko); background: var(--note-ko); color: var(--papier); }
.choix:disabled:is(.v3, .v3 *) { color: var(--texte-inactif); cursor: default; }
.choix.sombre:is(.v3, .v3 *) { background: var(--creme-a07); border-color: var(--creme-a22); color: var(--sur-marine); }
.choix.sombre:hover:is(.v3, .v3 *) { border-color: var(--sur-marine-3); }
.choix.sombre:is(.v3, .v3 *) .choix-detail { color: var(--sur-marine-3); }
.choix.sombre:not(.choisi, [aria-pressed="true"], [aria-checked="true"]):is(.v3, .v3 *)::after { border-color: var(--sur-marine-3); }
.choix.sombre.choisi:is(.v3, .v3 *),
.choix.sombre[aria-pressed="true"]:is(.v3, .v3 *),
.choix.sombre[aria-checked="true"]:is(.v3, .v3 *) { border-color: var(--or); }
.pastille:is(.v3, .v3 *) { display: inline-flex; align-items: center; gap: var(--e-1-5); height: var(--h-pastille); padding: 0 var(--e-3); background: var(--papier); border: 1px solid var(--filet); border-radius: var(--r-pilule); color: var(--texte); font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-serre); white-space: nowrap; font-variant-numeric: tabular-nums; }
:where(button, a).pastille:is(.v3, .v3 *) { cursor: pointer; text-decoration: none; transition: border-color var(--d-court) var(--courbe), background-color var(--d-court) var(--courbe); }
:where(button, a).pastille:is(.v3, .v3 *) { position: relative; }
:where(button, a).pastille:is(.v3, .v3 *)::after { content: ""; position: absolute; inset: calc((var(--h-cible) - var(--h-pastille)) / -2) 0; }
:where(button, a).pastille:hover:is(.v3, .v3 *) { border-color: var(--filet-champ); }
.pastille.on:is(.v3, .v3 *),
.pastille[aria-pressed="true"]:is(.v3, .v3 *) { background: var(--marine); border-color: var(--marine); color: var(--sur-marine); }
.pastille.fixe:is(.v3, .v3 *) { height: var(--h-pastille-fixe); padding: 0 var(--e-2); }
.pastille:disabled:is(.v3, .v3 *) { color: var(--texte-inactif); cursor: default; }
.compteur:is(.v3, .v3 *) { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: var(--h-pastille-fixe); height: var(--h-pastille-fixe); padding: 0 var(--e-1-5); border-radius: var(--r-pilule); background: var(--or); color: var(--marine); font-family: var(--font-donnee); font-size: var(--fs-meta); font-weight: 600; line-height: var(--lh-serre); font-variant-numeric: tabular-nums; }
.pastille:is(.v3, .v3 *) .compteur { margin-right: calc((var(--h-pastille) - var(--h-pastille-fixe)) / 2 - var(--e-3)); }
.etiquette:is(.v3, .v3 *) { display: inline-flex; align-items: center; height: var(--h-pastille-fixe); padding: 0 var(--e-2); box-sizing: border-box; border: 1px solid transparent; border-radius: var(--r-pilule); background: var(--creme-2); color: var(--marine); font-family: var(--font-donnee); font-size: var(--fs-etiquette); line-height: var(--lh-serre); font-weight: 500; letter-spacing: var(--ls-capitales); text-transform: uppercase; white-space: nowrap; }
.etiquette.compo:is(.v3, .v3 *) { background: var(--marine); color: var(--sur-marine); }
.etiquette.dictee:is(.v3, .v3 *) { background: var(--or); color: var(--marine); }
.etiquette.qcm:is(.v3, .v3 *) { background: transparent; border-color: var(--marine); color: var(--marine); }
.etiquette.question:is(.v3, .v3 *) { background: var(--creme-2); color: var(--marine); }
.selecteur:is(.v3, .v3 *) { display: inline-flex; gap: var(--e-0-5); max-width: 100%; padding: var(--e-0-5); box-sizing: border-box; background: var(--creme-2); border-radius: var(--r-pilule); overflow-x: auto; scrollbar-width: none; }
.selecteur:is(.v3, .v3 *) > button,
.selecteur:is(.v3, .v3 *) > a { flex: none; display: inline-flex; align-items: center; gap: var(--e-1-5); height: var(--h-selecteur); padding: 0 var(--e-4); border: 0; border-radius: var(--r-pilule); background: transparent; color: var(--texte-2); font-family: var(--font-texte); font-size: var(--fs-dense); font-weight: 500; line-height: var(--lh-serre); white-space: nowrap; text-decoration: none; cursor: pointer; transition: background-color var(--d-court) var(--courbe), color var(--d-court) var(--courbe); }
.selecteur:is(.v3, .v3 *) > :hover { color: var(--texte); background: var(--filet); }
.selecteur:is(.v3, .v3 *) > [aria-pressed="true"],
.selecteur:is(.v3, .v3 *) > [aria-selected="true"],
.selecteur:is(.v3, .v3 *) > [aria-current="page"],
.selecteur:is(.v3, .v3 *) > .on { background: var(--marine); color: var(--sur-marine); }
.selecteur.structurant:is(.v3, .v3 *) > [aria-pressed="true"],
.selecteur.structurant:is(.v3, .v3 *) > [aria-selected="true"],
.selecteur.structurant:is(.v3, .v3 *) > .on { background: var(--or); color: var(--marine); }
.selecteur:is(.v3, .v3 *) > :disabled { color: var(--texte-inactif); cursor: default; background: transparent; }
.selecteur:is(.v3, .v3 *) .n { font-family: var(--font-donnee); font-size: var(--fs-meta); font-weight: 400; font-variant-numeric: tabular-nums; }
.selecteur.sm:is(.v3, .v3 *) > button,
.selecteur.sm:is(.v3, .v3 *) > a { height: var(--h-selecteur-sm); padding: 0 var(--e-3); }
.selecteur:is(.v3, .v3 *) > :focus-visible { outline-offset: calc(var(--e-0-5) * -1); }
@media (max-width: 639.98px) {
  .selecteur.grille:is(.v3, .v3 *) { display: grid; grid-template-columns: 1fr 1fr; border-radius: var(--r-md); overflow: visible; }
  .selecteur.grille:is(.v3, .v3 *) > button,
.selecteur.grille:is(.v3, .v3 *) > a { justify-content: center; border-radius: var(--r-sm); }
}
.onglets:is(.v3, .v3 *) { display: flex; align-items: flex-end; gap: var(--e-1); overflow-x: auto; scrollbar-width: none; }
.onglet:is(.v3, .v3 *) { flex: none; display: flex; align-items: center; gap: var(--e-3); max-width: calc(var(--l-lecture) / 2.5); padding: var(--e-3) var(--e-4); border: 0; border-radius: var(--r-md) var(--r-md) 0 0; background: var(--creme-2); color: var(--texte-2); text-align: left; cursor: pointer; transition: background-color var(--d-court) var(--courbe); }
.onglet:hover:is(.v3, .v3 *) { background: var(--filet); }
.onglet:is(.v3, .v3 *) .num { flex: none; font-family: var(--font-titre); font-size: var(--fs-dense); color: var(--texte-3); font-variant-numeric: tabular-nums; }
.onglet:is(.v3, .v3 *) .lab { display: block; font-family: var(--font-texte); font-size: var(--fs-ui); font-weight: 600; line-height: var(--lh-etiquette); color: var(--texte); }
.onglet:is(.v3, .v3 *) .hint { display: block; margin-top: var(--e-1); font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--texte-3); }
.onglet[aria-selected="true"]:is(.v3, .v3 *),
.onglet.on:is(.v3, .v3 *) { position: relative; z-index: var(--z-contenu); padding-top: calc(var(--e-3) + var(--e-1-5)); padding-bottom: calc(var(--e-3) + var(--e-1-5)); margin-bottom: calc(var(--e-1-5) * -1); background: var(--marine); }
.onglet[aria-selected="true"]:is(.v3, .v3 *) .num,
.onglet.on:is(.v3, .v3 *) .num { color: var(--or); }
.onglet[aria-selected="true"]:is(.v3, .v3 *) .lab,
.onglet.on:is(.v3, .v3 *) .lab { color: var(--sur-marine); }
.onglet[aria-selected="true"]:is(.v3, .v3 *) .hint,
.onglet.on:is(.v3, .v3 *) .hint { color: var(--sur-marine-3); }
.onglet:focus-visible:is(.v3, .v3 *) { outline-offset: calc(var(--e-1) * -1); }
.onglets-panneau:is(.v3, .v3 *) { padding: var(--e-6); background: var(--marine); color: var(--sur-marine); border-radius: 0 var(--r-xl) var(--r-xl) var(--r-xl); }
.section-tete:is(.v3, .v3 *) { display: flex; align-items: center; flex-wrap: wrap; column-gap: var(--e-3); row-gap: var(--e-1); margin: 0 0 var(--e-4); font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-meta); font-weight: 500; color: var(--texte); }
.section-tete:is(.v3, .v3 *) .num { order: 0; font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-ui); color: var(--or); font-variant-numeric: tabular-nums; }
.section-tete:is(.v3, .v3 *) .titre { order: 1; min-width: 0; letter-spacing: var(--ls-capitales); text-transform: uppercase; }
.section-tete:is(.v3, .v3 *)::after { content: ""; order: 2; flex: 1 1 var(--e-8); height: 1px; background: var(--filet); }
.section-tete:is(.v3, .v3 *) .meta { order: 3; font-weight: 400; color: var(--texte-3); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .section-tete { color: var(--sur-marine); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .section-tete::after { background: var(--creme-a12); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .section-tete .meta { color: var(--sur-marine-3); }
@media (max-width: 639.98px) {
  .section-tete:is(.v3, .v3 *) .meta { order: 4; flex-basis: 100%; }
  .section-tete:is(.v3, .v3 *) .titre { flex: 1 1 0; }
  .section-tete:is(.v3, .v3 *)::after { display: none; }
}
.titre-page:is(.v3, .v3 *) { margin: 0; font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-page); line-height: var(--lh-page); letter-spacing: var(--ls-serre); color: var(--texte); overflow-wrap: break-word; }
.titre-page:is(.v3, .v3 *) .curseur { display: inline-block; width: .12em; height: .75em; margin-left: .06em; vertical-align: -.05em; background: var(--or); animation: curseur var(--d-clignote) steps(2, end) infinite; }
@keyframes curseur { to { opacity: 0; } }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .titre-page { color: var(--sur-marine); }
@media (max-width: 639.98px) {
  .titre-page:is(.v3, .v3 *) { font-size: var(--fs-page-m); line-height: var(--lh-page-m); }
}
.roi:is(.v3, .v3 *) { display: block; font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-roi-m); line-height: var(--lh-serre); letter-spacing: var(--ls-serre); color: var(--texte); font-variant-numeric: tabular-nums; }
.roi.s:is(.v3, .v3 *) { font-size: var(--fs-roi-s); }
.roi.l:is(.v3, .v3 *) { font-size: var(--fs-roi-l); }
.roi:is(.v3, .v3 *) .unite { margin-left: .2em; font-size: .5em; letter-spacing: 0; color: var(--texte-3); }
.roi.ok:is(.v3, .v3 *) { color: var(--note-ok); }
.roi.mid:is(.v3, .v3 *) { color: var(--note-mid); }
.roi.ko:is(.v3, .v3 *) { color: var(--note-ko); }
.roi-legende:is(.v3, .v3 *) { display: block; margin-top: var(--e-1-5); font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--texte-3); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .roi,
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .roi .unite { color: var(--sur-marine); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .roi-legende { color: var(--sur-marine-3); }
.jauge:is(.v3, .v3 *) { position: relative; display: block; height: var(--h-jauge); background: var(--creme-2); border-radius: var(--r-pilule); }
.jauge-plein:is(.v3, .v3 *) { display: block; width: calc(var(--v, 0) * 100%); height: 100%; background: var(--or); border-radius: inherit; transform-origin: left center; animation: jauge-remplit var(--d-jauge) var(--courbe) both; }
@keyframes jauge-remplit { from { transform: scaleX(0); } }
.jauge.ok:is(.v3, .v3 *) .jauge-plein { background: var(--note-ok-vif); }
.jauge.mid:is(.v3, .v3 *) .jauge-plein { background: var(--note-mid); }
.jauge.ko:is(.v3, .v3 *) .jauge-plein { background: var(--note-ko); }
.jauge-seuil:is(.v3, .v3 *) { position: absolute; left: calc(var(--s, 0) * 100%); top: calc(var(--e-1) * -1); bottom: calc(var(--e-1) * -1); width: var(--filet-fort); background: var(--marine); border-radius: var(--r-trait); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .jauge { background: var(--creme-a22); }
:where(.fond-marine, .carte.marine):is(.v3, .v3 *) .jauge-seuil { background: var(--sur-marine); }
.tableau-cadre:is(.v3, .v3 *) { overflow-x: auto; background: var(--papier); border: 1px solid var(--filet); border-radius: var(--r-lg); }
.tableau:is(.v3, .v3 *) { width: 100%; border-collapse: collapse; table-layout: fixed; font-family: var(--font-texte); font-size: var(--fs-dense); line-height: var(--lh-dense); color: var(--texte); font-variant-numeric: tabular-nums; }
.tableau:is(.v3, .v3 *) caption { caption-side: top; padding: var(--e-3) var(--e-4) 0; text-align: left; font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--texte-3); }
.tableau:is(.v3, .v3 *) th { padding: var(--e-3) var(--e-4) var(--e-2); border-bottom: 1px solid var(--filet); text-align: left; font-family: var(--font-donnee); font-size: var(--fs-etiquette); line-height: var(--lh-etiquette); font-weight: 500; letter-spacing: var(--ls-capitales); text-transform: uppercase; color: var(--texte-3); white-space: nowrap; }
.tableau:is(.v3, .v3 *) td { min-width: 0; padding: var(--e-2) var(--e-4); border-bottom: 1px solid var(--filet); overflow-wrap: break-word; hyphens: auto; }
.tableau:is(.v3, .v3 *) { min-width: var(--l-popover); }
.tableau:is(.v3, .v3 *) tbody tr:last-child td { border-bottom: 0; }
.tableau:is(.v3, .v3 *) tbody tr:hover td { background: var(--creme); }
.tableau:is(.v3, .v3 *) .nombre { text-align: right; }
.tableau:is(.v3, .v3 *) th button { display: inline-flex; align-items: center; min-height: var(--h-cible); margin-block: calc((var(--h-cible) - var(--fs-etiquette) * var(--lh-etiquette)) / -2); padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.tableau:is(.v3, .v3 *) th[aria-sort="ascending"],
.tableau:is(.v3, .v3 *) th[aria-sort="descending"] { color: var(--texte); }
.tableau:is(.v3, .v3 *) th[aria-sort="ascending"] button::after,
.tableau:is(.v3, .v3 *) th[aria-sort="descending"] button::after { content: "›"; display: inline-block; margin-left: var(--e-1); }
.tableau:is(.v3, .v3 *) th[aria-sort="ascending"] button::after { transform: rotate(-90deg); }
.tableau:is(.v3, .v3 *) th[aria-sort="descending"] button::after { transform: rotate(90deg); }
.voile:is(.v3, .v3 *) { position: fixed; inset: 0; z-index: var(--z-voile); display: grid; place-items: center; padding: var(--e-4); background: var(--voile); animation: apparait var(--d-moyen) var(--courbe) both; }
.voile.sombre:is(.v3, .v3 *) { background: var(--voile-sombre); }
.fenetre:is(.v3, .v3 *) { position: relative; z-index: var(--z-fenetre); display: flex; flex-direction: column; box-sizing: border-box; width: 100%; max-width: var(--l-fenetre); max-height: calc(100vh - var(--e-8) * 2); overflow: hidden; background: var(--papier); border-radius: var(--r-lg); box-shadow: var(--ombre-fenetre); color: var(--texte); animation: monte var(--d-moyen) var(--courbe) both; }
.fenetre-tete:is(.v3, .v3 *) { display: flex; align-items: flex-start; gap: var(--e-3); padding: var(--e-5) var(--e-5) var(--e-3) var(--e-6); }
.fenetre-titre:is(.v3, .v3 *) { flex: 1; margin: 0; padding-top: var(--e-1); font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-section); line-height: var(--lh-etiquette); }
.fenetre-fermer:is(.v3, .v3 *) { flex: none; display: inline-flex; align-items: center; justify-content: center; width: var(--h-cible); height: var(--h-cible); border: 0; border-radius: var(--r-rond); background: transparent; color: var(--texte-2); font-family: var(--font-texte); font-size: var(--fs-bloc); line-height: var(--lh-serre); cursor: pointer; }
.fenetre-fermer:hover:is(.v3, .v3 *) { background: var(--creme-2); color: var(--texte); }
.fenetre-fermer:is(.v3, .v3 *) svg,
.toast-fermer:is(.v3, .v3 *) svg { width: var(--e-4); height: var(--e-4); stroke: currentColor; fill: none; }
.fenetre-corps:is(.v3, .v3 *) { overflow: auto; padding: 0 var(--e-6) var(--e-5); font-size: var(--fs-ui); line-height: var(--lh-ui); }
.fenetre-corps:is(.v3, .v3 *) p { margin: 0 0 var(--e-3); }
.fenetre-corps:is(.v3, .v3 *) > :last-child { margin-bottom: 0; }
.consequence:is(.v3, .v3 *) { color: var(--carmin); font-weight: 500; }
.fenetre-pied:is(.v3, .v3 *) { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--e-2); padding: var(--e-4) var(--e-6); border-top: 1px solid var(--filet); }
@keyframes apparait { from { opacity: 0; } }
@keyframes monte { from { opacity: 0; transform: translateY(var(--e-2)); } }
.popover:is(.v3, .v3 *) { position: absolute; z-index: var(--z-popover); box-sizing: border-box; width: var(--l-popover); max-width: calc(100vw - var(--e-3) * 2); background: var(--papier); border: 1px solid var(--filet); border-radius: var(--r-md); box-shadow: var(--ombre-fenetre); color: var(--texte); animation: monte var(--d-moyen) var(--courbe) both; }
.popover-tete:is(.v3, .v3 *) { display: flex; align-items: center; gap: var(--e-3); min-height: var(--h-lg); padding: 0 var(--e-4); background: var(--marine); color: var(--sur-marine); border-radius: calc(var(--r-md) - 1px) calc(var(--r-md) - 1px) 0 0; }
.popover-titre:is(.v3, .v3 *) { margin: 0 auto 0 0; font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-ui); }
.popover-corps:is(.v3, .v3 *) { padding: var(--e-4); }
.popover.fleche:is(.v3, .v3 *)::before { content: ""; position: absolute; top: calc(var(--e-1-5) * -1); right: var(--e-5); width: var(--e-3); height: var(--e-3); background: var(--marine); border-radius: var(--r-trait); transform: rotate(45deg); }
.toast:is(.v3, .v3 *) { position: fixed; right: var(--e-6); bottom: var(--e-6); z-index: var(--z-toast); display: inline-flex; align-items: center; gap: var(--e-3); box-sizing: border-box; max-width: calc(100vw - var(--e-3) * 2); min-height: var(--h-tactile); padding: 0 var(--e-1) 0 var(--e-5); background: var(--marine); color: var(--sur-marine); border-radius: var(--r-pilule); font-family: var(--font-texte); font-size: var(--fs-ui); line-height: var(--lh-ui); animation: monte var(--d-moyen) var(--courbe) both; }
.toast:is(.v3, .v3 *) .coche { flex: none; color: var(--or); font-weight: 700; }
.toast-fermer:is(.v3, .v3 *) { flex: none; display: inline-flex; align-items: center; justify-content: center; width: var(--h-cible); height: var(--h-cible); border: 0; border-radius: var(--r-rond); background: transparent; color: var(--sur-marine-2); font-family: var(--font-texte); font-size: var(--fs-bloc); line-height: var(--lh-serre); cursor: pointer; }
.toast-fermer:hover:is(.v3, .v3 *) { background: var(--creme-a12); color: var(--sur-marine); }
@media (max-width: 639.98px) {
  .toast:is(.v3, .v3 *) { left: var(--e-3); right: var(--e-3); bottom: var(--e-3); padding-block: var(--e-1); border-radius: var(--r-lg); line-height: var(--lh-dense); }
}
.vide:is(.v3, .v3 *) { display: flex; flex-direction: column; align-items: center; gap: var(--e-3); padding: var(--e-8) var(--e-5); text-align: center; }
.vide:is(.v3, .v3 *) svg { width: var(--h-cible); height: var(--h-cible); color: var(--filet); stroke: currentColor; fill: none; }
.vide-titre:is(.v3, .v3 *) { margin: 0; font-family: var(--font-titre); font-weight: 400; font-size: var(--fs-bloc); line-height: var(--lh-bloc); color: var(--texte); }
.vide:is(.v3, .v3 *) p { max-width: 36em; margin: 0; color: var(--texte-2); }
.vide:is(.v3, .v3 *) .btn { margin-top: var(--e-1); }
.squelette:is(.v3, .v3 *) { display: block; height: calc(var(--fs-ui) * var(--lh-ui)); border-radius: var(--r-xs); background: linear-gradient(90deg, var(--creme-2) 25%, var(--creme) 50%, var(--creme-2) 75%); background-size: 200% 100%; animation: sk-shim var(--d-attente) ease-in-out infinite; }
.squelette.meta:is(.v3, .v3 *) { height: calc(var(--fs-meta) * var(--lh-meta)); }
.squelette.titre:is(.v3, .v3 *) { height: calc(var(--fs-bloc) * var(--lh-bloc)); }
.squelette.roi:is(.v3, .v3 *) { height: var(--fs-roi-m); }
.squelette.bouton:is(.v3, .v3 *) { height: var(--h-md); border-radius: var(--r-pilule); }
@keyframes sk-shim { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.barre-pub:is(.v3, .v3 *) { position: relative; z-index: var(--z-barre); display: flex; align-items: center; gap: var(--e-6); height: var(--h-barre); padding: 0 var(--e-10); background: var(--marine-profond); color: var(--sur-marine); }
.barre-pub:is(.v3, .v3 *) .marque { font-family: var(--font-titre); font-size: var(--fs-bloc); line-height: var(--lh-serre); color: var(--sur-marine); text-decoration: none; }
.barre-pub:is(.v3, .v3 *) .liens,
.barre-pub:is(.v3, .v3 *) .droite { display: flex; align-items: center; gap: var(--e-5); }
.barre-pub:is(.v3, .v3 *) .droite { margin-left: auto; }
.barre-pub:is(.v3, .v3 *) .liens a,
.barre-pub:is(.v3, .v3 *) .droite a:not(.btn) { display: inline-flex; align-items: center; min-height: var(--h-cible); color: var(--sur-marine-2); font-size: var(--fs-ui); white-space: nowrap; text-decoration: none; }
.barre-pub:is(.v3, .v3 *) .liens a:hover,
.barre-pub:is(.v3, .v3 *) .droite a:not(.btn):hover { color: var(--sur-marine); }
.barre-pub:is(.v3, .v3 *) .liens a[aria-current="page"] { color: var(--or); }
@media (max-width: 899.98px) {
  .barre-pub:is(.v3, .v3 *) { padding: 0 var(--e-6); }
  .barre-pub:is(.v3, .v3 *) .droite a:not(.btn) { display: none; }
}
@media (max-width: 639.98px) {
  .barre-pub:is(.v3, .v3 *) { padding: 0 var(--e-4); }
  .barre-pub:is(.v3, .v3 *) .liens,
.barre-pub:is(.v3, .v3 *) .droite a:not(.btn) { display: none; }
}
.pied-pub:is(.v3, .v3 *) { padding: var(--e-8) var(--e-10) var(--e-6); background: var(--marine); color: var(--sur-marine); }
.pied-colonnes:is(.v3, .v3 *) { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: var(--e-8); max-width: var(--l-page); margin: 0 auto; }
.pied-pub:is(.v3, .v3 *) .marque { font-family: var(--font-titre); font-size: var(--fs-bloc); color: var(--sur-marine); }
.pied-pub:is(.v3, .v3 *) .col p { margin: var(--e-2) 0 0; font-size: var(--fs-meta); line-height: var(--lh-lecture); color: var(--sur-marine-3); }
.pied-pub:is(.v3, .v3 *) .t { display: block; margin-bottom: var(--e-2); font-family: var(--font-donnee); font-size: var(--fs-etiquette); font-weight: 500; letter-spacing: var(--ls-capitales); text-transform: uppercase; color: var(--sur-marine-3); }
.pied-pub:is(.v3, .v3 *) .col a { display: block; padding: var(--e-1) 0; font-size: var(--fs-ui); color: var(--sur-marine-2); text-decoration: none; }
.pied-pub:is(.v3, .v3 *) .col a:hover { color: var(--sur-marine); text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: var(--e-1); }
.pied-bas:is(.v3, .v3 *) { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--e-2) var(--e-6); max-width: var(--l-page); margin: var(--e-6) auto 0; padding-top: var(--e-4); border-top: 1px solid var(--creme-a12); font-family: var(--font-donnee); font-size: var(--fs-meta); color: var(--sur-marine-3); }
@media (max-width: 899.98px) {
  .pied-colonnes:is(.v3, .v3 *) { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 639.98px) {
  .pied-pub:is(.v3, .v3 *) { padding: var(--e-6) var(--e-4); }
  .pied-colonnes:is(.v3, .v3 *) { grid-template-columns: 1fr; gap: var(--e-5); }
}
.barre-basse:is(.v3, .v3 *) { position: fixed; left: var(--e-3); right: var(--e-3); bottom: calc(var(--e-3) + env(safe-area-inset-bottom, 0)); z-index: var(--z-flottant); display: flex; align-items: stretch; padding: var(--e-1-5) var(--e-2) var(--e-2); background: var(--marine); border-radius: var(--r-pilule); }
.barre-basse:is(.v3, .v3 *) .entree { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: var(--e-0-5); min-height: var(--h-tactile); padding: var(--e-1-5) 0; border: 0; border-radius: var(--r-pilule); background: none; color: var(--sur-marine-3); font-family: var(--font-donnee); font-size: var(--fs-meta); line-height: var(--lh-serre); text-decoration: none; cursor: pointer; }
.barre-basse:is(.v3, .v3 *) .entree svg { width: calc(var(--e-5)); height: calc(var(--e-5)); stroke: currentColor; }
.barre-basse:is(.v3, .v3 *) .entree:not(.central):hover { color: var(--sur-marine-2); background: var(--creme-a07); }
.barre-basse:is(.v3, .v3 *) .entree[aria-current="page"] { color: var(--or); background: var(--creme-a12); }
.barre-basse:is(.v3, .v3 *) .entree.central { flex: 1.15; gap: var(--e-1); margin-top: calc(var(--e-6) * -1); background: none; }
.bouton-flottant:is(.v3, .v3 *) { display: inline-flex; align-items: center; justify-content: center; width: var(--h-flottant); height: var(--h-flottant); box-sizing: border-box; border: var(--filet-fort) solid var(--creme); border-radius: var(--r-rond); background: var(--or); color: var(--marine); box-shadow: var(--ombre-flottant); }
.bouton-flottant:is(.v3, .v3 *) svg { width: var(--e-5); height: var(--e-5); fill: currentColor; stroke: none; }
.rail:is(.v3, .v3 *) { display: flex; flex-direction: column; width: var(--l-rail); padding: var(--e-2) 0; box-sizing: border-box; background: var(--marine); color: var(--sur-marine-2); }
.rail:is(.v3, .v3 *) .marque { display: flex; align-items: center; justify-content: center; min-height: var(--h-lg); font-family: var(--font-titre); font-size: var(--fs-section); color: var(--sur-marine); text-decoration: none; }
.rail:is(.v3, .v3 *) .entree { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--e-1); min-height: var(--h-lg); margin: var(--e-0-5) var(--e-1-5); padding: var(--e-1-5) 0; border-radius: var(--r-md); color: var(--sur-marine-2); text-decoration: none; transition: background-color var(--d-court) var(--courbe), color var(--d-court) var(--courbe); }
.rail:is(.v3, .v3 *) .entree svg { width: calc(var(--e-4) + var(--e-0-5)); height: calc(var(--e-4) + var(--e-0-5)); stroke: currentColor; fill: none; }
.rail:is(.v3, .v3 *) .entree .lb { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font-donnee); font-size: var(--fs-etiquette); font-weight: 500; letter-spacing: var(--ls-capitales); text-transform: uppercase; }
.rail:is(.v3, .v3 *) .entree:hover { color: var(--sur-marine); background: var(--creme-a07); }
.rail:is(.v3, .v3 *) .entree[aria-current="page"] { color: var(--or); background: var(--creme-a12); }
.rail:is(.v3, .v3 *) .entree .compteur { position: absolute; top: var(--e-0-5); left: calc(50% + var(--e-1-5)); }
.rail:is(.v3, .v3 *) .entree:focus-visible { outline-offset: calc(var(--e-0-5) * -1); }
@media (prefers-reduced-motion: reduce) {
  *:is(.v3, .v3 *),
*:is(.v3, .v3 *)::before,
*:is(.v3, .v3 *)::after { animation: none !important; transition: none !important; }
  .carte.cliquable:hover:is(.v3, .v3 *) { transform: none; }
  .squelette:is(.v3, .v3 *) { background: var(--creme-2); }
}
