/* ==========================================================================
   themes.css — LES SEPT THÈMES DU SITE                   (créé le 30/08/2026)

   Chargé EN PREMIER, avant kalipay.css et avant toute autre feuille, sur
   toutes les pages du site (le centre de gestion, lui, a son propre jeu de
   variables dans admin/style.css — il ne lit pas ce fichier).

     · kalipay — le bordeaux d'origine, thème par défaut
     · sombre  — « Nuit d'encre »
     · clair   — « Miss Lingerie », rose pâle (ex-« Papier & encre », 04/10/2026)
     · abysse  — « Abysse », bleu turquoise    (ajouté le 13/09/2026)
     · magenta — « Néon rose », rose fluo      (ajouté le 13/09/2026)
     · creme   — « Crème », clair et chaud     (ajouté le 13/09/2026)
     · halloween — « Halloween », orange et noir, de saison (24/10/2026)

   Le thème est posé côté serveur sur la balise <html> :
       <html lang="fr" data-theme="sombre">
   voir noyau/theme-public.php. Aucun clignotement, aucun JS.

   RÈGLE : plus aucune couleur en dur ailleurs. Ni dans les feuilles CSS, ni
   dans les <style> intégrés des pages PHP. Si une couleur manque, on ajoute
   une variable ICI, dans les six thèmes — on n'écrit pas un #xxxxxx.
   (Deux exceptions assumées : noyau/acces.php et noyau/maintenance.php, qui
   doivent s'afficher même si plus rien d'autre ne se charge.)

   RÈGLE DE CONTRASTE (héritée de kalipay.css) : en thème clair, jamais de
   gris de texte plus clair que #4b5563 sur fond blanc.

   Les valeurs du thème « kalipay » sont exactement celles qui étaient
   écrites en dur dans le site avant la conversion du 30/08/2026 : le thème
   par défaut n'a pas changé d'aspect.

   POURQUOI :root ET JAMAIS UNE CLASSE — la page publique d'une soirée est
   ré-affichée dans le gabarit du site, et noyau/soiree-page.php préfixe
   alors TOUS les sélecteurs de sa feuille par « .soiree-embed ». Un bloc
   :root écrit dans page.css deviendrait « .soiree-embed :root » et les
   variables disparaîtraient. Elles ne vivent que dans ce fichier-ci, qui
   n'est jamais préfixé.

   LES DEUX FAMILLES DE SURFACES
   · --fond / --carte / --txt …  : le gabarit du site, sombre par défaut.
   · --papier / --papier-txt …   : les cartes blanches des pages de soirée
     (inscription, participants, désinscription). Elles restent blanches en
     kalipay et en clair, et deviennent gris foncé en sombre.
   ========================================================================== */


/* ==========================================================================
   1. KALIPAY — le bordeaux d'origine (thème par défaut)
   ========================================================================== */
:root,
html[data-theme="kalipay"] {
  /* ---- FONDS ET SURFACES ----------------------------------------------- */
  --fond:                #2c0f16;                          /* fond de page */
  --fond-2:              #1c0b0e;                          /* creux : champs de saisie, zones en retrait */
  --fond-3:              #521e29;                          /* relief : survol, ligne alternée, bandeau */
  --fond-4:              #2a2521;                          /* fond neutre chaud (cartouches, logos) */
  --brun:                #4a2a12;                          /* brun : boutons d'humeur */
  --brun-2:              #5a3316;                          /* son survol */
  --brun-3:              #5a2b1e;                          /* dégradé de bandeau */
  --carte:               #421821;                          /* fond d'une carte */
  --carte-2:             #4e1e28;                          /* carte posée sur une carte */
  --carte-3:             #3d1620;                          /* variante sourde de --carte */
  /* ---- TRAITS ---------------------------------------------------------- */
  --trait:               #6b2530;                          /* bordure courante */
  --trait-2:             #57202a;                          /* séparateur interne, plus discret */
  --trait-3:             #5c3a3f;                          /* bordure d'un élément en relief */
  --trait-4:           #8a4a56;                          /* bordure d'un élément survolé */
  --trait-voile:         rgba(107,37,48,.70);              /* bordure translucide */
  /* ---- TEXTES ---------------------------------------------------------- */
  --txt:                 #f7e6de;                          /* texte courant */
  --txt-1:               #e6c3b6;                          /* appuyé, un cran sous --txt */
  --txt-2:               #c08f7c;                          /* secondaire : légendes, labels */
  --txt-3:               #a2937c;                          /* tertiaire : en-têtes de tableau */
  --txt-4:               #c1c8d1;                          /* gris froid : mentions techniques */
  --txt-5:             #6b6259;                          /* gris chaud très discret */
  --sur-couleur:         #ffffff;                          /* texte posé sur un aplat --accent */
  --sur-or:              #1a1a1a;                          /* texte posé sur un aplat doré */
  --sur-vert:            #04220f;                          /* texte posé sur un aplat vert */
  --sur-vif:             #ffffff;                          /* texte sur un aplat de couleur vive */
  /* ---- ACCENT ---------------------------------------------------------- */
  --accent:              #ff4757;                          /* couleur d'action : boutons, focus */
  --accent-fonce:        #c9303f;                          /* survol d'un bouton d'action */
  --accent-2:          #e11d48;                          /* seconde nuance d'accent */
  --lien:                #ff8a94;                          /* lien dans un texte */
  --lien-2:              #ff6b78;                          /* seconde nuance de lien */
  --lien-survol:         #ffb3ba;
  --accent-voile:        rgba(255,71,87,.14);              /* aplat d'accent translucide */
  --accent-voile-fort:   rgba(225,29,72,.62);
  /* ---- PAPIER — les surfaces claires des pages de soirée --------------- */
  --papier:              #ffffff;                          /* carte blanche (inscription, participants) */
  --papier-2:            #f9fafb;                          /* zone en retrait sur papier */
  --papier-3:            #f3f4f6;                          /* relief sur papier */
  --papier-txt:          #333333;                          /* texte sur papier */
  --papier-txt-1:      #111827;                          /* texte le plus foncé sur papier */
  --papier-txt-2:        #6b7280;
  --papier-txt-3:        #9ca3af;
  --papier-trait:        #e5e7eb;                          /* bordure sur papier */
  --papier-fond:         #14110f;                          /* fond de page derrière les cartes de papier */
  /* Rôles des six nuances d'une famille de couleur :
       --X          aplat plein et bordure
       --X-txt      TEXTE, lisible sur le fond du thème (clair en sombre, foncé en clair)
       --X-pale     FOND d'étiquette pastel — même valeur dans les six thèmes :
                    une étiquette porte son propre fond, elle reste lisible partout
       --X-fonce    texte ou aplat appuyé, foncé dans les six thèmes
       --X-sombre   FOND d'étiquette foncé — devient pâle en thème clair, où il
                    s'associe à --X-txt qui, lui, devient foncé
       --X-voile    aplat translucide, se pose sur n'importe quel fond          */
  /* ---- OR — l'or Kalipay : distinctions, liserés, mentions d'honneur --- */
  --or:                  #d4af37;                          /* aplat et bordure */
  --or-txt:              #e0b52e;                          /* texte sur le fond du thème */
  --or-pale:             #f0dda0;                          /* nuance très claire */
  --or-fonce:            #b8860b;                          /* appui, survol */
  --or-papier:           #8b6508;                          /* texte sur une surface papier */
  --or-vif:            #ffd700;                          /* éclat : médailles, mise en avant */
  --or-sombre:           #8b6508;                          /* le plus foncé : fonds d'étiquette */
  --or-voile:            rgba(212,175,55,.22);             /* aplat translucide */
  /* ---- VERT — validé, présent, disponible ------------------------------ */
  --vert:                #22c55e;                          /* aplat et bordure */
  --vert-moyen:        #16a34a;                          /* un cran sous --vert */
  --vert-txt:            #4ade80;                          /* texte sur le fond du thème */
  --vert-pale:           #bbf7d0;                          /* nuance très claire */
  --vert-blanc:          #bbf7d0;                          /* vert le plus clair */
  --vert-vif:          #10b981;                          /* émeraude : validation forte */
  --vert-fonce:          #15803d;                          /* appui, survol */
  --vert-papier:         #15803d;                          /* texte sur une surface papier */
  --vert-tres-fonce:   #166534;
  --vert-sombre:         #14532d;                          /* le plus foncé : fonds d'étiquette */
  --vert-voile:          rgba(34,197,94,.20);              /* aplat translucide */
  --vert-voile-fort:     rgba(22,101,52,.35);
  /* ---- BLEU — information, lien externe, covoiturage ------------------- */
  --bleu:                #3b82f6;                          /* aplat et bordure */
  --bleu-txt:            #93c5fd;                          /* texte sur le fond du thème */
  --bleu-pale:           #bfdbfe;                          /* nuance très claire */
  --bleu-blanc:        #eff6ff;                          /* fond bleuté presque blanc */
  --bleu-fonce:          #1d4ed8;                          /* appui, survol */
  --bleu-papier:         #1d4ed8;                          /* texte sur une surface papier */
  --bleu-sombre:         #1e3a8a;                          /* le plus foncé : fonds d'étiquette */
  --indigo:              #4f46e5;                          /* dégradé indigo */
  --bleu-voile:          rgba(59,130,246,.18);             /* aplat translucide */
  --bleu-voile-fort:     rgba(147,197,253,.45);
  /* ---- VIOLET — catégories, étiquettes de profil ----------------------- */
  --violet:              #a855f7;                          /* aplat et bordure */
  --violet-txt:          #d8b4fe;                          /* texte sur le fond du thème */
  --violet-pale:         #e9d5ff;                          /* nuance très claire */
  --violet-fonce:        #7e22ce;                          /* appui, survol */
  --violet-papier:       #7e22ce;                          /* texte sur une surface papier */
  --violet-sombre:       #3b0764;                          /* le plus foncé : fonds d'étiquette */
  --violet-voile:        rgba(107,33,168,.22);             /* aplat translucide */
  --violet-voile-fort:   rgba(107,33,168,.38);             /* voile appuyé (survol) */
  /* ---- ROSE — coups de cœur, réactions --------------------------------- */
  --rose:                #ec4899;                          /* aplat et bordure */
  --rose-txt:            #f9a8d4;                          /* texte sur le fond du thème */
  --rose-pale:           #fbcfe8;                          /* nuance très claire */
  --rose-fonce:          #be185d;                          /* appui, survol */
  --rose-papier:         #be185d;                          /* texte sur une surface papier */
  --rose-sombre:         #500724;                          /* le plus foncé : fonds d'étiquette */
  --rose-voile:          rgba(236,72,153,.20);             /* aplat translucide */
  --rose-voile-fort:     rgba(236,72,153,.34);             /* voile appuyé (survol) */
  /* ---- ORANGE — en attente, à confirmer -------------------------------- */
  --orange:              #f97316;                          /* aplat et bordure */
  --orange-txt:          #fdba74;                          /* texte sur le fond du thème */
  --orange-pale:         #fed7aa;                          /* nuance très claire */
  --orange-fonce:        #c2410c;                          /* appui, survol */
  --orange-papier:       #c2410c;                          /* texte sur une surface papier */
  --orange-ambre:      #d97706;                          /* ambre : en attente */
  --orange-sombre:       #7c2d12;                          /* le plus foncé : fonds d'étiquette */
  --orange-brun:       #b45309;
  --orange-voile:        rgba(217,119,6,.20);              /* aplat translucide */
  --orange-voile-fort:   rgba(217,119,6,.34);              /* voile appuyé (survol) */
  /* ---- JAUNE — avertissement, brouillon -------------------------------- */
  --jaune:               #fcd34d;                          /* aplat et bordure */
  --jaune-ambre:       #f59e0b;                          /* jaune profond */
  --jaune-txt:           #fde68a;                          /* texte sur le fond du thème */
  --jaune-pale:          #fef3c7;                          /* nuance très claire */
  --jaune-fonce:         #a16207;                          /* appui, survol */
  --jaune-papier:        #a16207;                          /* texte sur une surface papier */
  --jaune-sombre:        #78350f;                          /* le plus foncé : fonds d'étiquette */
  --jaune-voile:         rgba(252,211,77,.20);             /* aplat translucide */
  --jaune-voile-fort:    rgba(252,211,77,.34);             /* voile appuyé (survol) */
  /* ---- ROUGE — refus, annulation, suppression -------------------------- */
  --rouge:               #dc2626;                          /* aplat et bordure */
  --rouge-vif:         #ef4444;                          /* rouge clair d'alerte */
  --rouge-txt:           #fca5a5;                          /* texte sur le fond du thème */
  --rouge-clair:         #f87171;
  --rouge-pale:          #fecaca;                          /* nuance très claire */
  --rouge-fonce:         #b91c1c;                          /* appui, survol */
  --rouge-papier:        #b91c1c;                          /* texte sur une surface papier */
  --rouge-tres-fonce:  #991b1b;
  --rouge-sombre:        #7f1d1d;                          /* le plus foncé : fonds d'étiquette */
  --rouge-voile:         rgba(220,38,38,.18);              /* aplat translucide */
  --rouge-voile-fort:    rgba(150,20,32,.70);
  /* ---- VOILES, OMBRES ET DIVERS ---------------------------------------- */
  --blanc-voile:         rgba(255,255,255,.40);
  --or-voile-fort:       rgba(212,175,55,.55);                 /* liseré doré appuyé */
  --soutien:             #d4af37;                              /* liseré d'un soutien : or plein */
  --soutien-voile:       rgba(212,175,55,.30);                 /* son halo */
  --lien-voile:          rgba(255,138,148,.35);                /* halo d'un lien */
  --blanc-voile-fort:    rgba(255,255,255,.75);            /* verre dépoli clair */
  --surbrillance:        rgba(255,255,255,.05);            /* relief très léger */
  --ombre-couleur:       rgba(0,0,0,.35);                  /* couleur d'une ombre portée */
  --ombre-forte:         rgba(0,0,0,.60);
  --voile:               rgba(20,17,15,.60);               /* fond des pop-up */
  --voile-doux:          rgba(20,17,15,.18);               /* voile léger sur une image */
  --voile-fort:          rgba(0,0,0,.80);                  /* fond d'une visionneuse d'image */
  --ombre:               0 4px 20px rgba(0,0,0,.35);       /* ombre complète d'une carte */
  --ombre-2:             0 10px 30px rgba(0,0,0,.28);      /* ombre d'une pop-up */
  --barre-navigateur:    #d4af37;                          /* barre du navigateur / PWA */
}


/* ==========================================================================
   2. SOMBRE — « Nuit d'encre »
   ========================================================================== */
html[data-theme="sombre"] {
  /* ---- FONDS ET SURFACES ----------------------------------------------- */
  --fond:                #0f1115;                          /* fond de page */
  --fond-2:              #0b0d11;                          /* creux : champs de saisie, zones en retrait */
  --fond-3:              #1c202a;                          /* relief : survol, ligne alternée, bandeau */
  --fond-4:              #1a1d24;                          /* fond neutre chaud (cartouches, logos) */
  --brun:                #2e1206;                          /* brun : boutons d'humeur */
  --brun-2:              #3a1a08;                          /* son survol */
  --brun-3:              #33170f;                          /* dégradé de bandeau */
  --carte:               #171a21;                          /* fond d'une carte */
  --carte-2:             #1f242e;                          /* carte posée sur une carte */
  --carte-3:             #141821;                          /* variante sourde de --carte */
  /* ---- TRAITS ---------------------------------------------------------- */
  --trait:               #262b35;                          /* bordure courante */
  --trait-2:             #1d222b;                          /* séparateur interne, plus discret */
  --trait-3:             #333a46;                          /* bordure d'un élément en relief */
  --trait-4:           #3d4553;                          /* bordure d'un élément survolé */
  --trait-voile:         rgba(38,43,53,.70);               /* bordure translucide */
  /* ---- TEXTES ---------------------------------------------------------- */
  --txt:                 #e8eaed;                          /* texte courant */
  --txt-1:               #c8cdd6;                          /* appuyé, un cran sous --txt */
  --txt-2:               #9aa3b2;                          /* secondaire : légendes, labels */
  --txt-3:               #6b7484;                          /* tertiaire : en-têtes de tableau */
  --txt-4:               #7d8697;                          /* gris froid : mentions techniques */
  --txt-5:             #5f6673;                          /* gris chaud très discret */
  --sur-couleur:         #1a1408;                          /* texte posé sur un aplat --accent */
  --sur-or:              #1a1408;                          /* texte posé sur un aplat doré */
  --sur-vert:            #04220f;                          /* texte posé sur un aplat vert */
  --sur-vif:             #ffffff;                          /* texte sur un aplat de couleur vive */
  /* ---- ACCENT ---------------------------------------------------------- */
  --accent:              #d4af37;                          /* couleur d'action : boutons, focus */
  --accent-fonce:        #b8912a;                          /* survol d'un bouton d'action */
  --accent-2:          #c9a227;                          /* seconde nuance d'accent */
  --lien:                #e0bd4e;                          /* lien dans un texte */
  --lien-2:              #d8b445;                          /* seconde nuance de lien */
  --lien-survol:         #f0d67e;
  --accent-voile:        rgba(212,175,55,.14);             /* aplat d'accent translucide */
  --accent-voile-fort:   rgba(212,175,55,.45);
  /* ---- PAPIER — les surfaces claires des pages de soirée --------------- */
  --papier:              #171a21;                          /* carte blanche (inscription, participants) */
  --papier-2:            #1f242e;                          /* zone en retrait sur papier */
  --papier-3:            #262b35;                          /* relief sur papier */
  --papier-txt:          #e8eaed;                          /* texte sur papier */
  --papier-txt-1:      #f2f4f7;                          /* texte le plus foncé sur papier */
  --papier-txt-2:        #9aa3b2;
  --papier-txt-3:        #6b7484;
  --papier-trait:        #262b35;                          /* bordure sur papier */
  --papier-fond:         #0b0d11;                          /* fond de page derrière les cartes de papier */
  /* ---- OR — l'or Kalipay : distinctions, liserés, mentions d'honneur --- */
  --or:                  #d4af37;                          /* aplat et bordure */
  --or-txt:              #e8c15a;                          /* texte sur le fond du thème */
  --or-pale:             #f0dda0;                          /* nuance très claire */
  --or-fonce:            #9a7418;                          /* appui, survol */
  --or-papier:           #e8c15a;                          /* texte sur une surface papier */
  --or-vif:            #ffd700;                          /* éclat : médailles, mise en avant */
  --or-sombre:           #6b5210;                          /* le plus foncé : fonds d'étiquette */
  --or-voile:            rgba(212,175,55,.18);             /* aplat translucide */
  /* ---- VERT — validé, présent, disponible ------------------------------ */
  --vert:                #22c55e;                          /* aplat et bordure */
  --vert-moyen:        #16a34a;                          /* un cran sous --vert */
  --vert-txt:            #6ee7a0;                          /* texte sur le fond du thème */
  --vert-pale:           #bbf7d0;                          /* nuance très claire */
  --vert-blanc:          #1a3a28;                          /* vert le plus clair */
  --vert-vif:          #10b981;                          /* émeraude : validation forte */
  --vert-fonce:          #15803d;                          /* appui, survol */
  --vert-papier:         #6ee7a0;                          /* texte sur une surface papier */
  --vert-tres-fonce:   #166534;
  --vert-sombre:         #12331f;                          /* le plus foncé : fonds d'étiquette */
  --vert-voile:          rgba(34,197,94,.16);              /* aplat translucide */
  --vert-voile-fort:     rgba(22,101,52,.35);
  /* ---- BLEU — information, lien externe, covoiturage ------------------- */
  --bleu:                #3b82f6;                          /* aplat et bordure */
  --bleu-txt:            #8ec2ea;                          /* texte sur le fond du thème */
  --bleu-pale:           #bfdbfe;                          /* nuance très claire */
  --bleu-blanc:        #16202c;                          /* fond bleuté presque blanc */
  --bleu-fonce:          #1d4ed8;                          /* appui, survol */
  --bleu-papier:         #8ec2ea;                          /* texte sur une surface papier */
  --bleu-sombre:         #12263a;                          /* le plus foncé : fonds d'étiquette */
  --indigo:              #4f46e5;                          /* dégradé indigo */
  --bleu-voile:          rgba(59,130,246,.16);             /* aplat translucide */
  --bleu-voile-fort:     rgba(147,197,253,.45);
  /* ---- VIOLET — catégories, étiquettes de profil ----------------------- */
  --violet:              #a855f7;                          /* aplat et bordure */
  --violet-txt:          #d8b4fe;                          /* texte sur le fond du thème */
  --violet-pale:         #e9d5ff;                          /* nuance très claire */
  --violet-fonce:        #7e22ce;                          /* appui, survol */
  --violet-papier:       #d8b4fe;                          /* texte sur une surface papier */
  --violet-sombre:       #2a0a45;                          /* le plus foncé : fonds d'étiquette */
  --violet-voile:        rgba(107,33,168,.20);             /* aplat translucide */
  --violet-voile-fort:   rgba(107,33,168,.34);             /* voile appuyé (survol) */
  /* ---- ROSE — coups de cœur, réactions --------------------------------- */
  --rose:                #ec4899;                          /* aplat et bordure */
  --rose-txt:            #f9a8d4;                          /* texte sur le fond du thème */
  --rose-pale:           #fbcfe8;                          /* nuance très claire */
  --rose-fonce:          #be185d;                          /* appui, survol */
  --rose-papier:         #f9a8d4;                          /* texte sur une surface papier */
  --rose-sombre:         #3b0522;                          /* le plus foncé : fonds d'étiquette */
  --rose-voile:          rgba(236,72,153,.18);             /* aplat translucide */
  --rose-voile-fort:     rgba(236,72,153,.30);             /* voile appuyé (survol) */
  /* ---- ORANGE — en attente, à confirmer -------------------------------- */
  --orange:              #f97316;                          /* aplat et bordure */
  --orange-txt:          #fdba74;                          /* texte sur le fond du thème */
  --orange-pale:         #fed7aa;                          /* nuance très claire */
  --orange-fonce:        #c2410c;                          /* appui, survol */
  --orange-papier:       #fdba74;                          /* texte sur une surface papier */
  --orange-ambre:      #d97706;                          /* ambre : en attente */
  --orange-sombre:       #2e1206;                          /* le plus foncé : fonds d'étiquette */
  --orange-brun:       #b45309;
  --orange-voile:        rgba(217,119,6,.18);              /* aplat translucide */
  --orange-voile-fort:   rgba(217,119,6,.30);              /* voile appuyé (survol) */
  /* ---- JAUNE — avertissement, brouillon -------------------------------- */
  --jaune:               #f0c65a;                          /* aplat et bordure */
  --jaune-ambre:       #f59e0b;                          /* jaune profond */
  --jaune-txt:           #fde68a;                          /* texte sur le fond du thème */
  --jaune-pale:          #fef3c7;                          /* nuance très claire */
  --jaune-fonce:         #a16207;                          /* appui, survol */
  --jaune-papier:        #f0c65a;                          /* texte sur une surface papier */
  --jaune-sombre:        #3a2c0d;                          /* le plus foncé : fonds d'étiquette */
  --jaune-voile:         rgba(240,198,90,.18);             /* aplat translucide */
  --jaune-voile-fort:    rgba(240,198,90,.30);             /* voile appuyé (survol) */
  /* ---- ROUGE — refus, annulation, suppression -------------------------- */
  --rouge:               #ef4444;                          /* aplat et bordure */
  --rouge-vif:         #ef4444;                          /* rouge clair d'alerte */
  --rouge-txt:           #ff9aa2;                          /* texte sur le fond du thème */
  --rouge-clair:         #f87171;
  --rouge-pale:          #fecaca;                          /* nuance très claire */
  --rouge-fonce:         #b91c1c;                          /* appui, survol */
  --rouge-papier:        #ff9aa2;                          /* texte sur une surface papier */
  --rouge-tres-fonce:  #991b1b;
  --rouge-sombre:        #3a1418;                          /* le plus foncé : fonds d'étiquette */
  --rouge-voile:         rgba(239,68,68,.16);              /* aplat translucide */
  --rouge-voile-fort:    rgba(150,20,32,.70);
  /* ---- VOILES, OMBRES ET DIVERS ---------------------------------------- */
  --blanc-voile:         rgba(255,255,255,.30);
  --or-voile-fort:       rgba(212,175,55,.50);                 /* liseré doré appuyé */
  --soutien:             #d4af37;                              /* liseré d'un soutien : or plein */
  --soutien-voile:       rgba(212,175,55,.30);                 /* son halo */
  --lien-voile:          rgba(224,189,78,.30);                 /* halo d'un lien */
  --blanc-voile-fort:    rgba(255,255,255,.60);            /* verre dépoli clair */
  --surbrillance:        rgba(255,255,255,.05);            /* relief très léger */
  --ombre-couleur:       rgba(0,0,0,.55);                  /* couleur d'une ombre portée */
  --ombre-forte:         rgba(0,0,0,.72);
  --voile:               rgba(0,0,0,.70);                  /* fond des pop-up */
  --voile-doux:          rgba(0,0,0,.22);                  /* voile léger sur une image */
  --voile-fort:          rgba(0,0,0,.86);                  /* fond d'une visionneuse d'image */
  --ombre:               0 4px 20px rgba(0,0,0,.55);       /* ombre complète d'une carte */
  --ombre-2:             0 10px 30px rgba(0,0,0,.5);       /* ombre d'une pop-up */
  --barre-navigateur:    #0f1115;                          /* barre du navigateur / PWA */
}


/* ==========================================================================
   3. CLAIR — « Miss Lingerie » (ex-« Papier & encre », renommé le 04/10/2026)
   ========================================================================== */
html[data-theme="clair"] {
  /* ---- FONDS ET SURFACES ----------------------------------------------- */
  --fond:                #f6e0e2;                          /* fond de page */
  --fond-2:              #f0d0d5;                          /* creux : champs de saisie, zones en retrait */
  --fond-3:              #e8bfc6;                          /* relief : survol, ligne alternée, bandeau */
  --fond-4:              #f2dadd;                          /* fond neutre chaud (cartouches, logos) */
  --brun:                #f3d3d3;                          /* brun : boutons d'humeur */
  --brun-2:              #ebbfc0;                          /* son survol */
  --brun-3:              #f0cfd2;                          /* dégradé de bandeau */
  --carte:               #fcecee;                          /* fond d'une carte */
  --carte-2:             #f8e2e5;                          /* carte posée sur une carte */
  --carte-3:             #fae6e9;                          /* variante sourde de --carte */
  /* ---- TRAITS ---------------------------------------------------------- */
  --trait:               #dfbcbc;                          /* bordure courante */
  --trait-2:             #e8ccce;                          /* séparateur interne, plus discret */
  --trait-3:             #d6b0b4;                          /* bordure d'un élément en relief */
  --trait-4:           #caa0a6;                          /* bordure d'un élément survolé */
  --trait-voile:         rgba(223,188,188,.70);            /* bordure translucide */
  /* ---- TEXTES ---------------------------------------------------------- */
  --txt:                 #33202a;                          /* texte courant */
  --txt-1:               #46303a;                          /* appuyé, un cran sous --txt */
  --txt-2:               #664a56;                          /* secondaire : légendes, labels */
  --txt-3:               #6a4e5a;                          /* tertiaire : en-têtes de tableau */
  --txt-4:               #70545f;                          /* gris froid : mentions techniques */
  --txt-5:             #755a64;                          /* gris chaud très discret */
  --sur-couleur:         #fff0f2;                          /* texte posé sur un aplat --accent */
  --sur-or:              #2a1a08;                          /* texte posé sur un aplat doré */
  --sur-vert:            #04220f;                          /* texte posé sur un aplat vert */
  --sur-vif:             #fff0f2;                          /* texte sur un aplat de couleur vive */
  /* ---- ACCENT ---------------------------------------------------------- */
  --accent:              #8e3a5a;                          /* couleur d'action : boutons, focus */
  --accent-fonce:        #6f2b45;                          /* survol d'un bouton d'action */
  --accent-2:          #a3243f;                          /* seconde nuance d'accent */
  --lien:                #8e3a5a;                          /* lien dans un texte */
  --lien-2:              #8e3a5a;                          /* seconde nuance de lien */
  --lien-survol:         #6f2b45;
  --accent-voile:        rgba(142,58,90,.12);             /* aplat d'accent translucide */
  --accent-voile-fort:   rgba(142,58,90,.30);
  /* ---- PAPIER — les surfaces claires des pages de soirée --------------- */
  --papier:              #fcecee;                          /* carte blanche (inscription, participants) */
  --papier-2:            #f8e2e5;                          /* zone en retrait sur papier */
  --papier-3:            #f3d6da;                          /* relief sur papier */
  --papier-txt:          #33202a;                          /* texte sur papier */
  --papier-txt-1:      #241219;                          /* texte le plus foncé sur papier */
  --papier-txt-2:        #664a56;
  --papier-txt-3:        #6a4e5a;
  --papier-trait:        #e6ccc9;                          /* bordure sur papier */
  --papier-fond:         #f0d0d5;                          /* fond de page derrière les cartes de papier */
  /* ---- OR — l'or Kalipay : distinctions, liserés, mentions d'honneur --- */
  --or:                  #c9a463;                          /* aplat et bordure */
  --or-txt:              #7c5f2c;                          /* texte sur le fond du thème */
  --or-pale:             #f0dfc0;                          /* nuance très claire */
  --or-fonce:            #8a6a30;                          /* appui, survol */
  --or-papier:           #6b501f;                          /* texte sur une surface papier */
  --or-vif:            #a07c3a;                          /* éclat : médailles, mise en avant */
  --or-sombre:           #f3e4cc;                          /* le plus foncé : fonds d'étiquette */
  --or-voile:            rgba(201,164,99,.18);             /* aplat translucide */
  /* ---- VERT — validé, présent, disponible ------------------------------ */
  --vert:                #16a34a;                          /* aplat et bordure */
  --vert-moyen:        #15803d;                          /* un cran sous --vert */
  --vert-txt:            #186a3b;                          /* texte sur le fond du thème */
  --vert-pale:           #bbf7d0;                          /* nuance très claire */
  --vert-blanc:          #e8f8ee;                          /* vert le plus clair */
  --vert-vif:          #047857;                          /* émeraude : validation forte */
  --vert-fonce:          #14532d;                          /* appui, survol */
  --vert-papier:         #186a3b;                          /* texte sur une surface papier */
  --vert-tres-fonce:   #14532d;
  --vert-sombre:         #e3f5ea;                          /* le plus foncé : fonds d'étiquette */
  --vert-voile:          rgba(22,163,74,.12);              /* aplat translucide */
  --vert-voile-fort:     rgba(22,163,74,.25);
  /* ---- BLEU — information, lien externe, covoiturage ------------------- */
  --bleu:                #2563eb;                          /* aplat et bordure */
  --bleu-txt:            #1d4ed8;                          /* texte sur le fond du thème */
  --bleu-pale:           #bfdbfe;                          /* nuance très claire */
  --bleu-blanc:        #e6eef9;                          /* fond bleuté presque blanc */
  --bleu-fonce:          #1e40af;                          /* appui, survol */
  --bleu-papier:         #1d4ed8;                          /* texte sur une surface papier */
  --bleu-sombre:         #e6f0fa;                          /* le plus foncé : fonds d'étiquette */
  --indigo:              #4338ca;                          /* dégradé indigo */
  --bleu-voile:          rgba(37,99,235,.12);              /* aplat translucide */
  --bleu-voile-fort:     rgba(37,99,235,.28);
  /* ---- VIOLET — catégories, étiquettes de profil ----------------------- */
  --violet:              #7e22ce;                          /* aplat et bordure */
  --violet-txt:          #6b21a8;                          /* texte sur le fond du thème */
  --violet-pale:         #e9d5ff;                          /* nuance très claire */
  --violet-fonce:        #581c87;                          /* appui, survol */
  --violet-papier:       #6b21a8;                          /* texte sur une surface papier */
  --violet-sombre:       #f3e8ff;                          /* le plus foncé : fonds d'étiquette */
  --violet-voile:        rgba(126,34,206,.12);             /* aplat translucide */
  --violet-voile-fort:   rgba(126,34,206,.20);             /* voile appuyé (survol) */
  /* ---- ROSE — coups de cœur, réactions --------------------------------- */
  --rose:                #db2777;                          /* aplat et bordure */
  --rose-txt:            #9d174d;                          /* texte sur le fond du thème */
  --rose-pale:           #fbcfe8;                          /* nuance très claire */
  --rose-fonce:          #9d174d;                          /* appui, survol */
  --rose-papier:         #9d174d;                          /* texte sur une surface papier */
  --rose-sombre:         #fce7f3;                          /* le plus foncé : fonds d'étiquette */
  --rose-voile:          rgba(219,39,119,.12);             /* aplat translucide */
  --rose-voile-fort:     rgba(219,39,119,.20);             /* voile appuyé (survol) */
  /* ---- ORANGE — en attente, à confirmer -------------------------------- */
  --orange:              #ea580c;                          /* aplat et bordure */
  --orange-txt:          #9a3412;                          /* texte sur le fond du thème */
  --orange-pale:         #fed7aa;                          /* nuance très claire */
  --orange-fonce:        #9a3412;                          /* appui, survol */
  --orange-papier:       #9a3412;                          /* texte sur une surface papier */
  --orange-ambre:      #b45309;                          /* ambre : en attente */
  --orange-sombre:       #ffedd5;                          /* le plus foncé : fonds d'étiquette */
  --orange-brun:       #7c2d12;
  --orange-voile:        rgba(234,88,12,.12);              /* aplat translucide */
  --orange-voile-fort:   rgba(234,88,12,.20);              /* voile appuyé (survol) */
  /* ---- JAUNE — avertissement, brouillon -------------------------------- */
  --jaune:               #a16207;                          /* aplat et bordure */
  --jaune-ambre:       #b45309;                          /* jaune profond */
  --jaune-txt:           #7a5b06;                          /* texte sur le fond du thème */
  --jaune-pale:          #fef3c7;                          /* nuance très claire */
  --jaune-fonce:         #854d0e;                          /* appui, survol */
  --jaune-papier:        #7a5b06;                          /* texte sur une surface papier */
  --jaune-sombre:        #fdf2d6;                          /* le plus foncé : fonds d'étiquette */
  --jaune-voile:         rgba(161,98,7,.12);               /* aplat translucide */
  --jaune-voile-fort:    rgba(161,98,7,.20);               /* voile appuyé (survol) */
  /* ---- ROUGE — refus, annulation, suppression -------------------------- */
  --rouge:               #dc2626;                          /* aplat et bordure */
  --rouge-vif:         #dc2626;                          /* rouge clair d'alerte */
  --rouge-txt:           #b91c1c;                          /* texte sur le fond du thème */
  --rouge-clair:         #b91c1c;
  --rouge-pale:          #fecaca;                          /* nuance très claire */
  --rouge-fonce:         #991b1b;                          /* appui, survol */
  --rouge-papier:        #991b1b;                          /* texte sur une surface papier */
  --rouge-tres-fonce:  #7f1d1d;
  --rouge-sombre:        #fdeaec;                          /* le plus foncé : fonds d'étiquette */
  --rouge-voile:         rgba(220,38,38,.12);              /* aplat translucide */
  --rouge-voile-fort:    rgba(220,38,38,.35);
  /* ---- VOILES, OMBRES ET DIVERS ---------------------------------------- */
  --blanc-voile:         rgba(252,236,238,.65);
  --or-voile-fort:       rgba(201,164,99,.40);                 /* liseré doré appuyé */
  --soutien:             #c9a463;                              /* liseré d'un soutien : or plein */
  --soutien-voile:       rgba(201,164,99,.22);                 /* son halo */
  --lien-voile:          rgba(142,58,90,.18);                 /* halo d'un lien */
  --blanc-voile-fort:    rgba(252,236,238,.85);            /* verre dépoli clair */
  --surbrillance:        rgba(90,30,55,.04);               /* relief très léger */
  --ombre-couleur:       rgba(90,30,55,.10);               /* couleur d'une ombre portée */
  --ombre-forte:         rgba(90,30,55,.18);
  --voile:               rgba(60,20,40,.45);               /* fond des pop-up */
  --voile-doux:          rgba(60,20,40,.10);               /* voile léger sur une image */
  --voile-fort:          rgba(60,20,40,.62);               /* fond d'une visionneuse d'image */
  --ombre:               0 1px 3px rgba(90,30,55,.07);     /* ombre complète d'une carte */
  --ombre-2:             0 4px 14px rgba(90,30,55,.09);    /* ombre d'une pop-up */
  --barre-navigateur:    #f6e0e2;                          /* barre du navigateur / PWA */
}


/* ==========================================================================
   4. ABYSSE — « Abysse », bleu turquoise            (ajouté le 13/09/2026)
   Thème sombre : bleu de grand fond, accent cyan. Les couleurs d'état
   (vert, bleu, orange, violet, rouge, or, jaune) sont celles de « sombre ».
   ========================================================================== */
html[data-theme="abysse"] {
  /* ---- FONDS ET SURFACES ----------------------------------------------- */
  --fond:                #05121a;                          /* fond de page */
  --fond-2:              #020a10;                          /* creux : champs de saisie, zones en retrait */
  --fond-3:              #0b2331;                          /* relief : survol, ligne alternée, bandeau */
  --fond-4:              #0a1a24;                          /* fond neutre chaud (cartouches, logos) */
  --brun:                #2e1206;                          /* brun : boutons d'humeur */
  --brun-2:              #3a1a08;                          /* son survol */
  --brun-3:              #33170f;                          /* dégradé de bandeau */
  --carte:               #091c27;                          /* fond d'une carte */
  --carte-2:             #0d2635;                          /* carte posée sur une carte */
  --carte-3:             #071722;                          /* variante sourde de --carte */
  /* ---- TRAITS ---------------------------------------------------------- */
  --trait:               #14415a;                          /* bordure courante */
  --trait-2:             #0f3145;                          /* séparateur interne, plus discret */
  --trait-3:             #1a5170;                          /* bordure d'un élément en relief */
  --trait-4:           #1f6485;                          /* bordure d'un élément survolé */
  --trait-voile:         rgba(20,65,90,.70);               /* bordure translucide */
  /* ---- TEXTES ---------------------------------------------------------- */
  --txt:                 #e8f4fa;                          /* texte courant */
  --txt-1:               #bcdcec;                          /* appuyé, un cran sous --txt */
  --txt-2:               #8ab4c8;                          /* secondaire : légendes, labels */
  --txt-3:               #6b8fa2;                          /* tertiaire : en-têtes de tableau */
  --txt-4:               #7da0b3;                          /* gris froid : mentions techniques */
  --txt-5:             #5f7d8c;                          /* gris chaud très discret */
  --sur-couleur:         #04202a;                          /* texte posé sur un aplat --accent */
  --sur-or:              #1a1408;                          /* texte posé sur un aplat doré */
  --sur-vert:            #04220f;                          /* texte posé sur un aplat vert */
  --sur-vif:             #ffffff;                          /* texte sur un aplat de couleur vive */
  /* ---- ACCENT ---------------------------------------------------------- */
  --accent:              #22d3ee;                          /* couleur d'action : boutons, focus */
  --accent-fonce:        #0e9fb8;                          /* survol d'un bouton d'action */
  --accent-2:          #0ea5c4;                          /* seconde nuance d'accent */
  --lien:                #7dd3fc;                          /* lien dans un texte */
  --lien-2:              #67c8f5;                          /* seconde nuance de lien */
  --lien-survol:         #bae6fd;
  --accent-voile:        rgba(34,211,238,.14);             /* aplat d'accent translucide */
  --accent-voile-fort:   rgba(34,211,238,.45);
  /* ---- PAPIER — les surfaces claires des pages de soirée --------------- */
  --papier:              #091c27;                          /* carte blanche (inscription, participants) */
  --papier-2:            #0d2635;                          /* zone en retrait sur papier */
  --papier-3:            #14415a;                          /* relief sur papier */
  --papier-txt:          #e8f4fa;                          /* texte sur papier */
  --papier-txt-1:      #f2fafd;                          /* texte le plus foncé sur papier */
  --papier-txt-2:        #8ab4c8;
  --papier-txt-3:        #6b8fa2;
  --papier-trait:        #14415a;                          /* bordure sur papier */
  --papier-fond:         #020a10;                          /* fond de page derrière les cartes de papier */
  /* ---- OR — l'or Kalipay : distinctions, liserés, mentions d'honneur --- */
  --or:                  #d4af37;                          /* aplat et bordure */
  --or-txt:              #e8c15a;                          /* texte sur le fond du thème */
  --or-pale:             #f0dda0;                          /* nuance très claire */
  --or-fonce:            #9a7418;                          /* appui, survol */
  --or-papier:           #e8c15a;                          /* texte sur une surface papier */
  --or-vif:            #ffd700;                          /* éclat : médailles, mise en avant */
  --or-sombre:           #6b5210;                          /* le plus foncé : fonds d'étiquette */
  --or-voile:            rgba(212,175,55,.18);             /* aplat translucide */
  /* ---- VERT — validé, présent, disponible ------------------------------ */
  --vert:                #22c55e;                          /* aplat et bordure */
  --vert-moyen:        #16a34a;                          /* un cran sous --vert */
  --vert-txt:            #6ee7a0;                          /* texte sur le fond du thème */
  --vert-pale:           #bbf7d0;                          /* nuance très claire */
  --vert-blanc:          #1a3a28;                          /* vert le plus clair */
  --vert-vif:          #10b981;                          /* émeraude : validation forte */
  --vert-fonce:          #15803d;                          /* appui, survol */
  --vert-papier:         #6ee7a0;                          /* texte sur une surface papier */
  --vert-tres-fonce:   #166534;
  --vert-sombre:         #12331f;                          /* le plus foncé : fonds d'étiquette */
  --vert-voile:          rgba(34,197,94,.16);              /* aplat translucide */
  --vert-voile-fort:     rgba(22,101,52,.35);
  /* ---- BLEU — information, lien externe, covoiturage ------------------- */
  --bleu:                #3b82f6;                          /* aplat et bordure */
  --bleu-txt:            #8ec2ea;                          /* texte sur le fond du thème */
  --bleu-pale:           #bfdbfe;                          /* nuance très claire */
  --bleu-blanc:        #16202c;                          /* fond bleuté presque blanc */
  --bleu-fonce:          #1d4ed8;                          /* appui, survol */
  --bleu-papier:         #8ec2ea;                          /* texte sur une surface papier */
  --bleu-sombre:         #12263a;                          /* le plus foncé : fonds d'étiquette */
  --indigo:              #4f46e5;                          /* dégradé indigo */
  --bleu-voile:          rgba(59,130,246,.16);             /* aplat translucide */
  --bleu-voile-fort:     rgba(147,197,253,.45);
  /* ---- VIOLET — catégories, étiquettes de profil ----------------------- */
  --violet:              #a855f7;                          /* aplat et bordure */
  --violet-txt:          #d8b4fe;                          /* texte sur le fond du thème */
  --violet-pale:         #e9d5ff;                          /* nuance très claire */
  --violet-fonce:        #7e22ce;                          /* appui, survol */
  --violet-papier:       #d8b4fe;                          /* texte sur une surface papier */
  --violet-sombre:       #2a0a45;                          /* le plus foncé : fonds d'étiquette */
  --violet-voile:        rgba(107,33,168,.20);             /* aplat translucide */
  --violet-voile-fort:   rgba(107,33,168,.34);             /* voile appuyé (survol) */
  /* ---- ROSE — coups de cœur, réactions --------------------------------- */
  --rose:                #ec4899;                          /* aplat et bordure */
  --rose-txt:            #f9a8d4;                          /* texte sur le fond du thème */
  --rose-pale:           #fbcfe8;                          /* nuance très claire */
  --rose-fonce:          #be185d;                          /* appui, survol */
  --rose-papier:         #f9a8d4;                          /* texte sur une surface papier */
  --rose-sombre:         #3b0522;                          /* le plus foncé : fonds d'étiquette */
  --rose-voile:          rgba(236,72,153,.18);             /* aplat translucide */
  --rose-voile-fort:     rgba(236,72,153,.30);             /* voile appuyé (survol) */
  /* ---- ORANGE — en attente, à confirmer -------------------------------- */
  --orange:              #f97316;                          /* aplat et bordure */
  --orange-txt:          #fdba74;                          /* texte sur le fond du thème */
  --orange-pale:         #fed7aa;                          /* nuance très claire */
  --orange-fonce:        #c2410c;                          /* appui, survol */
  --orange-papier:       #fdba74;                          /* texte sur une surface papier */
  --orange-ambre:      #d97706;                          /* ambre : en attente */
  --orange-sombre:       #2e1206;                          /* le plus foncé : fonds d'étiquette */
  --orange-brun:       #b45309;
  --orange-voile:        rgba(217,119,6,.18);              /* aplat translucide */
  --orange-voile-fort:   rgba(217,119,6,.30);              /* voile appuyé (survol) */
  /* ---- JAUNE — avertissement, brouillon -------------------------------- */
  --jaune:               #f0c65a;                          /* aplat et bordure */
  --jaune-ambre:       #f59e0b;                          /* jaune profond */
  --jaune-txt:           #fde68a;                          /* texte sur le fond du thème */
  --jaune-pale:          #fef3c7;                          /* nuance très claire */
  --jaune-fonce:         #a16207;                          /* appui, survol */
  --jaune-papier:        #f0c65a;                          /* texte sur une surface papier */
  --jaune-sombre:        #3a2c0d;                          /* le plus foncé : fonds d'étiquette */
  --jaune-voile:         rgba(240,198,90,.18);             /* aplat translucide */
  --jaune-voile-fort:    rgba(240,198,90,.30);             /* voile appuyé (survol) */
  /* ---- ROUGE — refus, annulation, suppression -------------------------- */
  --rouge:               #ef4444;                          /* aplat et bordure */
  --rouge-vif:         #ef4444;                          /* rouge clair d'alerte */
  --rouge-txt:           #ff9aa2;                          /* texte sur le fond du thème */
  --rouge-clair:         #f87171;
  --rouge-pale:          #fecaca;                          /* nuance très claire */
  --rouge-fonce:         #b91c1c;                          /* appui, survol */
  --rouge-papier:        #ff9aa2;                          /* texte sur une surface papier */
  --rouge-tres-fonce:  #991b1b;
  --rouge-sombre:        #3a1418;                          /* le plus foncé : fonds d'étiquette */
  --rouge-voile:         rgba(239,68,68,.16);              /* aplat translucide */
  --rouge-voile-fort:    rgba(150,20,32,.70);
  /* ---- VOILES, OMBRES ET DIVERS ---------------------------------------- */
  --blanc-voile:         rgba(255,255,255,.30);
  --or-voile-fort:       rgba(212,175,55,.50);                 /* liseré doré appuyé */
  --soutien:             #d4af37;                              /* liseré d'un soutien : or plein */
  --soutien-voile:       rgba(212,175,55,.30);                 /* son halo */
  --lien-voile:          rgba(125,211,252,.30);                /* halo d'un lien */
  --blanc-voile-fort:    rgba(255,255,255,.60);            /* verre dépoli clair */
  --surbrillance:        rgba(255,255,255,.05);            /* relief très léger */
  --ombre-couleur:       rgba(0,0,0,.55);                  /* couleur d'une ombre portée */
  --ombre-forte:         rgba(0,0,0,.72);
  --voile:               rgba(0,0,0,.70);                  /* fond des pop-up */
  --voile-doux:          rgba(0,0,0,.22);                  /* voile léger sur une image */
  --voile-fort:          rgba(0,0,0,.86);                  /* fond d'une visionneuse d'image */
  --ombre:               0 4px 20px rgba(0,0,0,.55);       /* ombre complète d'une carte */
  --ombre-2:             0 10px 30px rgba(0,0,0,.5);       /* ombre d'une pop-up */
  --barre-navigateur:    #05121a;                          /* barre du navigateur / PWA */
}


/* ==========================================================================
   5. MAGENTA — « Néon rose », rose fluo             (ajouté le 13/09/2026)
   Thème sombre : prune profond, accent rose fluo. Les couleurs d'état
   (vert, bleu, orange, violet, rouge, or, jaune) sont celles de « sombre ».
   ========================================================================== */
html[data-theme="magenta"] {
  /* ---- FONDS ET SURFACES ----------------------------------------------- */
  --fond:                #1a0a18;                          /* fond de page */
  --fond-2:              #100510;                          /* creux : champs de saisie, zones en retrait */
  --fond-3:              #2f1029;                          /* relief : survol, ligne alternée, bandeau */
  --fond-4:              #241522;                          /* fond neutre chaud (cartouches, logos) */
  --brun:                #2e1206;                          /* brun : boutons d'humeur */
  --brun-2:              #3a1a08;                          /* son survol */
  --brun-3:              #33170f;                          /* dégradé de bandeau */
  --carte:               #261023;                          /* fond d'une carte */
  --carte-2:             #311630;                          /* carte posée sur une carte */
  --carte-3:             #200d1e;                          /* variante sourde de --carte */
  /* ---- TRAITS ---------------------------------------------------------- */
  --trait:               #63265a;                          /* bordure courante */
  --trait-2:             #451a3f;                          /* séparateur interne, plus discret */
  --trait-3:             #6e2e66;                          /* bordure d'un élément en relief */
  --trait-4:           #7f3272;                          /* bordure d'un élément survolé */
  --trait-voile:         rgba(99,38,90,.70);               /* bordure translucide */
  /* ---- TEXTES ---------------------------------------------------------- */
  --txt:                 #fbeaf7;                          /* texte courant */
  --txt-1:               #f0c8e6;                          /* appuyé, un cran sous --txt */
  --txt-2:               #cb9dc0;                          /* secondaire : légendes, labels */
  --txt-3:               #a67c9c;                          /* tertiaire : en-têtes de tableau */
  --txt-4:               #b491a9;                          /* gris froid : mentions techniques */
  --txt-5:             #8c6b84;                          /* gris chaud très discret */
  --sur-couleur:         #24041a;                          /* texte posé sur un aplat --accent */
  --sur-or:              #1a1408;                          /* texte posé sur un aplat doré */
  --sur-vert:            #04220f;                          /* texte posé sur un aplat vert */
  --sur-vif:             #ffffff;                          /* texte sur un aplat de couleur vive */
  /* ---- ACCENT ---------------------------------------------------------- */
  --accent:              #ff4fb0;                          /* couleur d'action : boutons, focus */
  --accent-fonce:        #d42a8b;                          /* survol d'un bouton d'action */
  --accent-2:          #e93a9c;                          /* seconde nuance d'accent */
  --lien:                #ff9ad6;                          /* lien dans un texte */
  --lien-2:              #ff85cd;                          /* seconde nuance de lien */
  --lien-survol:         #ffc2e8;
  --accent-voile:        rgba(255,79,176,.14);             /* aplat d'accent translucide */
  --accent-voile-fort:   rgba(255,79,176,.45);
  /* ---- PAPIER — les surfaces claires des pages de soirée --------------- */
  --papier:              #261023;                          /* carte blanche (inscription, participants) */
  --papier-2:            #311630;                          /* zone en retrait sur papier */
  --papier-3:            #63265a;                          /* relief sur papier */
  --papier-txt:          #fbeaf7;                          /* texte sur papier */
  --papier-txt-1:      #fdf3fa;                          /* texte le plus foncé sur papier */
  --papier-txt-2:        #cb9dc0;
  --papier-txt-3:        #a67c9c;
  --papier-trait:        #63265a;                          /* bordure sur papier */
  --papier-fond:         #100510;                          /* fond de page derrière les cartes de papier */
  /* ---- OR — l'or Kalipay : distinctions, liserés, mentions d'honneur --- */
  --or:                  #d4af37;                          /* aplat et bordure */
  --or-txt:              #e8c15a;                          /* texte sur le fond du thème */
  --or-pale:             #f0dda0;                          /* nuance très claire */
  --or-fonce:            #9a7418;                          /* appui, survol */
  --or-papier:           #e8c15a;                          /* texte sur une surface papier */
  --or-vif:            #ffd700;                          /* éclat : médailles, mise en avant */
  --or-sombre:           #6b5210;                          /* le plus foncé : fonds d'étiquette */
  --or-voile:            rgba(212,175,55,.18);             /* aplat translucide */
  /* ---- VERT — validé, présent, disponible ------------------------------ */
  --vert:                #22c55e;                          /* aplat et bordure */
  --vert-moyen:        #16a34a;                          /* un cran sous --vert */
  --vert-txt:            #6ee7a0;                          /* texte sur le fond du thème */
  --vert-pale:           #bbf7d0;                          /* nuance très claire */
  --vert-blanc:          #1a3a28;                          /* vert le plus clair */
  --vert-vif:          #10b981;                          /* émeraude : validation forte */
  --vert-fonce:          #15803d;                          /* appui, survol */
  --vert-papier:         #6ee7a0;                          /* texte sur une surface papier */
  --vert-tres-fonce:   #166534;
  --vert-sombre:         #12331f;                          /* le plus foncé : fonds d'étiquette */
  --vert-voile:          rgba(34,197,94,.16);              /* aplat translucide */
  --vert-voile-fort:     rgba(22,101,52,.35);
  /* ---- BLEU — information, lien externe, covoiturage ------------------- */
  --bleu:                #3b82f6;                          /* aplat et bordure */
  --bleu-txt:            #8ec2ea;                          /* texte sur le fond du thème */
  --bleu-pale:           #bfdbfe;                          /* nuance très claire */
  --bleu-blanc:        #16202c;                          /* fond bleuté presque blanc */
  --bleu-fonce:          #1d4ed8;                          /* appui, survol */
  --bleu-papier:         #8ec2ea;                          /* texte sur une surface papier */
  --bleu-sombre:         #12263a;                          /* le plus foncé : fonds d'étiquette */
  --indigo:              #4f46e5;                          /* dégradé indigo */
  --bleu-voile:          rgba(59,130,246,.16);             /* aplat translucide */
  --bleu-voile-fort:     rgba(147,197,253,.45);
  /* ---- VIOLET — catégories, étiquettes de profil ----------------------- */
  --violet:              #a855f7;                          /* aplat et bordure */
  --violet-txt:          #d8b4fe;                          /* texte sur le fond du thème */
  --violet-pale:         #e9d5ff;                          /* nuance très claire */
  --violet-fonce:        #7e22ce;                          /* appui, survol */
  --violet-papier:       #d8b4fe;                          /* texte sur une surface papier */
  --violet-sombre:       #2a0a45;                          /* le plus foncé : fonds d'étiquette */
  --violet-voile:        rgba(107,33,168,.20);             /* aplat translucide */
  --violet-voile-fort:   rgba(107,33,168,.34);             /* voile appuyé (survol) */
  /* ---- ROSE — coups de cœur, réactions --------------------------------- */
  --rose:                #ec4899;                          /* aplat et bordure */
  --rose-txt:            #f9a8d4;                          /* texte sur le fond du thème */
  --rose-pale:           #fbcfe8;                          /* nuance très claire */
  --rose-fonce:          #be185d;                          /* appui, survol */
  --rose-papier:         #f9a8d4;                          /* texte sur une surface papier */
  --rose-sombre:         #3b0522;                          /* le plus foncé : fonds d'étiquette */
  --rose-voile:          rgba(236,72,153,.18);             /* aplat translucide */
  --rose-voile-fort:     rgba(236,72,153,.30);             /* voile appuyé (survol) */
  /* ---- ORANGE — en attente, à confirmer -------------------------------- */
  --orange:              #f97316;                          /* aplat et bordure */
  --orange-txt:          #fdba74;                          /* texte sur le fond du thème */
  --orange-pale:         #fed7aa;                          /* nuance très claire */
  --orange-fonce:        #c2410c;                          /* appui, survol */
  --orange-papier:       #fdba74;                          /* texte sur une surface papier */
  --orange-ambre:      #d97706;                          /* ambre : en attente */
  --orange-sombre:       #2e1206;                          /* le plus foncé : fonds d'étiquette */
  --orange-brun:       #b45309;
  --orange-voile:        rgba(217,119,6,.18);              /* aplat translucide */
  --orange-voile-fort:   rgba(217,119,6,.30);              /* voile appuyé (survol) */
  /* ---- JAUNE — avertissement, brouillon -------------------------------- */
  --jaune:               #f0c65a;                          /* aplat et bordure */
  --jaune-ambre:       #f59e0b;                          /* jaune profond */
  --jaune-txt:           #fde68a;                          /* texte sur le fond du thème */
  --jaune-pale:          #fef3c7;                          /* nuance très claire */
  --jaune-fonce:         #a16207;                          /* appui, survol */
  --jaune-papier:        #f0c65a;                          /* texte sur une surface papier */
  --jaune-sombre:        #3a2c0d;                          /* le plus foncé : fonds d'étiquette */
  --jaune-voile:         rgba(240,198,90,.18);             /* aplat translucide */
  --jaune-voile-fort:    rgba(240,198,90,.30);             /* voile appuyé (survol) */
  /* ---- ROUGE — refus, annulation, suppression -------------------------- */
  --rouge:               #ef4444;                          /* aplat et bordure */
  --rouge-vif:         #ef4444;                          /* rouge clair d'alerte */
  --rouge-txt:           #ff9aa2;                          /* texte sur le fond du thème */
  --rouge-clair:         #f87171;
  --rouge-pale:          #fecaca;                          /* nuance très claire */
  --rouge-fonce:         #b91c1c;                          /* appui, survol */
  --rouge-papier:        #ff9aa2;                          /* texte sur une surface papier */
  --rouge-tres-fonce:  #991b1b;
  --rouge-sombre:        #3a1418;                          /* le plus foncé : fonds d'étiquette */
  --rouge-voile:         rgba(239,68,68,.16);              /* aplat translucide */
  --rouge-voile-fort:    rgba(150,20,32,.70);
  /* ---- VOILES, OMBRES ET DIVERS ---------------------------------------- */
  --blanc-voile:         rgba(255,255,255,.30);
  --or-voile-fort:       rgba(212,175,55,.50);                 /* liseré doré appuyé */
  --soutien:             #d4af37;                              /* liseré d'un soutien : or plein */
  --soutien-voile:       rgba(212,175,55,.30);                 /* son halo */
  --lien-voile:          rgba(255,154,214,.30);                /* halo d'un lien */
  --blanc-voile-fort:    rgba(255,255,255,.60);            /* verre dépoli clair */
  --surbrillance:        rgba(255,255,255,.05);            /* relief très léger */
  --ombre-couleur:       rgba(0,0,0,.55);                  /* couleur d'une ombre portée */
  --ombre-forte:         rgba(0,0,0,.72);
  --voile:               rgba(0,0,0,.70);                  /* fond des pop-up */
  --voile-doux:          rgba(0,0,0,.22);                  /* voile léger sur une image */
  --voile-fort:          rgba(0,0,0,.86);                  /* fond d'une visionneuse d'image */
  --ombre:               0 4px 20px rgba(0,0,0,.55);       /* ombre complète d'une carte */
  --ombre-2:             0 10px 30px rgba(0,0,0,.5);       /* ombre d'une pop-up */
  --barre-navigateur:    #1a0a18;                          /* barre du navigateur / PWA */
}


/* ==========================================================================
   6. CRÈME — « Crème », clair et chaud              (ajouté le 13/09/2026)
   Second thème clair, en chaud : fond ivoire, accent or brûlé. Les cartes
   « papier » des pages de soirée restent blanches, comme dans « Papier &
   encre » — seul --papier-fond, le fond de page derrière elles, se réchauffe.
   Les couleurs d'état (vert, bleu, orange, violet, rouge, or, jaune) sont
   celles de « clair ».
   RÈGLE DE CONTRASTE : --txt-2 et --txt-3 tiennent 7:1 sur --carte, soit
   l'équivalent du #4b5563 sur blanc imposé par kalipay.css.
   ========================================================================== */
html[data-theme="creme"] {
  /* ---- FONDS ET SURFACES ----------------------------------------------- */
  --fond:                #faf6ef;                          /* fond de page */
  --fond-2:              #f2ece1;                          /* creux : champs de saisie, zones en retrait */
  --fond-3:              #f1e9da;                          /* relief : survol, ligne alternée, bandeau */
  --fond-4:              #f4efe4;                          /* fond neutre chaud (cartouches, logos) */
  --brun:                #ffedd5;                          /* brun : boutons d'humeur */
  --brun-2:              #fed7aa;                          /* son survol */
  --brun-3:              #f7e2d5;                          /* dégradé de bandeau */
  --carte:               #fffdf8;                          /* fond d'une carte */
  --carte-2:             #f7f1e6;                          /* carte posée sur une carte */
  --carte-3:             #fdfaf3;                          /* variante sourde de --carte */
  /* ---- TRAITS ---------------------------------------------------------- */
  --trait:               #e3d9c6;                          /* bordure courante */
  --trait-2:             #efe8da;                          /* séparateur interne, plus discret */
  --trait-3:             #d6cab2;                          /* bordure d'un élément en relief */
  --trait-4:           #c9b997;                          /* bordure d'un élément survolé */
  --trait-voile:         rgba(227,217,198,.70);            /* bordure translucide */
  /* ---- TEXTES ---------------------------------------------------------- */
  --txt:                 #2b2723;                          /* texte courant */
  --txt-1:               #3d3730;                          /* appuyé, un cran sous --txt */
  --txt-2:               #544d47;                          /* secondaire : légendes, labels */
  --txt-3:               #5b544c;                          /* tertiaire : en-têtes de tableau */
  --txt-4:               #665f55;                          /* gris froid : mentions techniques */
  --txt-5:             #6b6359;                          /* gris chaud très discret */
  --sur-couleur:         #fffdf8;                          /* texte posé sur un aplat --accent */
  --sur-or:              #1a1408;                          /* texte posé sur un aplat doré */
  --sur-vert:            #04220f;                          /* texte posé sur un aplat vert */
  --sur-vif:             #ffffff;                          /* texte sur un aplat de couleur vive */
  /* ---- ACCENT ---------------------------------------------------------- */
  --accent:              #a16207;                          /* couleur d'action : boutons, focus */
  --accent-fonce:        #7d4c05;                          /* survol d'un bouton d'action */
  --accent-2:          #8a5a0c;                          /* seconde nuance d'accent */
  --lien:                #8a5a0c;                          /* lien dans un texte */
  --lien-2:              #7a4f08;                          /* seconde nuance de lien */
  --lien-survol:         #5c3a04;
  --accent-voile:        rgba(161,98,7,.12);               /* aplat d'accent translucide */
  --accent-voile-fort:   rgba(161,98,7,.30);
  /* ---- PAPIER — les surfaces claires des pages de soirée --------------- */
  --papier:              #ffffff;                          /* carte blanche (inscription, participants) */
  --papier-2:            #f9fafb;                          /* zone en retrait sur papier */
  --papier-3:            #f3f4f6;                          /* relief sur papier */
  --papier-txt:          #141820;                          /* texte sur papier */
  --papier-txt-1:      #0b0f18;                          /* texte le plus foncé sur papier */
  --papier-txt-2:        #4b5563;
  --papier-txt-3:        #5d6675;
  --papier-trait:        #e5e7eb;                          /* bordure sur papier */
  --papier-fond:         #ece4d5;                          /* fond de page derrière les cartes de papier */
  /* ---- OR — l'or Kalipay : distinctions, liserés, mentions d'honneur --- */
  --or:                  #b8912a;                          /* aplat et bordure */
  --or-txt:              #8a6d12;                          /* texte sur le fond du thème */
  --or-pale:             #f0dda0;                          /* nuance très claire */
  --or-fonce:            #7a5b06;                          /* appui, survol */
  --or-papier:           #7a5b06;                          /* texte sur une surface papier */
  --or-vif:            #8a6d12;                          /* éclat : médailles, mise en avant */
  --or-sombre:           #f6edcd;                          /* le plus foncé : fonds d'étiquette */
  --or-voile:            rgba(184,145,42,.14);             /* aplat translucide */
  /* ---- VERT — validé, présent, disponible ------------------------------ */
  --vert:                #16a34a;                          /* aplat et bordure */
  --vert-moyen:        #15803d;                          /* un cran sous --vert */
  --vert-txt:            #186a3b;                          /* texte sur le fond du thème */
  --vert-pale:           #bbf7d0;                          /* nuance très claire */
  --vert-blanc:          #e8f8ee;                          /* vert le plus clair */
  --vert-vif:          #047857;                          /* émeraude : validation forte */
  --vert-fonce:          #14532d;                          /* appui, survol */
  --vert-papier:         #186a3b;                          /* texte sur une surface papier */
  --vert-tres-fonce:   #14532d;
  --vert-sombre:         #e3f5ea;                          /* le plus foncé : fonds d'étiquette */
  --vert-voile:          rgba(22,163,74,.12);              /* aplat translucide */
  --vert-voile-fort:     rgba(22,163,74,.25);
  /* ---- BLEU — information, lien externe, covoiturage ------------------- */
  --bleu:                #2563eb;                          /* aplat et bordure */
  --bleu-txt:            #1d4ed8;                          /* texte sur le fond du thème */
  --bleu-pale:           #bfdbfe;                          /* nuance très claire */
  --bleu-blanc:        #eff6ff;                          /* fond bleuté presque blanc */
  --bleu-fonce:          #1e40af;                          /* appui, survol */
  --bleu-papier:         #1d4ed8;                          /* texte sur une surface papier */
  --bleu-sombre:         #e6f0fa;                          /* le plus foncé : fonds d'étiquette */
  --indigo:              #4338ca;                          /* dégradé indigo */
  --bleu-voile:          rgba(37,99,235,.12);              /* aplat translucide */
  --bleu-voile-fort:     rgba(37,99,235,.28);
  /* ---- VIOLET — catégories, étiquettes de profil ----------------------- */
  --violet:              #7e22ce;                          /* aplat et bordure */
  --violet-txt:          #6b21a8;                          /* texte sur le fond du thème */
  --violet-pale:         #e9d5ff;                          /* nuance très claire */
  --violet-fonce:        #581c87;                          /* appui, survol */
  --violet-papier:       #6b21a8;                          /* texte sur une surface papier */
  --violet-sombre:       #f3e8ff;                          /* le plus foncé : fonds d'étiquette */
  --violet-voile:        rgba(126,34,206,.12);             /* aplat translucide */
  --violet-voile-fort:   rgba(126,34,206,.20);             /* voile appuyé (survol) */
  /* ---- ROSE — coups de cœur, réactions --------------------------------- */
  --rose:                #db2777;                          /* aplat et bordure */
  --rose-txt:            #9d174d;                          /* texte sur le fond du thème */
  --rose-pale:           #fbcfe8;                          /* nuance très claire */
  --rose-fonce:          #9d174d;                          /* appui, survol */
  --rose-papier:         #9d174d;                          /* texte sur une surface papier */
  --rose-sombre:         #fce7f3;                          /* le plus foncé : fonds d'étiquette */
  --rose-voile:          rgba(219,39,119,.12);             /* aplat translucide */
  --rose-voile-fort:     rgba(219,39,119,.20);             /* voile appuyé (survol) */
  /* ---- ORANGE — en attente, à confirmer -------------------------------- */
  --orange:              #ea580c;                          /* aplat et bordure */
  --orange-txt:          #9a3412;                          /* texte sur le fond du thème */
  --orange-pale:         #fed7aa;                          /* nuance très claire */
  --orange-fonce:        #9a3412;                          /* appui, survol */
  --orange-papier:       #9a3412;                          /* texte sur une surface papier */
  --orange-ambre:      #b45309;                          /* ambre : en attente */
  --orange-sombre:       #ffedd5;                          /* le plus foncé : fonds d'étiquette */
  --orange-brun:       #7c2d12;
  --orange-voile:        rgba(234,88,12,.12);              /* aplat translucide */
  --orange-voile-fort:   rgba(234,88,12,.20);              /* voile appuyé (survol) */
  /* ---- JAUNE — avertissement, brouillon -------------------------------- */
  --jaune:               #a16207;                          /* aplat et bordure */
  --jaune-ambre:       #b45309;                          /* jaune profond */
  --jaune-txt:           #7a5b06;                          /* texte sur le fond du thème */
  --jaune-pale:          #fef3c7;                          /* nuance très claire */
  --jaune-fonce:         #854d0e;                          /* appui, survol */
  --jaune-papier:        #7a5b06;                          /* texte sur une surface papier */
  --jaune-sombre:        #fdf2d6;                          /* le plus foncé : fonds d'étiquette */
  --jaune-voile:         rgba(161,98,7,.12);               /* aplat translucide */
  --jaune-voile-fort:    rgba(161,98,7,.20);               /* voile appuyé (survol) */
  /* ---- ROUGE — refus, annulation, suppression -------------------------- */
  --rouge:               #dc2626;                          /* aplat et bordure */
  --rouge-vif:         #dc2626;                          /* rouge clair d'alerte */
  --rouge-txt:           #b91c1c;                          /* texte sur le fond du thème */
  --rouge-clair:         #b91c1c;
  --rouge-pale:          #fecaca;                          /* nuance très claire */
  --rouge-fonce:         #991b1b;                          /* appui, survol */
  --rouge-papier:        #991b1b;                          /* texte sur une surface papier */
  --rouge-tres-fonce:  #7f1d1d;
  --rouge-sombre:        #fdeaec;                          /* le plus foncé : fonds d'étiquette */
  --rouge-voile:         rgba(220,38,38,.12);              /* aplat translucide */
  --rouge-voile-fort:    rgba(220,38,38,.35);
  /* ---- VOILES, OMBRES ET DIVERS ---------------------------------------- */
  --blanc-voile:         rgba(255,255,255,.65);
  --or-voile-fort:       rgba(184,145,42,.35);                 /* liseré doré appuyé */
  --soutien:             #b8912a;                              /* liseré d'un soutien : or plein */
  --soutien-voile:       rgba(184,145,42,.22);                 /* son halo */
  --lien-voile:          rgba(138,90,12,.18);                  /* halo d'un lien */
  --blanc-voile-fort:    rgba(255,255,255,.85);            /* verre dépoli clair */
  --surbrillance:        rgba(43,39,35,.04);               /* relief très léger */
  --ombre-couleur:       rgba(60,48,30,.10);               /* couleur d'une ombre portée */
  --ombre-forte:         rgba(60,48,30,.18);
  --voile:               rgba(45,37,25,.45);               /* fond des pop-up */
  --voile-doux:          rgba(45,37,25,.10);               /* voile léger sur une image */
  --voile-fort:          rgba(45,37,25,.62);               /* fond d'une visionneuse d'image */
  --ombre:               0 1px 3px rgba(60,48,30,.08);     /* ombre complète d'une carte */
  --ombre-2:             0 4px 14px rgba(60,48,30,.10);    /* ombre d'une pop-up */
  --barre-navigateur:    #faf6ef;                          /* barre du navigateur / PWA */
}


/* ==========================================================================
   7. HALLOWEEN — « Halloween », thème de saison      (ajouté le 24/10/2026)
   Thème sombre éphémère : noir pur, traits et textes orangés, ombres en
   halo orange, accent orange citrouille.
   Pas le thème par défaut : chaque membre le choisit dans ses préférences.
   Les couleurs d'état (vert, bleu, orange, violet, rouge, or, jaune) sont
   celles de « sombre ». Décor (toile, araignée, citrouille) : section 8.
   ========================================================================== */
html[data-theme="halloween"] {
  /* ---- FONDS ET SURFACES ----------------------------------------------- */
  --fond:                #000000;                          /* fond de page */
  --fond-2:              #060302;                          /* creux : champs de saisie, zones en retrait */
  --fond-3:              #2a1505;                          /* relief : survol, ligne alternée, bandeau */
  --fond-4:              #0d0804;                          /* fond neutre chaud (cartouches, logos) */
  --brun:                #3a1a04;                          /* brun : boutons d'humeur */
  --brun-2:              #4f2406;                          /* son survol */
  --brun-3:              #2e1404;                          /* dégradé de bandeau */
  --carte:               #110b05;                          /* fond d'une carte */
  --carte-2:             #1a1008;                          /* carte posée sur une carte */
  --carte-3:             #0c0804;                          /* variante sourde de --carte */
  /* ---- TRAITS ---------------------------------------------------------- */
  --trait:               #8a3f0a;                          /* bordure courante */
  --trait-2:             #4a2207;                          /* séparateur interne, plus discret */
  --trait-3:             #b0500c;                          /* bordure d'un élément en relief */
  --trait-4:           #ff7a1a;                          /* bordure d'un élément survolé */
  --trait-voile:         rgba(255,122,26,.45);             /* bordure translucide */
  /* ---- TEXTES ---------------------------------------------------------- */
  --txt:                 #fff1e2;                          /* texte courant */
  --txt-1:               #ffc68f;                          /* appuyé, un cran sous --txt */
  --txt-2:               #f2a25c;                          /* secondaire : légendes, labels */
  --txt-3:               #d98a45;                          /* tertiaire : en-têtes de tableau */
  --txt-4:               #c99a6e;                          /* gris froid : mentions techniques */
  --txt-5:             #94602f;                          /* gris chaud très discret */
  --sur-couleur:         #1a0d02;                          /* texte posé sur un aplat --accent */
  --sur-or:              #1a1408;                          /* texte posé sur un aplat doré */
  --sur-vert:            #04220f;                          /* texte posé sur un aplat vert */
  --sur-vif:             #ffffff;                          /* texte sur un aplat de couleur vive */
  /* ---- ACCENT ---------------------------------------------------------- */
  --accent:              #ff7a1a;                          /* couleur d'action : boutons, focus */
  --accent-fonce:        #e0600a;                          /* survol d'un bouton d'action */
  --accent-2:          #f97316;                          /* seconde nuance d'accent */
  --lien:                #ffa552;                          /* lien dans un texte */
  --lien-2:              #ff9440;                          /* seconde nuance de lien */
  --lien-survol:         #ffc78f;
  --accent-voile:        rgba(255,122,26,.14);             /* aplat d'accent translucide */
  --accent-voile-fort:   rgba(255,122,26,.45);
  /* ---- PAPIER — les surfaces claires des pages de soirée --------------- */
  --papier:              #110b05;                          /* carte blanche (inscription, participants) */
  --papier-2:            #1a1008;                          /* zone en retrait sur papier */
  --papier-3:            #2a1505;                          /* relief sur papier */
  --papier-txt:          #fff1e2;                          /* texte sur papier */
  --papier-txt-1:      #fbf4ec;                          /* texte le plus foncé sur papier */
  --papier-txt-2:        #f2a25c;
  --papier-txt-3:        #d98a45;
  --papier-trait:        #8a3f0a;                          /* bordure sur papier */
  --papier-fond:         #000000;                          /* fond de page derrière les cartes de papier */
  /* ---- OR — l'or Kalipay : distinctions, liserés, mentions d'honneur --- */
  --or:                  #d4af37;                          /* aplat et bordure */
  --or-txt:              #e8c15a;                          /* texte sur le fond du thème */
  --or-pale:             #f0dda0;                          /* nuance très claire */
  --or-fonce:            #9a7418;                          /* appui, survol */
  --or-papier:           #e8c15a;                          /* texte sur une surface papier */
  --or-vif:            #ffd700;                          /* éclat : médailles, mise en avant */
  --or-sombre:           #6b5210;                          /* le plus foncé : fonds d'étiquette */
  --or-voile:            rgba(212,175,55,.18);             /* aplat translucide */
  /* ---- VERT — validé, présent, disponible ------------------------------ */
  --vert:                #22c55e;                          /* aplat et bordure */
  --vert-moyen:        #16a34a;                          /* un cran sous --vert */
  --vert-txt:            #6ee7a0;                          /* texte sur le fond du thème */
  --vert-pale:           #bbf7d0;                          /* nuance très claire */
  --vert-blanc:          #1a3a28;                          /* vert le plus clair */
  --vert-vif:          #10b981;                          /* émeraude : validation forte */
  --vert-fonce:          #15803d;                          /* appui, survol */
  --vert-papier:         #6ee7a0;                          /* texte sur une surface papier */
  --vert-tres-fonce:   #166534;
  --vert-sombre:         #12331f;                          /* le plus foncé : fonds d'étiquette */
  --vert-voile:          rgba(34,197,94,.16);              /* aplat translucide */
  --vert-voile-fort:     rgba(22,101,52,.35);
  /* ---- BLEU — information, lien externe, covoiturage ------------------- */
  --bleu:                #3b82f6;                          /* aplat et bordure */
  --bleu-txt:            #8ec2ea;                          /* texte sur le fond du thème */
  --bleu-pale:           #bfdbfe;                          /* nuance très claire */
  --bleu-blanc:        #16202c;                          /* fond bleuté presque blanc */
  --bleu-fonce:          #1d4ed8;                          /* appui, survol */
  --bleu-papier:         #8ec2ea;                          /* texte sur une surface papier */
  --bleu-sombre:         #12263a;                          /* le plus foncé : fonds d'étiquette */
  --indigo:              #4f46e5;                          /* dégradé indigo */
  --bleu-voile:          rgba(59,130,246,.16);             /* aplat translucide */
  --bleu-voile-fort:     rgba(147,197,253,.45);
  /* ---- VIOLET — catégories, étiquettes de profil ----------------------- */
  --violet:              #a855f7;                          /* aplat et bordure */
  --violet-txt:          #d8b4fe;                          /* texte sur le fond du thème */
  --violet-pale:         #e9d5ff;                          /* nuance très claire */
  --violet-fonce:        #7e22ce;                          /* appui, survol */
  --violet-papier:       #d8b4fe;                          /* texte sur une surface papier */
  --violet-sombre:       #2a0a45;                          /* le plus foncé : fonds d'étiquette */
  --violet-voile:        rgba(107,33,168,.20);             /* aplat translucide */
  --violet-voile-fort:   rgba(107,33,168,.34);             /* voile appuyé (survol) */
  /* ---- ROSE — coups de cœur, réactions --------------------------------- */
  --rose:                #ec4899;                          /* aplat et bordure */
  --rose-txt:            #f9a8d4;                          /* texte sur le fond du thème */
  --rose-pale:           #fbcfe8;                          /* nuance très claire */
  --rose-fonce:          #be185d;                          /* appui, survol */
  --rose-papier:         #f9a8d4;                          /* texte sur une surface papier */
  --rose-sombre:         #3b0522;                          /* le plus foncé : fonds d'étiquette */
  --rose-voile:          rgba(236,72,153,.18);             /* aplat translucide */
  --rose-voile-fort:     rgba(236,72,153,.30);             /* voile appuyé (survol) */
  /* ---- ORANGE — en attente, à confirmer -------------------------------- */
  --orange:              #f97316;                          /* aplat et bordure */
  --orange-txt:          #fdba74;                          /* texte sur le fond du thème */
  --orange-pale:         #fed7aa;                          /* nuance très claire */
  --orange-fonce:        #c2410c;                          /* appui, survol */
  --orange-papier:       #fdba74;                          /* texte sur une surface papier */
  --orange-ambre:      #d97706;                          /* ambre : en attente */
  --orange-sombre:       #2e1206;                          /* le plus foncé : fonds d'étiquette */
  --orange-brun:       #b45309;
  --orange-voile:        rgba(217,119,6,.18);              /* aplat translucide */
  --orange-voile-fort:   rgba(217,119,6,.30);              /* voile appuyé (survol) */
  /* ---- JAUNE — avertissement, brouillon -------------------------------- */
  --jaune:               #f0c65a;                          /* aplat et bordure */
  --jaune-ambre:       #f59e0b;                          /* jaune profond */
  --jaune-txt:           #fde68a;                          /* texte sur le fond du thème */
  --jaune-pale:          #fef3c7;                          /* nuance très claire */
  --jaune-fonce:         #a16207;                          /* appui, survol */
  --jaune-papier:        #f0c65a;                          /* texte sur une surface papier */
  --jaune-sombre:        #3a2c0d;                          /* le plus foncé : fonds d'étiquette */
  --jaune-voile:         rgba(240,198,90,.18);             /* aplat translucide */
  --jaune-voile-fort:    rgba(240,198,90,.30);             /* voile appuyé (survol) */
  /* ---- ROUGE — refus, annulation, suppression -------------------------- */
  --rouge:               #ef4444;                          /* aplat et bordure */
  --rouge-vif:         #ef4444;                          /* rouge clair d'alerte */
  --rouge-txt:           #ff9aa2;                          /* texte sur le fond du thème */
  --rouge-clair:         #f87171;
  --rouge-pale:          #fecaca;                          /* nuance très claire */
  --rouge-fonce:         #b91c1c;                          /* appui, survol */
  --rouge-papier:        #ff9aa2;                          /* texte sur une surface papier */
  --rouge-tres-fonce:  #991b1b;
  --rouge-sombre:        #3a1418;                          /* le plus foncé : fonds d'étiquette */
  --rouge-voile:         rgba(239,68,68,.16);              /* aplat translucide */
  --rouge-voile-fort:    rgba(150,20,32,.70);
  /* ---- VOILES, OMBRES ET DIVERS ---------------------------------------- */
  --blanc-voile:         rgba(255,255,255,.30);
  --or-voile-fort:       rgba(212,175,55,.50);                 /* liseré doré appuyé */
  --soutien:             #d4af37;                              /* liseré d'un soutien : or plein */
  --soutien-voile:       rgba(212,175,55,.30);                 /* son halo */
  --lien-voile:          rgba(255,165,82,.30);                 /* halo d'un lien */
  --blanc-voile-fort:    rgba(255,255,255,.60);            /* verre dépoli clair */
  --surbrillance:        rgba(255,255,255,.05);            /* relief très léger */
  --ombre-couleur:       rgba(255,110,10,.28);             /* couleur d'une ombre portée */
  --ombre-forte:         rgba(255,110,10,.40);
  --voile:               rgba(0,0,0,.80);                  /* fond des pop-up */
  --voile-doux:          rgba(0,0,0,.22);                  /* voile léger sur une image */
  --voile-fort:          rgba(0,0,0,.86);                  /* fond d'une visionneuse d'image */
  --ombre:               0 0 18px rgba(255,110,10,.28), 0 4px 20px rgba(0,0,0,.8);       /* ombre complète d'une carte */
  --ombre-2:             0 0 26px rgba(255,110,10,.35), 0 10px 30px rgba(0,0,0,.8);      /* ombre d'une pop-up */
  --barre-navigateur:    #000000;                          /* barre du navigateur / PWA */
}


/* ==========================================================================
   8. HALLOWEEN — LE DÉCOR                    (24/10/2026, renforcé le jour même)
   Dessins SVG intégrés (aucun fichier ni requête en plus) :
     · deux toiles d'araignée, coins haut gauche et haut droit  (body::before)
       — une petite araignée immobile sur celle de gauche
     · deux araignées suspendues, qui montent et descendent     (body::after)
     · un vol de chauves-souris qui battent des ailes          (html::before)
     · une lune orange derrière le contenu                      (html::after)
     · un semis d'étoiles orange sur le fond de page   (background du body)
     · une citrouille-lanterne dont la lueur vacille, en bas à droite de
       l'en-tête du site et de l'en-tête d'une page de soirée (background-image,
       comme la dentelle de « Miss Lingerie »). Sur mobile (≤900px), l'en-tête
       tient sur une ligne et ses compteurs la masquaient : elle devient un
       vrai élément (.hw-citrouille, créé par assets/halloween.js), à droite
       de l'écran, que chacun peut déplacer au doigt. Sur PC, ce même élément
       se cale sur le coin de l'en-tête et remplace la citrouille de fond.
     · un petit jeu : un appui bref sur la citrouille la fait éclater en
       taches de sang façon dessin animé sur tout l'écran (.hw-sang, ~3 s).
   Plus : liseré et halo orange sur les cartes, titres orange lumineux.
   pointer-events:none partout : le décor ne gêne aucun clic. z-index 1 :
   toutes les pop-up et barres passent par-dessus ; la lune est en -1,
   sous le contenu.
   Animations coupées si l'appareil demande « mouvement réduit ». La lueur
   avance par paliers (steps) : quelques rafraîchissements par seconde, pas
   soixante. Elles ne
   touchent que transform, l'image de fond ou une variable : aucun recalcul
   de mise en page.
   EXCEPTION ASSUMÉE à la règle « aucune couleur en dur » : une variable
   CSS ne se lit pas à l'intérieur d'une image SVG en data-URI. Les couleurs
   des dessins sont celles du thème ci-dessus (%23 = #).
   ========================================================================== */
@property --hw-lueur{syntax:"<number>";inherits:false;initial-value:.4}
html[data-theme="halloween"]{
  --hw-citrouille:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 46'%3E%3Cdefs%3E%3CradialGradient id='f' cx='.5' cy='.45' r='.6'%3E%3Cstop offset='0' stop-color='%23fff3a0'/%3E%3Cstop offset='.45' stop-color='%23ffb02e'/%3E%3Cstop offset='1' stop-color='%23d4260a'/%3E%3C/radialGradient%3E%3CradialGradient id='p' cx='.45' cy='.4' r='.7'%3E%3Cstop offset='0' stop-color='%23f27216'/%3E%3Cstop offset='.7' stop-color='%23c2470a'/%3E%3Cstop offset='1' stop-color='%236e2204'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M24 11C23 7 25 4 29 2L31 4C28 5 27 8 27 11Z' fill='%233a2a0c'/%3E%3Cellipse cx='12' cy='29' rx='11.5' ry='15' fill='%23a63c08'/%3E%3Cellipse cx='36' cy='29' rx='11.5' ry='15' fill='%23a63c08'/%3E%3Cellipse cx='24' cy='29' rx='13' ry='16.5' fill='url(%23p)'/%3E%3Cg fill='none' stroke='%235c1d03' stroke-width='1.2' stroke-opacity='.7'%3E%3Cpath d='M18 13Q13 29 18 45'/%3E%3Cpath d='M30 13Q35 29 30 45'/%3E%3C/g%3E%3Cg fill='url(%23f)'%3E%3Cpath d='M9 18L21 23.5L12 26.5Z'/%3E%3Cpath d='M39 18L27 23.5L36 26.5Z'/%3E%3Cpath d='M22.3 29.5L24 26.5L25.7 29.5Z'/%3E%3Cpath d='M7.5 30Q24 37 40.5 30Q37 42 24 43Q11 42 7.5 30Z'/%3E%3C/g%3E%3Cg fill='%23c2470a'%3E%3Cpath d='M11.5 32L14 36.5L16.5 33.3Z'/%3E%3Cpath d='M19.5 34L22 38.5L24.5 34.6Z'/%3E%3Cpath d='M27.5 34.3L30 38.6L32.3 33.6Z'/%3E%3Cpath d='M34.5 32.2L36.2 35.6L37.8 31.3Z'/%3E%3Cpath d='M15 40.6L17.5 37L20 41.8Z'/%3E%3Cpath d='M25.5 42L28 37.4L30.5 41.2Z'/%3E%3C/g%3E%3C/svg%3E");
  --hw-toile-g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cg transform='matrix(-1 0 0 1 160 0)' fill='none' stroke='%23ffc68f' stroke-opacity='.6' stroke-width='.9' stroke-linecap='round'%3E%3Cpath d='M160 0L-4.2 44M160 0L12.8 85M160 0L39.8 120.2M160 0L75 147.2M160 0L116 164.2M134 0Q137.8 2.9 134.9 6.7Q139.3 8.6 137.5 13Q142.3 13.6 141.6 18.4Q146.4 17.7 147 22.5Q151.4 20.7 153.3 25.1Q157.1 22.2 160 26M110 0Q117.4 5.6 111.7 12.9Q120.3 16.5 116.7 25Q125.9 26.2 124.6 35.4Q133.8 34.1 135 43.3Q143.5 39.7 147.1 48.3Q154.4 42.6 160 50M84 0Q95.2 8.5 86.6 19.7Q99.6 25 94.2 38Q108.1 39.8 106.3 53.7Q120.2 51.9 122 65.8Q135 60.4 140.3 73.4Q151.5 64.8 160 76M56 0Q71.3 11.7 59.5 26.9Q77.4 34.2 69.9 52Q89 54.4 86.5 73.5Q105.6 71 108 90.1Q125.8 82.6 133.1 100.5Q148.3 88.7 160 104M26 0Q45.7 15 30.6 34.7Q53.5 44.1 44 67Q68.6 70.2 65.2 94.8Q89.8 91.4 93 116Q115.9 106.5 125.3 129.4Q145 114.3 160 134'/%3E%3C/g%3E%3Cdefs%3E%3Cg id='a'%3E%3Cg fill='none' stroke='%23ffc68f' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-4 -7L-10 -11L-14 -8M-4 -4L-11 -5L-15 -1M-4 -1L-10 2L-13 7M-3 1L-7 6L-8 10M4 -7L10 -11L14 -8M4 -4L11 -5L15 -1M4 -1L10 2L13 7M3 1L7 6L8 10'/%3E%3C/g%3E%3Cellipse rx='5.5' ry='7' fill='%23000' stroke='%23ff7a1a' stroke-width='1.2'/%3E%3Ccircle cy='-9.5' r='3.8' fill='%23000' stroke='%23ff7a1a' stroke-width='1.2'/%3E%3Ccircle cx='-1.4' cy='-9.8' r='.9' fill='%23ff7a1a'/%3E%3Ccircle cx='1.4' cy='-9.8' r='.9' fill='%23ff7a1a'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23a' transform='translate(62 58) scale(.75) rotate(-25)'/%3E%3C/svg%3E");
  --hw-toile-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23ffc68f' stroke-opacity='.6' stroke-width='.9' stroke-linecap='round'%3E%3Cpath d='M160 0L-4.2 44M160 0L12.8 85M160 0L39.8 120.2M160 0L75 147.2M160 0L116 164.2M134 0Q137.8 2.9 134.9 6.7Q139.3 8.6 137.5 13Q142.3 13.6 141.6 18.4Q146.4 17.7 147 22.5Q151.4 20.7 153.3 25.1Q157.1 22.2 160 26M110 0Q117.4 5.6 111.7 12.9Q120.3 16.5 116.7 25Q125.9 26.2 124.6 35.4Q133.8 34.1 135 43.3Q143.5 39.7 147.1 48.3Q154.4 42.6 160 50M84 0Q95.2 8.5 86.6 19.7Q99.6 25 94.2 38Q108.1 39.8 106.3 53.7Q120.2 51.9 122 65.8Q135 60.4 140.3 73.4Q151.5 64.8 160 76M56 0Q71.3 11.7 59.5 26.9Q77.4 34.2 69.9 52Q89 54.4 86.5 73.5Q105.6 71 108 90.1Q125.8 82.6 133.1 100.5Q148.3 88.7 160 104M26 0Q45.7 15 30.6 34.7Q53.5 44.1 44 67Q68.6 70.2 65.2 94.8Q89.8 91.4 93 116Q115.9 106.5 125.3 129.4Q145 114.3 160 134'/%3E%3C/svg%3E");
  --hw-chauve-a:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 70'%3E%3Cdefs%3E%3Cg id='c' fill='%23000' stroke='%23ff7a1a' stroke-width='.7' stroke-linejoin='round'%3E%3Cpath d='M0 -2C2 -5 4 -5 5 -3C8 -7 13 -7 16 -3C13 -3 12 0 13 2C10 0 7 1 6 3C4 1 2 2 0 4C-2 2 -4 1 -6 3C-7 1 -10 0 -13 2C-12 0 -13 -3 -16 -3C-13 -7 -8 -7 -5 -3C-4 -5 -2 -5 0 -2Z'/%3E%3Cpath d='M-2 -2L-2.5 -6L-0.6 -3.4L0.6 -3.4L2.5 -6L2 -2Z'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23c' transform='translate(28 36) scale(1.6) rotate(-8)'/%3E%3Cuse href='%23c' transform='translate(78 16) scale(1.1) rotate(6)'/%3E%3Cuse href='%23c' transform='translate(124 44) scale(1.35) rotate(-4)'/%3E%3C/svg%3E");
  --hw-chauve-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 70'%3E%3Cdefs%3E%3Cg id='c' fill='%23000' stroke='%23ff7a1a' stroke-width='.7' stroke-linejoin='round'%3E%3Cpath d='M0 -2C2 -5 3 -8 6 -12C9 -9 10 -5 9 -1C7 0 5 1 3 3C2 2 1 3 0 4C-1 3 -2 2 -3 3C-5 1 -7 0 -9 -1C-10 -5 -9 -9 -6 -12C-3 -8 -2 -5 0 -2Z'/%3E%3Cpath d='M-2 -2L-2.5 -6L-0.6 -3.4L0.6 -3.4L2.5 -6L2 -2Z'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23c' transform='translate(28 36) scale(1.6) rotate(-8)'/%3E%3Cuse href='%23c' transform='translate(78 16) scale(1.1) rotate(6)'/%3E%3Cuse href='%23c' transform='translate(124 44) scale(1.35) rotate(-4)'/%3E%3C/svg%3E");
  scrollbar-color:var(--accent-fonce) var(--fond);
}
html[data-theme="halloween"] ::selection{background:var(--accent);color:var(--sur-couleur)}

/* ---- Fond : semis d'étoiles (défile avec la page, rien de fixe) ------- */
html[data-theme="halloween"] body{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140'%3E%3Cg fill='%23ff7a1a'%3E%3Ccircle cx='18' cy='22' r='1.2' opacity='.35'/%3E%3Ccircle cx='96' cy='12' r='.8' opacity='.3'/%3E%3Ccircle cx='62' cy='74' r='1' opacity='.25'/%3E%3Ccircle cx='124' cy='96' r='1.3' opacity='.3'/%3E%3Ccircle cx='30' cy='118' r='.8' opacity='.3'/%3E%3Cpath d='M100 60l1.6 4 4 1.6-4 1.6-1.6 4-1.6-4-4-1.6 4-1.6z' opacity='.28'/%3E%3Cpath d='M44 40l1 2.6 2.6 1-2.6 1-1 2.6-1-2.6-2.6-1 2.6-1z' opacity='.22'/%3E%3C/g%3E%3C/svg%3E");
  background-size:140px 140px;
}

/* ---- Toiles, araignées, chauves-souris, lune -------------------------- */
html[data-theme="halloween"] body::before,
html[data-theme="halloween"] body::after,
html[data-theme="halloween"]::before,
html[data-theme="halloween"]::after{
  content:"";position:fixed;pointer-events:none;z-index:1;
  background-repeat:no-repeat;
}
html[data-theme="halloween"] body::before{
  top:0;left:0;right:0;height:170px;
  background-image:var(--hw-toile-g),var(--hw-toile-d);
  background-size:170px 170px,170px 170px;
  background-position:0 0,100% 0;
}
html[data-theme="halloween"] body::after{
  top:-24px;right:92px;width:44px;height:117px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 170'%3E%3Cdefs%3E%3Cg id='a'%3E%3Cg fill='none' stroke='%23ffc68f' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-4 -7L-10 -11L-14 -8M-4 -4L-11 -5L-15 -1M-4 -1L-10 2L-13 7M-3 1L-7 6L-8 10M4 -7L10 -11L14 -8M4 -4L11 -5L15 -1M4 -1L10 2L13 7M3 1L7 6L8 10'/%3E%3C/g%3E%3Cellipse rx='5.5' ry='7' fill='%23000' stroke='%23ff7a1a' stroke-width='1.2'/%3E%3Ccircle cy='-9.5' r='3.8' fill='%23000' stroke='%23ff7a1a' stroke-width='1.2'/%3E%3Ccircle cx='-1.4' cy='-9.8' r='.9' fill='%23ff7a1a'/%3E%3Ccircle cx='1.4' cy='-9.8' r='.9' fill='%23ff7a1a'/%3E%3C/g%3E%3C/defs%3E%3Cpath d='M16 0V112M50 0V150' stroke='%23ffc68f' stroke-opacity='.6' stroke-width='.8'/%3E%3Cuse href='%23a' transform='translate(16 122)'/%3E%3Cuse href='%23a' transform='translate(50 157) scale(.7)'/%3E%3C/svg%3E");
  background-size:contain;background-position:50% 0;
  animation:hw-descente 7s ease-in-out infinite;
}
html[data-theme="halloween"]::before{
  top:14px;left:190px;width:150px;height:70px;
  background-image:var(--hw-chauve-a);background-size:contain;
  animation:hw-battement .5s steps(1,end) infinite,hw-flotte 6s ease-in-out infinite;
}
html[data-theme="halloween"]::after{
  z-index:-1;top:70px;right:6%;width:240px;height:240px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cdefs%3E%3CradialGradient id='h'%3E%3Cstop offset='.42' stop-color='%23ff8a1f' stop-opacity='.5'/%3E%3Cstop offset='1' stop-color='%23ff7a1a' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='l' cx='.38' cy='.36'%3E%3Cstop offset='0' stop-color='%23ffc56b'/%3E%3Cstop offset='1' stop-color='%23f0700f'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='120' cy='120' r='120' fill='url(%23h)'/%3E%3Ccircle cx='120' cy='120' r='58' fill='url(%23l)'/%3E%3Cg fill='%23c45a0a' opacity='.45'%3E%3Ccircle cx='98' cy='104' r='11'/%3E%3Ccircle cx='138' cy='132' r='8'/%3E%3Ccircle cx='112' cy='148' r='5'/%3E%3Ccircle cx='146' cy='98' r='4'/%3E%3C/g%3E%3C/svg%3E");background-size:contain;
}
@keyframes hw-descente{0%,100%{transform:translateY(0)}50%{transform:translateY(22px)}}
@keyframes hw-battement{0%{background-image:var(--hw-chauve-a)}50%{background-image:var(--hw-chauve-b)}}
@keyframes hw-flotte{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,8px)}}

/* ---- Citrouille-lanterne : la lueur vacille --------------------------- */
html[data-theme="halloween"] header.card,
html[data-theme="halloween"] .entete-soiree{
  background-repeat:no-repeat;
  animation:hw-lueur 2.6s steps(8,end) infinite;
}
html[data-theme="halloween"] header.card{
  background-image:var(--hw-citrouille),radial-gradient(circle,rgba(255,150,40,var(--hw-lueur)) 0,rgba(255,122,26,0) 65%);
  background-size:38px 36px,90px 90px;
  background-position:right 12px bottom 10px,right -14px bottom -17px;
}
/* L'en-tête d'une soirée a déjà un dégradé (soirees/_moteur/contenu.php,
   .entete-soiree) : il est repris à l'identique en dernière couche.
   Si l'un change, changer l'autre. */
html[data-theme="halloween"] .entete-soiree{
  background-image:var(--hw-citrouille),radial-gradient(circle,rgba(255,150,40,var(--hw-lueur)) 0,rgba(255,122,26,0) 65%),linear-gradient(135deg,var(--carte-3) 0%,var(--fond) 55%,var(--fond-2) 100%);
  background-size:38px 36px,90px 90px,100% 100%;
  background-position:right 12px bottom 10px,right -14px bottom -17px,0 0;
}
@keyframes hw-lueur{0%,100%{--hw-lueur:.35}18%{--hw-lueur:.6}30%{--hw-lueur:.3}55%{--hw-lueur:.65}75%{--hw-lueur:.42}}

/* ---- Liseré, halo et titres orange ------------------------------------ */
html[data-theme="halloween"] .card{outline:1px solid var(--trait);outline-offset:-1px}
html[data-theme="halloween"] header.card{
  box-shadow:inset 0 -3px 0 var(--accent),0 0 26px rgba(255,110,10,.35);
}
html[data-theme="halloween"] .entete-soiree{border-bottom-color:var(--accent)}
html[data-theme="halloween"] :where(h1,h2,h3,.kali-titre,.event-title){
  color:var(--accent);text-shadow:0 0 12px rgba(255,122,26,.45);
}
html[data-theme="halloween"] .bouton:hover,
html[data-theme="halloween"] .bouton:focus-visible{box-shadow:0 0 14px rgba(255,122,26,.55)}

/* ---- La citrouille-élément et son éclaboussure (assets/halloween.js) ---
   Mobile et tablette (≤900px) : l'en-tête y tient sur une ligne basse et
   ses compteurs recouvraient la citrouille de fond. Elle devient un vrai
   élément, à droite, au-dessus de la flèche « remonter » (.fil-scroll-haut)
   et du bandeau du bas (--barre-bas-h, kalipay.css ; 0 sans bandeau), et
   déplaçable au doigt.
   PC : le même élément (.hw-pc) est calé par le script sur le coin bas droit
   de l'en-tête, qui reçoit alors .hw-porte et perd sa citrouille de fond.
   Sans le script, rien ne change : la citrouille de fond reste.
   ::after = le dessin, ::before = la lueur derrière, qui vacille par son
   opacité seule (le moins coûteux à redessiner). z-index 1100 : sous la
   flèche (1150) et toutes les pop-up. L'éclaboussure (.hw-sang) passe
   au-dessus de tout, 3 secondes, sans capter un seul clic. */
.hw-citrouille{display:none}
html[data-theme="halloween"] .hw-citrouille{
  position:fixed;z-index:1100;
  touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;
  -webkit-tap-highlight-color:transparent;
}
html[data-theme="halloween"] .hw-citrouille::before,
html[data-theme="halloween"] .hw-citrouille::after{content:"";position:absolute;pointer-events:none}
html[data-theme="halloween"] .hw-citrouille::before{
  inset:-50%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,70,20,.7) 0,rgba(200,30,10,0) 65%);
  animation:hw-vacille 2.6s steps(8,end) infinite;
}
html[data-theme="halloween"] .hw-citrouille::after{
  inset:0;background:var(--hw-citrouille) center/contain no-repeat;
  transition:transform .15s;
}
html[data-theme="halloween"] .hw-citrouille.hw-tenue{cursor:grabbing}
html[data-theme="halloween"] .hw-citrouille.hw-tenue::after{transform:scale(1.15)}
html[data-theme="halloween"] .hw-citrouille.hw-eclate::before{visibility:hidden}
html[data-theme="halloween"] .hw-citrouille.hw-eclate::after{animation:hw-eclate .35s ease-out forwards}
html[data-theme="halloween"] .hw-citrouille.hw-revient::after{animation:hw-revient .5s ease-out both}
/* PC : calée sur l'en-tête, à la taille de l'ancienne citrouille de fond */
html[data-theme="halloween"] .hw-citrouille.hw-pc{display:block;width:38px;height:36px}
html[data-theme="halloween"] .hw-citrouille.hw-hors-champ{visibility:hidden}
html[data-theme="halloween"] header.card.hw-porte{background-image:none;animation:none}
html[data-theme="halloween"] .entete-soiree.hw-porte{
  background-image:linear-gradient(135deg,var(--carte-3) 0%,var(--fond) 55%,var(--fond-2) 100%);background-size:100% 100%;background-position:0 0;animation:none;
}
@media (max-width:900px){
  html[data-theme="halloween"] header.card{background-image:none;animation:none}
  html[data-theme="halloween"] .entete-soiree{
    background-image:linear-gradient(135deg,var(--carte-3) 0%,var(--fond) 55%,var(--fond-2) 100%);background-size:100% 100%;background-position:0 0;animation:none;
  }
  html[data-theme="halloween"] .hw-citrouille{
    display:block;right:14px;bottom:calc(var(--barre-bas-h,0px) + 70px);width:54px;height:52px;
  }
}
/* L'éclaboussure : taches qui surgissent, coulées qui descendent, fondu */
.hw-sang{position:fixed;inset:0;z-index:3000;pointer-events:none;animation:hw-sang-fin 2.9s linear forwards}
.hw-sang svg{display:block;width:100%;height:100%}
.hw-sang .hw-goutte{fill:#c8102e}
.hw-sang .hw-reflet{fill:#ff6b7a;opacity:.55}
.hw-sang .hw-tache{transform-box:fill-box;transform-origin:center;animation:hw-pop .28s cubic-bezier(.2,1.5,.4,1) both}
.hw-sang .hw-coulee{transform-box:fill-box;transform-origin:top;animation:hw-coule 1.8s cubic-bezier(.5,0,.8,.6) both}
@keyframes hw-vacille{0%,100%{opacity:.55}18%{opacity:.95}30%{opacity:.45}55%{opacity:1}75%{opacity:.7}}
@keyframes hw-eclate{0%{transform:scale(1);opacity:1}40%{transform:scale(1.5)}100%{transform:scale(1.9);opacity:0}}
@keyframes hw-revient{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes hw-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes hw-coule{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
@keyframes hw-sang-fin{0%,78%{opacity:1}100%{opacity:0}}
/* ---- Mobile (≤600px) : décor plus petit -------------------------------- */
@media (max-width:600px){
  /* Toile de gauche retirée sur mobile (taille 0) : seule celle de droite reste */
  html[data-theme="halloween"] body::before{height:110px;background-size:0 0,110px 110px}
  html[data-theme="halloween"] body::after{right:58px;width:30px;height:80px}
  html[data-theme="halloween"]::before{left:116px;top:10px;width:100px;height:47px}
  html[data-theme="halloween"]::after{top:60px;right:-30px;width:160px;height:160px}
}
/* ---- Mouvement réduit : tout s'arrête --------------------------------- */
@media (prefers-reduced-motion:reduce){
  html[data-theme="halloween"] body::after,
  html[data-theme="halloween"]::before,
  html[data-theme="halloween"] .hw-citrouille::before,
  html[data-theme="halloween"] .hw-citrouille.hw-eclate::after,
  html[data-theme="halloween"] .hw-citrouille.hw-revient::after,
  .hw-sang,
  .hw-sang .hw-tache,
  .hw-sang .hw-coulee,
  html[data-theme="halloween"] header.card,
  html[data-theme="halloween"] .entete-soiree{animation:none}
}
/* ---- Impression : pas de décor ---------------------------------------- */
@media print{
  html[data-theme="halloween"] body::before,
  html[data-theme="halloween"] body::after,
  html[data-theme="halloween"]::before,
  html[data-theme="halloween"]::after,
  html[data-theme="halloween"] .hw-citrouille,
  .hw-sang{display:none}
  html[data-theme="halloween"] body{background-image:none}
}


/* ==========================================================================
   « Miss Lingerie » (clé clair) — bord de dentelle, 04/10/2026
   Filet festonné en bas de l'en-tête et des cartes de soirée. Uniquement
   ce thème. Fond = background-image : aucune position ni pseudo-élément
   touchés (l'en-tête a déjà les siens).
   ========================================================================== */
html[data-theme="clair"] header.card,
html[data-theme="clair"] .soiree-carte{
  padding-bottom:calc(14px + 12px);
  background-image:radial-gradient(circle at 10px 0,transparent 7px,var(--trait-3) 7.5px,var(--trait-3) 8.5px,transparent 9px);
  background-size:20px 14px;background-repeat:repeat-x;background-position:0 100%;
}


/* ==========================================================================
   « Miss Lingerie » (clé clair) — LISIBILITÉ DES PASTILLES, 04/10/2026
   Ces composants (page de soirée : soirees/_moteur/contenu.php ; bons plans :
   kalipay.css) partent de la convention des thèmes sombres : dégradé qui
   commence par une teinte « -sombre » et texte clair. Dans ce thème les
   teintes « -sombre » sont des pastels : texte et fond se confondaient.
   Chaque pastille reçoit ici un fond franc et un texte contrasté (≥ 4,5:1),
   et les survols ne passent plus en texte clair sur fond clair.
   ========================================================================== */
/* S'inscrire / inviter : bleu franc, texte clair */
html[data-theme="clair"] .embleme--inscription,
html[data-theme="clair"] .bp-embleme--inscription,
html[data-theme="clair"] .bp-embleme--invitation{
  background:linear-gradient(135deg,var(--bleu),var(--bleu-txt) 55%,var(--bleu-fonce));
  color:var(--sur-vif);border-color:var(--bleu-fonce);
}
/* Gestion de l'événement : orange profond, texte clair */
html[data-theme="clair"] .embleme--gerer,
html[data-theme="clair"] .bp-embleme--gestion{
  background:linear-gradient(135deg,var(--orange-fonce),var(--orange-brun));
  color:var(--sur-vif);border-color:var(--orange);
}
/* Panneau de gestion : fond rose du thème au lieu du voile sombre */
html[data-theme="clair"] .es-gestion{background:var(--fond-2)}
html[data-theme="clair"] .es-gestion-titre{color:var(--txt-2)}
/* Pastilles sobres (Partager, Agenda, outils) : texte prune, survol lisible */
html[data-theme="clair"] .embleme--partage,
html[data-theme="clair"] .embleme--agenda,
html[data-theme="clair"] .es-outil{color:var(--accent-fonce);border-color:var(--trait-4)}
html[data-theme="clair"] .embleme--partage:hover,
html[data-theme="clair"] .embleme--partage:focus-visible,
html[data-theme="clair"] .embleme--agenda:hover,
html[data-theme="clair"] .embleme--agenda:focus-visible,
html[data-theme="clair"] .es-outil:hover,
html[data-theme="clair"] .es-outil:focus-visible{color:var(--accent);border-color:var(--accent)}
/* Les outils colorés gardent leur texte clair (la règle ci-dessus les couvrait) */
html[data-theme="clair"] .es-outil--page,
html[data-theme="clair"] .es-outil--publiee,
html[data-theme="clair"] .es-outil--standby,
html[data-theme="clair"] .es-outil--page:hover,
html[data-theme="clair"] .es-outil--publiee:hover,
html[data-theme="clair"] .es-outil--standby:hover{color:var(--sur-vif)}
/* Nom de l'organisateur au survol : plus de texte clair sur fond rose */
html[data-theme="clair"] a.es-nom:hover{color:var(--accent)}
