/* Observatoire électoral du Millénaire · vote anticipé USA 2026.
   S'appuie sur accueil/polices.css et accueil/theme.css (jetons nuit et jour, typographie de la charte).
   Couleurs de l'inscription partisane validées (outil dataviz, 18/10/2026) :
   nuit #5b98d4 #2f9e7a #bc8a2e #dd4f5b sur #121a2c ; jour #2456a8 #1a8a5f #b8892a #c0341c sur #fbf8f2.
   Écart daltonien bas entre or et rouge en mode nuit, contraste de l'or en mode jour : chaque segment
   porte donc son libellé et sa valeur, avec un espace de 2 px entre segments. */
:root{--va-neutre:#8a8e99;--va-dem:#5b98d4;--va-sp:#2f9e7a;--va-aut:#bc8a2e;--va-rep:#dd4f5b;--va-2022:#8a8e99;--va-2024:#a99be0;--va-cercle:#d6b56a}
html[data-theme="jour"]{--va-neutre:#b9b4aa;--va-dem:#2456a8;--va-sp:#1a8a5f;--va-aut:#b8892a;--va-rep:#c0341c;--va-2022:#7a7f8c;--va-2024:#6a55b5;--va-cercle:#6b5a2e}
*{box-sizing:border-box}
body.va{margin:0}
.va .pp{max-width:1120px}
.va .pp-intro{padding:56px 0 30px}
.va .pp-intro h1{font-size:clamp(38px,5.6vw,72px)}
.va-langue{display:inline-flex;gap:14px;margin-right:120px;font:600 11px var(--mono);letter-spacing:.2em;text-transform:uppercase}
.va-langue a{color:var(--encre2);text-decoration:none}.va-langue a[aria-current]{color:var(--accent)}
.va-principes{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding:0;list-style:none}
.va-principes li{border:1px solid var(--trait2);border-radius:2px;padding:5px 10px;font:500 11px/1.4 var(--mono);color:var(--encre2);letter-spacing:.04em}
/* Sélecteur d'État */
.va-etats{display:flex;flex-wrap:wrap;gap:8px;padding:26px 0 8px}
.va-etat{appearance:none;background:var(--carte);border:1px solid var(--trait2);color:var(--encre);border-radius:2px;padding:9px 13px;min-height:44px;cursor:pointer;
  font:600 13px var(--txt);display:inline-flex;align-items:center;gap:8px}
.va-etat small{font:500 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.va-etat:hover{border-color:var(--accent)}
.va-etat[aria-pressed="true"]{background:var(--accent);color:var(--accent-texte);border-color:var(--accent)}
.va-etat[aria-pressed="true"] small{color:var(--accent-texte);opacity:.75}
.va-choix{display:none;width:100%;min-height:44px;background:var(--carte);color:var(--encre);border:1px solid var(--trait2);padding:8px 10px;font:600 15px var(--txt)}
/* Bandeaux */
.va-bandeau{margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--carte);font-size:13.5px;color:var(--encre2)}
.va-bandeau.alerte{border-left-color:var(--mod)}
.va-bandeau b{color:var(--encre)}
/* Tuiles */
.va-tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:color-mix(in srgb,var(--accent) 25%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);margin-top:22px}
.va-tuile{background:var(--carte);padding:20px 20px 18px;display:flex;flex-direction:column;gap:8px;min-width:0;container-type:inline-size}
.va-tuile b{font:400 44px/1 var(--chiffre);color:var(--encre);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:min(44px,19cqi)}
.va-tuile.grande{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,transparent),color-mix(in srgb,var(--accent) 4%,transparent)),var(--carte)}
.va-tuile.grande b{color:var(--accent);font-weight:700;font-size:min(56px,19cqi)}
.va-tuile span{font:600 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--encre2)}
.va-tuile em{font:400 12.5px/1.45 var(--txt);font-style:normal;color:var(--gris)}
.va-date{margin:12px 0 0;font:500 11.5px/1.6 var(--mono);color:var(--gris)}
.va-date b{color:var(--encre2);font-weight:600}
/* Blocs */
.va .pp-bloc{grid-template-columns:200px 1fr}
.va-note{font-size:12.5px;color:var(--gris);margin:10px 0 0;max-width:72ch}
.va-mention{display:inline-block;margin-top:12px;padding:6px 10px;border:1px solid var(--trait2);font:600 11px/1.5 var(--mono);color:var(--encre);letter-spacing:.02em}
/* Courbe */
.va-courbe svg{width:100%;height:auto;display:block;overflow:visible}
.va-courbe .axe{stroke:var(--trait2);stroke-width:1}
.va-courbe .grille{stroke:var(--trait);stroke-width:1}
.va-courbe text{fill:var(--gris);font:500 11px var(--mono)}
.va-courbe .l2026{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.va-courbe .l2022{fill:none;stroke:var(--va-2022);stroke-width:2;stroke-dasharray:6 5}
.va-courbe .p2026{fill:var(--accent);stroke:var(--carte);stroke-width:2}
.va-courbe .p2022{fill:var(--carte);stroke:var(--va-2022);stroke-width:2}
.va-courbe .l2024{fill:none;stroke:var(--va-2024);stroke-width:2;stroke-dasharray:1.5 4;stroke-linecap:round}
.va-courbe .p2024{fill:var(--carte);stroke:var(--va-2024);stroke-width:2}
.va-courbe .etiq{font:600 12px var(--txt)}
.va-courbe .curseur{stroke:var(--encre2);stroke-width:1;stroke-dasharray:2 3}
.va-legende{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 10px;font:500 12px var(--txt);color:var(--encre2)}
.va-legende i{display:inline-block;width:22px;height:0;border-top:2.5px solid var(--accent);vertical-align:middle;margin-right:7px}
.va-legende i.l22{border-top:2px dashed var(--va-2022)}
.va-legende i.l24{border-top:2.5px dotted var(--va-2024)}
.va-tuiles-cmp{margin-top:-1px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.va-tuiles-cmp .va-tuile b{font-size:min(34px,19cqi)}
.va-cmp em strong{font-weight:600;color:var(--encre)}
/* Inscription */
.va-barre{display:flex;gap:2px;height:30px;margin-top:6px}
.va-barre div{min-width:2px;border-radius:2px}
.va-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;margin-top:14px;padding:0;list-style:none}
.va-parts li{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--encre2)}
.va-parts li i{width:12px;height:12px;border-radius:2px;flex:none;margin-top:4px}
.va-parts li b{display:block;color:var(--encre);font:600 15px var(--txt);font-variant-numeric:tabular-nums}
/* Carte */
.va-carte{position:relative}
.va-carte svg{width:100%;height:auto;display:block;max-height:640px}
.va-carte .comte{fill:var(--carte2);stroke:var(--trait2);stroke-width:.8;vector-effect:non-scaling-stroke}
.va-carte .comte.np{fill:url(#va-hachure)}
.va-carte .cercle{fill:color-mix(in srgb,var(--va-cercle) 55%,transparent);stroke:var(--va-cercle);stroke-width:1.2;vector-effect:non-scaling-stroke}
.va-carte .cercle:hover,.va-carte .cercle.actif{fill:var(--va-cercle)}
.va-carte .comte:hover{fill:color-mix(in srgb,var(--accent) 18%,var(--carte2))}
.va-carte .comte.v24:hover{stroke:var(--encre);stroke-width:1.6}
.va-leg-24{margin-top:10px;flex-wrap:wrap}.va-leg-24 b{font-weight:600;flex-basis:100%}
.va-echelle{display:flex;gap:18px;align-items:flex-end;margin-top:8px;font:500 11px var(--mono);color:var(--gris)}
.va-echelle svg{overflow:visible}
.va-bulle{position:absolute;pointer-events:none;background:var(--nuit2);border:1px solid var(--trait2);padding:8px 10px;font-size:12.5px;color:var(--encre);
  border-radius:2px;white-space:nowrap;z-index:5;box-shadow:0 6px 18px rgba(0,0,0,.25);display:none}
.va-bulle b{font:600 12px var(--txt)}.va-bulle span{display:block;color:var(--encre2);font-variant-numeric:tabular-nums}
/* Tableau */
.va-outils{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.va-outils input{flex:1 1 200px;min-height:40px;background:var(--carte);border:1px solid var(--trait2);color:var(--encre);padding:8px 10px;font:500 14px var(--txt);border-radius:2px}
.va-bouton{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border:1px solid var(--accent);background:transparent;color:var(--accent);
  font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:none;border-radius:2px}
.va-bouton:hover{background:var(--accent);color:var(--accent-texte)}
.va-table-boite{max-height:520px;overflow:auto;border:1px solid var(--trait2)}
.va-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.va-table th{position:sticky;top:0;background:var(--carte2);text-align:right;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--encre2);
  padding:10px 12px;border-bottom:1px solid var(--trait2);cursor:pointer;white-space:nowrap}
.va-table th:first-child,.va-table td:first-child{text-align:left}
.va-table th[aria-sort] {color:var(--accent)}
.va-table td{padding:7px 12px;border-bottom:1px solid var(--trait);text-align:right;color:var(--encre)}
.va-table tr:hover td{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.va-table .np{color:var(--gris);font-style:italic}
/* Sources */
#va-sources dl{display:grid;grid-template-columns:170px 1fr;gap:8px 18px;margin:0;font-size:13px}
#va-sources dt{font:600 10px/1.9 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
#va-sources dd{margin:0;color:var(--encre2);overflow-wrap:anywhere;min-width:0}
#va-sources a{word-break:break-all}
#va-sources a{color:var(--accent)}
#va-sources code{font:500 11px var(--mono);color:var(--encre2)}
.va-couverture{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.va-couverture li{font-size:13px;color:var(--encre2)}.va-couverture b{color:var(--encre)}
/* Intégration */
dialog.va-dialogue{background:var(--carte);color:var(--encre);border:1px solid var(--trait2);max-width:min(640px,92vw);padding:22px}
dialog.va-dialogue::backdrop{background:rgba(0,0,0,.55)}
dialog.va-dialogue textarea{width:100%;min-height:96px;background:var(--nuit2);color:var(--encre);border:1px solid var(--trait2);font:500 12px var(--mono);padding:10px}
dialog.va-dialogue .rangee{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}
.va .pied{padding-bottom:30px}
.va[data-integrer] .pp-tete,.va[data-integrer] .pp-intro,.va[data-integrer] .va-hors-integration,.va[data-integrer] .bascule{display:none}
.va[data-integrer] .pp{padding-bottom:16px}
.va[data-integrer] .va-etats{padding-top:12px}
.va-signature{display:none;margin-top:14px;font:500 11px var(--mono);color:var(--gris)}
.va[data-integrer] .va-signature{display:block}
.va-signature a{color:var(--accent)}
@media (max-width:760px){
  .va .pp-bloc{grid-template-columns:1fr}
  .va-etats .va-etat{display:none}.va-choix{display:block}
  .va-tuile b{font-size:min(34px,19cqi)}.va-tuile.grande b{font-size:min(42px,19cqi)}
  #va-sources dl{grid-template-columns:1fr;gap:2px 0}#va-sources dd{margin-bottom:10px}
  .va-langue{margin-right:110px;gap:10px}
  .pp-marque{display:none}
}
@media print{.bascule,.va-outils,.va-etats{display:none}}
.va .mention-legale{font:400 11.5px/1.6 var(--txt);color:var(--gris);max-width:80ch;margin:0}
/* Estimation du Millénaire : bloc séparé des chiffres officiels */
.va-est{border:1px dashed var(--trait2);border-radius:6px;padding:18px 20px;margin-top:28px}
.va-est .pp-bloc-tete h2::after{content:"";}
.va-est-kicker{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.va-est-chiffre{display:flex;flex-direction:column;gap:4px;margin:0 0 10px}
.va-est-chiffre span{font-size:14px;color:var(--encre2)}
.va-est-chiffre b{font-family:var(--chiffre);font-weight:700;font-size:clamp(30px,5vw,44px);line-height:1.1}
.va-est-liste{margin:10px 0;padding-left:18px;font-size:14px;line-height:1.55;color:var(--encre2)}
.va-est-formule{font-size:14px;color:var(--encre2);margin:8px 0}
.va-est-formule summary{cursor:pointer;color:var(--encre)}
.va-modes{display:flex;gap:6px;margin:0 0 10px;flex-wrap:wrap}
.va-modes button{font:inherit;font-size:13px;padding:6px 12px;border:1px solid var(--trait2);background:transparent;color:var(--encre2);border-radius:4px;cursor:pointer}
.va-modes button[aria-pressed="true"]{background:var(--accent);color:var(--accent-texte);border-color:var(--accent)}
.va-leg-ins{display:flex;align-items:center;gap:8px;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--encre2);margin-top:8px}
.va-leg-ins[hidden]{display:none}
.va-leg-ins i{display:block;width:90px;height:10px;border-radius:2px;background:linear-gradient(90deg,var(--va-rep),var(--va-neutre))}
.va-leg-ins i.d{background:linear-gradient(90deg,var(--va-neutre),var(--va-dem))}

.va-insc-cmp-boite{margin-top:18px}
.va-insc-cmp{width:100%;border-collapse:collapse;font:400 13px var(--txt);color:var(--encre);font-variant-numeric:tabular-nums}
.va-insc-cmp caption{text-align:left;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--encre2);padding-bottom:8px}
.va-insc-cmp th,.va-insc-cmp td{padding:8px 6px;border-bottom:1px solid var(--trait);text-align:right;white-space:nowrap}
.va-insc-cmp thead th{font:600 11.5px var(--txt);color:var(--encre2)}
.va-insc-cmp thead th i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:1px}
.va-insc-cmp tbody th{text-align:left;font-weight:600}
.va-insc-cmp tbody th small{display:block;font:400 11px var(--txt);color:var(--gris)}
.va-insc-cmp tr.cur td,.va-insc-cmp tr.cur th{background:color-mix(in srgb,var(--accent) 8%,transparent)}
@media (max-width:600px){.va-insc-cmp{font-size:12px}.va-insc-cmp th,.va-insc-cmp td{padding:7px 3px;white-space:normal}.va-insc-cmp thead th i{display:block;margin:0 0 3px auto}}
