@charset "UTF-8";
@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/bricolage-variable.woff2") format("woff2");
  font-weight: 500 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Instrument Sans";
  src: url("fonts/instrument-sans-variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Instrument Sans";
  src: url("fonts/instrument-sans-italic-variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}
:root {
  color-scheme: light;
  --fond: #ffffff;             
  --fond-attenue: #f7f7f7;     
  --fond-encadre: #ffffff;     
  --fond-code: #f4f4f4;
  --texte: #111111;            
  --texte-attenue: #555555;    
  --texte-tres-attenue: #5e5e5e;
  --trait: #e0e0e0;            
  --trait-marque: #8a8a8a;     
  --filet-noir: #111111;
  --accent: #b52d15;           
  --donnee: #256abf;
  --accent-vif: #d93a1f;       
  --accent-clair: #8f2210;     
  --accent-texte: #ffffff;     
  --accent-fond: #fdefec;
  --attention: #8a5410;
  --attention-fond: #fdf6e9;
  --limite: #993027;
  --limite-fond: #fdeeec;
  --convention: #3c4a82;
  --convention-fond: #eef1fa;
  --source: #3d5f4b;
  --source-fond: #eef4f0;
  --note: #555555;
  --note-fond: #f7f7f7;
  --focus: #d93a1f;
  --police-titre: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --police-texte: "Instrument Sans", ui-sans-serif, system-ui, -apple-system,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --police-ui: var(--police-texte);
  --police-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", monospace;
  --largeur-lecture: 36rem;
  --largeur-bande: 78rem;
  --rayon: 2px;
  --debord: 0rem;
  --ombre-douce: 0 1px 0 rgba(17, 17, 17, .04);
  --courbes: none;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="clair"]) {
    color-scheme: dark;
    --fond: #121212;
    --fond-attenue: #1a1a1a;
    --fond-encadre: #1a1a1a;
    --fond-code: #202020;
    --texte: #f2f2f2;
    --texte-attenue: #b0b0b0;
    --texte-tres-attenue: #a6a6a6;
    --trait: #2b2b2b;
    --trait-marque: #707070;
    --filet-noir: #f2f2f2;
    --accent: #ff6a4d;
    --donnee: #6da7ec;
    --accent-vif: #ff6a4d;
    --accent-clair: #ff8b74;
    --accent-texte: #121212;
    --accent-fond: #2a1611;
    --attention: #e5b067;
    --attention-fond: #241c0f;
    --limite: #ee9184;
    --limite-fond: #251615;
    --convention: #a3b0ea;
    --convention-fond: #191b26;
    --source: #8fbfa0;
    --source-fond: #151e18;
    --note: #b0b0b0;
    --note-fond: #1e1e1e;
    --focus: #ff8b74;
    --ombre-douce: 0 1px 0 rgba(0, 0, 0, .5);
    --courbes: none;
  }
}
:root[data-theme="sombre"] {
  color-scheme: dark;
  --fond: #121212;
  --fond-attenue: #1a1a1a;
  --fond-encadre: #1a1a1a;
  --fond-code: #202020;
  --texte: #f2f2f2;
  --texte-attenue: #b0b0b0;
  --texte-tres-attenue: #a6a6a6;
  --trait: #2b2b2b;
  --trait-marque: #707070;   
  --filet-noir: #f2f2f2;
  --accent: #ff6a4d;
  --donnee: #6da7ec;
  --accent-vif: #ff6a4d;
  --accent-clair: #ff8b74;
  --accent-texte: #121212;
  --accent-fond: #2a1611;
  --attention: #e5b067;
  --attention-fond: #241c0f;
  --limite: #ee9184;
  --limite-fond: #251615;
  --convention: #a3b0ea;
  --convention-fond: #191b26;
  --source: #8fbfa0;
  --source-fond: #151e18;
  --note: #b0b0b0;
  --note-fond: #1e1e1e;
  --focus: #ff8b74;
  --ombre-douce: 0 1px 0 rgba(0, 0, 0, .5);
  --courbes: none;
}
.display,
.nombre-heros {
  font-family: var(--police-titre);
  font-weight: 700;
  letter-spacing: -.01em;      
  line-height: 1.02;
  text-wrap: balance;
}
.nombre-heros {
  display: block;
  font-size: clamp(3.25rem, 7vw, 5.25rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: .95;
  font-variant-numeric: lining-nums proportional-nums;
  color: var(--texte);
  margin: 0;
}
.petites-caps {
  font-family: var(--police-ui);
  font-size: .69rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  line-height: 1.35;
}
@media (prefers-reduced-motion: no-preference) {
  .entete-site,
  .corps > .tunnel,
  .corps > .fil,
  .corps > .entete-page,
  .corps > .bandeau,
  .corps > .prose {
    animation: arrivee .38s cubic-bezier(.22, .61, .36, 1) both;
  }
  .entete-site { animation-name: arrivee-fondu; }
  .corps > .tunnel,
  .corps > .fil { animation-delay: .055s; }
  .corps > .entete-page { animation-delay: .11s; }
  .corps > .bandeau { animation-delay: .165s; }
  .corps > .prose { animation-delay: .22s; }
}
@keyframes arrivee {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes arrivee-fondu {
  from { opacity: 0; }
  to { opacity: 1; }
}
table, .num, .val, .nav-compteur, .mesure-valeur, .herite-rang b,
.h-tab, .comparaison, .mesures {
  font-variant-numeric: tabular-nums;
}
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 5.5rem;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
body {
  margin: 0;
  background: var(--fond);
  color: var(--texte);
  font-family: var(--police-texte);
  font-size: clamp(1.03rem, 1rem + .16vw, 1.09rem);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
}
:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: 2px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--fond) 80%, transparent);
}
::selection { background: var(--accent); color: var(--accent-texte); }
.bande {
  width: 100%;
  max-width: var(--largeur-bande);
  margin: 0 auto;
  padding: 0 1.5rem;
}
.lien-evitement {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: var(--accent);
  color: var(--accent-texte);
  padding: .8rem 1.2rem;
  font-family: var(--police-ui);
  font-weight: 600;
  text-decoration: none;
}
.lien-evitement:focus {
  left: .5rem;
  top: .5rem;
}
.entete-site {
  position: sticky;
  top: 0;
  z-index: 40;
  background-color: color-mix(in srgb, var(--fond) 93%, transparent);
  backdrop-filter: saturate(1.5) blur(10px);
  border-bottom: 1px solid var(--trait);
}
@supports not (backdrop-filter: blur(1px)) {
  .entete-site { background: var(--fond); }
}
.entete-site > .bande {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.6rem;
}
.marque {
  display: flex;
  flex-direction: column;
  gap: .05rem;
  text-decoration: none;
  color: inherit;
  padding: .3rem 0;
}
.marque-titre {
  font-family: var(--police-titre);
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
  transition: color .18s;
}
.marque-soustitre {
  font-family: var(--police-ui);
  font-size: .72rem;
  color: var(--texte-tres-attenue);
  letter-spacing: .012em;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}
.marque:hover .marque-titre { color: var(--accent); }
.outils-entete { display: flex; align-items: center; gap: .5rem; }
.jeton-profil {
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.3;
  text-decoration: none;
  color: var(--texte);
  background: none;
  border: 1px solid var(--filet-noir);
  border-radius: var(--rayon);
  padding: .42rem .75rem;
  white-space: nowrap;
  cursor: pointer;
  transition: color .18s, border-color .18s, background .18s;
}
.jeton-profil:hover {
  color: var(--fond);
  border-color: var(--filet-noir);
  background: var(--texte);
}
.jeton-profil[data-profil="personnalise"] {
  color: var(--accent);
  border-color: var(--accent);
  background: var(--accent-fond);
}
.jeton-profil[data-profil="personnalise"]:hover {
  color: var(--accent-texte);
  background: var(--accent-vif);
  border-color: var(--accent-vif);
}
.jeton-court { display: none; }
.corps select,
.corps input[type="search"],
.corps input[type="text"],
.corps input[type="number"],
.reglage-profil select,
.reglage-profil input[type="search"],
.reglage-profil input[type="text"],
.reglage-profil input[type="number"] {
  font: inherit;
  font-size: .86rem;
  color: var(--texte);
  background: var(--fond-encadre);
  border: 1px solid var(--trait-marque);
  border-radius: var(--rayon);
  padding: .4rem .55rem;
}
.corps select:focus-visible,
.corps input[type="search"]:focus-visible,
.corps input[type="text"]:focus-visible,
.corps input[type="number"]:focus-visible,
.reglage-profil select:focus-visible,
.reglage-profil input[type="search"]:focus-visible,
.reglage-profil input[type="text"]:focus-visible,
.reglage-profil input[type="number"]:focus-visible {
  outline: none;
  border: 2px solid var(--accent);
  padding: calc(.4rem - 1px) calc(.55rem - 1px);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}
.reglage-profil {
  border-bottom: 1px solid var(--trait);
  background: var(--fond-attenue);
  font-family: var(--police-ui);
  font-size: .84rem;
}
.reglage-profil > .bande { padding-block: .9rem 1rem; }
.reglage-profil[hidden] { display: none; }
.effacer-donnees { margin: 2.4rem 0 0; }
.bouton-effacer {
  font-family: var(--police-ui);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--limite);
  background: transparent;
  border: 1px solid currentColor;
  border-radius: var(--rayon);
  padding: .5rem .95rem;
  cursor: pointer;
  transition: background .15s;
}
.bouton-effacer:hover { background: var(--limite-fond); }
.bouton-theme,
.bouton-menu {
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--texte-attenue);
  background: transparent;
  border: 1px solid var(--trait-marque);
  border-radius: var(--rayon);
  padding: .45rem .7rem;
  cursor: pointer;
  white-space: nowrap;
  transition: color .18s, border-color .18s, background .18s;
}
.bouton-theme:hover,
.bouton-menu:hover {
  color: var(--fond);
  border-color: var(--filet-noir);
  background: var(--texte);
}
.bouton-menu { display: none; align-items: center; gap: .45rem; }
.bouton-menu-barres,
.bouton-menu-barres::before,
.bouton-menu-barres::after {
  display: block;
  width: 15px;
  height: 1.5px;
  background: currentColor;
  content: "";
}
.bouton-menu-barres { position: relative; }
.bouton-menu-barres::before { position: absolute; top: -5px; }
.bouton-menu-barres::after { position: absolute; top: 5px; }
.navigation {
  border-top: 1px solid var(--trait);
  background: none;
}
.navigation-apres {
  border-top: none;
  border-bottom: 1px solid var(--trait);
  background: var(--fond);
}
.nav-liste,
.nav-sous-liste {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-liste {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .1rem;
  max-width: var(--largeur-bande);
  margin: 0 auto;
  padding: 0 1.1rem;
  font-family: var(--police-ui);
  font-size: .82rem;
  letter-spacing: .005em;
}
.nav-liste > li { position: relative; }
.nav-liste a {
  display: block;
  padding: .55rem .62rem;
  color: var(--texte-attenue);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .18s, border-color .18s;
}
.nav-liste a {
  font-family: var(--police-ui);
  font-size: .84rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-bottom-width: 3px;
}
.nav-liste a:hover { color: var(--texte); border-bottom-color: var(--trait); }
.nav-liste .nav-actif > a,
.nav-liste a[aria-current="page"] {
  color: var(--texte);
  font-weight: 700;
  border-bottom-color: var(--filet-noir);
}
.nav-compteur {
  font-variant-numeric: tabular-nums;
  color: var(--texte-tres-attenue);
}
.nav-compteur::before { content: " ("; }
.nav-compteur::after { content: ")"; }
.nav-liste .nav-actif > a .nav-compteur { color: inherit; }
.accroche {
  background-color: var(--fond-attenue);
  border-bottom: 1px solid var(--trait);
  padding: 1.4rem 0 1.6rem;
}
[data-page="accueil"] .accroche {
  background-color: var(--fond);
  border-bottom: 2px solid var(--filet-noir);
  padding: 1.6rem 0 1.8rem;
}
[data-page="carte"] .accroche {
  background-color: var(--fond);
  border-bottom: 2px solid var(--filet-noir);
}
[data-page="accueil"] .accroche { background-image: var(--courbes); }
.accroche .bande { max-width: 118rem; }
[data-page="accueil"] .accroche .bande { max-width: var(--largeur-bande); }
.accroche-bande { padding-inline: 1.5rem; }
.accroche-bande > p {
  font-family: var(--police-ui);
  font-size: .92rem;
  line-height: 1.5;
  color: var(--texte-attenue);
  margin: 0 0 .85rem;
  max-width: 58rem;
}
.accroche-bande > p strong { color: var(--texte); }
.accroche .carte-integree { margin: 0; }
.accroche .carte-legende { max-width: 58rem; padding-top: .6rem; }
.apercu-carte {
  margin: 0;
  display: grid;
  gap: .55rem;
  width: 100%;
  max-width: 30rem;
  justify-self: center;
}
.apercu-scene { position: relative; }
.apercu-svg {
  display: block;
  width: 30rem;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.apercu-carte .apercu-svg path {
  stroke: var(--fond);
  stroke-width: .8;
  stroke-linejoin: round;
}
.apercu-annee {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  display: grid;
  font-family: var(--police-titre);
  font-weight: 800;
  font-size: clamp(2.2rem, 10vw, 3.2rem);
  line-height: 1;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  color: var(--texte);
}
.apercu-annee .ap-an { grid-area: 1 / 1; }
.apercu-scene[role="button"] {
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  border-radius: var(--rayon);
}
.apercu-scene[role="button"]:focus-visible { outline-offset: 4px; }
.apercu-temoin {
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  height: 44px;
  border: 1px solid var(--trait);
  border-radius: 50%;
  background: var(--fond);
  pointer-events: none;
}
.apercu-temoin::before,
.apercu-temoin::after {
  content: "";
  position: absolute;
  top: 14px;
  width: 4px;
  height: 16px;
  background: var(--texte);
}
.apercu-temoin::before { left: 15px; }
.apercu-temoin::after { left: 25px; }
.ap-pause .apercu-temoin::after { display: none; }
.ap-pause .apercu-temoin::before {
  left: 17px;
  top: 13px;
  width: 0;
  height: 0;
  background: none;
  border-style: solid;
  border-width: 9px 0 9px 14px;
  border-color: transparent transparent transparent var(--texte);
}
.apercu-scene[role="button"]:hover .apercu-temoin { border-color: var(--filet-noir); }
.apercu-echelle {
  margin: 0;
  font-family: var(--police-ui);
  font-size: .8rem;
  line-height: 1.35;
  color: var(--texte-attenue);
}
.apercu-echelle-barre {
  display: block;
  height: 10px;
  width: 100%;
  border: 1px solid var(--trait);
}
.apercu-echelle-bouts { display: flex; justify-content: space-between; margin-top: 2px; }
.apercu-echelle-note { display: block; color: var(--texte-tres-attenue); }
.apercu-legende {
  font-family: var(--police-ui);
  font-size: .8rem;
  line-height: 1.5;
  color: var(--texte-tres-attenue);
}
.apercu-legende p { margin: 0; }
.accroche-tete { margin: 0 0 .9rem; }
.accroche-tete h1 {
  font-family: var(--police-titre);
  font-weight: 800;
  font-size: clamp(2.1rem, 3.6vw, 3.1rem);
  letter-spacing: -.028em;
  line-height: 1.02;
  margin: 0 0 .8rem;
  text-wrap: balance;
}
.accroche-tete .chapeau {
  font-family: var(--police-ui);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--texte-attenue);
  max-width: 42ch;
  margin: 0;
  text-wrap: pretty;
}
.heros-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin: 1.2rem 0 0;
}
.bouton-heros {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--police-ui);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: .95rem 1.5rem;
  border-radius: var(--rayon);
  border: 1px solid var(--filet-noir);
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.bouton-heros-primaire {
  background: var(--accent-vif);
  color: var(--accent-texte);
  border-color: var(--accent-vif);
}
.bouton-heros-primaire:hover,
.bouton-heros-primaire:focus-visible {
  background: var(--accent-clair);
  border-color: var(--accent-clair);
  color: var(--accent-texte);
  text-decoration: none;
}
.bouton-heros-secondaire {
  background: transparent;
  color: var(--texte);
  border-color: var(--filet-noir);
}
.bouton-heros-secondaire:hover,
.bouton-heros-secondaire:focus-visible {
  background: var(--texte);
  color: var(--fond);
  border-color: var(--filet-noir);
  text-decoration: none;
}
.accroche-tete .meta-page { margin-top: 1.2rem; }
.accroche-flux { display: block; }
.accroche-flux > .accroche-tete { margin-bottom: 1rem; }
.accroche-flux .chapeau { max-width: 58rem; }
.accroche-flux > .tunnel { margin: 0 0 1.1rem; }
@media (max-width: 63.99rem) {
  .accroche-scene { display: flex; flex-direction: column; }
  .accroche-scene > .accroche-tete { order: 1; }
  .accroche-scene > .carte-integree,
  .accroche-scene > .apercu-carte { order: 2; }
  .accroche-scene > .reperes { order: 3; }
}
.accroche-scene { min-height: 100vh; min-height: 100svh; }
@media (min-width: 64rem) {
  .accroche-scene { align-content: start; padding-top: 1.5rem; }
}
@media (max-width: 63.99rem) {
  .accroche-scene > .accroche-tete { display: contents; }
  .accroche-scene > .accroche-tete > h1 { order: 1; }
  .accroche-scene > .accroche-tete > .chapeau { order: 2; margin-bottom: .9rem; }
  .accroche-scene > .apercu-carte { order: 3; }
  .accroche-scene > .accroche-tete > .heros-actions { order: 4; margin-top: .9rem; }
  .accroche-scene .accroche-tete h1 { font-size: clamp(1.7rem, 7.4vw, 2.6rem); margin-bottom: .45rem; }
}
[data-page="accueil"] .accroche-tete .chapeau { font-size: .92rem; }
@media (min-width: 64rem) {
  .accroche-scene {
    display: grid;
    grid-template-columns: minmax(0, 29rem) minmax(0, 1fr);
    column-gap: 3rem;
    align-items: center;
  }
  .accroche-scene > .accroche-tete { grid-column: 1; grid-row: 1; margin-bottom: 0; }
  .accroche-scene > .carte-integree,
  .accroche-scene > .apercu-carte { grid-column: 2; grid-row: 1; }
  .accroche-scene > .apercu-carte { max-width: 34rem; justify-self: center; }
  .accroche-scene > .reperes { grid-column: 1 / -1; grid-row: 2; }
}
.tunnel {
  margin: 0 0 2.2rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid var(--trait);
}
.etapes {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem 0;
  margin: 0;
  padding: 0;
  counter-reset: etape;
  font-family: var(--police-ui);
  font-size: .78rem;
  letter-spacing: .005em;
}
.etapes li {
  display: flex;
  align-items: baseline;
  gap: .38rem;
  margin: 0;
  padding: 0;
  color: var(--texte-tres-attenue);
  white-space: nowrap;
}
.etapes li::before {
  counter-increment: etape;
  content: counter(etape) / "";
  font-family: var(--police-titre);
  font-size: 1.12rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--trait-marque);
}
.etapes li:not(:last-child) { flex: 1 1 auto; }
.etapes li:not(:last-child)::after {
  content: "";
  flex: 1 1 1.2rem;
  min-width: .9rem;
  height: 1px;
  background: var(--trait);
  margin: 0 .55rem 0 .3rem;
  align-self: center;
}
.etapes li.faite { color: var(--texte-attenue); }
.etapes li.faite::before { color: var(--texte-attenue); }
.etapes li.courante {
  color: var(--accent);
  font-weight: 600;
}
.etapes li.courante::before {
  color: var(--accent-vif);
  font-weight: 500;
  font-size: 1.45rem;
}
.etapes a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .18s, border-color .18s;
}
.etapes a:hover { color: var(--accent); border-bottom-color: var(--accent); }
.etape-faite { color: var(--source); font-weight: 700; font-size: .82em; }
@media (max-width: 40rem) {
  .etapes { gap: .15rem 1rem; }
  .etapes li:not(:last-child) { flex: 0 0 auto; }
  .etapes li:not(:last-child)::after { display: none; }
}
.extrait-fiche {
  margin: 1.2rem 0 0;
  border: 1px solid var(--filet-noir);
  background: var(--fond-encadre);
  padding: 1.1rem 1.2rem 1rem;
}
.extrait-etiq {
  margin: 0;
  font-family: var(--police-ui);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
}
.extrait-nom {
  margin: .2rem 0 0;
  font-family: var(--police-titre);
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--texte);
}
.extrait-blocs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
  margin-top: 1rem;
  padding-top: .9rem;
  border-top: 1px solid var(--trait);
}
@media (min-width: 52rem) {
  .extrait-blocs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
}
.extrait-bloc-titre {
  margin: 0 0 .5rem;
  font-family: var(--police-ui);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--texte);
}
.extrait-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .55rem;
}
.extrait-liste li {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--texte);
  padding-left: .8rem;
  border-left: 2px solid var(--trait);
}
.extrait-liste li b { font-weight: 600; }
.extrait-coince .extrait-liste li { border-left-color: var(--filet-noir); }
.extrait-liste li.bref-seuil b { color: var(--accent); }
.extrait-porte { margin: 1rem 0 0; }
.entonnoir { margin: 1.5rem 0 0; }
.entonnoir-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
.etape {
  position: relative;
  background: none;
  border: none;
  border-top: 1px solid var(--texte);
  border-radius: 0;
  padding: .9rem 0 1rem;
  font-family: var(--police-ui);
  font-size: .84rem;
  line-height: 1.55;
  color: var(--texte-attenue);
}
.etape-rang {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-weight: 600;
  color: var(--texte-tres-attenue);
  margin: 0 0 .3rem;
}
.etape-titre {
  font-family: var(--police-titre);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.12;
  margin: 0 0 .5rem;
}
.etape-titre a { color: var(--texte); text-decoration: none; }
.etape-titre a:hover { color: var(--accent); text-decoration: underline; }
.etape-corps p { margin: 0; }
.etape-corps p + p { margin-top: .5rem; }
.etape-courante {
  border-top-color: var(--accent-vif);
  border-top-width: 2px;
}
.etape-courante .etape-rang { color: var(--accent); }
.etape-marque {
  display: inline-block;
  margin: .7rem 0 0;
  padding: .1rem 0;
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--accent);
  border: none;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
}
[data-page="accueil"] .entonnoir-liste { counter-reset: etape-fantome; }
[data-page="accueil"] .etape {
  background: none;
  border: none;
  border-top: 2px solid var(--filet-noir);
  border-radius: 0;
  padding: 4.2rem 0 1.2rem;
  box-shadow: none;
}
[data-page="accueil"] .etape::after {
  counter-increment: etape-fantome;
  content: counter(etape-fantome, decimal-leading-zero) / "";
  position: absolute;
  left: -.06em;
  top: .35rem;
  font-family: var(--police-titre);
  font-size: 3.6rem;
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1;
  color: var(--texte);
  opacity: .1;
  pointer-events: none;
}
[data-page="accueil"] .etape + .etape::before { content: none; }
[data-page="accueil"] .etape-titre {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
@media (min-width: 861px) {
  .entonnoir-liste { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
  .etape + .etape::before {
    content: "→";
    position: absolute;
    left: -1.05rem;
    top: .95rem;
    width: 1.4rem;
    text-align: center;
    color: var(--trait-marque);
    font-size: 1rem;
  }
}
.graphique {
  margin: 2rem calc(var(--debord) * -1);
  padding: 0;
}
.graphique-cadre {
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.graphique svg {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 700px) {
  .graphique svg { min-width: 620px; }
}
.graphique-legende {
  font-family: var(--police-ui);
  font-size: .8rem;
  line-height: 1.55;
  color: var(--texte-attenue);
  border-left: 2px solid var(--trait-marque);
  padding: .1rem 0 .1rem .9rem;
  margin-top: .6rem;
}
.graphique-legende p { margin: 0 0 .4rem; }
.graphique-legende p:last-child { margin-bottom: 0; }
.bref {
  margin: 1.6rem 0 2.8rem;
  padding: .3rem 0 .3rem 1.3rem;
  background: none;
  border: none;
  border-left: 2px solid var(--accent-vif);
  border-radius: 0;
  box-shadow: none;
}
.bref ul { margin: 0; padding-left: 1.15rem; }
.bref li { margin: 0 0 .7rem; line-height: 1.6; }
.bref li:last-child { margin-bottom: 0; }
.bref li::marker { color: var(--accent); }
.page {
  max-width: var(--largeur-bande);
  margin: 0 auto;
  padding: 2.6rem 1.5rem 4rem;
}
.corps { min-width: 0; }
.corps > * { max-width: var(--largeur-lecture); margin-inline: auto; }
.corps > .table-defilante,
.corps > .cadre-comparaison,
.corps > .comparaison,
.corps > .liste-cartes,
.corps > .mesures,
.corps > .reperes { max-width: none; }
.page-large .corps > * { max-width: none; }
@media (min-width: 1180px) {
  .page-normale .corps {
    display: grid;
    grid-template-columns: 15rem minmax(0, var(--largeur-lecture)) 1fr;
    column-gap: 3rem;
    row-gap: 0;
  }
  .page-normale .corps > * { grid-column: 2; max-width: none; margin-inline: 0; }
  .page-normale .entete-page,
  .page-normale .tunnel { grid-column: 2 / 4; }
  .page-normale .corps > .prose,
  .page-normale .corps > .reperes { grid-column: 2 / 4; }
  .prose > * { max-width: var(--largeur-lecture); }
  .prose > .table-defilante,
  .prose > .graphique,
  .prose > .carte-integree,
  .prose > .liste-cartes,
  .prose > .reperes,
  .prose > .extrait-fiche,
  .prose > .entonnoir,
  .prose > .mesures,
  .prose > .cadre-comparaison,
  .prose > .comparaison,
  .prose > [data-liste-retenus],
  .prose > [data-liste-comparaison],
  .prose > [data-liste-propositions] { max-width: none; }
  .prose > .liste-comparer { max-width: none; }
  .liste-comparer > :not([data-liste-comparaison]) { max-width: var(--largeur-lecture); }
  [data-page="accueil"] .prose > * { max-width: none; }
  .prose { --debord: 0rem; }
  .page-normale .sommaire {
    grid-column: 1;
    grid-row: 1 / span 100;
    align-self: start;
    position: sticky;
    top: 6.5rem;
    max-height: calc(100vh - 9rem);
    overflow-y: auto;
  }
  :root { --debord: 3rem; }
  @supports selector(:has(*)) {
    .page-normale .corps:not(:has(> .sommaire)) {
      grid-template-columns: minmax(0, var(--largeur-lecture)) 1fr;
    }
    .page-normale .corps:not(:has(> .sommaire)) > * { grid-column: 1; }
    .page-normale .corps:not(:has(> .sommaire)) > .entete-page,
    .page-normale .corps:not(:has(> .sommaire)) > .prose,
    .page-normale .corps:not(:has(> .sommaire)) > .reperes,
    .page-normale .corps:not(:has(> .sommaire)) > .tunnel { grid-column: 1 / 3; }
    .page-normale .corps:not(:has(> .sommaire)) { --debord: 1.5rem; }
  }
}
@media (min-width: 90rem) {
  :root { --largeur-bande: 88rem; }
}
.fil { font-family: var(--police-ui); font-size: .78rem; margin-bottom: 1.6rem; }
.fil ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  margin: 0;
  padding: 0;
}
.fil li + li::before {
  content: "›";
  margin-right: .3rem;
  color: var(--trait-marque);
}
.fil a { color: var(--texte-tres-attenue); text-decoration: none; }
.fil a:hover { color: var(--accent); text-decoration: underline; }
.fil [aria-current="page"] { color: var(--texte-attenue); }
.entete-page { margin-bottom: 2.8rem; }
h1 {
  font-family: var(--police-titre);
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -.032em;
  font-weight: 400;
  margin: 0 0 1.1rem;
  text-wrap: balance;
}
.chapeau {
  font-size: 1.08em;
  line-height: 1.55;
  color: var(--texte-attenue);
  margin: 0;
  max-width: 34rem;
  text-wrap: pretty;
}
.meta-page {
  font-family: var(--police-ui);
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--texte-tres-attenue);
  margin: 1.4rem 0 0;
  padding-top: .7rem;
  border-top: 1px solid var(--trait);
}
.reperes {
  margin: 1.8rem 0 0;
  padding: 1.2rem 0 0;
  border-top: 2px solid var(--filet-noir);
}
.accroche-tete .reperes { margin-top: 2rem; }
.reperes-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.6rem 2.4rem;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}
.repere { margin: 0; }
.repere .nombre-heros {
  color: var(--texte);
  font-size: clamp(2.5rem, 4.4vw, 3.9rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: .95;
  margin: 0;
}
.repere-quoi {
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--texte);
  margin: .5rem 0 .25rem;
}
.repere-ligne {
  font-family: var(--police-ui);
  font-size: .85rem;
  line-height: 1.5;
  color: var(--texte-attenue);
  margin: 0;
  max-width: 26rem;
  text-wrap: pretty;
}
.bandeau {
  font-family: var(--police-ui);
  font-size: .85rem;
  line-height: 1.55;
  padding: .85rem 1.1rem;
  border-radius: var(--rayon);
  border: 1px solid var(--trait);
  border-left: 4px solid var(--trait-marque);
  background: var(--fond-attenue);
  margin: 0 0 2rem;
}
.bandeau-brouillon { border-left-color: var(--attention); background: var(--attention-fond); }
.bandeau-absente { border-left-color: var(--note); background: var(--note-fond); }
.sommaire {
  font-family: var(--police-ui);
  font-size: .81rem;
  line-height: 1.45;
  border-top: 2px solid var(--texte);
  padding-top: .8rem;
  margin-bottom: 2.4rem;
}
.sommaire-titre {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-weight: 600;
  color: var(--texte-tres-attenue);
  margin: 0 0 .7rem;
}
.sommaire ul { list-style: none; margin: 0; padding: 0; }
.sommaire li { margin: 0; }
.sommaire a {
  display: block;
  padding: .3rem 0 .3rem .7rem;
  border-left: 2px solid var(--trait);
  color: var(--texte-attenue);
  text-decoration: none;
  transition: color .15s, border-color .15s;
}
.sommaire a:hover { color: var(--accent); border-left-color: var(--accent); }
.sommaire a.sommaire-courant {
  color: var(--texte);
  font-weight: 600;
  border-left-color: var(--accent);
}
.prose { text-wrap: pretty; counter-reset: section; }
.prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {
  font-family: var(--police-titre);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.06;
  text-wrap: balance;
  position: relative;
  scroll-margin-top: 8rem; 
}
.prose h2 {
  font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.6rem);
  margin: 3.6rem 0 1.1rem;
  padding-top: 1.2rem;
  border-top: 2px solid var(--filet-noir);
}
.prose h3 {
  font-size: 1.32rem;
  font-weight: 600;
  margin: 2.5rem 0 .7rem;
}
.prose h4 {
  font-size: .98rem;
  margin: 1.9rem 0 .5rem;
  color: var(--texte);
  font-family: var(--police-ui);
  font-weight: 700;
  letter-spacing: -.005em;
}
.prose h5, .prose h6 {
  font-size: .72rem;
  font-family: var(--police-ui);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--texte-tres-attenue);
  margin: 1.6rem 0 .4rem;
}
.prose > h2:first-child, .prose > h3:first-child { margin-top: 0; }
@media (min-width: 1180px) {
  .page-normale .prose h2 {
    margin-left: -2.6rem;
    padding-left: 2.6rem;
  }
  @supports selector(:has(*)) {
    .page-normale .corps:not(:has(> .sommaire)) .prose h2 {
      margin-left: 0;
      padding-left: 0;
    }
    .page-normale .corps:not(:has(> .sommaire)) .prose h2::before { display: none; }
  }
  .page-normale .prose h2::before {
    counter-increment: section;
    content: counter(section) / "";
    position: absolute;
    left: 0;
    top: 1.1rem;
    width: 2.6rem;
    font-family: var(--police-titre);
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.05em;
    color: var(--texte);
    opacity: .09;
    pointer-events: none;
  }
}
.lien-ancre {
  position: absolute;
  margin-left: .3em;
  color: var(--trait-marque);
  text-decoration: none;
  font-family: var(--police-ui);
  font-weight: 400;
  opacity: 0;
  transition: opacity .15s;
}
h2:hover .lien-ancre, h3:hover .lien-ancre,
h4:hover .lien-ancre, .lien-ancre:focus { opacity: 1; }
@media (max-width: 47.99rem) {
  .lien-ancre { display: none; }
}
.lien-ancre:hover { color: var(--accent); }
.prose p { margin: 0 0 1.15rem; }
.prose a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  text-decoration-color: color-mix(in srgb, var(--accent) 38%, transparent);
  transition: text-decoration-color .18s, text-decoration-thickness .18s, color .18s;
}
.prose a:hover {
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  color: var(--accent-clair);
}
.prose a[target="_blank"]::after {
  content: " ↗";
  font-size: .78em;
  color: var(--texte-tres-attenue);
  text-decoration: none;
}
.prose strong { font-weight: 700; color: var(--texte); }
.prose em { font-style: italic; }
.prose ul, .prose ol { margin: 0 0 1.25rem; padding-left: 1.35rem; }
.prose li { margin-bottom: .42rem; }
.prose li::marker { color: var(--trait-marque); }
.prose ol li::marker { color: var(--texte-tres-attenue); font-family: var(--police-ui); font-size: .9em; }
.prose hr {
  border: none;
  border-top: 1px solid var(--trait);
  margin: 2.6rem 0;
}
.prose blockquote {
  margin: 1.6rem 0;
  padding: .2rem 0 .2rem 1.25rem;
  border-left: 3px solid var(--accent);
  color: var(--texte-attenue);
}
.prose blockquote > :last-child { margin-bottom: 0; }
.prose blockquote h2, .prose blockquote h3 {
  border-top: none;
  padding-top: 0;
  margin-top: .3rem;
  font-size: 1.16rem;
  color: var(--texte);
}
.prose code {
  font-family: var(--police-mono);
  font-size: .87em;
  background: var(--fond-code);
  padding: .12em .38em;
  border-radius: 2px;
  word-break: break-word;
}
.prose pre {
  background: var(--fond-code);
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  padding: .95rem 1.1rem;
  overflow-x: auto;
  font-size: .84rem;
  line-height: 1.6;
  margin: 0 0 1.4rem;
}
.prose pre code { background: none; padding: 0; font-size: inherit; }
.ancre-cible { display: block; height: 0; scroll-margin-top: 8rem;  }
.table-defilante {
  overflow-x: auto;
  margin: 2rem 0 2.2rem;
  border: none;
  border-radius: 0;
  background: none;
}
.prose table {
  border-collapse: collapse;
  width: 100%;
  font-family: var(--police-ui);
  font-size: .84rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.prose thead th {
  background: var(--fond);
  text-align: left;
  font-weight: 600;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--texte-attenue);
  padding: .55rem .8rem .5rem;
  border-bottom: 2px solid var(--filet-noir);
  color: var(--texte);
  font-weight: 700;
  white-space: nowrap;
  position: sticky;
  top: 0;
}
.prose tbody td {
  padding: .62rem .8rem;
  border-bottom: 1px solid var(--trait);
  vertical-align: top;
}
.prose tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--texte) 2%, transparent);
}
.prose tbody tr:last-child td { border-bottom: 2px solid var(--filet-noir); }
.prose tbody tr:hover td { background: color-mix(in srgb, var(--texte) 5%, transparent); }
.prose td.num, .prose th.num { text-align: right; font-variant-numeric: tabular-nums; }
.encadre {
  margin: 2.1rem 0;
  padding: .9rem 0 .2rem 1.2rem;
  border: none;
  border-left: 2px solid var(--note);
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.encadre-libelle {
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--note);
  margin: 0 0 .55rem;
  display: flex;
  align-items: center;
  gap: .45rem;
}
.encadre-libelle::before {
  content: "";
  width: .5rem;
  height: .5rem;
  flex: none;
  background: currentColor;
  border-radius: 50%;
}
.encadre-corps > :last-child { margin-bottom: 1rem; }
.encadre-corps p { margin-bottom: .85rem; }
.encadre-attention {
  border-left-color: var(--accent-vif);
  background: var(--fond-encadre);
}
.encadre-attention .encadre-libelle { color: var(--accent); }
.encadre-attention .encadre-libelle::before {
  border-radius: 0;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.encadre-limite {
  border-left-color: var(--texte);
  background: var(--fond-encadre);
}
.encadre-limite .encadre-libelle { color: var(--texte-attenue); }
.encadre-limite .encadre-libelle::before { border-radius: 0; }
.encadre-convention {
  border-left-color: var(--texte);
  background: var(--fond-encadre);
}
.encadre-convention .encadre-libelle { color: var(--texte-attenue); }
.encadre-convention .encadre-libelle::before { border-radius: 0; transform: rotate(45deg); }
.encadre-source {
  border: none;
  border-left: 2px solid var(--source);
  border-radius: 0;
  background: none;
  box-shadow: none;
  padding: .1rem 0 .1rem .9rem;
  margin: 1.1rem 0 1.6rem;
  font-family: var(--police-ui);
  font-size: .8rem;
  line-height: 1.55;
  color: var(--texte-attenue);
}
.encadre-source .encadre-corps > :last-child { margin-bottom: 0; }
.encadre-source .encadre-corps p { margin-bottom: .4rem; }
.encadre-source .encadre-libelle { margin-bottom: .25rem; }
.encadre-source .encadre-libelle { color: var(--source); }
.encadre-source .encadre-libelle::before {
  border-radius: 0;
  background: none;
  border: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.encadre-note { border-left-color: var(--note); }
.bloc-mesure,
.bloc-herite {
  border-radius: var(--rayon);
  padding: .95rem 1.1rem;
}
.bloc-mesure {
  background: var(--fond-encadre);
  border: 1px solid var(--trait);
}
.bloc-herite {
  background: var(--fond-attenue);
  border: none;
  border-left: 2px solid var(--trait-marque);
  border-radius: 0;
}
.etq {
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin: 0 0 .45rem;
}
.etq-mesure { color: var(--source); }
.etq-herite { color: var(--texte-tres-attenue); }
.jeton-mesure,
.jeton-herite {
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: .05rem .4rem;
  border-radius: 999px;
  border: 1px solid currentColor;
  text-decoration: none;
}
.jeton-mesure { color: var(--source); }
.jeton-herite { color: var(--texte-tres-attenue); }
.rang-ligne-jauge { margin: 0; line-height: 1.6; }
.rang-reserve {
  font-family: var(--police-ui);
  font-size: .82rem;
  line-height: 1.45;
  color: var(--texte-attenue);
  margin: .3rem 0 0;
}
.jauge-rang {
  display: inline-block;
  vertical-align: middle;
  margin: 0 .35rem;
  overflow: visible;
}
.jauge-axe { stroke: var(--trait-marque); stroke-width: 1; }
.jauge-barre { stroke: var(--donnee); stroke-width: 5; opacity: .35; }
.jauge-embout { stroke: var(--donnee); stroke-width: 1.2; }
.jauge-point { fill: var(--donnee); }
.jauge-borne,
.jauge-rang-texte {
  font-family: var(--police-ui);
  font-variant-numeric: tabular-nums;
}
.jauge-borne { font-size: 7.5px; fill: var(--texte-attenue); }
.jauge-rang-texte { font-size: 9.5px; font-weight: 600; fill: var(--donnee); }
.vide {
  font-family: var(--police-ui);
  font-size: .82em;
  font-style: italic;
  color: var(--texte-tres-attenue);
  border-bottom: 1px dotted var(--trait-marque);
  cursor: help;
}
.vide-non-mesure { border-bottom-style: dashed; }
.vide-sans-objet { border-bottom-style: dotted; }
.vide-hors-couche { border-bottom-style: solid; }
.hors-ecran {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.carte-integree {
  margin: 2.2rem calc(var(--debord) * -1);
}
.carte-cadre {
  position: relative;
  height: var(--hauteur-carte, 720px);
  max-height: 82vh;
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  overflow: hidden;
  background: var(--fond-attenue);
}
.carte-cadre iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: var(--fond);
}
.carte-activer {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: var(--fond-attenue);
  border: none;
  cursor: pointer;
  font-family: var(--police-ui);
  color: var(--texte-attenue);
  transition: background .15s, color .15s;
}
.carte-activer:hover { background: var(--accent-fond); color: var(--accent); }
.carte-activer-titre {
  font-size: 1rem;
  font-weight: 600;
  border: 1px solid currentColor;
  border-radius: var(--rayon);
  padding: .6rem 1.2rem;
}
.carte-activer-detail { font-size: .78rem; color: var(--texte-tres-attenue); }
.carte-legende {
  font-family: var(--police-ui);
  font-size: .82rem;
  line-height: 1.5;
  color: var(--texte-attenue);
  padding: .8rem .2rem 0;
}
.carte-legende p { margin: 0 0 .4rem; }
.carte-liens a { color: var(--accent); }
.sous-pages { margin: 3rem 0 0; padding-top: 1.4rem; border-top: 1px solid var(--trait); }
.sous-pages ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .7rem;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
}
.sous-pages a {
  display: block;
  height: 100%;
  padding: .95rem 1.05rem;
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  background: var(--fond-encadre);
  text-decoration: none;
  color: inherit;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.sous-pages a:hover {
  border-color: var(--trait-marque);
  box-shadow: var(--ombre-douce);
  transform: translateY(-2px);
}
.sous-page-titre {
  display: block;
  font-family: var(--police-titre);
  font-weight: 500;
  font-size: 1.12rem;
  letter-spacing: -.018em;
  line-height: 1.2;
  margin-bottom: .34rem;
  color: var(--accent);
}
.sous-page-resume {
  display: block;
  font-family: var(--police-ui);
  font-size: .79rem;
  line-height: 1.45;
  color: var(--texte-attenue);
}
.pied-site {
  border-top: 1px solid var(--trait-marque);
  background-color: var(--fond-attenue);
  font-family: var(--police-ui);
  font-size: .82rem;
  line-height: 1.6;
  color: var(--texte-attenue);
  padding: 3rem 0 3.4rem;
  margin-top: 5rem;
}
.pied-site > .bande {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.pied-site p { margin: 0 0 .5rem; }
.pied-titre {
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--texte);
  margin-bottom: .8rem;
}
.pied-note { font-size: .76rem; color: var(--texte-tres-attenue); }
.pied-liens { list-style: none; margin: 0; padding: 0; }
.pied-liens li { margin-bottom: .3rem; }
.pied-site a { color: var(--accent); text-decoration: none; }
.pied-site a:hover { text-decoration: underline; }
.pied-licence-absente {
  border-left: 3px solid var(--attention);
  padding-left: .7rem;
  color: var(--texte-attenue);
}
@media (max-width: 47.99rem) {
  .bouton-menu { display: inline-flex; }
  .marque-soustitre { display: none; }
  .navigation { display: none; }
  .navigation.navigation-ouverte { display: block; }
  .nav-liste { flex-direction: column; align-items: stretch; padding: .4rem .9rem .8rem; }
  .nav-liste a { padding: .55rem .3rem; border-bottom: 1px solid var(--trait); }
  .nav-liste .nav-actif > a { border-bottom-color: var(--accent); }
  .jeton-long { display: none; }
  .jeton-court { display: inline; }
  .entete-site > .bande { flex-wrap: wrap; gap: .4rem .5rem; padding-inline: 1rem; }
  .outils-entete { flex-wrap: wrap; }
  .marque { min-width: 0; }
  .marque-titre { font-size: .98rem; }
  .navigation-apres { display: block; }
  .navigation-apres .nav-liste {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: .3rem .9rem .45rem;
  }
  .navigation-apres .nav-liste a {
    padding: .4rem .5rem;
    border-bottom: 2px solid transparent;
  }
  .navigation-apres .nav-liste .nav-actif > a { border-bottom-color: var(--accent); }
}
@media (max-width: 860px) {
  .accroche { padding-top: .9rem; }
  .accroche-bande { padding-inline: 1.1rem; }
  .page { padding-top: 1.8rem; }
  .encadre { padding-inline: 1rem; }
  .bref { padding: 1rem 1.05rem; }
}
.pq-formulaire { margin: 2rem 0 2.6rem; }
#profil-questions { scroll-margin-top: 7.5rem; }
.pq-question {
  border: none;
  border-top: 1px solid var(--texte);
  border-radius: 0;
  background: none;
  padding: 1.6rem 0 2.4rem;
  margin: 0;
}
.pq-question > legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-inline-start: 0;
}
.pq-pourquoi { clear: both; padding-top: .75rem; }
.pq-num {
  display: block;
  font-family: var(--police-ui);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--accent);
}
.pq-titre {
  display: block;
  font-family: var(--police-titre);
  font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.2rem);
  font-weight: 400;
  letter-spacing: -.028em;
  line-height: 1.1;
  color: var(--texte);
  margin-top: .35rem;
  text-wrap: balance;
}
.pq-pourquoi {
  font-family: var(--police-ui);
  font-size: .88rem;
  line-height: 1.55;
  color: var(--texte-attenue);
  max-width: 34rem;
  margin: .7rem 0 1.1rem;
}
.pq-membre {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
  margin: 0 0 .4rem;
  font-family: var(--police-ui);
  font-size: .86rem;
}
.pq-type, .pq-age {
  font: inherit;
  color: var(--texte);
  background: var(--fond);
  border: 1px solid var(--trait-marque);
  border-radius: var(--rayon);
  padding: .34rem .45rem;
}
.pq-age { width: 4.6rem; }
.pq-unite { color: var(--texte-tres-attenue); font-size: .8rem; }
.pq-retirer {
  font: inherit;
  line-height: 1;
  color: var(--texte-attenue);
  background: transparent;
  border: 1px solid var(--trait-marque);
  border-radius: var(--rayon);
  padding: .3rem .55rem;
  cursor: pointer;
}
.pq-retirer:hover { color: var(--limite); border-color: var(--limite); }
.pq-foyer-vide {
  font-family: var(--police-ui);
  font-size: .82rem;
  color: var(--texte-tres-attenue);
  margin: .2rem 0;
}
.pq-ajouts { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .6rem; }
.pq-ajouter {
  font-family: var(--police-ui);
  font-size: .82rem;
  color: var(--accent);
  background: transparent;
  border: 1px dashed var(--trait-marque);
  border-radius: var(--rayon);
  padding: .38rem .75rem;
  cursor: pointer;
}
.pq-ajouter:hover { border-color: var(--accent); background: var(--accent-fond); }
.pq-pastilles {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .2rem 0 0;
  padding: 0;
}
.pq-pastilles > li { margin: 0; }
.pq-pastille {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  font-family: var(--police-ui);
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  background: var(--fond-encadre);
  padding: .75rem .95rem;
  cursor: pointer;
  max-width: 21rem;
  transition: border-color .18s, box-shadow .18s, transform .18s, background .18s;
}
.pq-pastille:hover {
  border-color: var(--trait-marque);
  box-shadow: var(--ombre-douce);
  transform: translateY(-2px);
}
.pq-pastille input { margin: .2rem 0 0; flex: 0 0 auto; accent-color: var(--accent-vif); }
.pq-pastille-texte { display: block; min-width: 0; }
.pq-pastille b { display: block; font-size: .92rem; font-weight: 600; line-height: 1.3; }
.pq-choisie {
  border-color: var(--accent);
  border-left-width: 2px;
  background: var(--accent-fond);
}
.pq-rangee + .pq-rangee { margin-top: .9rem; }
.pq-sous-q {
  font-family: var(--police-ui);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--texte-attenue);
  margin: 0 0 .35rem;
}
.pq-effet {
  font-family: var(--police-ui);
  font-size: .84rem;
  line-height: 1.5;
  color: var(--texte-attenue);
  background: var(--accent-fond);
  border-left: 3px solid var(--accent);
  border-radius: var(--rayon);
  padding: .65rem .85rem;
  margin: .3rem 0 0;
}
.pq-effacer { margin: 1.1rem 0 0; }
.prose p.pq-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .85rem;
  margin: 1.8rem 0 1rem;
  font-size: 0;                      
}
.prose p.pq-actions > a { font-size: .88rem; }
.prose a.pq-btn {
  font-family: var(--police-ui);
  font-size: .88rem;
  font-weight: 500;
  text-decoration: none;
  border: none;
  border-bottom: 1px solid var(--trait-marque);
  border-radius: 0;
  color: var(--texte-attenue);
  background: transparent;
  padding: .1rem 0 .15rem;
  transition: color .18s, border-color .18s, background .18s, transform .18s;
}
.prose a.pq-btn:hover {
  background: transparent;
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.prose a.pq-btn-plein {
  background: var(--accent);
  color: var(--accent-texte);
  border: 1px solid var(--accent);
  border-radius: var(--rayon);
  font-size: 1rem;
  font-weight: 600;
  padding: .78rem 1.9rem;
}
.prose a.pq-btn-plein:hover {
  background: var(--accent-clair);
  border-color: var(--accent-clair);
  color: var(--accent-texte);
  transform: translateY(-2px);
  box-shadow: var(--ombre-douce);
}
.rp-tete {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .9rem;
  align-items: baseline;
  margin: 0 0 .7rem;
}
.rp-titre {
  font-family: var(--police-ui);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--texte-attenue);
  margin: 0;
}
.rp-etat { font-size: .84rem; color: var(--accent); margin: 0; }
.rp-champs {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: flex-start;
}
.rp-champ { min-width: 0; }
.rp-etiquette {
  font-family: var(--police-ui);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--texte-tres-attenue);
  margin: 0 0 .35rem;
}
.rp-pastilles {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin: 0;
  padding: 0;
}
.rp-pastilles > li { margin: 0; }
.rp-pastille {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  font-size: .78rem;
  font-weight: 600;
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  background: var(--fond-attenue);
  color: var(--texte-attenue);
  padding: .34rem .65rem;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
}
.rp-pastille:hover { border-color: var(--filet-noir); color: var(--texte); }
.rp-pastille input { margin: 0; accent-color: var(--texte); }
.rp-choisie {
  border-color: var(--filet-noir);
  background: var(--texte);
  color: var(--fond);
}
.rp-choisie input { accent-color: var(--fond); }
.rp-garde {
  font-size: .8rem;
  line-height: 1.55;
  color: var(--texte-attenue);
  background: var(--attention-fond);
  border-left: 3px solid var(--attention);
  border-radius: var(--rayon);
  padding: .6rem .8rem;
  margin: .9rem 0 0;
  max-width: 52rem;
}
.rp-garde strong { color: var(--attention); }
.rp-pied {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  font-size: .8rem;
  margin: .8rem 0 0;
}
.bouton-effacer-compact { font-size: .78rem; padding: .32rem .7rem; }
.rp-aide {
  font-size: .76rem;
  line-height: 1.45;
  color: var(--texte-tres-attenue);
  margin: .4rem 0 0;
  max-width: 22rem;
}
.rp-champ-foyer { max-width: 22rem; }
.reglage-profil .pq-membre { margin: 0 0 .3rem; gap: .35rem; }
.reglage-profil .pq-type,
.reglage-profil .pq-age { font-size: .78rem; padding: .2rem .35rem; }
.reglage-profil .pq-age { width: 3.6rem; }
.reglage-profil .pq-unite { font-size: .74rem; }
.reglage-profil .pq-ajouts { margin-top: .35rem; }
.reglage-profil .pq-ajouter { font-size: .76rem; padding: .26rem .55rem; }
.reglage-profil .pq-foyer-vide { font-size: .78rem; margin: 0; }
.profil-rappel {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .3rem .6rem;
  font-family: var(--police-ui);
  font-size: .84rem;
  line-height: 1.5;
  color: var(--texte-attenue);
  margin: .7rem 0 0;
}
.profil-rappel-texte { flex: 1 1 16rem; min-width: 0; }
.profil-rappel[data-profil="personnalise"] .profil-rappel-texte { color: var(--texte); }
.profil-rappel-commande {
  flex: 0 0 auto;
  font: inherit;
  font-weight: 600;
  color: var(--accent);
  background: transparent;
  border: 1px solid var(--accent);
  border-radius: var(--rayon);
  padding: .26rem .7rem;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.profil-rappel-commande:hover {
  background: var(--accent);
  color: var(--accent-texte);
}
.profil-rappel-questions {
  background: var(--fond-attenue);
  border: 1px solid var(--trait);
  border-left: 3px solid var(--accent);
  border-radius: var(--rayon);
  padding: .75rem .9rem;
  margin: 1.1rem 0 1.4rem;
  max-width: 52rem;
}
.bandeau-version-profil {
  border-left-color: var(--attention);
  background: var(--attention-fond);
}
.bandeau-version-profil strong { color: var(--attention); }
.bandeau-profil-recu {
  border-left-color: var(--note);
  background: var(--note-fond);
}
.bandeau-profil-recu strong { color: var(--note); }
.bandeau-checklist-liste {
  border-left-color: var(--note);
  background: var(--note-fond);
}
.bandeau-checklist-liste strong { color: var(--note); }
.checklist-retenus-noms a { font-weight: 600; }
@media (max-width: 47.99rem) {
  .pq-pastille { max-width: none; width: 100%; }
  .pq-pastilles > li { width: 100%; }
  .rp-champs { gap: .9rem 1.2rem; }
  .rp-pastille { white-space: normal; }
}
@media print {
  .entete-site, .navigation, .sommaire, .lien-evitement, .tunnel,
  .outils-entete, .carte-activer, .sous-pages, .reglage-profil,
  .pq-formulaire { display: none !important; }
  .accroche { background: none; border: none; padding: 0; }
  .accroche .carte-cadre, .accroche .carte-liens { display: none !important; }
  .carte-app .carte-grille, .carte-app .carte-barre,
  .carte-app .carte-etat, .carte-app .carte-pied { display: none !important; }
  .carte-integree-page > .carte-app { border: none; background: none; padding: 0; }
  .etape { break-inside: avoid; border: none; border-top: 1px solid #999; }
  .graphique, .bref { break-inside: avoid; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .page { max-width: none; padding: 0; }
  .corps > * { max-width: none; }
  .prose a { color: #000; text-decoration: underline; }
  .prose a[target="_blank"]::after { content: " (" attr(href) ")"; font-size: .8em; }
  .encadre { break-inside: avoid; border: none; border-left: 2px solid #999; background: none; }
  .table-defilante { break-inside: avoid; border: none; }
  .prose thead th { border-bottom: 1px solid #000; background: none; }
  .prose h2, .prose h3 { break-after: avoid; }
  .entete-site, .pied-site, .accroche { background-image: none !important; }
  .reperes { border: none; padding: 0; margin: 1.2rem 0; }
  .nombre-heros { font-size: 2.2rem; color: #000; }
  .prose h2::before { display: none !important; }
  .prose h2 { margin-left: 0 !important; padding-left: 0 !important; }
}
.liste-barre {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .6rem 1.2rem;
  font-family: var(--police-ui);
  font-size: .86rem;
  margin: 1.1rem 0;
}
.liste-barre label { min-width: 0; max-width: 100%; }
.liste-barre select {
  min-width: 0;
  max-width: 100%;
  font: inherit;
  padding: .25rem .4rem;
  border: 1px solid var(--trait-marque);
  border-radius: var(--rayon);
  background: var(--fond-encadre);
  color: var(--texte);
}
.liste-compte { color: var(--texte-attenue); }
.liste-ponderation { margin: 0; flex: 1 1 22rem; color: var(--texte-attenue); }
.liste-filtre, .case-comparer { display: flex; align-items: flex-start; gap: .4rem; }
.liste-filtre input, .case-comparer input { margin-top: .18rem; }
.cartes-liste {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  margin: 1rem 0 1.6rem;
}
@media (min-width: 60rem) {
  .cartes-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.carte-liste {
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  background: var(--fond);
  padding: 1rem 1.1rem 1.1rem;
  display: flex;
  flex-direction: column;
}
.carte-titre { margin: 0 0 .2rem; font-size: 1.08rem; line-height: 1.3; }
.carte-appartenance {
  font-family: var(--police-ui);
  font-size: .8rem;
  color: var(--texte-attenue);
  margin: 0 0 .8rem;
}
.carte-corps { display: grid; gap: .7rem; }
.carte-heritages { display: grid; gap: .6rem; }
.carte-liste .bloc-mesure,
.carte-liste .bloc-herite { padding: .7rem .8rem; }
.mesure-comptage {
  font-family: var(--police-ui);
  font-size: .85rem;
  line-height: 1.5;
  margin: 0;
}
.mesure-depassements {
  font-family: var(--police-ui);
  font-size: .82rem;
  margin: .4rem 0 0;
  color: var(--limite);
}
.mesure-depassements::before { content: "\25A0\00A0"; }
.lien-regle { white-space: nowrap; }
.herite-rang { margin: 0; display: flex; flex-wrap: wrap; gap: .1rem .6rem; align-items: baseline; }
.herite-rang b { font-size: 1.05rem; }
.mesures-cles {
  list-style: none;
  margin: .7rem 0 0;
  padding: .6rem 0 0;
  border-top: 1px dashed var(--trait-marque);
  display: grid;
  gap: .5rem;
}
.mesures-cles li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .1rem .6rem;
  align-items: baseline;
  font-family: var(--police-ui);
  font-size: .82rem;
}
.mesure-label { color: var(--texte-attenue); }
.mesure-valeur { font-weight: 700; text-align: right; }
.mesures-cles .repere { grid-column: 1; font-size: .78rem; }
.mesures-cles .jeton-mesure { grid-column: 2; justify-self: end; align-self: start; }
.repere { font-family: var(--police-ui); font-size: .8rem; }
.repere.depasse { color: var(--limite); }
.repere.depasse::before { content: "\25A0\00A0"; }
.repere.ok { color: var(--source); }
.repere.ok::before { content: "\25CF\00A0"; }
.part-dep { font-weight: 700; }
.carte-liste .sep { color: var(--texte-tres-attenue); }
.carte-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .8rem;
  margin: 1rem 0 0;
  padding-top: .8rem;
  border-top: 1px solid var(--trait);
  font-family: var(--police-ui);
  font-size: .86rem;
}
.carte-actions .btn { margin: 0; }
.carte-inconnue { border-style: dashed; }
.regle-comptage {
  font-family: var(--police-ui);
  font-size: .82rem;
  color: var(--texte-attenue);
  line-height: 1.55;
  border-top: 1px solid var(--trait);
  padding-top: .7rem;
  margin: .6rem 0 1.6rem;
}
.regle-comptage summary { cursor: pointer; color: var(--accent); }
.regle-comptage p { margin: .5rem 0 0; }
.cadre-comparaison {
  overflow-x: auto;
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  margin: 1rem 0;
}
.comparaison {
  border-collapse: collapse;
  width: 100%;
  font-family: var(--police-ui);
  font-size: .84rem;
}
.comparaison caption {
  caption-side: top;
  text-align: left;
  max-width: 46rem;
  padding: .8rem 1rem;
  color: var(--texte-attenue);
  line-height: 1.5;
  border-bottom: 1px solid var(--trait);
}
.comparaison th, .comparaison td {
  padding: .5rem .8rem;
  border-bottom: 1px solid var(--trait);
  vertical-align: top;
  text-align: left;
}
.comparaison thead th {
  font-size: .92rem;
  max-width: 16rem;
  white-space: normal;
  border-bottom: 2px solid var(--filet-noir);
  background: var(--fond-attenue);
  position: sticky;
  top: 0;
}
.comparaison tbody th { font-weight: 600; min-width: 12rem; }
.comparaison td { min-width: 9rem; }
.grandeur-label { display: block; }
.grandeur-seuil {
  display: block;
  font-size: .75rem;
  font-weight: 400;
  color: var(--texte-tres-attenue);
}
.cellule-herite { display: block; }
.cellule-herite .jeton-herite { margin-left: .35rem; }
.section-explication {
  display: block;
  max-width: 46rem;
  font-weight: 400;
  font-size: .78rem;
  color: var(--texte-attenue);
  line-height: 1.5;
  margin-top: .2rem;
  white-space: normal;
}
.ligne-section th { padding-top: .9rem; }
.comparaison .section-mesure { background: var(--fond-encadre); }
.comparaison .section-herite { background: var(--fond-attenue); }
.comparaison .section-herite th:first-child { border-left: 3px solid var(--trait-marque); }
.etq-appartenance { color: var(--texte-tres-attenue); }
.groupe-departement { margin: 1.6rem 0; }
.groupe-departement > .bloc-herite { margin-bottom: .4rem; }
.echec-type {
  font-family: var(--police-ui);
  font-size: .88rem;
  line-height: 1.55;
  background: var(--limite-fond);
  border-left: 3px solid var(--limite);
  border-radius: 0 var(--rayon) var(--rayon) 0;
  padding: .8rem 1rem;
  margin: 1rem 0;
}
@media (max-width: 30rem) {
  .mesures-cles li { grid-template-columns: 1fr; }
  .mesure-valeur { text-align: left; }
  .carte-actions .btn { flex: 1 1 auto; text-align: center; }
}
.prose a.btn-p, .prose a.btn-p:hover { color: var(--accent-texte); }
.carte-detail > summary,
.liste-propositions-repli > summary,
.prose-repliee > summary {
  display: inline-flex; align-items: center; min-height: 44px; cursor: pointer;
  font-weight: 600;
}
.carte-detail[open] > summary { margin-bottom: .5rem; }
.carte-liste .carte-appartenance { margin-bottom: .2rem; }
.liste-propositions-repli, .prose-repliee { margin: .4rem 0 1.4rem; }
.prose-repliee[open] > summary { margin-bottom: .6rem; }
body[data-page="ma-liste"] .corps { min-height: calc(100svh - 8rem); }
.liste-barre[hidden], .liste-comparer[hidden] { display: none; }

.carte-app{
  container: carte / inline-size;
  --plan:        var(--fond);
  --surface:     var(--fond-encadre);
  --surface-2:   var(--fond-attenue);
  --ink:         var(--texte);
  --ink-2:       var(--texte-attenue);
  --ink-3:       var(--texte-tres-attenue);
  --trait-fort:  var(--trait-marque);
  --accent-doux: var(--accent-fond);
  --filet:       var(--filet-noir);
  --r0:#e2f0df; --r1:#d4e5a6; --r2:#d5d546; --r3:#e5b74a;
  --r4:#df9b58; --r5:#cd7f63; --r6:#b55a61;
  --s0:#cde2fb; --s1:#9ec5f4; --s2:#6da7ec; --s3:#3987e5;
  --s4:#256abf; --s5:#184f95; --s6:#0d366b;
  --d0:#e8c7c2; --d1:#e5b4af; --d2:#e39e9a; --d3:#e28280;
  --d4:#e05c5d; --d5:#d21f28; --d6:#860f19;
  --ink-sur-r: #ffffff;
  --nd:       #d8d2c6;       
  --ko:       #9a9488;       
  --dep-neutre: var(--surface-2);
  --ko-trait: #514c42;
  --cmp1:#2a78d6; --cmp2:#b8501f; --cmp3:#1a7a56;
  font-family: var(--police-ui);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink);
  display: block;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="clair"]) .carte-app{
    --r0:#e2f0df; --r1:#d4e5a6; --r2:#d5d546; --r3:#e5b74a;
    --r4:#df9b58; --r5:#cd7f63; --r6:#b55a61;
    --s0:#cde2fb; --s1:#9ec5f4; --s2:#6da7ec; --s3:#3987e5;
    --s4:#256abf; --s5:#184f95; --s6:#0d366b;
    --d0:#e8c7c2; --d1:#e5b4af; --d2:#e39e9a; --d3:#e28280;
    --d4:#e05c5d; --d5:#d21f28; --d6:#860f19;
    --nd:#282c33; --ko:#565149; --ko-trait:#a8a091;
    --cmp1:#6da7ec; --cmp2:#e0a458; --cmp3:#92b79e;
  }
}
:root[data-theme="sombre"] .carte-app{
  --r0:#e2f0df; --r1:#d4e5a6; --r2:#d5d546; --r3:#e5b74a;
  --r4:#df9b58; --r5:#cd7f63; --r6:#b55a61;
  --s0:#cde2fb; --s1:#9ec5f4; --s2:#6da7ec; --s3:#3987e5;
  --s4:#256abf; --s5:#184f95; --s6:#0d366b;
  --d0:#e8c7c2; --d1:#e5b4af; --d2:#e39e9a; --d3:#e28280;
  --d4:#e05c5d; --d5:#d21f28; --d6:#860f19;
  --nd:#282c33; --ko:#565149; --ko-trait:#a8a091;
  --cmp1:#6da7ec; --cmp2:#e0a458; --cmp3:#92b79e;
}
.carte-app h2, .carte-app h3{margin:0; text-wrap:balance; font-weight:600}
.carte-app p{margin:0}
.carte-app .serif{font-family: var(--police-titre)}
.carte-app *{box-sizing:border-box}
.carte-app [hidden]{display:none !important}
.carte-app .eyebrow{
  font-size:11px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-3); font-weight:600;
}
.carte-app .num{font-variant-numeric:tabular-nums}
.carte-app button{font:inherit; color:inherit}
.carte-app :focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app #bandeau{
  display:none; background:none;
  color:var(--accent);
  border-top:1px solid var(--accent); border-bottom:1px solid var(--accent);
  padding:8px 0; font-weight:700; font-size:11px; letter-spacing:.13em;
  text-transform:uppercase; text-align:center;
}
.carte-app #bandeau.on{display:block}
body[data-page="carte"] .accroche{padding:.5rem 0 .45rem}
body[data-page="carte"] .accroche-tete{
  display:flex; flex-wrap:wrap; align-items:baseline;
  column-gap:.9rem; row-gap:.1rem; margin:0;
}
body[data-page="carte"] .accroche-tete h1{
  flex:none; margin:0;
  font-size:clamp(1.3rem, 1.75vw, 1.6rem);
  line-height:1.15; letter-spacing:-.018em;
}
body[data-page="carte"] .accroche-tete .chapeau{
  flex:1 1 22rem; min-width:0; max-width:none; margin:0;
  font-size:.92rem; line-height:1.4;
}
.carte-app .carte-grille{max-width:1880px; margin:0 auto; padding:6px 0 40px;
  display:grid; gap:12px; grid-template-columns: minmax(0,1fr);
  align-items:start;}
.carte-app .col-carte{grid-column:1}
@container carte (min-width: 1400px){
  .carte-app .carte-grille{gap:16px}
}
.carte-app .carte-modale{
  position:absolute; z-index:6;
  left:auto; right:calc(100% + 12px); top:10px;
  width:min(21rem, calc(var(--carte-marge, 21rem) - 12px));
  max-height:min(calc(var(--carte-modale-h, 100vh) - 20px), calc(100vh - 40px));
  overflow-y:auto; overscroll-behavior:contain;
  background:var(--surface); border:1px solid var(--trait-fort);
  padding:.75rem .85rem .8rem;
  font-size:13px;
}
.carte-app .carte-modale.modale-dep{
  width:var(--carte-synthese-w, 38.75rem);
  max-width:calc(100vw - 2.5rem);
  left:calc(0px - var(--carte-synthese-x, 0px)); right:auto;
  top:10px;
  max-height:min(calc(var(--carte-modale-h, 100vh) - 20px), calc(100vh - 40px));
}
.carte-app .modale-dep .dep-figure{
  margin-left:-.85rem;
  margin-right:calc(-.85rem - 26px);
  margin-top:.7rem;
}
.carte-app .modale-dep .dep-figure img{
  aspect-ratio:auto;                 
  border-left:0; border-right:0;
}
.carte-app .modale-dep .dep-figure figcaption{
  padding-left:.85rem; padding-right:calc(.85rem + 26px);
}
.carte-app.synthese-dep .carte-vue{margin-inline-start:auto; margin-inline-end:0}
@container carte (min-width: 821px){
  .carte-app.synthese-dep .carte-cartouche:not(.carte-cartouche-zoom){
    left:calc(var(--carte-recouvrement, 0px) + 12px);
    top:calc(20px + var(--carte-zoom-h, 44px));
    max-width:min(19rem, calc(var(--carte-bande, 46%) - 12px));
  }
}
.carte-app .dep-figure{margin:.7rem 0 .2rem}
.carte-app .dep-figure img{
  display:block; width:100%; height:auto; aspect-ratio:760 / 630;
  border:1px solid var(--trait);
}
.carte-app .dep-figure figcaption{
  font-size:12px; color:var(--ink-2); margin-top:.3rem;
}
.carte-app .carte-modale[hidden]{display:none}
.carte-app .carte-modale:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .modale-fermer{
  position:absolute; top:4px; right:4px;
  width:30px; height:30px; padding:0; line-height:1;
  display:flex; align-items:center; justify-content:center;
  font-size:19px; color:var(--ink-2);
  background:transparent; border:1px solid transparent; border-radius:0;
  cursor:pointer;
}
.carte-app .modale-fermer:hover{color:var(--ink); border-color:var(--filet)}
.carte-app .modale-fermer:focus-visible{outline:2px solid var(--focus); outline-offset:1px}
.carte-app .modale-corps{padding-right:26px}
@container carte (max-width: 820px){
  .carte-app .carte-modale{
    left:calc(0px - var(--carte-marge, 0px));
    right:calc(0px - var(--carte-marge, 0px));
    top:auto; bottom:var(--carte-feuille-bas, 0px);
    width:auto; max-width:none;
    max-height:var(--carte-feuille-h, 70%);
    border-left:0; border-right:0; border-bottom:0;
  }
  .carte-app .carte-modale.modale-dep{ width:auto; max-width:none;
    left:calc(0px - var(--carte-marge, 0px));
    right:calc(0px - var(--carte-marge, 0px));
    top:auto; bottom:var(--carte-feuille-bas, 0px);
    max-height:var(--carte-feuille-h, 70%); }
  .carte-app .modale-dep .dep-figure{ margin-left:0; margin-right:0 }
  .carte-app .modale-dep .dep-figure figcaption{ padding-left:0; padding-right:0 }
  .carte-app.synthese-dep .carte-vue{margin-inline:auto}
}
.carte-app .carte-bloc,
.carte-app .panneau{
  background:transparent; border:0; border-radius:0;
}
.carte-app .panneau{padding:0}
.carte-app .panneau + .panneau{
  margin-top:16px; padding-top:14px; border-top:1px solid var(--trait-fort);
}
.carte-app .panneau h2{font-size:11.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink); font-weight:700; margin-bottom:10px; padding-bottom:7px;
  border-bottom:1px solid var(--filet)}
.carte-app .groupe{margin-bottom:16px}
.carte-app .groupe:last-child{margin-bottom:0}
.carte-app .groupe > .eyebrow{display:block; margin-bottom:6px}
@media (prefers-color-scheme: light){
  :root:not([data-theme="sombre"]) .carte-app .seg button[aria-pressed="true"]{color:#fff}
}
.carte-app .ligne-check{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-2); margin-top:8px}
.carte-app .ligne-check input{accent-color:var(--accent)}
.carte-app .bouton{
  background:transparent; border:1px solid var(--filet); border-radius:var(--rayon);
  padding:7px 12px; cursor:pointer; font-size:11.5px; font-weight:700;
  letter-spacing:.11em; text-transform:uppercase; color:var(--ink);
  transition:background-color .15s ease, color .15s ease;
}
.carte-app .bouton:hover{background:var(--ink); color:var(--plan)}
.carte-app .bouton[aria-pressed="true"]{background:var(--accent); color:var(--accent-texte); border-color:var(--accent)}
.carte-app .carte-bloc{padding:0; position:relative}
.carte-app .carte-vue{
  max-width:calc(var(--carte-h, 62vh) * 1000 / 985);
  margin-inline:auto;
}
.carte-app #carte{display:block; width:100%; height:auto;
  max-height:var(--carte-h, 62vh)}
.carte-app #carte path.terr{
  stroke:var(--surface); stroke-width:calc(.9 / var(--zoom, 1));
  stroke-linejoin:round; cursor:pointer;
}
.carte-app.anime #carte path.terr{
  transition: fill .6s cubic-bezier(.4,0,.2,1), stroke-width .12s, stroke .12s;
}
.carte-app #carte path.terr:hover{stroke:var(--ink); stroke-width:calc(1.6 / var(--zoom, 1))}
.carte-app #carte path.terr.sel{stroke:var(--ink); stroke-width:calc(2.4 / var(--zoom, 1))}
.carte-app #carte path.terr:focus-visible{stroke:var(--focus);
  stroke-width:calc(2.6 / var(--zoom, 1)); outline:none}
@media (prefers-reduced-motion: reduce){
  .carte-app.anime #carte path.terr{transition:none}
}
.carte-app #carte text.etiq{
  fill:var(--ink); paint-order:stroke; stroke:var(--surface);
  pointer-events:none; font-weight:700; font-variant-numeric:tabular-nums;
}
.carte-app .carte-vue{position:relative}   
.carte-app .carte-vue #carte{touch-action:pan-x pan-y}
.carte-app .carte-vue.zoomee #carte{touch-action:none}
.carte-app .carte-vue.zoomee #carte{cursor:grab}
.carte-app .carte-vue.glisse #carte{cursor:grabbing}
.carte-app .carte-vue:focus-visible{outline:2px solid var(--focus); outline-offset:3px}
.carte-app .zoomctl{
  position:absolute; z-index:3; right:10px; top:10px;
  display:flex; flex-direction:row; gap:4px;
  width:auto; min-width:0; max-width:none;
  padding:.3rem; margin:0;
  pointer-events:auto;
}
.carte-app .zoomb{
  width:34px; height:34px; padding:0; line-height:1;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; font-weight:700; color:var(--ink);
  background:transparent; border:1px solid var(--filet); border-radius:0;
  cursor:pointer; box-shadow:none;
  transition:background-color .15s ease, color .15s ease;
}
.carte-app .zoomb:hover{background:var(--ink); color:var(--plan)}
.carte-app .zoomb:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .zoomb[aria-disabled="true"]{opacity:.42; cursor:default; box-shadow:none}
.carte-app .zoomb[disabled]{opacity:.42; cursor:default; box-shadow:none}
.carte-app .zoomb[aria-disabled="true"]:hover,
.carte-app .zoomb[disabled]:hover{background:transparent; color:var(--ink)}
.carte-app .zoom-astuce{
  position:absolute; z-index:4; left:50%; top:12px; transform:translateX(-50%);
  margin:0; padding:7px 13px; border-radius:var(--rayon); pointer-events:none;
  background:var(--surface); border:1px solid var(--trait-fort);
  color:var(--ink); font-size:13px; box-shadow:0 4px 14px rgba(0,0,0,.18);
}
@media (prefers-reduced-motion: reduce){
  .carte-app .zoom-astuce{transition:none}
}
@container carte (max-width: 47rem){
  .carte-app .zoomb{width:44px; height:44px}
}
.carte-app #infobulle{
  position:fixed; z-index:50; pointer-events:none; opacity:0; transition:opacity .12s;
  background:var(--surface); border:1px solid var(--trait-fort); border-radius:var(--rayon);
  padding:8px 11px; font-size:13px; box-shadow:0 6px 20px rgba(0,0,0,.16); max-width:260px;
}
.carte-app #infobulle.on{opacity:1}
.carte-app #infobulle .t{font-weight:700; margin-bottom:2px}
.carte-app #infobulle .v{color:var(--ink-2); font-variant-numeric:tabular-nums}
.carte-app .figure-legende{
  border-top:1px solid var(--filet);
  margin-top:12px; padding-top:12px;
}
.carte-app .legende{border-top:0; margin-top:14px; padding:0;
  display:flex; flex-wrap:wrap; gap:20px; align-items:flex-start}
.carte-app .echelle{display:flex; flex-direction:column; gap:4px; min-width:280px}
.carte-app .echelle .barres{display:flex; gap:2px}
.carte-app .echelle .case{flex:1; height:16px; border-radius:2px; position:relative}
.carte-app .echelle .ticks{display:flex; gap:2px; font-size:10.5px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.carte-app .echelle .ticks span{flex:1; text-align:center}
.carte-app .echelle .bornes{display:flex; justify-content:space-between; font-size:11.5px; color:var(--ink-2)}
.carte-app .leg-special{display:flex; flex-direction:column; gap:6px; font-size:12.5px; color:var(--ink-2)}
.carte-app .leg-special div{display:flex; gap:7px; align-items:center}
.carte-app .leg-special i{
  width:15px; height:15px; border-radius:50%; display:inline-block; flex:none;
  border:1px solid var(--trait-fort);
  background:repeating-linear-gradient(90deg,
    var(--ink-3) 0 1px, var(--surface) 1px 4px);
}
.carte-app .leg-special i.i-etat-non_fondu{
  background:repeating-linear-gradient(0deg, var(--ink-3) 0 1px, var(--surface) 1px 4px);
}
.carte-app .leg-special i.i-etat-secret{
  background:repeating-linear-gradient(45deg, var(--ink-3) 0 2px, var(--surface) 2px 6px);
}
.carte-app .leg-special i.i-etat-sans_objet{background:var(--nd)}
.carte-app .leg-special i.i-etat-hors_couche{
  background:transparent; border:1.5px solid var(--ink-2);
}
.carte-app .legende .unite,
.carte-app #note-sources .unite{font-size:12px; color:var(--ink-3); max-width:46ch; line-height:1.45}
.carte-app .carte-cherche{position:relative; z-index:40;
  display:flex; align-items:center; gap:6px}
.carte-app .carte-loupe{
  flex:0 0 auto;
  width:30px; height:30px; padding:0; line-height:0;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink-2); background:transparent;
  border:1px solid transparent; border-radius:0; cursor:pointer;
}
.carte-app .carte-loupe[hidden]{display:none}
.carte-app .carte-loupe:hover{color:var(--ink); border-color:var(--filet)}
.carte-app .carte-loupe:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .carte-cherche #recherche{flex:1 1 auto; width:auto; min-width:0}
.carte-app .carte-cherche.repliee #recherche{
  flex:0 0 0; width:0; min-width:0; padding-left:0; padding-right:0;
  visibility:hidden;
}
.carte-app #recherche{
  width:100%; padding:6px 2px; border:0; border-bottom:1px solid var(--filet);
  border-radius:0; background:transparent; color:var(--ink); font:inherit; font-size:16px;
}
.carte-app #recherche:focus,
.carte-app #recherche:focus-visible{
  outline:2px solid var(--focus); outline-offset:3px;
  border-bottom-color:var(--accent);
  box-shadow:inset 0 -2px 0 var(--accent);
}
.carte-app #recherche::placeholder{color:var(--ink-3)}
.carte-app .classement{
  max-height:430px; overflow-y:auto; display:flex; flex-direction:column; gap:1px;
  position:absolute; left:0; right:0; top:100%; margin-top:4px; padding:6px;
  background:var(--surface); border:1px solid var(--filet); border-radius:0;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}
.carte-app .carte-cherche:not(.ouverte) .classement{display:none}
.carte-app .carte-cherche.repliee .classement{display:none}
@container carte (max-width: 47rem){
  .carte-app .classement{
    top:auto; bottom:100%; margin:0 0 4px;
    max-height:min(430px, var(--carte-h, 60vh));
    box-shadow:0 -10px 26px rgba(0,0,0,.16);
    overscroll-behavior:contain;
  }
}
.carte-app .rang-ligne{
  display:grid; grid-template-columns:26px 1fr 42px; gap:7px; align-items:center;
  padding:4px 6px; border-radius:var(--rayon); cursor:pointer; background:transparent; border:0;
  text-align:left; font-size:13px; color:var(--ink);
}
.carte-app .rang-ligne:hover{background:var(--surface-2)}
.carte-app .rang-ligne.sel{background:var(--accent-doux)}
.carte-app .rang-ligne .n{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.carte-app .rang-ligne .v{font-variant-numeric:tabular-nums; font-size:12.5px; color:var(--ink-2); text-align:right}
.carte-app h2.fiche-titre{
  font-family:var(--police-titre); font-size:1.15rem; font-weight:600;
  line-height:1.15; letter-spacing:-.01em; text-transform:none;
  color:var(--ink); border-bottom:0; padding-bottom:0; margin-bottom:2px;
}
.carte-app .fiche-sous{color:var(--ink-3); font-size:12.5px; margin-bottom:12px}
.carte-app #panneau-fiche .bloc-mesure,
.carte-app #panneau-fiche .bloc-herite{
  background:transparent; border-radius:0; padding:.7rem .8rem;
}
.carte-app #panneau-fiche .bloc-herite{padding-left:.7rem}
.carte-app .avert{font-size:12.5px; color:var(--ink-2); border-left:3px solid var(--trait-fort);
  padding-left:9px; margin:10px 0}
@media (prefers-reduced-motion: reduce){
  .carte-app .dom-l .barre{transition:none}
}
@container carte (max-width: 560px){
  .carte-app .deux-col{grid-template-columns:1fr}
}
.carte-app .leg-bornes{
  display:flex; justify-content:space-between; gap:1rem;
  font-size:11.5px; color:var(--ink-2); margin:0;
  font-variant-numeric:tabular-nums;
}
.carte-app .leg-bornes:empty{display:none}
.carte-app .leg-bornes span:last-child{text-align:right}
.carte-app .statut-regl{color:var(--ink); font-weight:700}
.carte-app .statut-conv{color:var(--ink-3); font-style:italic}
.carte-app .carte-pied{max-width:none; margin:14px 0 0; padding:0; color:var(--ink-3); font-size:12px; line-height:1.6}
.carte-app .carte-pied a{color:var(--accent)}
.carte-app .sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.carte-app .carte-sous{
  color:var(--ink-2); font-size:13.5px; max-width:62ch; margin:0;
}
.carte-app .carte-etat{
  max-width:1560px; margin:0 auto; padding:0 20px 8px;
  font-size:12.5px; color:var(--ink-3);
}
.carte-app .carte-etat-attente{color:var(--ink-2)}
.carte-app .carte-etat-echec{
  color:var(--limite); font-weight:600;
  border-left:3px solid var(--limite); padding-left:9px; margin:0 20px 10px;
}
.carte-app.carte-hs .carte-grille,
.carte-app.carte-hs #btn-table,
.carte-app.carte-hs .carte-pied{display:none}
.carte-integree.carte-integree-page{margin:0 0 1.4rem}
.accroche .carte-integree.carte-integree-page{margin:0 -.75rem 1.4rem}
.carte-integree.carte-integree-page > .carte-app{
  padding:14px 0 0;
}
.carte-app .carte-cartouche{
  position:absolute; z-index:3; left:10px; top:10px;
  width:max-content; min-width:12.5rem; max-width:min(19rem, 46%);
  background:var(--surface); border:1px solid var(--filet);
  padding:.5rem .6rem .45rem;
  pointer-events:none;
}
.carte-app .carte-cartouche-titre{
  display:block; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink); font-weight:700; margin-bottom:.4rem; line-height:1.25;
}
.carte-app .carte-cartouche .rampe-cle-echelle{
  display:grid; grid-template-columns:minmax(0,auto) minmax(0,auto);
  justify-content:space-between; align-items:baseline;
  margin:0; font-size:.66rem; column-gap:.5rem; row-gap:.28rem;
}
.carte-app .carte-cartouche .rampe-cle-barre{
  grid-row:1; grid-column:1 / -1;
  height:.55rem; border-radius:0; min-width:0;
}
.carte-app .carte-cartouche .rampe-cle-bout{grid-row:2; white-space:normal}
.carte-app .rampe-cle-tranches{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr);
  gap:2px; margin:.3rem 0 0;
  font-size:.58rem; line-height:1.2; font-weight:600;
  color:var(--ink-3); font-variant-numeric:tabular-nums;
}
.carte-app .rampe-cle-tranches:empty{display:none}
.carte-app .rampe-cle-tranches span{text-align:center; overflow-wrap:anywhere}
.carte-app .carte-cartouche-zoom{
  position:absolute; left:auto; right:10px; top:10px;
  width:auto; min-width:0; max-width:none;
  padding:.3rem; margin:0;
  pointer-events:auto;
}
@container carte (max-width: 47rem){
  .carte-app .carte-vue{display:flex; flex-direction:column}
  .carte-app .carte-vue > #carte{order:1}
  .carte-app .carte-vue > .carte-cartouche{order:2}
  .carte-app .carte-vue > .carte-cartouche-zoom{order:3}
  .carte-app .carte-cartouche{
    position:static; width:auto; max-width:none; margin:.6rem 0 0; pointer-events:auto;
  }
  .carte-app .carte-cartouche-zoom{
    position:absolute; width:max-content; margin:0; top:10px; right:10px; left:auto;
  }
  .carte-app .modale-fermer{width:44px; height:44px; top:2px; right:2px}
  .carte-app .modale-corps{padding-right:44px}
  .carte-app .carte-loupe{width:44px; height:44px}
}
.rampe-cle-echelle{
  display:flex; align-items:center; gap:.6rem;
  margin:0 0 .35rem;
  font-family:var(--police-ui, inherit);
  font-size:.78rem; line-height:1.3; font-weight:600;
  color:var(--ink-2);
}
.rampe-cle-bout{white-space:nowrap}
.rampe-cle-bout-d{text-align:right}
.rampe-cle-barre{
  display:flex; flex:1 1 auto; min-width:5rem;
  height:.62rem; border-radius:1px; overflow:hidden;
  border:1px solid var(--trait);
}
.rampe-cle-cran{flex:1 1 0; display:block}
.rampe-cle-ligne{
  margin:0;
  font-family:var(--police-ui, inherit);
  font-size:.82rem; line-height:1.45;
  color:var(--ink-2);
}
.rampe-cle-ligne b{color:var(--ink)}
.rampe-cle-profil{margin:.45rem 0 0}
@media (max-width: 30rem){
  .rampe-cle-echelle{font-size:.72rem; gap:.4rem}
}
.carte-app #sel-grandeur{
  width:100%; margin-top:7px; padding:5px 2px; border:0;
  border-bottom:1px solid var(--filet);
  border-radius:0; background:transparent; color:var(--ink); font:inherit;
  font-size:12.5px;
}
.carte-app #sel-grandeur:disabled{opacity:.55; cursor:not-allowed}
.carte-app .mode-attente{font-size:11.5px; color:var(--ink-3); margin-top:5px; font-style:italic}
.carte-app .quoi-d{font-size:13px; line-height:1.5}
.carte-app .quoi-d b{color:var(--ink)}
.carte-app .quoi-p{font-size:13px; line-height:1.45; color:var(--ink-2); margin-top:5px}
.carte-app #carte path.terr{
  stroke:var(--surface); stroke-width:calc(.35 / var(--zoom, 1));
  stroke-linejoin:round; cursor:pointer;
}
.carte-app.anime #carte path.terr{
  transition: fill .45s cubic-bezier(.4,0,.2,1), stroke-width .12s, stroke .12s;
}
.carte-app #carte path.dep{
  stroke:var(--surface); stroke-width:calc(.7 / var(--zoom, 1));
  stroke-linejoin:round; cursor:pointer;
}
.carte-app.anime #carte path.dep{
  transition: fill .45s cubic-bezier(.4,0,.2,1), stroke-width .12s, stroke .12s,
              opacity .2s;
}
.carte-app #carte path.dep:hover{stroke:var(--ink); stroke-width:calc(1.8 / var(--zoom, 1))}
.carte-app #carte path.dep:focus-visible{stroke:var(--focus);
  stroke-width:calc(2.6 / var(--zoom, 1)); outline:none}
.carte-app #carte path.dep.autre{opacity:.34; pointer-events:none}
.carte-app #carte #dep-contour{
  fill:none; stroke:var(--ink); stroke-width:calc(1.6 / var(--zoom, 1));
  stroke-linejoin:round; pointer-events:none;
}
.carte-app #carte path.terr.hors-dep{opacity:.34; stroke:none; pointer-events:none}
.carte-app #carte path.terr.neutre{
  stroke:var(--trait-fort); stroke-width:calc(.9 / var(--zoom, 1));
}
.carte-app #carte path.terr.neutre:hover{stroke:var(--ink);
  stroke-width:calc(1.8 / var(--zoom, 1))}
.carte-app #carte path.terr.filtre{
  fill-opacity:.3;
  stroke:var(--ko-trait); stroke-width:calc(.9 / var(--zoom, 1));
}
.carte-app #carte path.terr:hover{stroke:var(--ink); stroke-width:calc(1.2 / var(--zoom, 1))}
.carte-app #carte path.terr.sel{stroke:var(--ink); stroke-width:calc(2.2 / var(--zoom, 1))}
.carte-app #carte path.terr:focus-visible{stroke:var(--focus);
  stroke-width:calc(2.4 / var(--zoom, 1)); outline:none}
.carte-app #carte path.terr.nonjuge{stroke:var(--ink-3);
  stroke-width:calc(.8 / var(--zoom, 1));
  stroke-dasharray:calc(2 / var(--zoom, 1)) calc(1.6 / var(--zoom, 1))}
.carte-app #carte path.terr.etat-hors_couche{stroke:var(--ink-2);
  stroke-width:calc(.8 / var(--zoom, 1))}
@media (prefers-reduced-motion: reduce){
  .carte-app.anime #carte path.terr{transition:none}
}
.carte-app.zoom-actif.anime #carte path.terr{transition:none}
.carte-app .rampe-cle-barre{position:relative}
.carte-app .seuil-trait{
  position:absolute; top:0; bottom:0; width:0; z-index:1;
  border-left:2px solid var(--ink);
}
.carte-app .seuil-trait.conv{border-left-style:dashed}
.carte-app .rampe-cle-seuil{
  margin:.35rem 0 0; font-size:.68rem; line-height:1.35; color:var(--ink-2);
}
.carte-app .rampe-cle-seuil[hidden]{display:none}
.carte-app .rampe-cle-seuil .repere-regl,
.carte-app .rampe-cle-seuil .repere-conv{
  display:inline-block; width:14px; height:0; vertical-align:middle;
  margin-right:.3rem; border-top:2px solid var(--ink);
}
.carte-app .rampe-cle-seuil .repere-conv{border-top-style:dashed}
.carte-app .leg-special i.i-filtre{
  background:color-mix(in srgb, var(--r3) 30%, var(--plan));
  opacity:1; border:1.5px solid var(--ko-trait);
}
.carte-app .carte-barre{
  position:relative;
  display:flex; align-items:center; flex-wrap:nowrap; gap:10px;
  min-height:42px; margin:0 0 8px;
  padding:5px 0 7px; border-bottom:1px solid var(--filet);
}
.carte-app .carte-barre .carte-cherche{
  flex:0 1 26rem; min-width:9rem;
  padding-right:12px; border-right:1px solid var(--filet);
  transition:flex-basis .18s ease, min-width .18s ease;
}
.carte-app .carte-barre .carte-cherche.repliee{flex:0 0 30px; min-width:30px}
@media (prefers-reduced-motion: reduce){
  .carte-app .carte-barre .carte-cherche{transition:none}
}
.carte-app .groupe-niveau{display:flex; align-items:center; gap:8px;
  flex:0 1 auto; min-width:0; flex-wrap:nowrap; row-gap:6px}
.carte-app .groupe-niveau .eyebrow{margin:0; flex:none; white-space:nowrap}
.carte-app .segmente{display:flex; flex:none; border:1px solid var(--trait-fort)}
.carte-app .seg-opt{position:relative; display:block}
.carte-app .seg-opt + .seg-opt{border-left:1px solid var(--trait-fort)}
.carte-app .seg-opt input{position:absolute; inset:0; width:100%; height:100%;
  margin:0; opacity:0; cursor:pointer}
.carte-app .seg-opt span{display:block; padding:6px 13px; font-size:13px;
  line-height:1.2; color:var(--ink-2); white-space:nowrap; cursor:pointer}
.carte-app .seg-opt input:checked + span{background:var(--ink); color:var(--plan);
  font-weight:700}
.carte-app .seg-opt input:focus-visible + span{outline:2px solid var(--focus);
  outline-offset:2px}
.carte-app .seg-opt input:disabled + span{color:var(--ink-3); cursor:default}
.carte-app .carte-barre #sel-grandeur{flex:0 1 auto; width:auto; min-width:0;
  max-width:22rem; margin:0;
  padding:4px 2px; border:0; border-bottom:1px solid var(--trait-fort);
  border-radius:0; background:transparent; color:var(--ink); font:inherit;
  font-size:12.5px; text-overflow:ellipsis}
.carte-app .carte-barre #sel-grandeur[hidden]{display:none}
.carte-app .carte-barre .mode-attente{margin:0; font-size:11.5px; color:var(--ink-3);
  white-space:nowrap}
.carte-app .barre-filtrer{
  flex:none; margin-left:10px; display:inline-flex; align-items:center; gap:5px;
  padding:6px 13px; font:inherit; font-size:13px; font-weight:700;
  color:var(--ink); background:transparent;
  border:1px solid var(--trait-fort); border-radius:0; cursor:pointer;
}
.carte-app .barre-filtrer:hover{background:var(--surface)}
.carte-app .barre-filtrer:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .barre-filtrer[aria-expanded="true"]{background:var(--ink); color:var(--plan);
  border-color:var(--ink)}
.carte-app .filtrer-n{font-variant-numeric:tabular-nums; font-weight:700}
.carte-app .filtrer-n[hidden]{display:none}
.carte-app .barre-chips{
  flex:1 1 auto; min-width:0; min-height:26px;
  display:flex; align-items:center; gap:6px; flex-wrap:nowrap;
  overflow-x:auto; overflow-y:hidden; scrollbar-width:thin;
}
.carte-app .barre-chips[hidden]{display:none}
.carte-app .chip{
  flex:none; display:inline-flex; align-items:center; gap:6px;
  max-width:20rem; padding:3px 7px 3px 9px;
  font:inherit; font-size:12px; line-height:1.3; color:var(--ink);
  background:var(--surface); border:1px solid var(--trait-fort); border-radius:0;
  cursor:pointer; white-space:nowrap;
}
.carte-app .chip .chip-n{overflow:hidden; text-overflow:ellipsis}
.carte-app .chip .chip-x{font-size:15px; line-height:1; color:var(--ink-2)}
.carte-app .chip:hover{border-color:var(--ink)}
.carte-app .chip:hover .chip-x{color:var(--ink)}
.carte-app .chip:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .barre-compte{
  flex:none; margin:0; font-size:13px; color:var(--ink-2);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.carte-app .barre-compte b{color:var(--ink)}
.carte-app .barre-compte .compte-nj{color:var(--ink-3); font-size:12px}
.carte-app .carte-popover{
  position:absolute; z-index:7;
  inset:auto auto auto 0; top:calc(100% + 4px); margin:0;
  width:min(26rem, calc(100vw - 24px));
  max-height:min(60vh, 30rem); overflow-y:auto; overscroll-behavior:contain;
  background:var(--surface); border:1px solid var(--trait-fort);
  border-radius:0; padding:.8rem .9rem .9rem;
  color:var(--ink); font-size:13px;
}
.carte-app .carte-popover:not([open]){display:none}
.carte-app .carte-popover:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .popover-tete{display:flex; align-items:baseline; justify-content:space-between;
  gap:10px; margin-bottom:8px; padding-bottom:6px;
  border-bottom:1px solid var(--filet)}
.carte-app .popover-titre{margin:0; font-size:11.5px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--ink); font-weight:700}
.carte-app .carte-popover .modale-fermer{position:static; flex:none}
.carte-app .popover-pied{display:flex; justify-content:flex-start;
  margin-top:10px; padding-top:8px; border-top:1px solid var(--filet)}
.carte-app .btn-effacer{
  padding:5px 11px; font:inherit; font-size:12.5px; color:var(--ink);
  background:transparent; border:1px solid var(--trait-fort); border-radius:0;
  cursor:pointer;
}
.carte-app .btn-effacer:hover{background:var(--plan)}
.carte-app .btn-effacer:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
@container carte (max-width: 820px){
  .carte-app .carte-popover{
    position:fixed; inset:auto 0 0 0; top:auto;
    width:auto; max-width:none; max-height:70vh;
    border-left:0; border-right:0; border-bottom:0;
    padding-bottom:1.2rem;
  }
}
.carte-app .note-repli{margin:8px 0}
.carte-app #note-sources > p{margin:8px 0 0}
.carte-app .note-repli > summary{
  cursor:pointer; list-style:none;
  font-size:11.5px; line-height:1.45; color:var(--ink-2);
  display:flex; align-items:baseline; gap:6px;
}
.carte-app .note-repli > summary::-webkit-details-marker{display:none}
.carte-app .note-repli > summary::before{
  content:"\25B8"; display:inline-block; transition:transform .15s ease; flex:none;
}
.carte-app .note-repli[open] > summary::before{transform:rotate(90deg)}
.carte-app .note-repli > summary:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  .carte-app .note-repli > summary::before{transition:none}
}
.carte-app .fabsent{display:block; margin-top:5px}
.carte-app .filtre{border-top:1px solid var(--trait); padding:9px 0}
.carte-app .filtre:first-child{border-top:0}
.carte-app .filtre > label{font-size:13.5px; line-height:1.4; display:block}
.carte-app .filtre-appartenance{display:flex; align-items:baseline; gap:10px;
  flex-wrap:wrap}
.carte-app .filtre-appartenance > label{flex:none; font-weight:700}
.carte-app .filtre-appartenance > select{flex:1 1 12rem; min-width:0}
.carte-app .filtre-appartenance > .fcompte{flex:1 1 100%}
.carte-app .fcommande{display:flex; gap:6px; align-items:center; margin:5px 0 0;
  flex-wrap:wrap}
.carte-app .fcommande select,
.carte-app .filtre > select{padding:4px 2px; border:0;
  border-bottom:1px solid var(--trait-fort);
  border-radius:0; background:transparent; color:var(--ink); font:inherit;
  font-size:12px; max-width:100%}
.carte-app .fcommande input[type="range"]{flex:1; min-width:90px}
.carte-app .fcommande output{font-variant-numeric:tabular-nums; font-weight:700;
  font-size:13px; min-width:5ch}
.carte-app .fnote{margin-top:3px}
.carte-app .fnote > summary{
  cursor:pointer; list-style:none; display:inline-flex; align-items:baseline; gap:4px;
  font-size:11px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-3); font-weight:600;
}
.carte-app .fnote > summary::-webkit-details-marker{display:none}
.carte-app .fnote > summary::before{
  content:"\25B8"; display:inline-block; transition:transform .15s ease; flex:none;
}
.carte-app .fnote[open] > summary::before{transform:rotate(90deg)}
.carte-app .fnote > summary:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  .carte-app .fnote > summary::before{transition:none}
}
.carte-app .fnote-t{font-size:12px; color:var(--ink-3); line-height:1.5; margin-top:4px}
.carte-app .fcompte{display:block; font-size:12px; color:var(--ink-2); margin-top:5px;
  font-variant-numeric:tabular-nums}
.carte-app .filtres-compte{font-size:12.5px; margin-top:9px; padding-top:8px;
  border-top:1px solid var(--trait-fort); font-variant-numeric:tabular-nums}
.carte-app .rang-ligne{grid-template-columns:1fr auto}
.carte-app .rang-ligne .n small{display:block; font-size:11px; color:var(--ink-3);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.carte-app .rang-ligne .n{white-space:normal}
.carte-app .vide-liste,
.carte-app .liste-coupe{font-size:12px; color:var(--ink-3); padding:8px 4px; line-height:1.45}
.carte-app .communes-p,
.carte-app .perimetre,
.carte-app .regle{font-size:12.5px; color:var(--ink-2); line-height:1.5; margin-bottom:10px}
.carte-app .perimetre{border-left:3px solid var(--trait-fort); padding-left:8px}
.carte-app .precision{font-size:11.5px; color:var(--ink-3); line-height:1.45; margin-top:4px}
.carte-app .rang-ligne-jauge{margin:0; line-height:1.55}
.carte-app .rang-reserve{font-size:12.5px; color:var(--ink-2); line-height:1.5;
  margin:.25rem 0 0}
.carte-app .jauge-rang{
  display:inline-block; vertical-align:middle; margin:0 .35rem;
  overflow:visible;
}
.carte-app .jauge-axe{stroke:var(--trait-fort); stroke-width:1}
.carte-app .jauge-barre{stroke:var(--r2); stroke-width:5; opacity:.55}
.carte-app .jauge-embout{stroke:var(--donnee); stroke-width:1.2}
.carte-app .jauge-point{fill:var(--donnee)}
.carte-app .jauge-borne,
.carte-app .jauge-rang-texte{font-variant-numeric:tabular-nums}
.carte-app .jauge-borne{font-size:7.5px; fill:var(--ink-3)}
.carte-app .jauge-rang-texte{font-size:9.5px; font-weight:600; fill:var(--donnee)}
.carte-app .actions{display:flex; gap:7px; flex-wrap:wrap; margin-top:14px}
.carte-app .bouton-plein{background:var(--accent); color:var(--accent-texte);
  border-color:var(--accent); text-decoration:none}
.carte-app .bouton-plein:hover{background:var(--accent-clair); color:var(--accent-texte)}
.carte-app .bref-groupe,
.carte-app .bref-liste,
.carte-app .bref-cote-vide,
.carte-app .bref-couverture{font-size:12.5px; line-height:1.5; margin-top:6px}
.carte-app .bloc-mesure > .bref-groupe{margin-top:10px}
.carte-app .bloc-mesure > .bref-groupe:first-of-type{margin-top:2px}
.carte-app .bref-titre{
  margin:0; font-size:11px; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:var(--ink-2); border-bottom:0; padding:0;
}
.carte-app .bref-liste{list-style:none; margin:4px 0 0; padding:0}
.carte-app .bref-seuil,
.carte-app .bref-position{
  margin-top:3px; padding-left:15px; position:relative; line-height:1.45;
}
.carte-app .bref-seuil::before,
.carte-app .bref-position::before{
  content:"\2014"; position:absolute; left:0; color:var(--ink-3);
}
.carte-app .bref-liste .bref-seuil::before{content:"\25A0"; color:var(--limite)}
.carte-app .bref-liste .bref-seuil-aucun::before{content:"\25CF"; color:var(--source)}
.carte-app .bref-cote-vide{color:var(--ink-3); margin-top:5px}
.carte-app .vide-non-fondu{border-bottom-style:double}
.carte-app .vide-secret{border-bottom-style:dashed; border-bottom-width:2px}
.carte-app .carte-vide{border:1px dashed var(--trait-fort); border-radius:0;
  padding:26px 18px; text-align:center; color:var(--ink-2); font-size:13px;
  line-height:1.5; margin:0 0 8px}
@container carte (max-width: 820px){
  .carte-app .carte-grille{grid-template-columns:minmax(0, 1fr)}
  .carte-app .carte-grille > *{min-width:0}
}
@container carte (max-width: 1180px){
  .carte-app .carte-grille > *{min-width:0}
}
.carte-app select,
.carte-app input[type="search"],
.carte-app input[type="range"],
.carte-app output{max-width:100%; box-sizing:border-box}
.carte-app select{text-overflow:ellipsis}
.carte-app .panneau,
.carte-app .carte-bloc{min-width:0; overflow-wrap:anywhere}
.carte-app .fcommande{min-width:0}
.carte-app .fcommande select{flex:1 1 100%; min-width:0}
@container carte (max-width: 30rem){
  .carte-app .echelle{min-width:0}
  .carte-app .rampe-cle-tranches span:nth-child(even),
  .carte-app .echelle .ticks span:nth-child(even){visibility:hidden}
}
@media (min-width: 1180px){
  .page-normale .corps > .carte-integree.carte-integree-page{grid-column: 2 / -1}
}
@container carte (max-width: 820px){
  .carte-app .col-carte{order:2; display:flex; flex-direction:column}
  .carte-app .carte-barre .carte-cherche{flex:1 1 100%;
    padding-right:0; border-right:0}
  .carte-app .carte-barre .carte-cherche.repliee{flex:0 0 44px; order:-1}
  .carte-app .carte-barre .carte-cherche.repliee ~ .groupe-niveau{
    flex:1 1 auto; min-width:13rem; flex-wrap:wrap}
  .carte-app .col-carte .carte-bloc{display:contents}
  .carte-app .col-carte .carte-vide{order:1}
  .carte-app .col-carte .carte-vue{order:2; width:100%}
  .carte-app .col-carte .figure-legende{order:4}
  .carte-app .col-carte .carte-barre{order:3; margin:10px 0 0;
    border-bottom:0; border-top:1px solid var(--filet);
    flex-wrap:wrap; row-gap:8px}
  .carte-app .groupe-niveau{flex:1 1 100%; flex-wrap:wrap}
  .carte-app .carte-barre #sel-grandeur{flex:1 1 auto; max-width:100%}
  .carte-app .barre-chips,
  .carte-app .barre-compte{flex:1 1 auto; text-align:right}
}
body[data-page="carte"] .accroche{padding:.3rem 0 .25rem}
body[data-page="carte"] .accroche-tete h1{
  font-size:clamp(1.02rem, 1.2vw, 1.16rem);
  line-height:1.2; letter-spacing:-.012em;
}
.carte-app .visite-corps .chapeau{
  margin:0 0 .5rem; font-size:12.5px; line-height:1.45; color:var(--ink-2);
  max-width:none;
}
body[data-page="carte"] .accroche-tete h1{
  position:absolute; width:1px; height:1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}
body[data-page="carte"] #rampe-cle-profil .profil-rappel-commande{display:none}
.carte-methode{margin:14px 0 0}
.carte-methode .figure-legende{margin-top:0}
.carte-app .col-carte{position:relative}
.carte-app .carte-barre{
  position:absolute; z-index:8; top:10px;
  height:calc(var(--carte-h, 62vh) - 20px);
  left:calc(var(--carte-marge, 0px) + 10px);
  right:calc(var(--carte-marge, 0px) + 10px);
  margin:0; padding:0; min-height:0;
  border-bottom:0; border-top:0;
  display:grid; gap:10px;
  grid-template-columns:minmax(var(--carte-zoom-w, 122px),auto) 1fr minmax(0,auto);
  grid-template-rows:auto 1fr auto;
  pointer-events:none;
}
.carte-app .carte-barre > *{pointer-events:auto}
.carte-app.synthese-dep .carte-barre{
  left:calc(2 * var(--carte-marge, 0px) + 10px); right:10px;
}
.carte-app .carte-barre .carte-cherche,
.carte-app .barre-mesure{
  background:var(--surface); border:1px solid var(--filet);
  padding:.3rem .4rem;
}
.carte-app .carte-barre .carte-cherche{
  grid-area:1 / 1 / 2 / 2; justify-self:start; align-self:start;
  width:24rem; max-width:100%; min-width:9rem;
  border-right:1px solid var(--filet); padding-right:.4rem;
}
.carte-app .carte-barre .carte-cherche.repliee{width:46px; min-width:46px}
.carte-app .barre-mesure{
  grid-area:1 / 3 / 2 / 4; justify-self:end; align-self:start;
  position:relative;
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  justify-content:flex-end; row-gap:6px;
  min-width:0; max-width:100%;
}
.carte-app .barre-mesure .groupe-niveau{flex-wrap:wrap}
.carte-app .barre-mesure > .carte-popover{
  inset:auto 0 auto auto; top:calc(100% + 4px);
}
.carte-app .barre-mesure .barre-chips,
.carte-app .carte-cartouche{
  top:auto; left:auto; right:10px; bottom:12%;
}
.carte-app.legende-marge:not(.synthese-dep) .carte-cartouche:not(.carte-cartouche-zoom){
  left:calc(100% + 12px); right:auto; top:auto; bottom:12%;
  max-width:calc(var(--carte-marge, 0px) - 24px);
}
.carte-app .carte-cartouche-zoom{
  right:auto; bottom:auto;
  left:10px; top:calc(var(--carte-cherche-h, 46px) + 18px);
}
@container carte (min-width: 821px){
  .carte-app.synthese-dep .carte-cartouche:not(.carte-cartouche-zoom){
    left:auto; right:10px; top:auto; bottom:12%;
    max-width:min(19rem, calc(var(--carte-bande, 46%) - 12px));
  }
}
@container carte (max-width: 47rem){
  .carte-app .carte-vue{display:block}
  .carte-app .carte-cartouche{
    position:absolute; width:max-content; min-width:0; max-width:min(19rem, 64%);
    margin:0; pointer-events:auto;
    top:auto; left:auto; right:10px;
    bottom:calc(var(--carte-cherche-h, 40px) + 18px
               + var(--carte-zoom-h, 40px) + 8px);
  }
  .carte-app .carte-cartouche-zoom{
    position:absolute; width:max-content; margin:0;
    top:auto; left:auto; right:10px;
    bottom:calc(var(--carte-cherche-h, 40px) + 18px);
  }
  .carte-app .carte-cartouche.cle-depliee{
    bottom:var(--carte-legende-bas, calc(var(--carte-cherche-h, 40px) + 18px
              + var(--carte-zoom-h, 40px) + 8px));
    max-height:calc(100% - var(--carte-legende-bas, 0px) - 16px);
    overflow-y:auto;
  }
}
.carte-app details:not([open]) > *:not(summary){display:none}
.carte-app .cle-repli > summary{display:none}
.carte-app .cle-repli-nom{
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink); font-weight:700;
}
.carte-app .rampe-cle-etats{
  display:flex; flex-wrap:wrap; gap:.15rem .6rem; margin:.35rem 0 0;
  font-size:.6rem; line-height:1.3; color:var(--ink-2);
}
.carte-app .rampe-cle-etats:empty{display:none}
.carte-app .rampe-cle-etats span{display:inline-flex; align-items:center; gap:.3rem}
.carte-app .rampe-cle-etats i{
  flex:none; width:.62rem; height:.62rem; border-radius:50%;
  border:1px solid var(--trait-fort);
  background:repeating-linear-gradient(90deg,
    var(--ink-3) 0 1px, var(--surface) 1px 4px);
}
.carte-app .rampe-cle-etats i.i-etat-non_fondu{
  background:repeating-linear-gradient(0deg, var(--ink-3) 0 1px, var(--surface) 1px 4px);
}
.carte-app .rampe-cle-etats i.i-etat-secret{
  background:repeating-linear-gradient(45deg, var(--ink-3) 0 2px, var(--surface) 2px 6px);
}
.carte-app .rampe-cle-etats i.i-etat-sans_objet{background:var(--nd)}
.carte-app .rampe-cle-etats i.i-etat-hors_couche{
  background:transparent; border:1.5px solid var(--ink-2);
}
.carte-app .visite{
  position:absolute; left:0; bottom:0; z-index:9;
  width:max-content; max-width:min(20rem, 100%);
  background:var(--surface); border:1px solid var(--trait-fort);
  padding:0; font-size:12.5px; color:var(--ink);
}
.carte-app .visite[hidden]{display:none}
.carte-app .visite > summary{
  display:flex; align-items:center; gap:.45rem;
  padding:.4rem .55rem; cursor:pointer; list-style:none;
  min-height:34px;
}
.carte-app .visite > summary::-webkit-details-marker{display:none}
.carte-app .visite > summary:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .visite-puce{
  flex:none; width:17px; height:17px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--ink); color:var(--plan);
  font-size:11px; font-weight:700; line-height:1;
}
.carte-app .visite-corps{padding:0 .55rem .5rem; border-top:1px solid var(--filet); margin-top:0}
.carte-app .visite-corps > *:first-child{margin-top:.5rem}
.carte-app .visite-etapes{margin:0; padding-left:1.1rem; font-size:12.5px; line-height:1.45}
.carte-app .visite-etapes li{margin:.15rem 0}
.carte-app .visite-plus{margin:.45rem 0 0; font-size:12px}
.carte-app .visite-plus a{color:var(--accent)}
.carte-app .visite-fermer{
  position:absolute; top:0; right:0; width:34px; height:34px; padding:0;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; line-height:1; color:var(--ink-2);
  background:transparent; border:1px solid transparent; border-radius:0;
  cursor:pointer;
}
.carte-app .visite-fermer:hover{color:var(--ink); border-color:var(--filet)}
.carte-app .visite-fermer:focus-visible{outline:2px solid var(--focus); outline-offset:1px}
.carte-app details.visite:not([open]) > .visite-fermer{display:flex}
.carte-app .visite > summary{padding-right:34px}
@container carte (max-width: 820px){
  .carte-app .col-carte{display:block}
  .carte-app .col-carte .carte-bloc{display:block; position:relative}
  .carte-app .col-carte .carte-vue{width:100%; min-height:var(--carte-h, 62vh)}
  .carte-app .col-carte .figure-legende{margin-top:18px}
  .carte-app .cle-repli > summary{
    display:flex; align-items:center; min-height:32px; padding:.1rem .1rem;
    cursor:pointer; list-style:none; pointer-events:auto;
  }
  .carte-app .cle-repli > summary::-webkit-details-marker{display:none}
  .carte-app .cle-repli > summary:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
  .carte-app .carte-cartouche{pointer-events:auto}
  .carte-app .col-carte .carte-barre{
    top:10px; left:10px; right:10px; margin:0;
    border-top:0; border-bottom:0;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:calc(var(--carte-h, 62vh)
                            - var(--carte-feuille-bas, 0px) - 20px)
                       auto 1fr auto;
    row-gap:8px; margin:0; border-top:0;
  }
  .carte-app .carte-barre .carte-cherche{
    grid-area:4 / 1 / 5 / 2; justify-self:stretch; align-self:end;
    width:auto; border-right:0;
  }
  .carte-app .carte-barre .carte-cherche.repliee{
    justify-self:start; width:46px;
  }
  .carte-app .barre-mesure{
    grid-area:2 / 1 / 3 / 2; justify-self:stretch; align-self:start;
    flex-wrap:wrap; row-gap:6px;
  }
  .carte-app .visite{
    left:0; bottom:calc(var(--carte-cherche-h, 40px) + 18px);
    max-width:calc(100% - var(--carte-zoom-w, 152px) - 16px);
  }
  .carte-app .visite[open]{max-width:100%}
  .carte-app .carte-barre .carte-cherche .classement{
    top:auto; bottom:calc(100% + 4px);
  }
  .carte-app .groupe-niveau,
  .carte-app .barre-mesure .groupe-niveau{flex:0 1 auto; min-width:0; flex-wrap:nowrap}
  .carte-app .groupe-niveau > .eyebrow{display:none}
}
.carte-app .rang-ligne-commune .n small{
  white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.35;
}
.carte-app .rang-ligne-commune .v{min-width: 0}
.carte-app .rampe-cle-verite{
  margin:.4rem 0 0; font-size:.66rem; line-height:1.35;
  color:var(--ink-2); font-style:italic;
  border-top:1px solid var(--trait); padding-top:.35rem;
}
.carte-app .rampe-cle-verite[hidden]{display:none}
.carte-app #panneau-fiche .bloc-classement{
  padding:.7rem .8rem; border-left:2px dashed var(--trait-fort);
  margin-bottom:2px;
}
.carte-app .etq-classement{
  font-family:var(--police-ui); font-size:.68rem; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  margin:0 0 .45rem; color:var(--ink-3);
}
.carte-app .classement-ligne{margin:0 0 .35rem; line-height:1.45}
.carte-app .classement-ligne small{
  color:var(--ink-3); font-size:.78em; white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
body[data-page="carte"] #reglage-profil{
  max-height: min(50vh, 26rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.carte-app .barre-mesure{
  transform: translate(var(--mesure-dx, 0px), var(--mesure-dy, 0px));
  padding-left: calc(.4rem + 26px);
  min-height: 44px;
}
.carte-app .mesure-poignee{
  position:absolute; left:0; top:0; bottom:0; width:26px;
  display:flex; align-items:center; justify-content:center;
  margin:0; padding:0; border:0; border-right:1px solid var(--trait);
  background:transparent; color:var(--ink-3);
  cursor:grab; touch-action:none;
}
.carte-app .mesure-poignee svg{fill:currentColor; display:block}
.carte-app .mesure-aide{display:none}
.carte-app .mesure-poignee:hover{color:var(--ink-2); background:var(--surface-2)}
.carte-app .mesure-poignee:focus-visible{outline:2px solid var(--focus); outline-offset:-2px}
.carte-app .barre-mesure .groupe-niveau > .eyebrow{cursor:grab}
.carte-app .barre-mesure.deplace,
.carte-app .barre-mesure.deplace .mesure-poignee,
.carte-app .barre-mesure.deplace .groupe-niveau > .eyebrow{cursor:grabbing}
.carte-app .mesure-remettre{
  position:absolute; top:calc(100% + 4px); left:0; z-index:1;
  font:inherit; font-size:.7rem; line-height:1.2;
  padding:.25rem .45rem; border:1px solid var(--filet);
  background:var(--surface); color:var(--ink-2); cursor:pointer;
  white-space:nowrap;
}
.carte-app .mesure-remettre:hover{color:var(--ink); background:var(--surface-2)}
.carte-app .mesure-remettre[hidden]{display:none}
@media (max-width: 47rem){
  .carte-app .barre-mesure{
    padding-left:.4rem; padding-top: calc(.3rem + 44px);
  }
  .carte-app .mesure-poignee{
    left:0; right:0; top:0; bottom:auto; width:auto; height:44px;
    border-right:0; border-bottom:1px solid var(--trait);
  }
  .carte-app .mesure-poignee svg{transform:rotate(90deg)}
}
.carte-app.mesure-marge:not(.synthese-dep) .barre-mesure{
  position:absolute; top:0; left:calc(100% + 12px); right:auto;
  width:max-content; max-width:calc(var(--carte-marge, 0px) - 14px);
  justify-content:flex-start;
}
.carte-app .barre-mesure .groupe-niveau > .eyebrow{touch-action:none}
body[data-page="carte"] .accroche-tete .chapeau{display:none}
.carte-app .barre-mesure{
  padding-left:.5rem; padding-top:.45rem; transform:none;
  flex-wrap:wrap; align-items:center; gap:.45rem .6rem;
}
@media (max-width: 47rem){
  .carte-app .barre-mesure{ padding-left:.5rem; padding-top:.45rem }
}
.carte-app .carte-date{
  display:inline-flex; flex:none; border:1px solid var(--trait-fort);
}
.carte-app .carte-date[hidden]{display:none}
.carte-app .carte-date .date-opt{
  min-width:4rem; min-height:44px; padding:.35rem .7rem; margin:0;
  font:inherit; font-size:15px; font-weight:600; letter-spacing:.02em;
  background:var(--surface); color:var(--ink-2); border:0; border-radius:0;
  cursor:pointer; touch-action:manipulation;
}
.carte-app .carte-date .date-opt + .date-opt{border-left:1px solid var(--trait-fort)}
.carte-app .carte-date .date-opt[aria-pressed="true"]{background:var(--ink); color:var(--surface)}
.carte-app .carte-date .date-opt:focus-visible{outline:2px solid var(--focus); outline-offset:-3px}
.carte-app .bascule-liste,
.carte-app .bascule-terr,
.carte-app .retour-deps{
  min-height:44px; padding:.35rem .8rem; margin:0;
  font:inherit; font-size:14px; font-weight:600;
  background:var(--surface); color:var(--ink);
  border:1px solid var(--trait-fort); border-radius:0; cursor:pointer;
  touch-action:manipulation;
}
.carte-app .bascule-liste[aria-expanded="true"]{background:var(--ink); color:var(--surface)}
@media (max-width: 47rem){
  .carte-app .carte-date .date-opt{min-width:3.3rem; padding:.35rem .45rem}
  .carte-app .bascule-liste,
  .carte-app .bascule-terr{padding:.35rem .55rem}
}
.carte-app .bascule-liste[hidden],
.carte-app .bascule-terr[hidden],
.carte-app .retour-deps[hidden]{display:none}
.carte-app .retour-deps::before{content:"← "}
.carte-app .carte-echelle{
  flex:1 1 100%; margin:0; font-size:12px; line-height:1.3; color:var(--ink-2);
}
.carte-app .carte-echelle[hidden]{display:none}
.carte-app .echelle-barre,
.carte-app .rampe-cle-degrade{
  display:block; height:10px; width:100%;
  background:linear-gradient(to right in oklab, var(--r0), var(--r1), var(--r2),
    var(--r3), var(--r4), var(--r5), var(--r6));
  border:1px solid var(--trait);
}
.carte-app .echelle-bouts{display:flex; justify-content:space-between; margin-top:2px}
.carte-app .echelle-note{display:block; color:var(--ink-3)}
.carte-app.vue-deps.mesure-marge .carte-cartouche:not(.carte-cartouche-zoom){display:none}
@container carte (max-width: 820px){
  .carte-app.vue-deps .carte-cartouche:not(.carte-cartouche-zoom){display:none}
}
.carte-app #carte path.dep.sel{stroke:var(--ink); stroke-width:calc(2.4 / var(--zoom, 1))}
.carte-app .modale-dep .fiche-titre{font-size:22px; line-height:1.2; margin:0 0 .45rem}
.carte-app .modale-dep .feuille-evolution,
.carte-app .modale-dep .feuille-verdict,
.carte-app .modale-dep .feuille-alertes{margin:.3rem 0; font-size:15px; line-height:1.4}
.carte-app .modale-dep .feuille-alertes{color:var(--ink-2)}
.carte-app .modale-dep .feuille-verdict{font-size:17px}
.carte-app .modale-dep .feuille-note{margin:.2rem 0; font-size:14.5px; line-height:1.4}
.carte-app .modale-dep .feuille-note .feuille-alertes{margin:0; font-size:inherit}
.carte-app .modale-dep .feuille-detail{margin:.55rem 0 .2rem}
.carte-app .modale-dep .feuille-detail > summary{
  cursor:pointer; min-height:44px; display:flex; align-items:center;
  font-size:14px; font-weight:600; color:var(--ink);
}
.carte-app .modale-dep .feuille-detail > summary::-webkit-details-marker{display:none}
.carte-app .modale-dep .feuille-detail > summary::before{content:"▸"; margin-right:.4rem}
.carte-app .modale-dep .feuille-detail[open] > summary::before{content:"▾"}
.carte-app .modale-dep .feuille-detail .fiche-sous{margin:.2rem 0 .4rem}
.carte-app .modale-dep .feuille-page{margin:.4rem 0 0}
.carte-app .modale-dep .actions{margin-top:.5rem}
.carte-app .modale-dep .actions .bouton{min-height:44px; width:100%; font-size:15px}
@container carte (min-width: 821px){
  .carte-app.feuille-dep .carte-modale.modale-dep{
    left:10px; right:auto;
    top:calc(var(--carte-cherche-h, 46px) + var(--carte-zoom-h, 44px) + 36px);
    width:min(22rem, calc(100% - 20px));
    max-height:none; overflow:visible;
  }
  .carte-app.feuille-dep.feuille-droite:not(.feuille-marge) .carte-modale.modale-dep{
    left:auto; right:10px;
  }
  .carte-app.feuille-dep.feuille-marge .carte-modale.modale-dep{
    left:auto; right:calc(100% + 12px); top:10px;
    width:min(22rem, calc(var(--carte-marge, 22rem) - 24px));
  }
}
@container carte (max-width: 820px){
  .carte-app .carte-modale.modale-dep{
    top:auto; bottom:0; width:auto;
    max-height:none; overflow:visible;
    z-index:20;
    border:1px solid var(--trait); border-bottom:0;
    border-radius:14px 14px 0 0;
    box-shadow:0 -6px 24px rgba(0,0,0,.18);
    padding:1rem 1rem 1.1rem;
  }
}
@media (max-width: 47rem){
  .carte-app.feuille-dep .col-carte .carte-barre,
  .carte-app.feuille-dep .carte-cartouche{visibility:hidden}
}
.carte-app .liste-deps{margin:1rem 0 1.5rem}
.carte-app .liste-deps[hidden]{display:none}
.carte-app .liste-deps-titre{font-size:18px; margin:0 0 .5rem}
.carte-app .liste-deps-titre:focus{outline:none}
.carte-app .liste-deps-verdict{font-size:15px; margin:1rem 0 .3rem}
.carte-app .liste-deps-n{font-weight:400; color:var(--ink-3)}
.carte-app .liste-deps-ul{list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(10rem, 1fr)); gap:0 .8rem}
.carte-app .dep-ligne{
  display:flex; align-items:center; gap:.5rem; width:100%; min-height:44px;
  padding:.3rem .2rem; margin:0; text-align:left;
  font:inherit; font-size:15px; color:var(--ink);
  background:transparent; border:0; border-bottom:1px solid var(--trait);
  cursor:pointer; touch-action:manipulation;
}
.carte-app .dep-pastille{flex:none; width:16px; height:16px; border:1px solid var(--trait)}
@container carte (min-width: 821px){
  .carte-app.vue-deps:not(.mesure-marge) .barre-mesure{max-width:20rem}
  .carte-app.vue-deps:not(.mesure-marge) .barre-mesure .carte-echelle{display:none}
}
@media (max-width: 47rem){
  .carte-app .carte-barre #sel-grandeur{flex:1 1 0; min-width:6rem}
  .carte-app .retour-deps{padding:.35rem .6rem}
}
.carte-app .carte-question{flex:1 1 100%; margin:0; min-width:0}
.carte-app .carte-question[hidden]{display:none}
.carte-app .question-titre{margin:0 0 .35rem; font-size:14px; font-weight:700;
  line-height:1.3; color:var(--ink)}
.carte-app .question-choix{display:flex; flex-wrap:wrap; gap:.35rem}
.carte-app .question-opt{
  min-height:44px; padding:.3rem .75rem; margin:0;
  font:inherit; font-size:14px; font-weight:600; line-height:1.2;
  background:var(--surface); color:var(--ink-2);
  border:1px solid var(--trait-fort); border-radius:999px;
  cursor:pointer; touch-action:manipulation;
}
.carte-app .question-opt[aria-pressed="true"]{background:var(--ink); color:var(--surface);
  border-color:var(--ink)}
.carte-app .question-opt:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.carte-app .question-legende{margin:.45rem 0 0; font-size:12.5px; line-height:1.3;
  color:var(--ink-2); display:flex; flex-wrap:wrap; align-items:center; gap:.2rem .7rem}
.carte-app .question-legende[hidden]{display:none}
.carte-app .ql{display:inline-flex; align-items:center; gap:.3rem}
.carte-app .ql-titre{font-weight:600; color:var(--ink)}
.carte-app .ql-cran{display:inline-block; width:14px; height:14px; border:1px solid var(--trait)}
.carte-app .ql .i-etat{position:static}
.carte-app.vue-reponse .carte-cartouche:not(.carte-cartouche-zoom){display:none}
.carte-app.vue-terr #zoom-raz{display:none}
.carte-app .porte-mesure{display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .6rem;
  margin:.4rem 0 .6rem; font-size:13.5px; color:var(--ink-2)}
.carte-app .porte-mesure[hidden]{display:none}
.carte-app .porte-mesure select{max-width:100%; min-height:40px; font:inherit; font-size:14px}
.carte-app .filtre-pastille{
  display:inline-flex; align-items:center; gap:.5rem;
  min-height:44px; padding:.3rem .85rem .3rem .6rem;
  font-size:14px; font-weight:600; line-height:1.25; color:var(--ink);
  border:1px solid var(--trait-fort); border-radius:999px; cursor:pointer;
  background:var(--surface); touch-action:manipulation;
}
.carte-app .filtre-pastille input{
  -webkit-appearance:none; appearance:none; flex:none;
  width:16px; height:16px; margin:0; border:1.5px solid var(--ink-2); border-radius:3px;
  background:var(--surface); cursor:pointer;
}
.carte-app .filtre-pastille input:checked{background:var(--surface);
  box-shadow:inset 0 0 0 3px var(--ink); border-color:var(--surface)}
.carte-app .filtre-pastille:has(input:checked){background:var(--ink); color:var(--surface);
  border-color:var(--ink)}
.carte-app .filtre-pastille input:focus-visible{outline:2px solid var(--focus); outline-offset:3px}
.carte-app .filtre-pastille input:disabled{opacity:.5; cursor:not-allowed}
.carte-app .filtre-pastille:has(input:disabled){color:var(--ink-3); cursor:not-allowed}
.carte-app #liste-filtres .filtre{border-top:0; padding:.3rem 0}
.carte-app .tiers-ligne{margin:.35rem 0 .5rem; font-size:15px; line-height:1.4}
.carte-app .modale-dep .feuille-page a{
  color:var(--accent); font-weight:600;
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em;
  text-decoration-color:color-mix(in srgb, var(--accent) 38%, transparent);
}
.carte-app .modale-dep .feuille-page a:hover{text-decoration-color:var(--accent);
  text-decoration-thickness:2px}
@container carte (min-width: 821px){
  .carte-app.vue-deps.cle-au-large .carte-cartouche:not(.carte-cartouche-zoom){
    left:var(--cle-x); top:var(--cle-y); right:auto; bottom:auto;
  }
}
@container carte (max-width: 47rem){
  .carte-app .col-carte .carte-barre{
    grid-template-rows:calc(var(--carte-h, 62vh) - var(--carte-feuille-bas, 0px) - 20px)
                       auto auto 1fr;
  }
  .carte-app .carte-barre .carte-cherche{
    grid-area:3 / 1 / 4 / 2; align-self:start; justify-self:stretch;
    margin-right:calc(var(--carte-zoom-w, 152px) + 8px);
  }
  .carte-app .carte-barre .carte-cherche.repliee{
    justify-self:start; width:auto; min-width:0; margin-right:0;
  }
  .carte-app .carte-cartouche-zoom{
    top:var(--carte-rangee-y, auto); bottom:auto; right:10px;
  }
  .carte-app .carte-cartouche:not(.carte-cartouche-zoom):not(.cle-depliee){
    top:var(--carte-rangee-y, auto); bottom:auto;
    right:calc(var(--carte-zoom-w, 152px) + 18px);
  }
}
.carte-app.vue-terr .barre-mesure .retour-deps{order:0}
.carte-app.vue-terr .barre-mesure .barre-filtrer{order:1}
.carte-app.vue-terr .barre-mesure .carte-question{order:2}
.carte-app.vue-terr .barre-mesure .barre-chips{order:3}
.carte-app.vue-terr .barre-mesure .barre-compte{order:4}
@container carte (max-width: 47rem){
  .carte-app #carte{max-height:calc(var(--carte-h, 62vh) - var(--carte-sous-trace, 0px))}
}
@container carte (max-width: 820px){
  .carte-app.fiche-terr .carte-modale:not(.modale-dep){
    top:auto; bottom:0; max-height:none; overflow:visible; z-index:20;
    border:1px solid var(--trait); border-bottom:0;
    border-radius:14px 14px 0 0;
    box-shadow:0 -6px 24px rgba(0,0,0,.18);
    padding:1rem 1rem 1.1rem; font-size:14px;
  }
  .carte-app.fiche-terr .carte-modale .fiche-titre{font-size:19px; line-height:1.2; margin:0 0 .3rem}
  .carte-app.fiche-terr .carte-modale .bref-titre{margin-top:.4rem}
  .carte-app.fiche-terr .carte-modale .actions{margin-top:.6rem}
}
@media (max-width: 47rem){
  .carte-app.fiche-terr .col-carte .carte-barre,
  .carte-app.fiche-terr .carte-cartouche{visibility:hidden}
}
.carte-app.vue-terr .barre-mesure .retour-deps{margin-left:0; margin-right:auto}
.carte-app.vue-terr.sans-filtre .barre-compte{display:none}
.carte-app .ql-crans{display:inline-flex}
.carte-app .ql-crans .ql-cran + .ql-cran{border-left:0}
.carte-app .ql-crans .ql-cran{width:22px}
@container carte (max-width: 47rem){
  .carte-app .carte-barre .carte-cherche{border-right:1px solid var(--filet)}
}
@container carte (max-width: 820px){
  .carte-app .barre-mesure > .carte-popover{inset:auto 0 0 0; top:auto}
}
@container carte (max-width: 47rem){
  .carte-app.vue-terr .carte-cartouche-zoom{display:none}
}
.carte-app .filtre > label.filtre-pastille{display:inline-flex}
@container carte (max-width: 820px){
  .carte-app .barre-mesure > .carte-popover{z-index:45}
}
.carte-app .bref-panneau.bref-court .bref-titre{display:none}
.carte-app .bref-panneau.bref-court .bref-groupe{margin:0 0 .35rem}
.carte-app .bref-panneau:not(.bref-deplie) .bref-liste > li:nth-child(n+2),
.carte-app .bref-panneau:not(.bref-deplie) .bref-couverture,
.carte-app .bref-panneau:not(.bref-deplie) .etq-mesure{display:none}
.carte-app .bref-tout{
  margin:.35rem 0 0; padding:.2rem 0; min-height:44px; font:inherit; font-size:14px;
  font-weight:600; color:var(--accent); background:none; border:0; cursor:pointer;
  text-decoration:underline; text-underline-offset:.2em;
  text-decoration-color:color-mix(in srgb, var(--accent) 38%, transparent);
}
.carte-app .bref-tout::after{content:" ▸"}
.carte-app .bref-tout[aria-expanded="true"]::after{content:" ▾"}
.carte-app .fnote-unique{margin:.5rem 0 .2rem}
.carte-app .fnote-liste{margin:.3rem 0 0; padding-left:1rem; font-size:12px;
  color:var(--ink-3); line-height:1.5}
.carte-app .fnote-liste li{margin-bottom:.3rem}

.apercu-carte{--r0:#e2f0df;--r1:#d4e5a6;--r2:#d5d546;--r3:#e5b74a;--r4:#df9b58;--r5:#cd7f63;--r6:#b55a61;}
@media (prefers-color-scheme: dark){
:root:not([data-theme="clair"]) .apercu-carte{--r0:#e2f0df;--r1:#d4e5a6;--r2:#d5d546;--r3:#e5b74a;--r4:#df9b58;--r5:#cd7f63;--r6:#b55a61;}
}
:root[data-theme="sombre"] .apercu-carte{--r0:#e2f0df;--r1:#d4e5a6;--r2:#d5d546;--r3:#e5b74a;--r4:#df9b58;--r5:#cd7f63;--r6:#b55a61;}
.apercu-carte .apercu-svg path{fill:var(--c2076);animation:ap-temps 4s ease-in-out both}
@keyframes ap-temps{0.0%,15.0%{fill:var(--c2026)}25.0%,40.0%{fill:var(--c2050)}50.0%,100.0%{fill:var(--c2076)}}
.apercu-carte .ap-an-2026{visibility:hidden;animation:ap-an-2026 4s linear both}
@keyframes ap-an-2026{0.00%,19.99%{visibility:visible}20.00%,100%{visibility:hidden}}
.apercu-carte .ap-an-2050{visibility:hidden;animation:ap-an-2050 4s linear both}
@keyframes ap-an-2050{0%,19.99%{visibility:hidden}20.00%,44.99%{visibility:visible}45.00%,100%{visibility:hidden}}
.apercu-carte .ap-an-2076{visibility:visible;animation:ap-an-2076 4s linear both}
@keyframes ap-an-2076{0%,44.99%{visibility:hidden}45.00%,100.00%{visibility:visible}}
.apercu-carte.ap-boucle .apercu-svg path,.apercu-carte.ap-boucle .ap-an{animation-iteration-count:infinite}
.apercu-carte.ap-pause .apercu-svg path,.apercu-carte.ap-pause .ap-an{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.apercu-carte .apercu-svg path,.apercu-carte .ap-an{animation:none}.apercu-carte .apercu-temoin{display:none}}
.apercu-carte .apercu-echelle-barre{background:linear-gradient(to right in oklab, var(--r0), var(--r1), var(--r2), var(--r3), var(--r4), var(--r5), var(--r6))}

body[data-page^="territoire-"] .corps > * { max-width: 54rem; }
@media (min-width: 1180px) {
  body[data-page^="territoire-"] .page-normale .corps {
    grid-template-columns: 14rem minmax(0, 54rem) 1fr;
  }
}
body[data-page^="territoire-"] .entete-page {
  margin-bottom: .3rem;
}
body[data-page^="territoire-"] .entete-page h1 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.08;
  margin: 0 0 .3rem;
}
body[data-page^="territoire-"] .entete-page .chapeau {
  font-size: 1rem;
  line-height: 1.45;
  margin: 0;
}
body[data-page^="territoire-"] .entete-page .meta-page { margin: .35rem 0 0; }
body[data-page^="territoire-"] .prose > :first-child { margin-top: .6rem; }
.appartenance {
  font-family: var(--police-ui);
  font-size: .95rem;
  font-variant-caps: all-small-caps;
  letter-spacing: .07em;
  color: var(--texte-attenue);
  line-height: 1.35;
  margin: 0 0 .2rem;
}
.fourchette {
  font-family: var(--police-ui);
  font-size: .84rem;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--texte-attenue);
}
.etq-couverture {
  display: block;
  font-family: var(--police-ui);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--texte-tres-attenue);
  margin: 0 0 .5rem;
}
.precision {
  font-family: var(--police-ui);
  font-size: .8rem;
  color: var(--texte-tres-attenue);
  line-height: 1.5;
  margin: .5rem 0 0;
}
details.regle {
  font-family: var(--police-ui);
  font-size: .78rem;
  color: var(--texte-tres-attenue);
  line-height: 1.5;
  margin: .55rem 0 0;
}
details.regle summary { cursor: pointer; color: var(--accent); }
.actions-fiche {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .55rem 0 .75rem;
  font-family: var(--police-ui);
}
.figures-herite { margin: 0 0 1.4rem; padding: .5rem 1.05rem 1rem; }
.figures-herite .graphique { margin: .7rem 0 0; }
.figures-herite .graphique:first-of-type { margin-top: .15rem; }
.figures-herite .etq { line-height: 1.3; margin: 0 0 .2rem; }
.figures-herite .graphique svg { max-width: 100%; height: auto; }
.figures-herite .graphique-rang svg { max-width: 40rem; }
.figures-herite .graphique-legende { margin-top: .35rem; }
.porte-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .2rem 1rem;
  border: 1px solid var(--filet-noir);
  border-radius: var(--rayon);
  padding: 1.05rem 1.25rem;
  margin: .4rem 0 1rem;
  text-decoration: none;
  color: inherit;
  background: var(--fond-encadre);
  transition: background .18s, border-color .18s;
}
.prose a.porte-detail, .prose a.porte-detail:hover { text-decoration: none; }
.porte-detail:hover { background: var(--fond-attenue); }
.porte-titre {
  font-family: var(--police-titre);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.porte-quoi {
  grid-column: 1;
  font-family: var(--police-ui);
  font-size: .84rem;
  line-height: 1.5;
  color: var(--texte-attenue);
}
.porte-fleche {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-size: 1.6rem;
  color: var(--accent);
}
.retour-synthese {
  font-family: var(--police-ui);
  font-size: .86rem;
  font-weight: 600;
  margin: 0 0 .8rem;
}
.retour-synthese.retour-bas { margin: 2.2rem 0 0; }
.btn {
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  padding: .62rem 1.05rem;
  border-radius: var(--rayon);
  text-decoration: none;
  border: 1px solid var(--filet-noir);
  color: var(--texte);
  background: transparent;
  cursor: pointer;
  transition: border-color .18s, background .18s, color .18s;
}
.prose a.btn, .prose a.btn:hover { text-decoration: none; }
.btn:hover { background: var(--texte); color: var(--fond); border-color: var(--filet-noir); }
.btn-p { background: var(--accent-vif); color: var(--accent-texte); border-color: var(--accent-vif); }
.btn-p:hover { background: var(--accent-clair); color: var(--accent-texte); border-color: var(--accent-clair); }
.regime {
  font-family: var(--police-ui);
  font-size: .86rem;
  line-height: 1.55;
  background: var(--source-fond);
  border-left: 2px solid var(--source);
  border-radius: 0 var(--rayon) var(--rayon) 0;
  padding: .65rem .95rem;
  margin: 1rem 0 1.3rem;
}
.mesures .val { font-family: var(--police-ui); font-weight: 700; }
.mesures .rep { font-family: var(--police-ui); font-size: .8rem; line-height: 1.45; }
.mesures .src {
  font-family: var(--police-ui);
  font-size: .75rem;
  color: var(--texte-tres-attenue);
  line-height: 1.45;
}
.mesures tbody th { font-weight: 600; width: 28%; text-align: left; vertical-align: top;
                    padding: .62rem .85rem; border-bottom: 1px solid var(--trait); }
.rep .depasse { color: var(--limite); }
.rep .depasse::before { content: "\25A0\00A0"; }
.rep .conv { color: var(--convention); }
.rep .conv::before { content: "\25C6\00A0"; }
.rep .ok { color: var(--source); }
.rep .ok::before { content: "\25CF\00A0"; }
.rep .aucun { color: var(--texte-tres-attenue); }
.rep .aucun::before { content: "\25CB\00A0"; }
.mesures tr.derivee th {
  font-weight: 400;
  padding-left: 2rem;
  font-size: .86rem;
  color: var(--texte-attenue);
}
.mesures tr.derivee th::before { content: "\21B3\00A0"; color: var(--texte-tres-attenue); }
.mesures tr.derivee td { font-size: .86rem; }
@media (max-width: 47.99rem) {
  .table-defilante { border: 0; background: none; }
  .mesures, .mesures tbody, .mesures tr, .mesures th, .mesures td {
    display: block;
    width: auto;
  }
  .mesures thead { position: absolute; left: -9999px; }
  .mesures tbody tr {
    border: 1px solid var(--trait);
    border-radius: var(--rayon);
    background: var(--fond-encadre);
    padding: .7rem .85rem;
    margin: .65rem 0;
  }
  .mesures tbody tr.derivee {
    border: 0;
    background: none;
    margin: .15rem 0 .15rem 1rem;
    padding: 0;
  }
  .mesures th, .mesures td { border: 0; padding: .14rem 0; }
  .mesures tbody th { width: auto; font-size: .96rem; padding: .14rem 0; }
  .mesures .val { font-size: 1.15rem; display: block; }
  .mesures tbody tr:hover { background: var(--fond-encadre); }
  .h-tab, .h-tab tbody, .h-tab tr, .h-tab th, .h-tab td {
    display: block;
    width: auto;
  }
  .h-tab thead { position: absolute; left: -9999px; }
  .h-tab tbody tr {
    border: 1px solid var(--trait);
    border-radius: var(--rayon);
    padding: .6rem .8rem;
    margin: .55rem 0;
  }
  .h-tab th, .h-tab td { border: 0; padding: .12rem 0; text-align: left; }
  .h-tab tbody th { width: auto; }
  .h-tab td[data-horizon]::before {
    content: attr(data-horizon) "\00A0: ";
    color: var(--texte-attenue);
  }
}
.enveloppe-h { padding: 1rem 1.15rem; margin: 1.3rem 0; }
.rang-long.rang-ligne-jauge { margin: .3rem 0 .4rem; font-size: 1.05rem; }
.rang-reserve-tete { margin: .2rem 0 .9rem; }
.bloc-herite .rappel {
  font-family: var(--police-ui);
  font-size: .82rem;
  color: var(--texte-attenue);
  font-style: italic;
  margin: 1rem 0 0;
  padding-top: .7rem;
  border-top: 1px dashed var(--trait-marque);
}
.h-tab { font-family: var(--police-ui); font-size: .84rem; }
.h-tab th, .h-tab td { text-align: right; }
.h-tab th:first-child, .h-tab td:first-child { text-align: left; }
.h-tab tbody th {
  font-weight: 600;
  padding: .5rem .8rem;
  border-bottom: 1px solid var(--trait);
  vertical-align: top;
}
.h-tab tr.proche { background: var(--fond-encadre); }
.h-tab tr.proche th, .h-tab tr.proche td { font-weight: 700; }
.prose .h-tab tbody tr td.horizon-courant,
.prose .h-tab tbody tr th.horizon-courant,
.h-tab td.horizon-courant,
.h-tab th.horizon-courant { background: var(--fond-attenue); }
.h-tab .attente { text-align: center; color: var(--texte-tres-attenue); }
.h-tab .src { font-family: var(--police-ui); font-size: .74rem; font-weight: 400;
              color: var(--texte-tres-attenue); }
.bloc-herite.pourquoi { margin: 1.3rem 0; padding: 1rem 1.15rem; }
.bloc-herite.pourquoi p { font-size: .95rem; }
tr[data-priorite="haute"] th::after,
h3[data-priorite="haute"]::after {
  content: " priorité de votre profil";
  font-family: var(--police-ui);
  font-size: .64rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--accent);
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: .05rem .45rem;
  margin-left: .5rem;
  white-space: nowrap;
}
.verif { list-style: none; padding: 0; margin: 1rem 0 1.4rem; }
.verif li {
  border-left: 2px solid var(--attention);
  background: var(--attention-fond);
  padding: .65rem .95rem;
  margin: .55rem 0;
  border-radius: 0 var(--rayon) var(--rayon) 0;
}
.verif b { font-family: var(--police-ui); font-size: .9rem; }
.verif span {
  display: block;
  font-family: var(--police-ui);
  font-size: .8rem;
  color: var(--texte-attenue);
  line-height: 1.5;
  margin-top: .2rem;
}
ol.suite { margin: .8rem 0 1.2rem; padding-left: 1.3rem; }
ol.suite li { margin: .5rem 0; }
.reglage-fiche {
  display: grid;
  gap: 1rem;
  padding: 1rem 0 1.2rem;
  font-family: var(--police-ui);
  font-size: .86rem;
}
@media (min-width: 48rem) {
  .reglage-fiche { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
}
.reglage-fiche fieldset { border: 1px solid var(--trait); border-radius: var(--rayon);
                          padding: .6rem .8rem .8rem; margin: 0; min-width: 0; }
.reglage-fiche legend { font-size: .74rem; text-transform: uppercase;
                        letter-spacing: .07em; font-weight: 700;
                        color: var(--texte-attenue); padding: 0 .3rem; }
.reglage-fiche .groupe-horizon { display: flex; gap: 0; flex-wrap: wrap; }
.reglage-fiche .groupe-horizon button {
  font: inherit;
  font-size: .8rem;
  background: var(--fond-attenue);
  border: 1px solid var(--trait);
  color: var(--texte-attenue);
  padding: .34rem .75rem;
  cursor: pointer;
}
.reglage-fiche .groupe-horizon button:hover { border-color: var(--filet-noir); color: var(--texte); }
.reglage-fiche .groupe-horizon button[aria-pressed="true"] {
  background: var(--texte);
  color: var(--fond);
  border-color: var(--filet-noir);
  font-weight: 700;
}
.reglage-fiche input[type="range"] { width: 100%; accent-color: var(--accent); }
.reglage-fiche .crans {
  display: flex;
  justify-content: space-between;
  font-size: .68rem;
  color: var(--texte-tres-attenue);
}
.reglage-fiche .aide { color: var(--texte-tres-attenue); font-size: .76rem;
                       line-height: 1.45; margin: .4rem 0 0; }
.bref-fiche { display: grid; gap: 1.1rem; margin: 0 0 2rem; }
.bref-fiche > * { min-width: 0; }
.bref-fiche .bloc-herite, .bref-fiche .bloc-mesure { margin: 0; min-width: 0; }
.bref-rang { margin: .35rem 0 0; line-height: 1.55; }
.bref-seuils { margin: .35rem 0 0; line-height: 1.55; }
.bref-cote-vide { font-weight: 400; font-family: inherit; font-size: 1rem;
                  line-height: 1.55; letter-spacing: 0; }
ul.bref-liste { margin: 0; padding-left: 1.15rem; }
ul.bref-liste li { line-height: 1.5; margin: .2rem 0; }
.bref-regle, .bref-ignorance {
  font-family: var(--police-ui);
  font-size: .8rem;
  color: var(--texte-tres-attenue);
  line-height: 1.5;
  margin: .7rem 0 0;
}
ul.familles-mesure { list-style: none; margin: 1.2rem 0 0; padding: 0; }
li.famille-mesure { margin: 0 0 1.6rem; }
section.famille {
  border-top: 1px solid var(--filet-noir);
  padding: .1rem 0 0;
}
section.famille > h3 {
  font-size: 1.02rem;
  margin: .7rem 0 0;
}
.compte-famille {
  font-family: var(--police-ui);
  font-size: .8rem;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--texte-attenue);
  white-space: normal;
}
.famille-corps { padding: .35rem 0 .8rem; }
.famille-corps > :first-child { margin-top: .8rem; }
.famille-corps .table-defilante { margin-left: 0; margin-right: 0; }
@media print {
  .actions-fiche, .reglage-fiche { display: none; }
  .mesures tbody tr { break-inside: avoid; }
  details::details-content {
    content-visibility: visible !important;
    block-size: auto !important;
    height: auto !important;
  }
  section.famille { break-inside: auto; }
  .bref-fiche { break-inside: avoid; }
  .porte-detail { border-color: var(--trait); background: none; }
}
.index-departement {
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  background: var(--fond-encadre);
  margin: .35rem 0;
  padding: .5rem .85rem;
}
.index-departement summary {
  cursor: pointer;
  font-family: var(--police-ui);
  font-size: .9rem;
  font-weight: 600;
  color: var(--texte-attenue);
}
.index-departement[open] summary { color: var(--accent); margin-bottom: .5rem; }
ul.index-territoires {
  list-style: none;
  margin: .3rem 0 .2rem;
  padding: 0;
  display: grid;
  gap: .25rem .9rem;
}
@media (min-width: 48rem) {
  ul.index-territoires { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
ul.index-territoires li { font-size: .92rem; line-height: 1.4; }
ul.index-territoires .src {
  font-family: var(--police-ui);
  font-size: .74rem;
  color: var(--texte-tres-attenue);
  white-space: nowrap;
}
body[data-page^="territoire-"] .prose > .figures-herite,
body[data-page^="territoire-"] .prose > ul.familles-mesure,
body[data-page^="territoire-"] .prose > .enveloppe-h,
body[data-page^="territoire-"] .prose > .actions-fiche,
body[data-page^="territoire-"] .prose > details.section-repli,
body[data-page^="territoire-"] .prose > .porte-detail { max-width: none; }
body[data-page^="territoire-"] .prose .table-defilante,
body[data-page^="territoire-"] .prose figure.graphique,
body[data-page^="territoire-"] .prose .graphique-cadre {
  max-width: none;
  width: 100%;
}
.figures-herite .graphique-profil svg { width: 100%; height: auto; }
.figures-herite .graphique-rang svg { max-width: 44rem; }
body[data-page^="territoire-"] .prose h2[id],
body[data-page^="territoire-"] .prose h3[id],
body[data-page^="territoire-"] .prose [id^="retour"] { scroll-margin-top: 4rem; }
body[data-page^="territoire-"] .prose .retour-bas { margin-top: 24rem; }
@media (max-width: 700px) {
  body[data-page^="territoire-"] .figures-herite .graphique svg {
    min-width: 0;
    width: 100%;
  }
}
body[data-page^="territoire-"] .bref-fiche { display: block; margin: .2rem 0 1.6rem; }
body[data-page^="territoire-"] .bref-fiche > .bloc-mesure {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}
body[data-page^="territoire-"] .bref-fiche h2 { margin: 1.4rem 0 .4rem; }
body[data-page^="territoire-"] .bref-fiche h2:first-child { margin-top: .4rem; }
body[data-page^="territoire-"] .bref-fiche h2[title] { cursor: help; }
.bref-liste { list-style: none; padding: 0; margin: 0; }
.bref-liste li {
  margin: 0 0 .45rem;
  padding: 0 0 0 1rem;
  line-height: 1.5;
  position: relative;
}
.bref-liste li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--texte-tres-attenue);
}
.bref-liste b { font-family: var(--police-ui); }
.bref-liste .bref-seuil::before { content: "\25A0"; color: var(--limite); }
.bref-liste .bref-seuil-aucun::before { content: "\25CF"; color: var(--source); }
.bref-cote-vide {
  margin: .1rem 0 .45rem;
  color: var(--texte-attenue);
}
.bref-vides-lourds { margin: .6rem 0 0; }
.bref-regle {
  font-family: var(--police-ui);
  font-size: .78rem;
  color: var(--texte-tres-attenue);
  margin: .7rem 0 0;
}
.verif-tete { margin: .8rem 0 .2rem; }
.verif li > details.pourquoi { margin: .25rem 0 0; }
.verif li > details.pourquoi > summary {
  font-family: var(--police-ui);
  font-size: .78rem;
  color: var(--texte-tres-attenue);
}
.verif li > details.pourquoi > p {
  font-size: .88rem;
  line-height: 1.5;
  color: var(--texte-attenue);
  margin: .3rem 0 0;
}
.porte-parcelle { margin: 1rem 0 1.4rem; }
.carte-departement { margin: .4rem 0 1.6rem; }
.carte-departement .rang-ligne-jauge {
  font-size: 1.05rem;
  line-height: 1.45;
  margin: 0 0 .25rem;
}
.carte-departement .rang-reserve {
  margin: 0 0 .4rem;
  color: var(--texte-attenue);
  font-size: .92rem;
}
.carte-departement .reglage { margin: 0 0 .6rem; }
.carte-departement .graphique { margin: .4rem 0 0; }
.carte-departement details.regle { margin: .5rem 0 0; }
.portes-fiche {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .9rem;
  margin: 1.2rem 0 1.6rem;
}
.portes-fiche .porte-detail {
  display: inline-block;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-family: var(--police-ui);
  font-weight: 700;
  font-size: 1rem;
  background: none;
}
.prose .portes-fiche a.porte-detail { text-decoration: underline; }
.portes-fiche .porte-detail:hover { background: none; color: var(--accent); }
.communes-repli, .limites-fiche { margin: .3rem 0 1.4rem; }
.communes-repli > summary, .limites-fiche > summary {
  font-family: var(--police-ui);
  font-weight: 600;
  cursor: pointer;
}
.limites-fiche {
  border: 1px solid var(--trait);
  border-radius: var(--rayon);
  padding: .7rem .95rem;
}
.limites-fiche > summary { color: var(--texte-attenue); }
.limites-fiche[open] > summary { margin-bottom: .5rem; }
.communes-repli[open] > summary { margin-bottom: .4rem; }
.chapeau-detail { margin: .8rem 0 .4rem; }
.couverture-fiche {
  font-family: var(--police-ui);
  font-size: .95rem;
  margin: .3rem 0 .4rem;
}
.regle-comptage { margin: 0 0 1rem; }
.verdict {
  margin: .3rem 0 .7rem;
  padding: 0 0 0 .9rem;
  border-left: 3px solid var(--trait-marque);
}
.verdict .verdict-liste { list-style: none; padding: 0; margin: 0; }
.verdict .verdict-liste li {
  margin: 0 0 .35rem;
  line-height: 1.5;
}
.verdict .verdict-liste b { font-family: var(--police-ui); }
.verdict .verdict-phrase { margin: 0 0 .35rem; line-height: 1.5; }
.verdict .verdict-manque, .verdict .verdict-vide {
  color: var(--texte-attenue);
  font-size: .92rem;
}
.verdict > :last-child { margin-bottom: 0; }
.famille-table > summary {
  font-family: var(--police-ui);
  font-size: .88rem;
  color: var(--texte-attenue);
  cursor: pointer;
  padding: .2rem 0;
}
.famille-table[open] > summary { color: var(--texte); }
.section-repli { margin: .4rem 0 1.4rem; }
.section-repli > summary {
  font-family: var(--police-ui);
  font-weight: 600;
  cursor: pointer;
  padding: .2rem 0;
}
@media print {
  .famille-table > summary, .section-repli > summary,
  .communes-repli > summary, .limites-fiche > summary,
  .verif details.pourquoi > summary, .regle-comptage > summary {
    font-weight: 700;
    color: var(--texte);
  }
  .verdict { break-inside: avoid; }
}
.bref-fiche.bref-replie .bref-liste > li:nth-child(n+2) { display: none; }
.bref-fiche .bref-tout {
  display: inline-flex; align-items: center; min-height: 44px; margin: .2rem 0 .4rem;
  padding: 0 .9rem; border: 1px solid var(--trait-marque); border-radius: 999px;
  background: var(--fond); color: var(--texte); font: inherit; font-weight: 600;
  cursor: pointer;
}
.bref-fiche .bref-tout[hidden] { display: none; }
.bref-fiche .bref-liste > li { margin-bottom: .45rem; }
.tiers-territoire { margin: 1.4rem 0; }
.tiers-territoire .tiers-titre { font-weight: 600; margin: 0 0 .4rem; }
.tiers-territoire .tiers-liste { margin: 0 0 .4rem; padding-left: 1.1rem; }
.tiers-territoire .tiers-liste li { margin-bottom: .25rem; }
@media (max-width: 699px) {
  .carte-locale-tete:not([data-carte-etat="peinte"]):not([hidden]) { min-height: 15rem; }
}
.bref-fiche.bref-replie .bref-regle { display: none; }

body[data-page^="departement-"] .corps > * { max-width: 54rem; }
@media (min-width: 1180px) {
  body[data-page^="departement-"] .page-normale .corps {
    grid-template-columns: 14rem minmax(0, 54rem) 1fr;
  }
}
body[data-page^="departement-"] .prose > figure.graphique,
body[data-page^="departement-"] .prose > .carte-departement,
body[data-page^="departement-"] .prose .graphique-cadre { max-width: none; width: 100%; }
body[data-page^="departement-"] .prose h2[id] { scroll-margin-top: 4rem; }
body[data-page^="departement-"] .prose > :first-child { margin-top: .6rem; }
body[data-page^="departement-"] .entete-page h1 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.08;
  margin: 0 0 .3rem;
}
@media (max-width: 700px) {
  body[data-page^="departement-"] .prose figure.graphique svg,
  .niveau-departement .graphique svg { min-width: 0; width: 100%; }
}
body[data-page^="departement-"] .prose figure.graphique { margin: .7rem 0 .2rem; }
.dep-territoires-tete { font-family: var(--police-ui); font-size: .85rem;
  color: var(--texte-attenue); margin: .2rem 0 .8rem; }
ul.dep-territoires { list-style: none; padding: 0; margin: 0 0 1.6rem; }
ul.dep-territoires li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .1rem;
  padding: .5rem 0;
  border-top: 1px solid var(--trait);
}
ul.dep-territoires li:last-child { border-bottom: 1px solid var(--trait); }
ul.dep-territoires a { font-weight: 600; }
.dep-teaser, .dep-cheval {
  font-family: var(--police-ui);
  font-size: .8rem;
  color: var(--texte-attenue);
  line-height: 1.45;
}
.dep-cheval { color: var(--texte-tres-attenue); font-style: italic; }
@media (min-width: 820px) {
  ul.dep-territoires li {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    column-gap: 1rem;
  }
  .dep-cheval { grid-column: 1 / -1; }
}
.dep-derives { margin: .6rem 0 0; }
.dep-derive { font-size: .95rem; line-height: 1.5; margin: .25rem 0 0; }
.dep-porte { margin: .1rem 0 .6rem; font-family: var(--police-ui); }
.dep-eau { margin: 0 0 1.4rem; line-height: 1.6; }
.dep-eau .etincelle { vertical-align: middle; margin: 0 .15rem; }
.etincelle-trait { stroke: var(--donnee); stroke-width: 1.6;
  stroke-linejoin: round; stroke-linecap: round; }
.etincelle-point { fill: var(--donnee); }
.schema-niveaux { display: block; width: 100%; max-width: 20rem; height: auto; }
.schema-niveaux .sn-departement {
  fill: none; stroke: var(--donnee); stroke-width: 2;
}
.schema-niveaux .sn-territoire { fill: var(--trait); stroke: none; }
.schema-niveaux .sn-etiq {
  font-family: var(--police-ui); font-size: 13px; fill: var(--texte-attenue);
}
.schema-niveaux .sn-etiq-haut { fill: var(--donnee); }
.schema-niveaux .sn-marque { font-weight: 700; fill: var(--texte); }
.schema-doctrine svg { width: auto; min-width: 0; max-width: 20rem; margin: 0; }
.niveaux-chapeau { margin: .8rem 0 1rem; }
.niveaux-dessin { margin: .8rem 0 0; }
.niveaux-dessin .schema-niveaux { max-width: 30rem; }
.niveau-departement { display: block; min-width: 0; margin: .8rem 0 1rem; }
.niveau-departement .figures-herite { margin: .6rem 0 .2rem; padding: 0; }
.niveau-departement .graphique-cadre { max-width: none; width: 100%; }
.niveau-departement .graphique svg { width: 100%; max-width: 100%; height: auto; }
.niveau-departement .rang-ligne-jauge { margin: 0 0 .3rem; font-size: .95rem; }
.niveau-phrase { margin: .3rem 0 0; line-height: 1.55; }
.niveau-domaines {
  margin: .5rem 0 0;
  font-family: var(--police-ui);
  font-size: .9rem;
  line-height: 1.7;
  color: var(--texte-attenue);
}
.niveau-domaines a { color: var(--texte); }
.niveaux-porte { margin: .7rem 0 0; font-family: var(--police-ui); font-size: .9rem; }
.niveaux-porte a { display: inline; }
.niveaux-porte-sep { display: inline-block; margin: 0 .7rem; }
.index-porte { margin: .35rem 0 .5rem; font-family: var(--police-ui);
  font-size: .85rem; }
.prose > .dep-index { max-width: none; }
.dep-index {
  list-style: none;
  margin: 1.2rem 0 2rem;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .1rem .5rem;
}
@media (min-width: 700px) { .dep-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .1rem 2rem; } }
@media (min-width: 1180px) { .dep-index { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dep-index-ligne {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  min-width: 0;
  padding: .28rem .1rem;
  border-bottom: 1px solid var(--trait);
}
.dep-index-nom {
  font-family: var(--police-ui);
  font-size: .92rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.dep-index-code { color: var(--texte-tres-attenue); }
.dep-index-jauge { flex: 0 0 auto; line-height: 0; }
.carte-locale {
  margin: .2rem 0 1rem;
}
.carte-locale-svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 56vh;
  background: var(--fond);
  touch-action: pan-x pan-y;
}
.carte-locale-forme {
  fill: var(--fond-attenue);
  stroke: var(--trait-marque);
  stroke-width: 1;
  stroke-linejoin: round;
  transition: fill .12s ease;
}
.carte-locale-lien { cursor: pointer; }
.carte-locale-lien:focus { outline: none; }
.carte-locale-lien:focus-visible .carte-locale-forme,
.carte-locale-forme.est-vise {
  fill: var(--accent-fond);
  stroke: var(--accent);
  stroke-width: 1.8;
}
.carte-locale-limite {
  fill: none;
  stroke: var(--donnee);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 7 5;
  pointer-events: none;
}
.carte-locale-nom {
  margin: .35rem 0 0;
  min-height: 1.4em;
  font-family: var(--police-ui);
  font-size: .9rem;
  color: var(--texte-attenue);
}
.carte-locale[data-carte-etat="peinte"] .carte-locale-nom:not(:empty) { color: var(--texte); }
@media (max-width: 30rem) {
  .carte-locale { margin: .2rem 0 .8rem; }
  .carte-locale-nom { font-size: .85rem; }
  .carte-locale-forme { stroke-width: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  .carte-locale-forme { transition: none; }
}
.dep-essentiel { margin: .4rem 0 1rem; }
.dep-essentiel p { margin: 0 0 .7rem; font-size: 1.2rem; line-height: 1.4; }
.dep-essentiel .dep-evolution { font-weight: 600; font-size: 1.4rem; line-height: 1.3; }
.dep-essentiel .dep-alertes { color: var(--texte-attenue); font-size: 1rem; }
.dep-essentiel .dep-verdict { font-weight: 600; font-size: 1.4rem; line-height: 1.3; }
.dep-essentiel .dep-note { font-size: 1.05rem; margin: 0 0 .4rem; }
.dep-detail { margin: 0 0 2.2rem; }
.dep-detail > summary {
  display: inline-flex; align-items: center; min-height: 44px; cursor: pointer;
  color: var(--lien, var(--texte)); font-weight: 600;
}
.dep-detail[open] > summary { margin-bottom: .6rem; }
.dep-detail > .appartenance { margin-top: 0; }
.dep-detail .dep-verdict-regle { margin: 0 0 .8rem; }
@media (max-width: 600px) {
  .carte-locale-departement .carte-locale-svg { min-height: 17rem; }
}
