/* DYVOX7 - 3 : thèmes de saison (rendu). Chaque saison redéfinit l'accent (jaune #facc15 de la charte) ; le fond, le texte
   et les gris restent ceux de la charte. Palette reprise de seasons.js (registry.ts du site officiel) : garder les deux en phase.
   Jeu de jetons : --acc (accent), --acc-rgb, --on-y (texte sur l'accent, noir ou blanc, contraste AA >= 4,5 calculé),
   --fx-a / --fx-b / --fx-c (couleurs du liseré décoratif), --fx-mask (motif). */

/* ---------------------------------------------------------------- thèmes (GÉNÉRÉ : voir README « Jetons de saison »)
   --acc-l / --on-l : accent et texte pour les surfaces claires (contraste >= 3 contre #ebebeb, texte >= 4,5) ;
   --acc-d / --on-d : accent et texte pour les surfaces sombres ; --acc-t : accent pour du TEXTE sur #171717 (>= 4,5). */
html[data-season="nouvelan"] {
  --acc-l: #9D8229; --on-l: #0a0a0a; --acc-d: #D4AF37; --on-d: #0a0a0a; --acc-lt: #7C6720; --acc-dt: #D4AF37; --acc-t: var(--acc-lt);
  --acc-l-rgb: 157, 130, 41; --acc-d-rgb: 212, 175, 55;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #D4AF37; --fx-b: #D4AF37; --fx-c: #D4AF37;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Crect%20x%3D%273%27%20y%3D%271.5%27%20width%3D%273%27%20height%3D%275%27%20rx%3D%27.6%27%20transform%3D%27rotate(25%204.5%204)%27%2F%3E%3Ccircle%20cx%3D%2714%27%20cy%3D%274%27%20r%3D%271.7%27%2F%3E%3Crect%20x%3D%2721%27%20y%3D%272.6%27%20width%3D%275.4%27%20height%3D%272.2%27%20rx%3D%27.6%27%20transform%3D%27rotate(-22%2023.7%203.7)%27%2F%3E%3Ccircle%20cx%3D%2733%27%20cy%3D%273%27%20r%3D%271.3%27%2F%3E%3Crect%20x%3D%2739%27%20y%3D%271.5%27%20width%3D%273%27%20height%3D%275%27%20rx%3D%27.6%27%20transform%3D%27rotate(40%2040.5%204)%27%2F%3E%3Ccircle%20cx%3D%2746%27%20cy%3D%275.5%27%20r%3D%271%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="nouvelan"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #D4AF37 4%, #ebebeb); }
html[data-season="nouvelan"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #110E04; }
html[data-season="noel"] {
  --acc-l: #E63946; --on-l: #0a0a0a; --acc-d: #E63946; --on-d: #0a0a0a; --acc-lt: #C1303B; --acc-dt: #E9525D; --acc-t: var(--acc-lt);
  --acc-l-rgb: 230, 57, 70; --acc-d-rgb: 230, 57, 70;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #E63946; --fx-b: #266E43; --fx-c: #E63946;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%27.9%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M6%201.6v4.8M3.6%204h4.8M4.3%202.3l3.4%203.4M7.7%202.3%204.3%205.7%27%2F%3E%3Cpath%20d%3D%27M26%202.2v3.6M24.2%204h3.6%27%2F%3E%3Cpath%20d%3D%27M40%201.6v4.8M37.6%204h4.8M38.3%202.3l3.4%203.4M41.7%202.3l-3.4%203.4%27%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%27%23000%27%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%275.5%27%20r%3D%271.1%27%2F%3E%3Ccircle%20cx%3D%2733%27%20cy%3D%272.5%27%20r%3D%271%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="noel"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #E63946 4%, #ebebeb); }
html[data-season="noel"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #120303; }
html[data-season="stvalentin"] {
  --acc-l: #F23E5D; --on-l: #0a0a0a; --acc-d: #F43F5E; --on-d: #0a0a0a; --acc-lt: #BF3149; --acc-dt: #F54966; --acc-t: var(--acc-lt);
  --acc-l-rgb: 242, 62, 93; --acc-d-rgb: 244, 63, 94;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #F43F5E; --fx-b: #FDA4AF; --fx-c: #F43F5E;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Cpath%20d%3D%27M9%207C3.6%204%205%201%207.2%201.4c.9.2%201.8%201%201.8%201s.9-.8%201.8-1C13%201%2014.4%204%209%207Z%27%2F%3E%3Cpath%20d%3D%27M33%206.6C28.6%204.2%2029.8%201.8%2031.5%202.1c.8.2%201.5.8%201.5.8s.7-.6%201.5-.8c1.7-.3%202.9%202.1-1.5%204.5Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="stvalentin"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #F43F5E 4%, #ebebeb); }
html[data-season="stvalentin"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #130507; }
html[data-season="consommelocal"] {
  --acc-l: #159946; --on-l: #0a0a0a; --acc-d: #16A34A; --on-d: #0a0a0a; --acc-lt: #117937; --acc-dt: #16A34A; --acc-t: var(--acc-lt);
  --acc-l-rgb: 21, 153, 70; --acc-d-rgb: 22, 163, 74;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #16A34A; --fx-b: #16A34A; --fx-c: #16A34A;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Cpath%20d%3D%27M8%20.8%2012.4%204%208%207.2%203.6%204Z%27%2F%3E%3Ccircle%20cx%3D%2716.5%27%20cy%3D%274%27%20r%3D%271.1%27%2F%3E%3Cpath%20d%3D%27M32%20.8%2036.4%204%2032%207.2%2027.6%204Z%27%2F%3E%3Ccircle%20cx%3D%2740.5%27%20cy%3D%274%27%20r%3D%271.1%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="consommelocal"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #16A34A 4%, #ebebeb); }
html[data-season="consommelocal"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #020D04; }
html[data-season="paques"] {
  --acc-l: #8C75D2; --on-l: #0a0a0a; --acc-d: #A78BFA; --on-d: #0a0a0a; --acc-lt: #6F5CA6; --acc-dt: #A78BFA; --acc-t: var(--acc-lt);
  --acc-l-rgb: 140, 117, 210; --acc-d-rgb: 167, 139, 250;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #A78BFA; --fx-b: #A78BFA; --fx-c: #A78BFA;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Cellipse%20cx%3D%278%27%20cy%3D%274%27%20rx%3D%272.7%27%20ry%3D%273.3%27%2F%3E%3Cellipse%20cx%3D%2724%27%20cy%3D%274.4%27%20rx%3D%272.2%27%20ry%3D%272.8%27%2F%3E%3Cellipse%20cx%3D%2739%27%20cy%3D%274%27%20rx%3D%272.7%27%20ry%3D%273.3%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="paques"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #A78BFA 4%, #ebebeb); }
html[data-season="paques"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #0D0A13; }
html[data-season="halloween"] {
  --acc-l: #D66313; --on-l: #0a0a0a; --acc-d: #F97316; --on-d: #0a0a0a; --acc-lt: #A94E0F; --acc-dt: #F97316; --acc-t: var(--acc-lt);
  --acc-l-rgb: 214, 99, 19; --acc-d-rgb: 249, 115, 22;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #F97316; --fx-b: #7C3AED; --fx-c: #F97316;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Cpath%20d%3D%27M3.5%207%208%201%2012.5%207Z%27%2F%3E%3Ccircle%20cx%3D%2721%27%20cy%3D%274%27%20r%3D%271.8%27%2F%3E%3Cpath%20d%3D%27M28%207%2032.5%201%2037%207Z%27%2F%3E%3Ccircle%20cx%3D%2744%27%20cy%3D%274%27%20r%3D%271.2%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="halloween"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #F97316 4%, #ebebeb); }
html[data-season="halloween"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #130602; }
html[data-season="mai1"] {
  --acc-l: #2B9662; --on-l: #0a0a0a; --acc-d: #2FA36B; --on-d: #0a0a0a; --acc-lt: #22764D; --acc-dt: #2FA36B; --acc-t: var(--acc-lt);
  --acc-l-rgb: 43, 150, 98; --acc-d-rgb: 47, 163, 107;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #2FA36B; --fx-b: #1E7A46; --fx-c: #1E7A46;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Crect%20x%3D%270%27%20y%3D%273.3%27%20width%3D%2748%27%20height%3D%271.3%27%20rx%3D%27.6%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%274%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2736%27%20cy%3D%274%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="mai1"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #1E7A46 4%, #ebebeb); }
html[data-season="mai1"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #020A06; }
html[data-season="juin1"] {
  --acc-l: #3B8F5C; --on-l: #0a0a0a; --acc-d: #3B8F5C; --on-d: #0a0a0a; --acc-lt: #30754B; --acc-dt: #469A67; --acc-t: var(--acc-lt);
  --acc-l-rgb: 59, 143, 92; --acc-d-rgb: 59, 143, 92;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #3B8F5C; --fx-b: #C08A3E; --fx-c: #175239;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Cpath%20d%3D%27M5%207C1.4%205%202.2%202%207.4%201%208.4%204.8%208%206.2%205%207Z%27%2F%3E%3Cpath%20d%3D%27M27%201C31%202.4%2031.6%205%2028.4%207%2025.4%206.2%2025%204%2027%201Z%27%2F%3E%3Cpath%20d%3D%27M40%207C36.4%205%2037.2%202%2042.4%201%2043.4%204.8%2043%206.2%2040%207Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="juin1"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #175239 4%, #ebebeb); }
html[data-season="juin1"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #020705; }
html[data-season="octobrerose"] {
  --acc-l: #E54694; --on-l: #0a0a0a; --acc-d: #EC4899; --on-d: #0a0a0a; --acc-lt: #B53775; --acc-dt: #EC4A9A; --acc-t: var(--acc-lt);
  --acc-l-rgb: 229, 70, 148; --acc-d-rgb: 236, 72, 153;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #EC4899; --fx-b: #F9A8D4; --fx-c: #EC4899;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.1%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%201.2C5.8%201.2%205.2%203%206.4%204.2%207.2%205%208.6%204.9%209.6%204.2%2010.8%203%2010.2%201.2%208%201.2Z%27%2F%3E%3Cpath%20d%3D%27M7%204.5%205.4%207.2M9%204.5%2010.6%207.2%27%2F%3E%3Cpath%20d%3D%27M32%201.2C29.8%201.2%2029.2%203%2030.4%204.2%2031.2%205%2032.6%204.9%2033.6%204.2%2034.8%203%2034.2%201.2%2032%201.2Z%27%2F%3E%3Cpath%20d%3D%27M31%204.5%2029.4%207.2M33%204.5%2034.6%207.2%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2720%27%20cy%3D%274%27%20r%3D%271%27%20fill%3D%27%23000%27%2F%3E%3Ccircle%20cx%3D%2744%27%20cy%3D%274%27%20r%3D%271%27%20fill%3D%27%23000%27%2F%3E%3C%2Fsvg%3E");
}
html[data-season="octobrerose"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #EC4899 4%, #ebebeb); }
html[data-season="octobrerose"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #12040A; }
html[data-season="decembre1"] {
  --acc-l: #E63946; --on-l: #0a0a0a; --acc-d: #E63946; --on-d: #0a0a0a; --acc-lt: #C1303B; --acc-dt: #E9525D; --acc-t: var(--acc-lt);
  --acc-l-rgb: 230, 57, 70; --acc-d-rgb: 230, 57, 70;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #E63946; --fx-b: #E63946; --fx-c: #E63946;
  --fx-mask: none;
}
html[data-season="decembre1"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #E63946 4%, #ebebeb); }
html[data-season="decembre1"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #120303; }
html[data-season="blackfriday"] {
  --acc-l: #9E810D; --on-l: #0a0a0a; --acc-d: #FACC15; --on-d: #0a0a0a; --acc-lt: #7D660A; --acc-dt: #FACC15; --acc-t: var(--acc-lt);
  --acc-l-rgb: 158, 129, 13; --acc-d-rgb: 250, 204, 21;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #FACC15; --fx-b: #FACC15; --fx-c: #FACC15;
  --fx-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%278%27%20viewBox%3D%270%200%2048%208%27%3E%3Cg%20fill%3D%27%23000%27%3E%3Crect%20x%3D%270%27%20y%3D%273.3%27%20width%3D%2748%27%20height%3D%271.3%27%20rx%3D%27.6%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%274%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2736%27%20cy%3D%274%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
html[data-season="blackfriday"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #FACC15 4%, #ebebeb); }
html[data-season="blackfriday"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #141002; }
html[data-season="fr14juillet"] {
  --acc-l: #000091; --on-l: #ffffff; --acc-d: #FFFFFF; --on-d: #0a0a0a; --acc-lt: #000091; --acc-dt: #FFFFFF; --acc-t: var(--acc-lt);
  --acc-l-rgb: 0, 0, 145; --acc-d-rgb: 255, 255, 255;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #000091; --fx-b: #FFFFFF; --fx-c: #E1000F;
  --fx-mask: none;
}
html[data-season="fr14juillet"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #000091 4%, #ebebeb); }
html[data-season="fr14juillet"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #090913; }
html[data-season="canada1juillet"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #FF0000; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #FF2B2B; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 255, 0, 0;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #FF0000; --fx-b: #FFFFFF; --fx-c: #FF0000;
  --fx-mask: none;
}
html[data-season="canada1juillet"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #FF0000 4%, #ebebeb); }
html[data-season="canada1juillet"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #1B0909; }
html[data-season="quebec24juin"] {
  --acc-l: #003399; --on-l: #ffffff; --acc-d: #FFFFFF; --on-d: #0a0a0a; --acc-lt: #003399; --acc-dt: #FFFFFF; --acc-t: var(--acc-lt);
  --acc-l-rgb: 0, 51, 153; --acc-d-rgb: 255, 255, 255;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #003399; --fx-b: #FFFFFF; --fx-c: #003399;
  --fx-mask: none;
}
html[data-season="quebec24juin"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #003399 4%, #ebebeb); }
html[data-season="quebec24juin"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #090D14; }
html[data-season="suisse1aout"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #FF0000; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #FF2B2B; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 255, 0, 0;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #FF0000; --fx-b: #FFFFFF; --fx-c: #FF0000;
  --fx-mask: none;
}
html[data-season="suisse1aout"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #FF0000 4%, #ebebeb); }
html[data-season="suisse1aout"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #1B0909; }
html[data-season="belgique21juillet"] {
  --acc-l: #000000; --on-l: #ffffff; --acc-d: #FFE936; --on-d: #0a0a0a; --acc-lt: #000000; --acc-dt: #FFE936; --acc-t: var(--acc-lt);
  --acc-l-rgb: 0, 0, 0; --acc-d-rgb: 255, 233, 54;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #000000; --fx-b: #FFE936; --fx-c: #FF0F21;
  --fx-mask: none;
}
html[data-season="belgique21juillet"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #FFE936 4%, #ebebeb); }
html[data-season="belgique21juillet"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #1B1A0D; }
html[data-season="luxembourg23juin"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #00A3E0; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #00A3E0; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 0, 163, 224;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #EF3340; --fx-b: #FFFFFF; --fx-c: #00A3E0;
  --fx-mask: none;
}
html[data-season="luxembourg23juin"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #EF3340 4%, #ebebeb); }
html[data-season="luxembourg23juin"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #1A0D0E; }
html[data-season="avril27"] {
  --acc-l: #006A4E; --on-l: #ffffff; --acc-d: #FCD116; --on-d: #0a0a0a; --acc-lt: #006A4E; --acc-dt: #FCD116; --acc-t: var(--acc-lt);
  --acc-l-rgb: 0, 106, 78; --acc-d-rgb: 252, 209, 22;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #006A4E; --fx-b: #FCD116; --fx-c: #D21034;
  --fx-mask: none;
}
html[data-season="avril27"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #006A4E 4%, #ebebeb); }
html[data-season="avril27"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #09110F; }
html[data-season="senegal4avril"] {
  --acc-l: #CE1126; --on-l: #ffffff; --acc-d: #FCD116; --on-d: #0a0a0a; --acc-lt: #CE1126; --acc-dt: #FCD116; --acc-t: var(--acc-lt);
  --acc-l-rgb: 206, 17, 38; --acc-d-rgb: 252, 209, 22;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #1EB53A; --fx-b: #FCD116; --fx-c: #CE1126;
  --fx-mask: none;
}
html[data-season="senegal4avril"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #1EB53A 4%, #ebebeb); }
html[data-season="senegal4avril"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #0B160D; }
html[data-season="benin1aout"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #FCD20F; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #FCD20F; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 252, 210, 15;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #008850; --fx-b: #FCD20F; --fx-c: #E90929;
  --fx-mask: none;
}
html[data-season="benin1aout"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #008850 4%, #ebebeb); }
html[data-season="benin1aout"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #09130F; }
html[data-season="civ7aout"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #FF8200; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #FF8200; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 255, 130, 0;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #FF8200; --fx-b: #FFFFFF; --fx-c: #009A44;
  --fx-mask: none;
}
html[data-season="civ7aout"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #FF8200 4%, #ebebeb); }
html[data-season="civ7aout"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #1B1209; }
html[data-season="congo15aout"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #FFD100; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #FFD100; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 255, 209, 0;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #009739; --fx-b: #FFD100; --fx-c: #EF3340;
  --fx-mask: none;
}
html[data-season="congo15aout"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #009739 4%, #ebebeb); }
html[data-season="congo15aout"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #09140D; }
html[data-season="gabon17aout"] {
  --acc-l: #003DA5; --on-l: #ffffff; --acc-d: #FFD100; --on-d: #0a0a0a; --acc-lt: #003DA5; --acc-dt: #FFD100; --acc-t: var(--acc-lt);
  --acc-l-rgb: 0, 61, 165; --acc-d-rgb: 255, 209, 0;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #009639; --fx-b: #FFD100; --fx-c: #003DA5;
  --fx-mask: none;
}
html[data-season="gabon17aout"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #009639 4%, #ebebeb); }
html[data-season="gabon17aout"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #09140D; }
html[data-season="cameroun20mai"] {
  --acc-l: #007A5E; --on-l: #ffffff; --acc-d: #FCD116; --on-d: #0a0a0a; --acc-lt: #00765B; --acc-dt: #FCD116; --acc-t: var(--acc-lt);
  --acc-l-rgb: 0, 122, 94; --acc-d-rgb: 252, 209, 22;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #007A5E; --fx-b: #CE1126; --fx-c: #FCD116;
  --fx-mask: none;
}
html[data-season="cameroun20mai"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #007A5E 4%, #ebebeb); }
html[data-season="cameroun20mai"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #091210; }
html[data-season="rdc30juin"] {
  --acc-l: #CE1021; --on-l: #ffffff; --acc-d: #F7D618; --on-d: #0a0a0a; --acc-lt: #CE1021; --acc-dt: #F7D618; --acc-t: var(--acc-lt);
  --acc-l-rgb: 206, 16, 33; --acc-d-rgb: 247, 214, 24;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #007FFF; --fx-b: #CE1021; --fx-c: #F7D618;
  --fx-mask: none;
}
html[data-season="rdc30juin"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #007FFF 4%, #ebebeb); }
html[data-season="rdc30juin"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #09121B; }
html[data-season="guinee2octobre"] {
  --acc-l: #CE1126; --on-l: #ffffff; --acc-d: #FCD116; --on-d: #0a0a0a; --acc-lt: #CE1126; --acc-dt: #FCD116; --acc-t: var(--acc-lt);
  --acc-l-rgb: 206, 17, 38; --acc-d-rgb: 252, 209, 22;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #CE1126; --fx-b: #FCD116; --fx-c: #009460;
  --fx-mask: none;
}
html[data-season="guinee2octobre"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #CE1126 4%, #ebebeb); }
html[data-season="guinee2octobre"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #180A0C; }
html[data-season="egypte23juillet"] {
  --acc-l: #C8102E; --on-l: #ffffff; --acc-d: #FFFFFF; --on-d: #0a0a0a; --acc-lt: #C8102E; --acc-dt: #FFFFFF; --acc-t: var(--acc-lt);
  --acc-l-rgb: 200, 16, 46; --acc-d-rgb: 255, 255, 255;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #C8102E; --fx-b: #FFFFFF; --fx-c: #000000;
  --fx-mask: none;
}
html[data-season="egypte23juillet"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #C8102E 4%, #ebebeb); }
html[data-season="egypte23juillet"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #170A0D; }
html[data-season="memoire8mai"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #F5F5F5; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #F5F5F5; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 245, 245, 245;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #9CA3AF; --fx-b: #9CA3AF; --fx-c: #9CA3AF;
  --fx-mask: none;
}
html[data-season="memoire8mai"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #9CA3AF 4%, #ebebeb); }
html[data-season="memoire8mai"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #141516; }
html[data-season="memoire11nov"] {
  --acc-l: #0A0A0A; --on-l: #ffffff; --acc-d: #F5F5F5; --on-d: #0a0a0a; --acc-lt: #0A0A0A; --acc-dt: #F5F5F5; --acc-t: var(--acc-lt);
  --acc-l-rgb: 10, 10, 10; --acc-d-rgb: 245, 245, 245;
  --acc: var(--acc-l); --acc-rgb: var(--acc-l-rgb); --on-y: var(--on-l);
  --fx-a: #9CA3AF; --fx-b: #9CA3AF; --fx-c: #9CA3AF;
  --fx-mask: none;
}
html[data-season="memoire11nov"]:not([data-theme="dark"]) { --bg2: color-mix(in srgb, #9CA3AF 4%, #ebebeb); }
html[data-season="memoire11nov"][data-theme="dark"] { --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --on-y: var(--on-d); --acc-t: var(--acc-dt); --bg2: #141516; }

/* surfaces sombres en thème clair (pied de page, cartes sombres, démos de code, scènes) : accent « sombre » */
html[data-season] :is(.ftr, .cta-dark, .cta-seven, .ed, .hl-scene[data-sx], .cta-tag, .result-c .chip, .sm-alert, .dsv-code, .t-bf, .sm-out, .bud-out) { --acc-t: var(--acc-dt); --acc: var(--acc-d); --acc-rgb: var(--acc-d-rgb); --y: var(--acc-d); --on-y: var(--on-d); --focus: var(--acc-d); }
/* bloc CTA plein (fond = accent) : le texte suit la couleur posée sur l'accent, noir ou blanc */
html[data-season] .cta-card:not(.cta-dark) { --ink: var(--on-y); --mute: var(--on-y); --line: color-mix(in srgb, var(--on-y) 40%, transparent); --focus: var(--on-y); }
html[data-season][data-theme="dark"] .cta-card:not(.cta-dark) { --ink: var(--on-y); --mute: var(--on-y); }
html[data-season] .cta-card:not(.cta-dark) .btn-line { border-color: var(--on-y); color: var(--on-y); }
html[data-season] .cta-card:not(.cta-dark) .btn-line::before { background: var(--on-y); }
html[data-season] .cta-card:not(.cta-dark) .btn-line:hover, html[data-season] .cta-card:not(.cta-dark) .btn-line:focus-visible { color: var(--y); }
html[data-season] :is(.cta-card:not(.cta-dark) .eyebrow, .cta-card:not(.cta-dark) .lede, .sp-offer .mono, .est-o input:checked + span small, .sm-ch input:checked + .sm-ch-b small) { color: var(--on-y); }

/* ---------------------------------------------------------------- décor discret (liseré, jamais sur du texte)
   Deux bandes de 8 px : le bas de l'en-tête (zone libre sous les contrôles) et le haut du pied de page.
   season-fx (décor visible) est posée dès qu'une saison a un effet ; season-anim (dérive) seulement hors prefers-reduced-motion et hors navigation automatisée sans ?fx=1. */
html.season-fx .ftr { position: relative; }
html.season-fx[data-season] .hdr::after, html.season-fx[data-season] .ftr::before {
  content: ""; position: absolute; left: 0; right: 0; height: 8px; pointer-events: none; z-index: 0; opacity: .92;
  background: linear-gradient(90deg, var(--fx-a) 0 33.34%, var(--fx-b) 33.34% 66.67%, var(--fx-c) 66.67% 100%);
  background-size: 144px 100%;
  -webkit-mask-image: var(--fx-mask); mask-image: var(--fx-mask);
  -webkit-mask-size: 48px 8px; mask-size: 48px 8px; -webkit-mask-repeat: repeat-x; mask-repeat: repeat-x;
}
html.season-fx[data-season] .hdr::after { top: 100%; }   /* sous la ligne de l'en-tête : ne recouvre jamais l'anneau de focus des liens et boutons */
html.season-fx[data-season] .ftr::before { top: 0; }
@keyframes season-drift { to { -webkit-mask-position: 96px 0; mask-position: 96px 0; } }
@media (prefers-reduced-motion: no-preference) {
  html.season-fx.season-anim[data-season] .hdr::after, html.season-fx.season-anim[data-season] .ftr::before { animation: season-drift 48s linear infinite; }
}

/* ---------------------------------------------------------------- sélecteur Saison / Clair / Sombre */
.ssw { display: inline-flex; align-items: center; gap: 2px; height: 46px; padding: 4px; border-radius: 99px; border: 1.5px solid var(--line2); background: transparent; color: var(--ink); transition: border-color .3s; flex: none; }
.ssw:hover, .ssw:focus-within { border-color: var(--y); }
.ssw button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; height: 100%; min-width: 34px; padding-inline: 0; border-radius: 99px; border: 0; background: transparent; color: var(--mute); cursor: pointer; font-family: var(--f-m); font-size: .8rem; font-weight: 600; letter-spacing: .02em; line-height: 1; white-space: nowrap; transition: background-color .3s, color .3s; }
.ssw button .ic { width: 18px; height: 18px; }
.ssw button[aria-checked="true"] { background: var(--y); color: var(--on-y); }
.ssw button:not([aria-checked="true"]):not([aria-disabled="true"]):hover { color: var(--ink); }
.ssw button[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.ssw .ssw-l { display: none; }
.ssw-lg { height: 52px; }
.ssw-lg button { min-width: 3rem; padding-inline: .8rem; font-size: .9rem; }
.ssw-lg .ssw-l { display: inline; }
@media (prefers-reduced-motion: reduce) { .ssw, .ssw button { transition: none; } }

/* ---------------------------------------------------------------- mention du thème en cours (pied de page, fond noir)
   Information seule : aucun appel au don, aucune promotion, aucune urgence. */
.season-note { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: 2rem; color: var(--mute); font-size: .9rem; }
.season-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .3rem .8rem; border: 1px solid var(--acc); border-radius: 99px; color: var(--acc-t); font-family: var(--f-m); font-size: .72rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.season-pill::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--acc); }
.season-why-b { padding: .2rem 0; color: var(--mute); text-decoration: underline; text-decoration-color: var(--acc); text-decoration-thickness: .12em; text-underline-offset: .2em; font-size: .9rem; cursor: pointer; }
.season-why-b:hover, .season-why-b:focus-visible { color: #f5f5f5; }
.season-why { flex-basis: 100%; margin: 0; max-width: 62ch; color: #d4d4d4; }
.season-note + .ftr-mark { margin-top: 1.5rem; }
