/* ============================================================
   LES DEUX JOURNEES EN BONHOMMES (3.68.0)
   « La journee du joueur » et « Le responsable de terrain » :
   un petit bonhomme fait les gestes (badge, pave de 16 touches,
   telephone). Le dessin est construit par media/js/journees.js.
   Tout est confine sous .vex-journee ; un seul theme sombre, comme
   l'animation des liaisons et la page du Master.
   LISIBLE SANS LES COULEURS : une equipe est toujours ECRITE
   (ORANGE, BLEU), une touche appuyee a un bord epais, un etat
   reussi porte un ✓ - la couleur ne fait que doubler.
   ============================================================ */
.vex-journee {
  color-scheme: dark;
  --bg: #0f1211;
  --panneau: #161a19;
  --trait: #2b3331;
  --texte: #ece6d8;
  --doux: #9aa4a0;
  --or: #d6a93f;
  --or-clair: #f0cf7a;
  --orange: #e8832a;
  --bleu: #3b7ddd;
  --rouge: #c62828;
  --ecran: #0b0e0d;
  --titre: 'Arial Narrow', 'Roboto Condensed', 'Helvetica Neue', Arial, sans-serif;
  --corps: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  background: var(--bg); color: var(--texte); font-family: var(--corps); font-size: 15px; line-height: 1.5;
  border-radius: 14px; padding: 18px 16px 20px; margin: 18px 0 26px; display: flex; flex-direction: column; gap: 12px;
}
.vex-journee *, .vex-journee *::before, .vex-journee *::after { box-sizing: border-box; }
.vex-journee .vj-sansjs { margin: 0; color: var(--doux); }
.vex-journee .vj-tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 10px 24px; }
.vex-journee .vj-sur { font-family: var(--titre); font-weight: 700; color: var(--or); letter-spacing: .16em; text-transform: uppercase; font-size: 13px; margin: 0 0 4px; background: none; border: 0; padding: 0; }
.vex-journee .vj-titre { color: var(--texte); padding: 0; border: 0; background: none; font-family: var(--titre); font-weight: 800; font-size: clamp(24px, 3.6vw, 34px); letter-spacing: .02em; margin: 0; line-height: 1.05; }
.vex-journee .vj-commandes { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.vex-journee button { font: 600 14px/1 var(--corps); color: var(--texte); background: var(--panneau); border: 1px solid var(--trait); border-radius: 8px; padding: 9px 13px; cursor: pointer; margin: 0; text-transform: none; box-shadow: none; }
.vex-journee button:hover { border-color: var(--or); background: var(--panneau); color: var(--texte); }
.vex-journee button:focus-visible { outline: 2px solid var(--or-clair); outline-offset: 2px; }
.vex-journee .vj-scenes { display: flex; flex-wrap: wrap; gap: 6px; }
.vex-journee .vj-scene { font-family: var(--titre); font-weight: 700; letter-spacing: .03em; font-size: 14.5px; padding: 8px 11px; }
.vex-journee .vj-scene .n { opacity: .75; margin-right: 6px; }
/* L'etape en cours : fond plein ET bord epais, pas seulement une teinte */
.vex-journee .vj-scene[aria-current="step"] { background: var(--or); color: #1a1405; border: 2px solid var(--or-clair); padding: 7px 10px; }
.vex-journee .vj-scene[aria-current="step"]:hover { background: var(--or); color: #1a1405; }
.vex-journee .vj-scene-cours { display: block; height: 3px; margin-top: 6px; background: rgba(26, 20, 5, .25); border-radius: 2px; overflow: hidden; }
.vex-journee .vj-scene-cours i { display: block; height: 100%; width: 0; background: #1a1405; }
.vex-journee .vj-scene:not([aria-current="step"]) .vj-scene-cours { display: none; }

.vex-journee .vj-plateau { background: var(--panneau); border: 1px solid var(--trait); border-radius: 14px; overflow-x: auto; }
.vex-journee .vj-plateau > svg { display: block; width: 100%; min-width: 600px; height: auto; }
.vex-journee .vj-glisser { display: none; color: var(--doux); font-size: 12.5px; margin: 0; }
@media (max-width: 620px) { .vex-journee .vj-glisser { display: block; } }
.vex-journee .vj-recit { background: var(--panneau); border: 1px solid var(--trait); border-radius: 14px; padding: 14px 18px; min-height: 118px; }
.vex-journee .vj-etape { font-family: var(--titre); color: var(--or); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 12px; margin: 0; }
.vex-journee .vj-recit h3 { color: var(--texte); padding: 0; border: 0; background: none; font-family: var(--titre); font-weight: 800; font-size: 23px; margin: 0 0 4px; letter-spacing: .02em; }
.vex-journee .vj-recit p { margin: 0; max-width: 70ch; color: var(--texte); }
.vex-journee .vj-note { color: var(--doux); font-size: 13px; margin: 0; background: none; border: 0; padding: 0; }
@media (max-width: 620px) { .vex-journee .vj-scene-titre { display: none; } .vex-journee .vj-scene .n { margin: 0; opacity: 1; } }

/* ---------- le dessin ---------- */
.vex-journee svg text { font-family: var(--corps); fill: var(--texte); stroke: none; }
.vex-journee .sol { fill: #1b211f; }
.vex-journee .sol-ligne { stroke: #36403d; stroke-width: 2; }
.vex-journee .herbe { stroke: #3d4a44; stroke-width: 2; stroke-linecap: round; fill: none; }
.vex-journee .arbre-tronc { fill: #2e2a24; }
.vex-journee .arbre { fill: #23302a; stroke: #31443b; stroke-width: 2; }
.vex-journee .soleil { fill: var(--or); }
.vex-journee .etiq { font-family: var(--titre); font-weight: 700; font-size: 17px; letter-spacing: .1em; fill: var(--doux); text-transform: uppercase; }
.vex-journee .etiq-grand { font-family: var(--titre); font-weight: 800; font-size: 22px; letter-spacing: .06em; fill: var(--texte); }
.vex-journee .nom-b { font-family: var(--titre); font-weight: 700; font-size: 15px; letter-spacing: .08em; fill: var(--doux); text-anchor: middle; }

/* le bonhomme */
.vex-journee .bh-trait { fill: none; stroke: var(--texte); stroke-width: 5.5; stroke-linecap: round; stroke-linejoin: round; }
.vex-journee .bh-tete { fill: var(--texte); stroke: var(--texte); stroke-width: 4; }
.vex-journee .bh-visage { fill: none; stroke: #1a1405; stroke-width: 2.4; stroke-linecap: round; }
.vex-journee .bh-oeil { fill: #1a1405; }
.vex-journee .bh-ombre { fill: #000; opacity: .35; }
.vex-journee .bh-casquette { fill: var(--or); stroke: #1a1405; stroke-width: 1.5; }
.vex-journee .bh-sac { fill: #3a4441; stroke: var(--texte); stroke-width: 2.5; }
.vex-journee .bh-brassard { stroke: #fff; stroke-width: 1.5; }
.vex-journee .bh-equipe { font-family: var(--titre); font-weight: 800; font-size: 15px; letter-spacing: .08em; text-anchor: middle; }

/* objets */
.vex-journee .carte-badge { fill: #f4efe2; stroke: #1a1405; stroke-width: 1.5; }
.vex-journee .carte-puce { fill: var(--or); }
.vex-journee .borne-pied { fill: #2b3331; stroke: #4a5552; stroke-width: 2; }
.vex-journee .borne-tete { fill: #1d2322; stroke: var(--or); stroke-width: 2.5; }
.vex-journee .borne-ecran { fill: var(--ecran); stroke: #3a4441; stroke-width: 1.5; }
.vex-journee .borne-txt { font-size: 11px; font-weight: 700; fill: var(--texte); text-anchor: middle; }
.vex-journee .lecteur { fill: none; stroke: var(--doux); stroke-width: 2; stroke-linecap: round; }
.vex-journee .onde-badge { fill: none; stroke: var(--or-clair); stroke-width: 3; stroke-linecap: round; }
.vex-journee .touche { fill: #262d2b; stroke: #4a5552; stroke-width: 1.5; }
.vex-journee .touche-txt { font-family: var(--titre); font-weight: 800; font-size: 26px; fill: var(--texte); text-anchor: middle; dominant-baseline: central; }
/* Une touche appuyee : bord epais clair, fond plus clair, et elle s'enfonce */
.vex-journee .touche.app { fill: #4a3d18; stroke: var(--or-clair); stroke-width: 5; }
.vex-journee .petite-touche { fill: #262d2b; stroke: #4a5552; stroke-width: .8; }
.vex-journee .petite-touche.app { fill: var(--or-clair); stroke: #fff; stroke-width: 1.5; }
.vex-journee .boitier { fill: #1d2322; stroke: #4a5552; stroke-width: 2; }
.vex-journee .boitier-or { fill: #262012; stroke: var(--or); stroke-width: 2.5; }
.vex-journee .boitier-txt { font-family: var(--titre); font-weight: 800; font-size: 13px; letter-spacing: .06em; fill: var(--texte); text-anchor: middle; dominant-baseline: central; }
.vex-journee .radio { fill: none; stroke: #8fb6c9; stroke-width: 2.4; stroke-dasharray: 7 6; stroke-linecap: round; }
.vex-journee .wifi { fill: none; stroke: #b9c7a0; stroke-width: 2.4; stroke-dasharray: 1.5 6; stroke-linecap: round; }
.vex-journee .g4 { fill: none; stroke: #e7e2d6; stroke-width: 3.2; stroke-linecap: round; }
.vex-journee .arc-onde { fill: none; stroke: #8fb6c9; stroke-width: 3; stroke-linecap: round; }
.vex-journee .paquet { fill: var(--or); stroke: #1a1405; stroke-width: 1.5; }
.vex-journee .paquet-txt { font-size: 12px; font-weight: 800; fill: #1a1405; text-anchor: middle; dominant-baseline: central; }
.vex-journee .nuage { fill: #222a28; stroke: var(--texte); stroke-width: 2.5; }

/* bulles et ecrans */
.vex-journee .bulle { fill: #f4efe2; stroke: #1a1405; stroke-width: 2; }
.vex-journee .bulle-txt { font-family: var(--titre); font-weight: 700; font-size: 19px; fill: #1a1405; text-anchor: middle; dominant-baseline: central; }
.vex-journee .tel-corps { fill: #050606; stroke: #5d6764; stroke-width: 3; }
.vex-journee .tel-ecran { fill: #f6f3ea; }
.vex-journee .zoom { stroke: var(--doux); stroke-width: 1.5; stroke-dasharray: 4 5; fill: none; }
.vex-journee .ui-barre { fill: #1a1f1e; }
.vex-journee .ui-barre-txt { font-size: 15px; font-weight: 700; fill: #f6f3ea; }
.vex-journee .ui-h { font-family: var(--titre); font-weight: 800; font-size: 22px; fill: #1a1f1e; }
.vex-journee .ui-t { font-size: 15px; fill: #2c3331; }
.vex-journee .ui-petit { font-size: 13px; fill: #59625f; }
.vex-journee .ui-champ { fill: #fff; stroke: #9aa4a0; stroke-width: 1.5; }
.vex-journee .ui-champ.actif { stroke: #1a1f1e; stroke-width: 3; }
.vex-journee .ui-valeur { font-size: 16px; font-weight: 600; fill: #1a1f1e; }
.vex-journee .ui-bouton { fill: #1a1f1e; stroke: #1a1f1e; stroke-width: 2; }
.vex-journee .ui-bouton.app { fill: #3a4441; stroke: var(--or); stroke-width: 4; }
.vex-journee .ui-bouton-txt { font-size: 16px; font-weight: 800; fill: #f6f3ea; text-anchor: middle; dominant-baseline: central; }
.vex-journee .ui-choix { fill: #fff; stroke: #9aa4a0; stroke-width: 1.5; }
.vex-journee .ui-choix.choisi { fill: #fdf3d8; stroke: #1a1f1e; stroke-width: 4; }
.vex-journee .ui-ok { font-family: var(--titre); font-weight: 800; font-size: 22px; fill: #1d6b2f; }
.vex-journee .ui-ok-fond { fill: #e3f1e4; stroke: #1d6b2f; stroke-width: 2.5; }
.vex-journee .ui-barre-fond { fill: #e2ddd0; }
.vex-journee .ui-barre-plein { fill: #1a1f1e; }
.vex-journee .ui-seuil { stroke: #c62828; stroke-width: 3; stroke-dasharray: 4 3; }
.vex-journee .doigt { fill: rgba(26, 31, 30, .28); stroke: #1a1f1e; stroke-width: 2.5; }
.vex-journee .ronde { fill: none; stroke: #1a1f1e; stroke-width: 2; }
.vex-journee .galon { fill: var(--or); stroke: #1a1405; stroke-width: 2; }
.vex-journee .confetti-a { fill: var(--or-clair); }
.vex-journee .confetti-b { fill: var(--orange); }
.vex-journee .confetti-c { fill: #8fb6c9; }
.vex-journee .cible { fill: #1d2322; stroke: #4a5552; stroke-width: 3; }
.vex-journee .cible.active { fill: #1c3357; stroke: #f6f3ea; stroke-width: 6; }
.vex-journee .cible.touchee { fill: #1d2322; stroke: var(--or-clair); stroke-width: 3; }
.vex-journee .cible-txt { font-family: var(--titre); font-weight: 800; font-size: 26px; text-anchor: middle; dominant-baseline: central; fill: var(--texte); }
.vex-journee .bille { fill: #f6f3ea; }
.vex-journee .lieu-mat { stroke: #4a5552; stroke-width: 5; stroke-linecap: round; }
.vex-journee .lieu-tete { fill: #1d2322; stroke: #4a5552; stroke-width: 3; }
.vex-journee .jauge-fond { fill: #1d2322; stroke: #4a5552; stroke-width: 2; }
.vex-journee .caisse { fill: #4b3b25; stroke: #1a1405; stroke-width: 2.5; }
.vex-journee .caisse-txt { font-family: var(--titre); font-weight: 800; font-size: 15px; fill: #f4efe2; text-anchor: middle; letter-spacing: .06em; }
.vex-journee .camion { fill: #3a4441; stroke: #1a1405; stroke-width: 2.5; }
.vex-journee .roue { fill: #0b0e0d; stroke: #5d6764; stroke-width: 3; }
.vex-journee .carte-terrain { fill: #17201c; stroke: #31443b; stroke-width: 2; }
.vex-journee .portee { fill: none; stroke: #8fb6c9; stroke-width: 2.5; stroke-dasharray: 10 8; }
.vex-journee .sim { fill: #f4efe2; stroke: #1a1405; stroke-width: 2; }
.vex-journee .tente { fill: #2e3a35; stroke: #4f625a; stroke-width: 2.5; }
.vex-journee .table { fill: #2e2a24; stroke: #4a4238; stroke-width: 2; }
.vex-journee .vapeur { fill: none; stroke: var(--doux); stroke-width: 2; stroke-linecap: round; }
.vex-journee .tasse { fill: #f4efe2; stroke: #1a1405; stroke-width: 1.5; }
@media (prefers-reduced-motion: reduce) { .vex-journee * { transition: none !important; } }

/* ---------- 3.76.0 : sur telephone ----------
   Sous 600 px de large, journees.js ne montre plus le plateau entier
   reduit, mais une fenetre qui suit l'action (vj-etroit) : plus de
   largeur minimale, plus rien a faire glisser. Et l'animation prend
   tout l'ecran du telephone, d'un bord a l'autre. */
.vex-journee .vj-plateau.vj-etroit { overflow: hidden; }
.vex-journee .vj-plateau.vj-etroit > svg { min-width: 0; aspect-ratio: 420 / 540; }
/* La hauteur ne bouge plus quand une scene elargit sa fenetre (cam.l) :
   le dessin plus large se range dedans, un peu plus petit, et le texte
   sous l'animation ne saute pas. */
.vex-journee:has(.vj-plateau.vj-etroit) .vj-glisser { display: none; }
@media (max-width: 560px) {
  .vex-journee { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); border-radius: 0; padding-left: 8px; padding-right: 8px; }
}

/* ---------- 3.77.0 : le badge dans chaque jeu ----------
   Medecin, base, Bombe, VIP, Demolition, Mastodonte (a venir), qui a
   fait quoi, le colonel. Toujours lisible sans les couleurs : chaque
   etat est ECRIT (SOIGNÉ, REMIS EN JEU, AMORCÉE, DÉMOLI, À TERRE, PV,
   TEMPS), la couleur ne fait que doubler. */
.vex-journee .mal { fill: var(--orange); stroke: #1a1405; stroke-width: 2.5; }
.vex-journee .mal-poignee { fill: none; stroke: #0b0e0d; stroke-width: 4.5; stroke-linejoin: round; }
.vex-journee .mal-poignee-fond { fill: none; stroke: #f4efe2; stroke-width: 8; stroke-linejoin: round; }
.vex-journee .mal-lecteur { fill: #1a1405; stroke: #f4efe2; stroke-width: 1.2; }
.vex-journee .medic-boite { fill: #b3261e; stroke: #f4efe2; stroke-width: 2.5; }
.vex-journee .medic-croix { fill: #f4efe2; }
.vex-journee .base-txt { font-family: var(--titre); font-weight: 800; font-size: 11px; letter-spacing: .06em; fill: #1a1405; text-anchor: middle; dominant-baseline: central; }
.vex-journee .jauge-pv { fill: #3fb950; }
.vex-journee .jauge-temps { fill: #8fb6c9; }
.vex-journee .jauge-lib { font-family: var(--titre); font-weight: 800; font-size: 13px; letter-spacing: .06em; fill: var(--or-clair); }
.vex-journee .gain { font-family: var(--titre); font-weight: 800; font-size: 20px; letter-spacing: .04em; fill: var(--or-clair); text-anchor: middle; stroke: #0f1211; stroke-width: 4; paint-order: stroke; }
.vex-journee .boum { fill: var(--or-clair); stroke: #1a1405; stroke-width: 3; stroke-linejoin: round; }
.vex-journee .boum-txt { font-family: var(--titre); font-weight: 800; font-size: 22px; letter-spacing: .08em; fill: #1a1405; text-anchor: middle; dominant-baseline: central; }
.vex-journee .avenir { fill: none; stroke: var(--or-clair); stroke-width: 2.5; stroke-dasharray: 8 6; }
.vex-journee .avenir-txt { font-family: var(--titre); font-weight: 800; font-size: 18px; letter-spacing: .14em; fill: var(--or-clair); text-anchor: middle; dominant-baseline: central; }
.vex-journee .ui-nom { font-size: 16px; font-weight: 800; fill: #1a1f1e; }
/* le Mastodonte (esquisse n° 3) */
.vex-journee .masto-membre { fill: none; stroke: #ece6d8; stroke-width: 5.5; stroke-linecap: round; stroke-linejoin: round; }
.vex-journee .masto-armure { fill: #3a4441; stroke: #ece6d8; stroke-width: 3; stroke-linejoin: round; }
.vex-journee .masto-armure2 { fill: #4a5552; stroke: #ece6d8; stroke-width: 3; stroke-linejoin: round; }
.vex-journee .masto-trait { fill: none; stroke: #ece6d8; stroke-width: 1.5; }
.vex-journee .masto-bronze { fill: #c08d34; stroke: #1a1405; stroke-width: 2.4; stroke-linejoin: round; }
.vex-journee .masto-reflet { fill: #e2b552; }
.vex-journee .masto-arete { fill: none; stroke: #7a5518; stroke-width: 1.6; }
.vex-journee .masto-fente { fill: #1a1405; }
.vex-journee .masto-crin { fill: #16181a; stroke: #ece6d8; stroke-width: 2; stroke-linejoin: round; }
.vex-journee .masto-brin { fill: none; stroke: #6b7173; stroke-width: 1.2; }
.vex-journee .masto-cible { fill: #f3efe4; stroke: #1a1405; stroke-width: 2; }
.vex-journee .masto-cible2 { fill: #c62828; }
/* une cible touchee : bord epais ET clair, pas seulement une teinte */
.vex-journee .masto-cible.touchee { fill: var(--or-clair); stroke: #f6f3ea; stroke-width: 4; }
/* « a venir » a cote du titre d'une scene */
.vex-journee .vj-avenir { display: inline-block; vertical-align: middle; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--or-clair); border: 2px dashed var(--or-clair); border-radius: 6px; padding: 2px 7px; margin-left: 4px; }

/* ---------- 3.77.1 : les repliques, la vue du joueur, les trophees ---------- */
.vex-journee .arme { fill: #23282a; stroke: #ece6d8; stroke-width: 1.4; stroke-linejoin: round; }
.vex-journee .arme-bois { fill: #7a4a26; stroke: #ece6d8; stroke-width: 1.4; stroke-linejoin: round; }
.vex-journee .arme-trait { fill: none; stroke: #ece6d8; stroke-width: 1.6; stroke-linecap: round; }
.vex-journee .arme-lunette { fill: #101414; stroke: #ece6d8; stroke-width: 1.4; }
/* la vue a la 1re personne */
.vex-journee .pov-mur { fill: #5a4630; }
.vex-journee .pov-planche { stroke: #3e3022; stroke-width: 3; }
.vex-journee .pov-latte { fill: #4a3925; stroke: #3e3022; stroke-width: 2; }
.vex-journee .pov-bord { stroke: #8a7150; stroke-width: 4; }
.vex-journee .pov-lunette { fill: none; stroke: #191d1d; stroke-width: 16; }
.vex-journee .pov-vitre { fill: rgba(143, 182, 201, .10); stroke: #ece6d8; stroke-width: 1.5; }
.vex-journee .pov-point { fill: #ff3b30; }
.vex-journee .pov-halo { fill: #ffb4ae; opacity: .45; }
.vex-journee .pov-gant { fill: #3a3f3d; stroke: #ece6d8; stroke-width: 2; }
.vex-journee .pov-manche { fill: #2e3a35; stroke: #4f625a; stroke-width: 2; }
.vex-journee .pov-flamme { fill: var(--or-clair); stroke: #f6f3ea; stroke-width: 1.5; }
/* les trophees du sniper (a venir sur le site) : la croix est une FORME, pas une teinte seule */
.vex-journee .trophee-tete { fill: #ece6d8; stroke: #1a1f1e; stroke-width: 2; }
.vex-journee .trophee-oeil { fill: #1a1f1e; }
.vex-journee .trophee-croix { fill: none; stroke: #c62828; stroke-width: 4.5; stroke-linecap: round; }
.vex-journee .avenir-tel { fill: none; stroke: #8a6a12; stroke-width: 2; stroke-dasharray: 5 4; }
.vex-journee .avenir-tel-txt { font-family: var(--titre); font-weight: 800; font-size: 13px; letter-spacing: .1em; fill: #8a6a12; text-anchor: middle; dominant-baseline: central; }
.vex-journee .pov-lunette-bord { fill: none; stroke: #ece6d8; stroke-width: 2; }

/* ---------- 3.78.0 : le film d'action des scenes de jeu ----------
   Billes tracantes (un accessoire qui existe en airsoft), petit « pop »
   au canon, eclat a l'impact, poussiere ; et le cadre de la camera :
   bandes noires avec « RALENTI » ecrit, lunette du sniper, flash. */
.vex-journee .traceur { stroke: #fff6c2; stroke-width: 3; stroke-linecap: round; filter: drop-shadow(0 0 3px #f0cf7a); }
.vex-journee .pop { fill: #fff6c2; stroke: #f0cf7a; stroke-width: 1; }
.vex-journee .eclat { fill: none; stroke: #f6f3ea; stroke-width: 2.5; }
.vex-journee .poussiere { fill: #8d8574; }
.vex-journee .sac-sable { fill: #7d6a48; stroke: #3e3022; stroke-width: 2; }
.vex-journee .caisse-trait { fill: none; stroke: #2e2416; stroke-width: 2.5; }
.vex-journee .vj-bande { fill: #000; }
.vex-journee .vj-ralenti { font-family: var(--titre); font-weight: 800; letter-spacing: .3em; fill: var(--or-clair); text-anchor: middle; dominant-baseline: central; }
.vex-journee .vj-eclair { fill: #fffbe8; }
.vex-journee .vj-lunette { fill: #050606; }
.vex-journee .vj-lunette-croix { fill: none; stroke: #0b0e0d; }
@media (prefers-reduced-motion: reduce) { .vex-journee .traceur { filter: none; } }

/* ---------- 3.80.0 ---------- */
.vex-journee .bh-lunettes { fill: #0b0e0d; stroke: #0b0e0d; stroke-width: 2.2; stroke-linejoin: round; }
.vex-journee .fumee { fill: #b9524a; }
.vex-journee .tonneau { fill: #3f4a44; stroke: #1a1f1e; stroke-width: 2; }
.vex-journee .tonneau-cercle { fill: none; stroke: #7d8a83; stroke-width: 2; }
.vex-journee .talkie { fill: #1a1f1e; stroke: #ece6d8; stroke-width: 1.4; }
.vex-journee .lieux-rang { fill: #0b0e0d; }
.vex-journee .lieux-rang.mien { fill: #1c3357; }
.vex-journee .lieux-txt { font-family: var(--titre); font-weight: 800; font-size: 20px; letter-spacing: .05em; fill: #f6f3ea; dominant-baseline: central; }
/* 3.81.0 : le sticker RFID colle sur chaque replique */
.vex-journee .sticker { fill: #f6f3ea; stroke: #1a1f1e; stroke-width: 1; }
/* 3.83.0 : la palette, l'abri du Medecin */
.vex-journee .palette { fill: #6b5233; stroke: #2e2416; stroke-width: 2; }
.vex-journee .palette-latte { fill: #8a6c44; stroke: #2e2416; stroke-width: 1.5; }
.vex-journee .palette-bloc { fill: #5a4429; stroke: #2e2416; stroke-width: 1.5; }
/* 3.84.0 : casque du medecin, croix ROUGE sur fond blanc (la croix est une forme : lisible sans la couleur) */
/* 3.84.1 : le medecin - casque tactique sable a patch, brassard medic */
.vex-journee .bh-casque-coque { fill: #a8916a; stroke: #1a1f1e; stroke-width: 2; stroke-linejoin: round; }
.vex-journee .bh-casque-rail { fill: none; stroke: #3a3328; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.vex-journee .bh-casque-support { fill: #3a3328; }
.vex-journee .bh-casque-patch { fill: #f6f3ea; stroke: #1a1f1e; stroke-width: 1.4; }
.vex-journee .bh-croix { fill: #c62828; }
.vex-journee .bh-medbras-bord { fill: none; stroke: #1a1f1e; stroke-width: 13.5; stroke-linecap: butt; }
.vex-journee .bh-medbras { fill: none; stroke: #f6f3ea; stroke-width: 11; stroke-linecap: butt; }
.vex-journee .bulle-txt tspan { dominant-baseline: central; }
.vex-journee .pov-trainee { fill: #fff6c2; opacity: .85; filter: drop-shadow(0 0 2px #f0cf7a); }
@media (prefers-reduced-motion: reduce) { .vex-journee .pov-trainee { filter: none; } }
/* 3.84.4 : le bracelet RFID noir (au poignet, et sur la page du telephone) */
.vex-journee .bh-bracelet-bord { fill: none; stroke: #6b7370; stroke-width: 11; stroke-linecap: butt; }
.vex-journee .bh-bracelet { fill: none; stroke: #0b0d0c; stroke-width: 8.5; stroke-linecap: butt; }
.vex-journee .ui-bracelet { fill: none; stroke: #0b0d0c; stroke-width: 14; }
.vex-journee .ui-bracelet-puce { fill: #1d2120; stroke: #6b7370; stroke-width: 1.5; }
.vex-journee .ui-bracelet-txt { font-size: 10px; font-weight: 700; fill: #c9cfcc; dominant-baseline: central; letter-spacing: .08em; }
