/* ══════════════════════════════════════════════════════════════════════
   EZShow — Habillages (depuis la 1.9.11)
   ----------------------------------------------------------------------
   Un habillage redessine l'ecran entier : formes, polices, textures.
   Il est choisi dans le style (donnee « habillage », entier 1 a 18 ;
   0 ou absente = le dessin actuel, rien ici ne s'applique alors).
   Le runtime pose la classe ez-hab-N sur <html> (voir _ezHabillage).

   Regles de ce fichier :
   - Tout est prefixe par html.ez-hab-N : sans habillage, aucune regle
     ne touche l'ecran.
   - Les COULEURS viennent du style (variables --ez-* et couleurs posees
     par le runtime) : un habillage se recolore depuis l'editeur. Seuls
     les textures et quelques ombres ont des couleurs propres.
   - Les hauteurs de lignes des classements ne sont jamais modifiees :
     le runtime les utilise pour decouper les colonnes.
   - Polices embarquees (fonts/hab/, licence OFL), chargees seulement
     quand un habillage qui les utilise est affiche.
   ══════════════════════════════════════════════════════════════════════ */
/* ── Polices (fonts/hab/) ── */
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-ext-700-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-700-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow Condensed';font-style:italic;font-weight:800;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-ext-800-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow Condensed';font-style:italic;font-weight:800;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-800-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow Condensed';font-style:italic;font-weight:900;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-ext-900-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow Condensed';font-style:italic;font-weight:900;font-display:swap;src:url(fonts/hab/barlow-condensed-latin-900-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/barlow-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/barlow-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/barlow-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/barlow-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/barlow-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/barlow-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/barlow-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/barlow-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Righteous';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/righteous-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Righteous';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/righteous-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/dm-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/dm-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/dm-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/dm-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/dm-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/dm-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/fraunces-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/fraunces-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/fraunces-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/fraunces-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Fraunces';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/fraunces-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Fraunces';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/fraunces-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/ibm-plex-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/ibm-plex-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/ibm-plex-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/ibm-plex-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/ibm-plex-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/ibm-plex-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/ibm-plex-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/ibm-plex-mono-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/ibm-plex-mono-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab VT323';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/vt323-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab VT323';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/vt323-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Share Tech Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/share-tech-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Monoton';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/monoton-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Monoton';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/monoton-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Exo 2';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/exo-2-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Exo 2';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/exo-2-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Exo 2';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/exo-2-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Exo 2';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/exo-2-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Exo 2';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/exo-2-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Exo 2';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/exo-2-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/archivo-black-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/archivo-black-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Archivo';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/archivo-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Archivo';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/archivo-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/archivo-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/archivo-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Archivo';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/archivo-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Archivo';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/archivo-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Kalam';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/kalam-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Kalam';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/kalam-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Kalam';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/kalam-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Kalam';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/kalam-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Courier Prime';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/courier-prime-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Courier Prime';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/courier-prime-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Courier Prime';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/courier-prime-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Courier Prime';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/courier-prime-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Anton';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/anton-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Anton';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/anton-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/jetbrains-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/jetbrains-mono-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/jetbrains-mono-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab JetBrains Mono';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/jetbrains-mono-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab JetBrains Mono';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/jetbrains-mono-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/plus-jakarta-sans-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Limelight';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/limelight-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Limelight';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/limelight-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Josefin Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/josefin-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Josefin Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/josefin-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Josefin Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/josefin-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Josefin Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/josefin-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Josefin Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/josefin-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Josefin Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/josefin-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/bebas-neue-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/bebas-neue-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/fredoka-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/fredoka-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/fredoka-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/fredoka-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/fredoka-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/fredoka-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/fredoka-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Fredoka';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/fredoka-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Architects Daughter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/architects-daughter-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Architects Daughter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/architects-daughter-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Bangers';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/bangers-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Bangers';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/bangers-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Comic Neue';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/comic-neue-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Cinzel';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/cinzel-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Cinzel';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hab/cinzel-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Cinzel';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/cinzel-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Cinzel';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/hab/cinzel-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/lato-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hab/lato-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/lato-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/lato-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Lato';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/hab/lato-latin-ext-900-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Lato';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/hab/lato-latin-900-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/montserrat-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hab/montserrat-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hab Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/montserrat-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hab Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hab/montserrat-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


/* ══════════════════════════════════════════════════════════════════════
   1 · DIFFUSION SPORTIVE
   Habillage de retransmission TV : Barlow Condensed, capitales, coupes
   en biais, blocs d'accent pleins, aucun arrondi.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-1 #stage {
  font-family: 'Hab Barlow', 'Barlow', sans-serif !important;
}
html.ez-hab-1 #stage > .ez-zone {
  --ez-font-title: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif;
  font-family: 'Hab Barlow', 'Barlow', sans-serif !important;
  border-radius: 0 !important;
}
/* Panneaux : fond des zones, un bandeau sombre sous les titres */
html.ez-hab-1 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-countdown):not(.ez-action-ticker) {
  background-color: var(--ez-panel-bg) !important;
}

/* ── En-tete ── */
html.ez-hab-1 .ez-action-header {
  border-bottom: 3px solid var(--ez-accent) !important;
  background-image: linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)) !important;
}
html.ez-hab-1 .ez-header-inner { padding-left: 0; gap: 22px; }
html.ez-hab-1 .ez-header-inner::before {
  content: ''; align-self: stretch; flex-shrink: 0;
  width: calc(var(--ez-h-px, 90px) * 1.3);
  background: var(--ez-accent);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
}
html.ez-hab-1 .ez-header-title {
  font-weight: 800; letter-spacing: 1px;
  font-size: min(clamp(16px, 2.4vw, 44px), calc(var(--ez-h-px, 100px) * 0.52));
}
html.ez-hab-1 .ez-header-clock {
  font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 700;
  font-size: min(clamp(16px, 2.2vw, 40px), calc(var(--ez-h-px, 100px) * 0.5));
  align-self: stretch; display: flex; align-items: center; gap: .45em;
  padding: 0 1em 0 1.6em; margin-right: -20px;
  background: rgba(255,255,255,.05);
  clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}
html.ez-hab-1 .ez-header-clock::before {
  content: var(--ez-hab-t-live, 'EN DIRECT');
  font-size: .42em; letter-spacing: .18em; color: #ff6b6b; padding-left: 1.1em;
  background: radial-gradient(circle at .4em 50%, #ff3b3b .28em, transparent .32em);
}
/* Sur fond clair, le rouge du direct fonce pour rester lisible (1.9.14) */
html.ez-hab-1.ez-hab-clair .ez-header-clock::before { color: #c62828; }

/* ── Classement ── */
html.ez-hab-1 .ez-action-ranking .ez-ranking-cols { gap: 6px; }
html.ez-hab-1 .ez-col-static, html.ez-hab-1 .ez-col-last { border-right: none !important; }
html.ez-hab-1 [data-key^="cat:"],
html.ez-hab-1 .ez-rk-spot-tete {
  font-size: 15px !important; font-weight: 800 !important; letter-spacing: .5px !important;
  padding-left: 12px !important;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}
html.ez-hab-1 [data-key^="entry:"] .rn {
  font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 800 !important;
  font-size: 15px !important;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 26px !important; height: 20px; padding: 0 6px 0 4px;
  background: rgba(255,255,255,.07);
  clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
}
/* Podium : pave plein de la couleur du rang, chiffre lisible dessus */
html.ez-hab-1 [data-pp] .rn { background: currentColor; }
html.ez-hab-1 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #0b1020); }
html.ez-hab-1 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #0b1020); }
html.ez-hab-1 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #0b1020); }
html.ez-hab-1 [data-key^="entry:"] .pn {
  font-weight: 600 !important; font-size: 14px !important;
  text-transform: uppercase; letter-spacing: .3px;
}
html.ez-hab-1 [data-key^="entry:"] .sc {
  font-family: 'Hab Barlow Condensed', sans-serif;
  font-size: 17px !important; font-weight: 700 !important;
  background: transparent !important; padding: 0 2px 0 6px !important;
  font-variant-numeric: tabular-nums;
}
html.ez-hab-1 [data-key^="entry:"] .dl {
  font-family: 'Hab Barlow Condensed', sans-serif; font-size: 13px !important; font-weight: 600 !important;
}
/* Barriere : trait fin et etiquette en capitales, sans pastille arrondie */
html.ez-hab-1 .ez-rk-thr .ez-rk-trait { height: 2px !important; border-radius: 0 !important; }
html.ez-hab-1 .ez-rk-thr .ez-rk-niv {
  font-family: 'Hab Barlow Condensed', sans-serif; font-size: 12px !important; font-weight: 800 !important;
  border-radius: 0 !important; clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 100%, 0 100%); padding-right: 12px !important;
}
html.ez-hab-1 .ez-rk-thr .ez-rk-pastille { border-radius: 0 !important; }
html.ez-hab-1 .ez-rk-thr .ez-rk-pastille b { font-family: 'Hab Barlow Condensed', sans-serif; font-size: 16px !important; }

/* ── Titres des panneaux ── */
html.ez-hab-1 .ez-panel { padding: 0; gap: 0; }
html.ez-hab-1 .ez-panel-title,
html.ez-hab-1 .ez-ts-title {
  font-family: 'Hab Barlow Condensed', sans-serif !important;
  font-size: 20px !important; font-weight: 800 !important; letter-spacing: 1px !important;
  color: var(--ez-text) !important; text-align: left !important;
  padding: 8px 14px !important; margin: 0 !important;
  background: rgba(255,255,255,.04); border-bottom: none;
  border-left: 6px solid var(--ez-accent);
}
html.ez-hab-1 .ez-ts-wrap { padding: 0 !important; }
html.ez-hab-1 .ez-ts-body { padding: 12px 14px 8px; }

/* ── Top scores ── */
html.ez-hab-1 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border-radius: 0 !important; clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
  font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 800 !important; width: 58px !important;
}
html.ez-hab-1 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important;
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
}
html.ez-hab-1 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(2) { text-transform: uppercase; }
html.ez-hab-1 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Barlow Condensed', sans-serif; font-size: 32px !important; font-weight: 800 !important; line-height: 1;
}
html.ez-hab-1 .ez-action-topscores [style*="border-radius:6px"],
html.ez-hab-1 .ez-action-topscores [style*="border-radius:10px"],
html.ez-hab-1 .ez-action-topscores [style*="border-radius:8px"] { border-radius: 0 !important; }

/* ── Programme ── */
html.ez-hab-1 .ez-schedule-list { gap: 0; padding: 0; }
html.ez-hab-1 .ez-schedule-row {
  border-radius: 0; padding: 10px 14px; border-bottom: 1px solid var(--ez-border);
}
html.ez-hab-1 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-1 .ez-schedule-time {
  font-family: 'Hab Barlow Condensed', sans-serif; font-size: 22px; min-width: 60px;
}
html.ez-hab-1 .ez-schedule-label { font-size: 16px; font-weight: 600; }
html.ez-hab-1 .ez-schedule-row[data-st="current"] { box-shadow: inset 5px 0 0 var(--ez-accent); }
html.ez-hab-1 .ez-schedule-row[data-st="current"]:not([data-coul]) { background: var(--ez-row-stripe) !important; }
html.ez-hab-1 .ez-schedule-row[data-st="current"]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-1 .ez-schedule-row[data-st="current"]::after {
  content: var(--ez-hab-t-now, 'EN COURS'); font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: 2px; color: var(--ez-accent);
}
html.ez-hab-1 .ez-schedule-row[data-st="next"]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-1 .ez-schedule-row[data-st="next"]::after {
  content: var(--ez-hab-t-next, 'À SUIVRE'); font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: 2px; color: var(--ez-accent2);
}

/* ── Compte a rebours : bloc d'accent plein ── */
html.ez-hab-1 #stage > .ez-action-countdown:not(.ez-zone-transp) {
  background-color: var(--ez-accent) !important;
  clip-path: polygon(0 0, 100% 0, 100% 76%, 94% 100%, 0 100%);
}
html.ez-hab-1 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--ez-hab-sur-a1, #0b1020); --ez-text-muted: var(--ez-hab-sur-a1, #0b1020);
}
html.ez-hab-1 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-label,
html.ez-hab-1 #stage > .ez-action-countdown:not(.ez-zone-transp) [class$="l"] { opacity: .75; }
html.ez-hab-1 .ez-action-countdown [class^="ez-cd-"] { font-family: 'Hab Barlow Condensed', sans-serif; }
html.ez-hab-1 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-cd-s { color: var(--ez-hab-sur-a1, #0b1020) !important; }
html.ez-hab-1 .ez-countdown-label {
  font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 700 !important; letter-spacing: 3px !important;
}

/* ── Vote ── */
html.ez-hab-1 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-1 .ez-action-poll > div:first-child > div:first-child {
  font-family: 'Hab Barlow Condensed', sans-serif !important; font-weight: 800 !important;
  text-transform: uppercase; letter-spacing: .5px;
}
html.ez-hab-1 .ez-action-poll > div:first-child { clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
html.ez-hab-1 .ez-action-poll [style*="height:32px"] { height: 14px !important; }

/* ── QR code, horloge ── */
html.ez-hab-1 .ez-action-qrcode > div > div,
html.ez-hab-1 .ez-action-qrwifi > div > div { border-radius: 0 !important; }
html.ez-hab-1 .ez-action-qrcode span,
html.ez-hab-1 .ez-action-qrwifi span {
  font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 800; font-size: 18px !important; text-transform: uppercase;
}
html.ez-hab-1 .ez-clock { font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 700; letter-spacing: 2px; }

/* ── Seuils ── */
html.ez-hab-1 .ez-thr-titre { font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 800 !important; font-size: 15px !important; }
html.ez-hab-1 .ez-thr-seg {
  border-radius: 0 !important; font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 800;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
}
html.ez-hab-1 .ez-thr-pastille { border-radius: 0 !important; }
html.ez-hab-1 .ez-thr-lbl b { font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 800; }

/* ── Bandeau defilant : bande d'accent, texte sombre, etiquette INFOS ── */
html.ez-hab-1 #stage > .ez-action-ticker:not(.ez-zone-transp) {
  background-color: var(--ez-accent) !important; border-top: none;
  --ez-accent-text: var(--ez-hab-sur-a1, #0b1020);
}
html.ez-hab-1 .ez-action-ticker { display: flex; }
html.ez-hab-1 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center;
  padding: 0 1.2em; background: var(--ez-bg, #0b1020); color: var(--ez-accent);
  font-family: 'Hab Barlow Condensed', sans-serif; font-weight: 800; letter-spacing: 2px;
  font-size: min(22px, calc(var(--ez-h-px, 50px) * .42));
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); padding-right: 1.6em;
}
html.ez-hab-1 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-1 .ez-ticker-track { font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }

/* ── Texte, chiffres, tableau ── */
html.ez-hab-1 .ez-scores-row { border-radius: 0; }
html.ez-hab-1 .ez-scores-value { border-radius: 0; font-family: 'Hab Barlow Condensed', sans-serif; font-size: 20px; }
html.ez-hab-1 .ez-action-text > div:last-child { font-family: 'Hab Barlow Condensed', sans-serif !important; }

/* ══════════════════════════════════════════════════════════════════════
   2 · RETRO LANE
   Bowling americain des annees 50 : cartes creme cernees d'un trait
   brun epais, ombre portee pleine, coins tres arrondis, Righteous.
   Le brun d'encre (#3b2418) est propre a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-2 #stage {
  font-family: 'Hab DM Sans', 'DM Sans', sans-serif !important;
}
html.ez-hab-2 #stage > .ez-zone {
  --hab-encre: #3b2418; --hab-creme: #fffaf0;
  --ez-font-title: 'Hab Righteous', 'Righteous', sans-serif;
  font-family: 'Hab DM Sans', 'DM Sans', sans-serif !important;
}
/* Sur fond clair (le sien) : encre brune. Sur un style sombre : l'encre
   devient la couleur du texte du style, la creme son fond de zone. */
html.ez-hab-2.ez-hab-clair #stage > .ez-zone {
  --ez-text: #3b2418; --ez-text-muted: rgba(59,36,24,.6); --ez-border: rgba(59,36,24,.15);
}
html.ez-hab-2.ez-hab-sombre #stage > .ez-zone { --hab-encre: var(--ez-text); --hab-creme: var(--ez-panel-bg); }
/* Cartes : fond des zones, trait brun, ombre pleine decalee */
html.ez-hab-2 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-action-header):not(.ez-action-ticker):not(.ez-zone-arriere) {
  border: 3px solid var(--hab-encre) !important;
  border-radius: 18px !important;
  box-shadow: 5px 5px 0 var(--hab-encre);
}
html.ez-hab-2 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-action-header):not(.ez-action-ticker):not(.ez-zone-arriere):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-countdown):not(.ez-action-topscores):not(.ez-action-qrcode):not(.ez-action-qrwifi) {
  background-color: var(--ez-panel-bg) !important;
}

/* ── En-tete : sur le fond de l'ecran, boule de bowling, horloge en gelule ── */
html.ez-hab-2 #stage > .ez-action-header { background: transparent !important; border-bottom: none !important; }
html.ez-hab-2 .ez-header-inner { padding: 0 6px; gap: 20px; }
html.ez-hab-2 .ez-header-inner::before {
  content: ''; flex-shrink: 0; box-sizing: border-box;
  width: calc(var(--ez-h-px, 90px) * .78); height: calc(var(--ez-h-px, 90px) * .78);
  border-radius: 50%; border: 3px solid var(--hab-encre); box-shadow: 4px 4px 0 var(--hab-encre);
  background:
    radial-gradient(circle at 40% 34%, var(--ez-bg, #f4ead5) 0 6%, transparent 7%),
    radial-gradient(circle at 58% 31%, var(--ez-bg, #f4ead5) 0 6%, transparent 7%),
    radial-gradient(circle at 49% 50%, var(--ez-bg, #f4ead5) 0 6%, transparent 7%),
    radial-gradient(circle, var(--hab-encre) 0 40%, var(--ez-accent) 42%);
}
html.ez-hab-2 .ez-header-title {
  font-family: 'Hab Righteous', sans-serif; font-weight: 400;
  text-transform: none; letter-spacing: 0; color: var(--hab-encre);
  font-size: min(clamp(18px, 2.6vw, 50px), calc(var(--ez-h-px, 100px) * .56));
}
html.ez-hab-2 .ez-header-clock {
  font-family: 'Hab Righteous', sans-serif; font-weight: 400;
  color: var(--ez-bg, #f4ead5); background: var(--hab-encre);
  padding: .22em .7em; border-radius: 99px;
  font-size: min(clamp(16px, 2.2vw, 44px), calc(var(--ez-h-px, 100px) * .46));
}

/* ── Classement ── */
html.ez-hab-2 .ez-col-static, html.ez-hab-2 .ez-col-last { border-right: 3px solid var(--hab-encre) !important; }
html.ez-hab-2 .ez-col-last { border-right: none !important; }
html.ez-hab-2 [data-key^="cat:"],
html.ez-hab-2 .ez-rk-spot-tete {
  font-family: 'Hab Righteous', sans-serif !important; font-weight: 400 !important;
  font-size: 16px !important; letter-spacing: .3px !important; text-transform: none !important;
  box-shadow: inset 0 -3px 0 var(--hab-encre), inset 0 3px 0 var(--hab-encre);
}
html.ez-hab-2 [data-key^="entry:"] .rn {
  font-family: 'Hab Righteous', sans-serif; font-weight: 400 !important; font-size: 13px !important;
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  width: 22px; height: 22px; min-width: 22px !important; border-radius: 50%;
  border: 2px solid var(--hab-encre); -webkit-text-fill-color: var(--hab-encre);
}
html.ez-hab-2 [data-pp] .rn { background: currentColor; }
html.ez-hab-2 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #3b2418); }
html.ez-hab-2 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #3b2418); }
html.ez-hab-2 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #3b2418); }
html.ez-hab-2 [data-key^="entry:"] .pn { font-weight: 700 !important; font-size: 14px !important; }
html.ez-hab-2 [data-key^="entry:"] .sc {
  font-family: 'Hab Righteous', sans-serif; font-size: 16px !important; font-weight: 400 !important;
  background: transparent !important; padding: 0 2px 0 6px !important;
}
html.ez-hab-2 [data-key^="entry:"] .dl { color: var(--ez-accent) !important; font-weight: 700 !important; }
/* Barriere : bande pointillee */
html.ez-hab-2 .ez-rk-thr { background: rgba(232,178,58,.35); box-shadow: inset 0 2px 0 rgba(59,36,24,.0); }
html.ez-hab-2 .ez-rk-thr .ez-rk-trait { height: 0 !important; background: transparent !important; border-top: 2px dashed var(--hab-encre); }
html.ez-hab-2 .ez-rk-thr .ez-rk-niv {
  font-family: 'Hab Righteous', sans-serif; font-weight: 400 !important; text-transform: none !important;
  border-radius: 99px !important; border: 2px solid var(--hab-encre); font-size: 11px !important;
}
html.ez-hab-2 .ez-rk-thr .ez-rk-pastille {
  border-radius: 99px !important; border: 2px solid var(--hab-encre) !important; background: var(--hab-creme) !important;
}
html.ez-hab-2 .ez-rk-thr .ez-rk-pastille b { font-family: 'Hab Righteous', sans-serif; font-weight: 400; }

/* ── Titres des panneaux ── */
html.ez-hab-2 .ez-panel-title, html.ez-hab-2 .ez-ts-title {
  font-family: 'Hab Righteous', sans-serif !important; font-weight: 400 !important;
  font-size: 22px !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--ez-text) !important; text-align: left !important; border-bottom: none;
}

/* ── Top scores : carte de la 2e couleur, texte creme ── */
html.ez-hab-2 #stage > .ez-action-topscores:not(.ez-zone-transp) {
  background-color: var(--ez-accent2) !important;
}
html.ez-hab-2 #stage > .ez-action-topscores:not(.ez-zone-transp) .ez-ts-wrap {
  --ez-text: var(--ez-hab-sur-a2, #fffaf0); --ez-text-muted: var(--ez-hab-sur-a2, #fffaf0); --ez-accent: var(--ez-hab-sur-a2, #fffaf0);
}
html.ez-hab-2 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border: 3px solid var(--hab-encre); box-sizing: border-box;
  font-family: 'Hab Righteous', sans-serif; font-weight: 400 !important;
}
html.ez-hab-2 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Righteous', sans-serif; font-weight: 400 !important; font-size: 26px !important;
  -webkit-text-stroke: 1px var(--hab-encre);
}
html.ez-hab-2 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border: 3px solid var(--hab-encre); border-bottom: none; border-radius: 12px 12px 0 0 !important;
}

/* ── Programme : heures en gelule ── */
html.ez-hab-2 .ez-schedule-row { border-bottom: none; padding: 6px 4px; }
html.ez-hab-2 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-2 .ez-schedule-time {
  background: var(--ez-accent2); color: var(--ez-hab-sur-a2, #fffaf0) !important; border-radius: 99px;
  padding: 4px 10px; text-align: center; font-weight: 800; font-size: 15px;
}
html.ez-hab-2 .ez-schedule-label { font-weight: 700; font-size: 16px; }
html.ez-hab-2 .ez-schedule-row[data-st="done"]:not([data-coul]) { opacity: .7; }
html.ez-hab-2 .ez-schedule-row[data-st="done"]:not([data-coul]) .ez-schedule-time { background: var(--ez-text); color: var(--ez-bg, #fffaf0) !important; }
html.ez-hab-2 .ez-schedule-row[data-st="current"] .ez-schedule-time { background: var(--ez-accent); color: var(--ez-hab-sur-a1, #fffaf0) !important; }
html.ez-hab-2 .ez-schedule-row[data-st]:not([data-coul]) .ez-schedule-label { color: var(--ez-text) !important; }
html.ez-hab-2 .ez-schedule-row[data-st="current"]::after {
  content: var(--ez-hab-t-now, 'EN COURS'); font-size: 12px; font-weight: 800; letter-spacing: 1px; color: var(--ez-accent);
}

/* ── Compte a rebours : carte d'accent, chiffres creme ── */
html.ez-hab-2 #stage > .ez-action-countdown:not(.ez-zone-transp) {
  background-color: var(--ez-accent) !important;
}
html.ez-hab-2 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--ez-hab-sur-a1, #fffaf0); --ez-text-muted: var(--ez-hab-sur-a1, #fffaf0); --ez-accent: var(--ez-hab-sur-a1, #fffaf0);
}
html.ez-hab-2 .ez-action-countdown [class^="ez-cd-"]:not(.ez-cd-dl):not(.ez-cd-hl):not(.ez-cd-ml):not(.ez-cd-sl) {
  font-family: 'Hab Righteous', sans-serif; font-weight: 400 !important;
}
html.ez-hab-2 .ez-countdown-label { font-weight: 800 !important; letter-spacing: 4px !important; }

/* ── Vote ── */
html.ez-hab-2 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-2 .ez-action-poll > div:first-child { border-bottom: 3px solid var(--hab-encre); }
html.ez-hab-2 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Righteous', sans-serif !important; font-weight: 400 !important; }
html.ez-hab-2 .ez-action-poll [style*="height:32px"] { height: 20px !important; border: 2px solid var(--hab-encre); box-sizing: border-box; }
html.ez-hab-2 .ez-action-poll [style*="rgba(255,255,255,0.9)"],
html.ez-hab-2 .ez-action-poll [style*="rgba(255,255,255,0.95)"],
html.ez-hab-2 .ez-action-poll [style*="rgba(255,255,255,0.7)"],
html.ez-hab-2 .ez-action-poll [style*="rgba(255,255,255,0.5)"] { color: var(--hab-encre) !important; }

/* ── QR : carte d'encre ── */
html.ez-hab-2 #stage > .ez-action-qrcode:not(.ez-zone-transp),
html.ez-hab-2 #stage > .ez-action-qrwifi:not(.ez-zone-transp) {
  background-color: var(--hab-encre) !important;
}
html.ez-hab-2 #stage > .ez-action-qrcode:not(.ez-zone-transp) > div,
html.ez-hab-2 #stage > .ez-action-qrwifi:not(.ez-zone-transp) > div { --ez-text: var(--ez-bg, #f4ead5); }
html.ez-hab-2 .ez-action-qrcode > div > div, html.ez-hab-2 .ez-action-qrwifi > div > div { border-radius: 10px !important; background: #fffaf0 !important; }
html.ez-hab-2 .ez-action-qrcode span, html.ez-hab-2 .ez-action-qrwifi span { font-weight: 700; font-size: 15px !important; }

/* ── Horloge ── */
html.ez-hab-2 .ez-clock { font-family: 'Hab Righteous', sans-serif; font-weight: 400; letter-spacing: 2px; }

/* ── Seuils : segments cernes, non qualifies hachures ── */
html.ez-hab-2 .ez-thr-titre { font-family: 'Hab Righteous', sans-serif; font-weight: 400 !important; text-transform: none !important; font-size: 15px !important; }
html.ez-hab-2 .ez-thr-seg { border: 2px solid var(--hab-encre); box-sizing: border-box; border-radius: 99px !important; font-weight: 800; }
html.ez-hab-2 .ez-thr-pastille { border-radius: 99px !important; border: 2px solid var(--hab-encre) !important; background: var(--hab-creme) !important; }
html.ez-hab-2 .ez-thr-lbl b { font-family: 'Hab Righteous', sans-serif; font-weight: 400; }

/* ── Bandeau defilant : gelule d'encre, etiquette d'accent ── */
html.ez-hab-2 #stage > .ez-action-ticker {
  background: var(--hab-encre) !important; border-top: none !important; border-radius: 999px !important;
  --ez-accent-text: var(--ez-bg, #f4ead5); display: flex;
}
html.ez-hab-2 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center;
  padding: 0 1.1em; border-radius: 999px; background: var(--ez-accent); color: var(--ez-hab-sur-a1, #fffaf0);
  font-family: 'Hab Righteous', sans-serif; font-size: min(22px, calc(var(--ez-h-px, 50px) * .42));
}
html.ez-hab-2 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-2 .ez-ticker-track { font-weight: 700; }

/* ── Texte, chiffres ── */
html.ez-hab-2 .ez-scores-row { border-radius: 99px; border: 2px solid var(--ez-border); }
html.ez-hab-2 .ez-scores-value { font-family: 'Hab Righteous', sans-serif; font-weight: 400; border-radius: 99px; background: transparent; font-size: 18px; }
html.ez-hab-2 .ez-action-text > div:last-child { font-family: 'Hab Righteous', sans-serif !important; }

/* ══════════════════════════════════════════════════════════════════════
   3 · EDITORIAL
   La une d'un journal sportif : papier, encre noire, filets fins,
   Fraunces pour les titres et les chiffres, IBM Plex Mono pour les
   rubriques. Aucun fond de panneau : les zones sont separees par des
   filets. L'encre (#141414) est propre a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-3 #stage {
  font-family: 'Hab IBM Plex Sans', 'IBM Plex Sans', sans-serif !important;
}
html.ez-hab-3 #stage > .ez-zone {
  --hab-encre: #141414;
  --ez-font-title: 'Hab Fraunces', 'Fraunces', serif;
  font-family: 'Hab IBM Plex Sans', 'IBM Plex Sans', sans-serif !important;
  border-radius: 0 !important;
}
/* Sur papier (le sien) : encre noire. Sur un style sombre : l'encre
   devient la couleur du texte du style (un journal en negatif). */
html.ez-hab-3.ez-hab-clair #stage > .ez-zone { --ez-text: #141414; --ez-text-muted: #6b6b6b; --ez-border: #cfcac0; }
html.ez-hab-3.ez-hab-sombre #stage > .ez-zone { --hab-encre: var(--ez-text); }
/* Pas de fond : un filet d'encre en haut de chaque rubrique */
html.ez-hab-3 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-ticker) {
  background-color: transparent !important;
  border-top: 2px solid var(--hab-encre) !important;
  border-left: none !important;
}
html.ez-hab-3 #stage > .ez-action-image:not(.ez-zone-transp),
html.ez-hab-3 #stage > .ez-action-slideshow:not(.ez-zone-transp) { border: 1px solid var(--hab-encre) !important; }

/* ── En-tete : titre de une, double filet ── */
html.ez-hab-3 #stage > .ez-action-header {
  border-top: none !important;
  border-bottom: 3px solid var(--hab-encre) !important;
  box-shadow: 0 4px 0 -0px var(--ez-bg, #f6f4ef), 0 5px 0 0 var(--hab-encre);
}
html.ez-hab-3 .ez-header-inner { padding: 0 4px; align-items: flex-end; padding-bottom: .5%; }
html.ez-hab-3 .ez-header-title {
  font-family: 'Hab Fraunces', serif; font-weight: 800; text-transform: none; letter-spacing: -1px;
  color: var(--hab-encre); line-height: .95;
  font-size: min(clamp(20px, 3vw, 64px), calc(var(--ez-h-px, 100px) * .66));
}
html.ez-hab-3 .ez-header-clock {
  font-family: 'Hab Fraunces', serif; font-weight: 600; color: var(--hab-encre);
  font-size: min(clamp(16px, 2.2vw, 44px), calc(var(--ez-h-px, 100px) * .5));
}

/* ── Classement ── */
html.ez-hab-3 .ez-action-ranking .ez-ranking-cols { gap: 22px; }
html.ez-hab-3 .ez-col-static { border-right: 1px solid var(--hab-encre) !important; padding-right: 22px; margin-right: -22px; }
html.ez-hab-3 .ez-col-last { border-right: none !important; }
/* Titres : le texte prend la couleur de la categorie, filet d'encre dessous */
html.ez-hab-3 [data-key^="cat:"],
html.ez-hab-3 .ez-rk-spot-tete {
  -webkit-background-clip: text !important; background-clip: text !important;
  /* Titre ecrit dans sa couleur, rendue lisible sur le fond (1.9.14) */
  background-color: var(--ez-cat-l, var(--ez-cat-c, var(--hab-encre))) !important;
  -webkit-text-fill-color: transparent;
  color: var(--hab-encre) !important;
  font-family: 'Hab Fraunces', serif !important; font-weight: 800 !important;
  font-size: 17px !important; letter-spacing: 0 !important; text-transform: none !important;
  padding-left: 0 !important;
  box-shadow: inset 0 -2px 0 var(--hab-encre) !important;
}
html.ez-hab-3 [data-key^="cat:"] svg, html.ez-hab-3 .ez-rk-spot-tete svg { opacity: .55; }
html.ez-hab-3 [data-key^="entry:"] .rn {
  font-family: 'Hab Fraunces', serif; font-weight: 400 !important; font-size: 17px !important;
}
html.ez-hab-3 [data-pp] .rn { font-weight: 800 !important; }
html.ez-hab-3 [data-key^="entry:"] .pn { font-weight: 500 !important; font-size: 14px !important; }
html.ez-hab-3 [data-key^="entry:"] .sc {
  font-family: 'Hab Fraunces', serif; font-weight: 600 !important; font-size: 17px !important;
  background: transparent !important; padding: 0 0 0 6px !important; font-variant-numeric: tabular-nums;
}
html.ez-hab-3 [data-key^="entry:"] .dl { font-family: 'Hab IBM Plex Mono', monospace; font-weight: 500 !important; color: var(--ez-text-muted) !important; }
/* Barriere : filet rouge, rubrique en capitales mono, seuil en italique */
html.ez-hab-3 .ez-rk-thr .ez-rk-trait { height: 2px !important; border-radius: 0 !important; left: 0 !important; top: auto !important; bottom: 2px; }
html.ez-hab-3 .ez-rk-thr { color: var(--ez-rk-s, #c8102e); }
html.ez-hab-3 .ez-rk-thr .ez-rk-niv {
  left: 0 !important; background: transparent !important; color: inherit !important;
  font-family: 'Hab IBM Plex Mono', monospace; font-weight: 500 !important; letter-spacing: 2px;
}
html.ez-hab-3 .ez-rk-thr .ez-rk-pastille { background: transparent !important; border-left: none !important; border-radius: 0 !important; }
html.ez-hab-3 .ez-rk-thr .ez-rk-pastille b { font-family: 'Hab Fraunces', serif; font-style: italic; font-weight: 600; }
html.ez-hab-3 .ez-rk-thr .ez-rk-pastille span { font-family: 'Hab Fraunces', serif; font-style: italic; }

/* ── Rubriques : titres des panneaux en capitales mono rouges ── */
html.ez-hab-3 .ez-panel { padding: 8px 2px; }
html.ez-hab-3 .ez-panel-title, html.ez-hab-3 .ez-ts-title, html.ez-hab-3 .ez-countdown-label {
  font-family: 'Hab IBM Plex Mono', monospace !important; font-weight: 500 !important;
  font-size: 13px !important; letter-spacing: 2px !important; text-transform: uppercase !important;
  color: var(--ez-accent2) !important; text-align: left !important; border-bottom: none;
}
html.ez-hab-3 .ez-countdown-wrap { align-items: flex-start !important; padding-left: 4px; }

/* ── Top scores : le podium devient un graphique hachure ── */
html.ez-hab-3 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  background: transparent !important; color: var(--hab-encre) !important; border-radius: 0 !important;
  font-family: 'Hab Fraunces', serif; font-weight: 800 !important; font-size: 30px !important; height: auto !important;
}
html.ez-hab-3 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(2) { font-family: 'Hab Fraunces', serif; font-style: italic; font-weight: 400 !important; }
html.ez-hab-3 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Fraunces', serif; font-weight: 800 !important; font-size: 34px !important;
  color: var(--hab-encre) !important; letter-spacing: -1px;
}
html.ez-hab-3 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important; background-color: transparent !important;
  background-image: repeating-linear-gradient(135deg, var(--hab-encre) 0 1px, transparent 1px 6px) !important;
  border: 1px solid var(--hab-encre); border-bottom: none;
}
html.ez-hab-3 .ez-action-topscores [style*="border-radius:6px"],
html.ez-hab-3 .ez-action-topscores [style*="border-radius:8px"],
html.ez-hab-3 .ez-action-topscores [style*="border-radius:10px"] { border-radius: 0 !important; }

/* ── Programme ── */
html.ez-hab-3 .ez-schedule-list { gap: 0; }
html.ez-hab-3 .ez-schedule-row { border-radius: 0; padding: 7px 0; border-bottom: 1px solid var(--ez-border); align-items: baseline; }
html.ez-hab-3 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-3 .ez-schedule-time { font-family: 'Hab Fraunces', serif; font-weight: 600; font-size: 20px; min-width: 62px; }
html.ez-hab-3 .ez-schedule-label { font-size: 15px; }
html.ez-hab-3 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
html.ez-hab-3 .ez-schedule-row[data-st="done"] .ez-schedule-label { text-decoration: line-through; }
html.ez-hab-3 .ez-schedule-row[data-st="current"]:not([data-coul]) span,
html.ez-hab-3 .ez-schedule-row[data-st="next"]:not([data-coul]) span { color: var(--hab-encre) !important; }
html.ez-hab-3 .ez-schedule-row[data-st="current"]::after {
  content: var(--ez-hab-t-now, 'EN COURS'); font-family: 'Hab IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 1px; color: var(--ez-accent2);
}

/* ── Compte a rebours ── */
html.ez-hab-3 .ez-action-countdown [class^="ez-cd-"]:not(.ez-cd-dl):not(.ez-cd-hl):not(.ez-cd-ml):not(.ez-cd-sl):not(.ez-cd-sep) {
  font-family: 'Hab Fraunces', serif; font-weight: 600 !important; color: var(--hab-encre) !important;
}
html.ez-hab-3 .ez-action-countdown .ez-cd-sep { font-family: 'Hab Fraunces', serif; font-weight: 400 !important; }
html.ez-hab-3 .ez-action-countdown [class$="l"] { font-family: 'Hab IBM Plex Mono', monospace; }

/* ── Vote ── */
html.ez-hab-3 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-3 .ez-action-poll > div:first-child {
  background: transparent !important; color: var(--hab-encre) !important; padding-left: 2px !important;
  border-bottom: 1px solid var(--hab-encre);
}
html.ez-hab-3 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Fraunces', serif !important; font-weight: 600 !important; font-size: 22px !important; }
html.ez-hab-3 .ez-action-poll > div:first-child > div:last-child { background: transparent !important; border: 1px solid var(--hab-encre); }
html.ez-hab-3 .ez-action-poll [style*="rgba(255,255,255,0.02)"] { background: transparent !important; }
html.ez-hab-3 .ez-action-poll [style*="height:32px"] { height: 8px !important; background: var(--ez-border) !important; }
html.ez-hab-3 .ez-action-poll [style*="font-size:20px;font-weight:700"] { font-family: 'Hab Fraunces', serif !important; font-weight: 800 !important; font-size: 24px !important; }

/* ── QR code, horloge ── */
html.ez-hab-3 .ez-action-qrcode > div > div, html.ez-hab-3 .ez-action-qrwifi > div > div { border-radius: 0 !important; background: transparent !important; }
html.ez-hab-3 .ez-action-qrcode span, html.ez-hab-3 .ez-action-qrwifi span { font-family: 'Hab Fraunces', serif; font-style: italic; font-size: 16px !important; }
html.ez-hab-3 .ez-clock { font-family: 'Hab Fraunces', serif; font-weight: 600; letter-spacing: 0; color: var(--hab-encre); }

/* ── Seuils : une regle graduee ── */
html.ez-hab-3 .ez-thr-titre { font-family: 'Hab Fraunces', serif; font-weight: 800 !important; text-transform: none !important; font-size: 15px !important; }
html.ez-hab-3 .ez-thr-segs { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.ez-hab-3 .ez-thr-seg {
  border-radius: 0 !important; background-color: transparent !important; color: var(--hab-encre) !important;
  border: 1px solid var(--hab-encre); border-right: none; box-sizing: border-box;
  font-family: 'Hab IBM Plex Mono', monospace; font-weight: 500;
  background-image: linear-gradient(90deg, var(--hab-encre) 1px, transparent 1px) !important;
  background-size: 10% 18% !important; background-repeat: repeat-x !important; background-position: 0 100% !important;
}
html.ez-hab-3 .ez-thr-seg:last-child { border-right: 1px solid var(--hab-encre); }
html.ez-hab-3 .ez-thr-seg[data-q="1"] { background-color: rgba(200,16,46,.10) !important; }
html.ez-hab-3 .ez-thr-pastille { background: transparent !important; border-radius: 0 !important; }
html.ez-hab-3 .ez-thr-lbl b { font-family: 'Hab Fraunces', serif; font-style: italic; font-weight: 600; }

/* ── Bandeau defilant : bande d'encre, etiquette rouge ── */
html.ez-hab-3 #stage > .ez-action-ticker {
  background: var(--hab-encre) !important; border-top: none !important; display: flex;
  --ez-accent-text: var(--ez-bg, #f6f4ef);
}
html.ez-hab-3 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; padding: 0 1.2em;
  background: var(--ez-accent2); color: var(--ez-hab-sur-a2, #f6f4ef);
  font-family: 'Hab IBM Plex Mono', monospace; font-weight: 500; letter-spacing: 3px;
  font-size: min(18px, calc(var(--ez-h-px, 50px) * .36));
}
html.ez-hab-3 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-3 .ez-ticker-track { font-family: 'Hab Fraunces', serif; font-style: italic; font-weight: 400; }

/* ── Texte, chiffres ── */
html.ez-hab-3 .ez-scores-row { background: transparent; border-radius: 0; border-bottom: 1px solid var(--ez-border); padding: 6px 0; }
html.ez-hab-3 .ez-scores-value { font-family: 'Hab Fraunces', serif; font-weight: 800; background: transparent; font-size: 22px; }
html.ez-hab-3 .ez-action-text > div:last-child { font-family: 'Hab Fraunces', serif !important; }

/* ══════════════════════════════════════════════════════════════════════
   4 · TABLEAU LED
   Panneau d'affichage a diodes : fond noir tramé de points, texte ambre
   lumineux, VT323 pour les chiffres, Share Tech Mono pour le texte,
   cadres ambre sombre. Trame et cadres propres a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-4 #stage {
  font-family: 'Hab Share Tech Mono', 'Share Tech Mono', monospace !important;
  background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.5px) !important;
  background-size: 6px 6px !important;
}
html.ez-hab-4 #stage > .ez-zone {
  --hab-cadre: #3a2a00; --hab-fond: #141008; --hab-fond-q: #0f1a0f;
  --ez-font-title: 'Hab VT323', 'VT323', monospace;
  font-family: 'Hab Share Tech Mono', 'Share Tech Mono', monospace !important;
  border-radius: 0 !important;
}
html.ez-hab-4 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere) {
  border: 2px solid var(--hab-cadre) !important;
}
html.ez-hab-4 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: var(--ez-panel-bg) !important;
}
/* Sur fond sombre (le sien) : texte a la couleur d'accent, comme des
   diodes. Sur un style clair : texte et fonds du style. */
html.ez-hab-4.ez-hab-sombre #stage > .ez-zone { --ez-text: var(--ez-accent); --ez-text-muted: #8a6a1a; --ez-border: #2a1f06; }
html.ez-hab-4.ez-hab-clair #stage > .ez-zone { --hab-fond: var(--ez-panel-bg); --hab-fond-q: var(--ez-panel-bg); }
/* Tout ce qui est en VT323 luit de sa propre couleur */
html.ez-hab-4 .ez-header-title, html.ez-hab-4 .ez-header-clock,
html.ez-hab-4 [data-key^="entry:"] .rn, html.ez-hab-4 [data-key^="entry:"] .sc,
html.ez-hab-4 .ez-panel-title, html.ez-hab-4 .ez-ts-title,
html.ez-hab-4 .ez-action-countdown [class^="ez-cd-"], html.ez-hab-4 .ez-clock,
html.ez-hab-4 .ez-ticker-track, html.ez-hab-4 .ez-schedule-time,
html.ez-hab-4 .ez-thr-lbl b, html.ez-hab-4 .ez-rk-thr b {
  font-family: 'Hab VT323', 'VT323', monospace !important; font-weight: 400 !important;
  text-shadow: 0 0 .35em currentColor;
}

/* ── En-tete ── */
html.ez-hab-4 .ez-header-title {
  color: var(--ez-accent); letter-spacing: 4px;
  font-size: min(clamp(20px, 3.2vw, 64px), calc(var(--ez-h-px, 100px) * .72));
}
html.ez-hab-4 .ez-header-clock {
  color: var(--ez-accent); letter-spacing: 6px;
  font-size: min(clamp(20px, 3vw, 60px), calc(var(--ez-h-px, 100px) * .7));
  padding: 0 .3em; background: var(--hab-fond); border: 1px solid var(--hab-cadre);
}

/* ── Classement ── */
html.ez-hab-4 .ez-col-static, html.ez-hab-4 .ez-col-last { border-right: 2px solid var(--hab-cadre) !important; }
html.ez-hab-4 .ez-col-last { border-right: none !important; }
/* Titres : texte a la couleur de la categorie, sur fond sombre */
html.ez-hab-4 [data-key^="cat:"],
html.ez-hab-4 .ez-rk-spot-tete {
  -webkit-background-clip: text !important; background-clip: text !important;
  /* Titre ecrit dans sa couleur, rendue lisible sur le fond (1.9.14) */
  background-color: var(--ez-cat-l, var(--ez-cat-c, #ffb000)) !important;
  -webkit-text-fill-color: transparent; color: #8a6a1a !important;
  font-family: 'Hab VT323', monospace !important; font-weight: 400 !important;
  font-size: 22px !important; letter-spacing: 2px !important;
  box-shadow: inset 0 -2px 0 var(--hab-cadre) !important;
  filter: drop-shadow(0 0 3px rgba(255,176,0,.45));
}
html.ez-hab-4 [data-key^="entry:"] .rn { font-size: 22px !important; }
html.ez-hab-4 [data-key^="entry:"] .pn { font-size: 14px !important; font-weight: 400 !important; letter-spacing: 1px; }
html.ez-hab-4 [data-key^="entry:"] .sc { font-size: 24px !important; background: transparent !important; padding: 0 0 0 6px !important; }
html.ez-hab-4 [data-key^="entry:"] .dl { font-weight: 400 !important; }
/* Voyant allume devant les qualifies */
html.ez-hab-4 [data-q] .ez-rk-rb::after {
  content: ''; width: 6px; height: 6px; border-radius: 50%; margin-left: 2px;
  background: var(--ez-accent2, #39ff6a); box-shadow: 0 0 5px var(--ez-accent2, #39ff6a);
}
/* Barriere : >> QUALIFIES en vert, pointilles */
html.ez-hab-4 .ez-rk-thr { background: rgba(57,255,106,.06); }
html.ez-hab-4 .ez-rk-thr .ez-rk-trait {
  height: 0 !important; background: transparent !important; border-top: 1px dashed var(--ez-rk-s, #39ff6a);
}
html.ez-hab-4 .ez-rk-thr .ez-rk-niv {
  background: transparent !important; color: var(--ez-rk-s, #39ff6a) !important; border-radius: 0 !important;
  font-family: 'Hab VT323', monospace; font-weight: 400 !important; font-size: 17px !important;
  text-shadow: 0 0 .35em currentColor;
}
html.ez-hab-4 .ez-rk-thr .ez-rk-niv::before { content: '>> '; }
html.ez-hab-4 .ez-rk-thr .ez-rk-pastille { background: var(--hab-fond-q) !important; border-radius: 0 !important; }

/* ── Panneaux ── */
html.ez-hab-4 .ez-panel-title, html.ez-hab-4 .ez-ts-title {
  font-size: 26px !important; letter-spacing: 2px !important; color: var(--ez-accent) !important;
  text-align: left !important; border-bottom: 1px solid var(--hab-cadre);
}

/* ── Top scores : podium en barres de diodes ── */
/* Chiffre de la medaille peint a la couleur de la medaille (fond decoupe au texte) */
html.ez-hab-4 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border-radius: 0 !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent; color: #8a6a1a !important;
  font-family: 'Hab VT323', monospace; font-size: 44px !important; font-weight: 400 !important;
  box-shadow: inset 0 0 0 1px var(--hab-cadre);
  filter: drop-shadow(0 0 4px rgba(255,200,0,.5));
}
html.ez-hab-4 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab VT323', monospace; font-size: 36px !important; font-weight: 400 !important; text-shadow: 0 0 .35em currentColor;
}
html.ez-hab-4 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important;
  -webkit-mask: radial-gradient(circle, #000 1.7px, transparent 2.2px) 0 0 / 6px 6px;
          mask: radial-gradient(circle, #000 1.7px, transparent 2.2px) 0 0 / 6px 6px;
}
html.ez-hab-4 .ez-action-topscores [style*="border-radius"] { border-radius: 0 !important; }
html.ez-hab-4 .ez-action-topscores [style*="font-size:13px"],
html.ez-hab-4 .ez-action-topscores [style*="font-size:14px"] { letter-spacing: 1px; }

/* ── Programme ── */
html.ez-hab-4 .ez-schedule-row { border-radius: 0; border-bottom: 1px solid var(--ez-border); }
html.ez-hab-4 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-4 .ez-schedule-time { font-size: 26px; min-width: 70px; }
html.ez-hab-4 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: #8c6c1c !important; text-shadow: none; }
html.ez-hab-4 .ez-schedule-row[data-st="current"]:not([data-coul]) span { color: var(--ez-accent2, #39ff6a) !important; }
html.ez-hab-4 .ez-schedule-row[data-st="next"]:not([data-coul]) span { color: var(--ez-accent) !important; }
html.ez-hab-4 .ez-schedule-row[data-st="current"]::after {
  content: var(--ez-hab-t-now, 'EN COURS'); font-size: 12px; letter-spacing: 1px; padding: 1px 6px;
  border: 1px solid var(--ez-accent2, #39ff6a); color: var(--ez-accent2, #39ff6a);
}

/* ── Compte a rebours : chiffres rouges ── */
html.ez-hab-4 .ez-action-countdown .ez-countdown-wrap { --ez-text: #ff4d3d; --ez-accent: #ff4d3d; --ez-text-muted: #8a6a1a; }
html.ez-hab-4 .ez-countdown-label { letter-spacing: 3px !important; }

/* ── Vote ── */
html.ez-hab-4 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-4 .ez-action-poll > div:first-child {
  background: var(--hab-fond) !important; color: var(--ez-accent) !important; border-bottom: 2px solid var(--hab-cadre);
}
html.ez-hab-4 .ez-action-poll > div:first-child > div:first-child {
  font-family: 'Hab VT323', monospace !important; font-weight: 400 !important; font-size: 28px !important; text-shadow: 0 0 .35em currentColor;
}
html.ez-hab-4 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] {
  -webkit-mask: radial-gradient(circle, #000 2.4px, transparent 3px) 0 0 / 8px 8px;
          mask: radial-gradient(circle, #000 2.4px, transparent 3px) 0 0 / 8px 8px;
}
html.ez-hab-4 .ez-action-poll [style*="rgba(255,255,255,0.9)"],
html.ez-hab-4 .ez-action-poll [style*="rgba(255,255,255,0.95)"] { color: var(--ez-accent) !important; }

/* ── QR, horloge ── */
html.ez-hab-4 .ez-action-qrcode > div > div, html.ez-hab-4 .ez-action-qrwifi > div > div { border-radius: 0 !important; }
html.ez-hab-4 .ez-action-qrcode span, html.ez-hab-4 .ez-action-qrwifi span { color: var(--ez-accent) !important; letter-spacing: 1px; }
html.ez-hab-4 .ez-clock { color: var(--ez-accent); letter-spacing: 6px; }

/* ── Seuils ── */
html.ez-hab-4 .ez-thr-titre { font-family: 'Hab VT323', monospace; font-weight: 400 !important; font-size: 20px !important; }
html.ez-hab-4 .ez-thr-segs { background: transparent !important; box-shadow: none !important; }
html.ez-hab-4 .ez-thr-seg {
  border-radius: 0 !important; font-family: 'Hab VT323', monospace; font-size: 18px;
  background-image: linear-gradient(90deg, transparent calc(100% - 2px), rgba(0,0,0,.55) 0) !important;
  background-size: 8px 100% !important;
}
html.ez-hab-4 .ez-thr-pastille { border-radius: 0 !important; background: var(--hab-fond-q) !important; }

/* ── Bandeau defilant ── */
html.ez-hab-4 #stage > .ez-action-ticker { --ez-accent-text: var(--ez-accent); }
html.ez-hab-4 .ez-ticker-track {
  font-size: min(clamp(16px, 2vw, 34px), calc(var(--ez-h-px, 100px) * .7)); letter-spacing: 2px;
}
html.ez-hab-4 .ez-ticker-wrap { -webkit-mask-image: none !important; mask-image: none !important; }

/* ── Texte, chiffres ── */
html.ez-hab-4 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 1px solid var(--ez-border); }
html.ez-hab-4 .ez-scores-value { font-family: 'Hab VT323', monospace; font-weight: 400; font-size: 26px; background: transparent; text-shadow: 0 0 .35em currentColor; }
html.ez-hab-4 .ez-action-text > div:last-child { font-family: 'Hab VT323', monospace !important; text-shadow: 0 0 .3em currentColor; }

/* ══════════════════════════════════════════════════════════════════════
   5 · NEON ARCADE
   Salle d'arcade des annees 80 : nuit violette, grille lumineuse,
   tubes de neon (bordures et textes qui luisent), Monoton pour les
   grands titres, Exo 2 pour le reste.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-5 #stage { font-family: 'Hab Exo 2', 'Exo 2', sans-serif !important; }
/* Grille et halo rose au bas de l'ecran : sur fond sombre seulement */
html.ez-hab-5.ez-hab-sombre #stage {
  background-image:
    linear-gradient(180deg, rgba(0,0,0,0) 70%, rgba(255,42,109,.16) 100%),
    linear-gradient(90deg, rgba(5,217,232,.07) 1px, transparent 1px),
    linear-gradient(rgba(5,217,232,.07) 1px, transparent 1px) !important;
  background-size: 100% 100%, 48px 48px, 48px 48px !important;
}
html.ez-hab-5 #stage > .ez-zone {
  --ez-font-title: 'Hab Exo 2', 'Exo 2', sans-serif;
  font-family: 'Hab Exo 2', 'Exo 2', sans-serif !important;
}
html.ez-hab-5.ez-hab-sombre #stage > .ez-zone { --ez-text-muted: #a58cc9; --ez-border: rgba(185,103,255,.2); }
/* Tubes : bordure lumineuse, coins arrondis, fond de zone voile */
html.ez-hab-5 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker) {
  border: 2px solid var(--ez-accent2) !important; border-radius: 14px !important;
  box-shadow: 0 0 12px var(--ez-accent2);
}
html.ez-hab-5 #stage > .ez-zone.ez-action-ranking:not(.ez-zone-transp),
html.ez-hab-5 #stage > .ez-zone.ez-action-countdown:not(.ez-zone-transp) {
  border-color: var(--ez-accent) !important; box-shadow: 0 0 12px var(--ez-accent);
}
html.ez-hab-5 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: var(--ez-panel-bg) !important;
}
/* Ce qui luit de sa propre couleur */
html.ez-hab-5 [data-key^="entry:"] .rn, html.ez-hab-5 [data-key^="entry:"] .sc,
html.ez-hab-5 .ez-panel-title, html.ez-hab-5 .ez-ts-title, html.ez-hab-5 .ez-schedule-time,
html.ez-hab-5 .ez-action-countdown [class^="ez-cd-"], html.ez-hab-5 .ez-clock,
html.ez-hab-5 .ez-thr-lbl b, html.ez-hab-5 .ez-rk-thr b {
  text-shadow: 0 0 .45em currentColor;
}

/* ── En-tete : titre en neon, trait lumineux, horloge ── */
html.ez-hab-5 #stage > .ez-action-header { background: transparent !important; border-bottom: none !important; }
html.ez-hab-5 .ez-header-inner { padding: 0 8px; gap: 24px; }
html.ez-hab-5 .ez-header-title {
  flex: 0 1 auto; font-family: 'Hab Monoton', 'Monoton', cursive; font-weight: 400;
  color: var(--ez-hab-l-a1, var(--ez-accent)); letter-spacing: 1px; line-height: 1.3;
  text-shadow: 0 0 .12em var(--ez-accent), 0 0 .4em var(--ez-accent);
  font-size: min(clamp(18px, 2.8vw, 58px), calc(var(--ez-h-px, 100px) * .5));
}
html.ez-hab-5 .ez-header-inner::after {
  content: ''; order: 1; flex: 1; height: 2px; background: var(--ez-accent2); box-shadow: 0 0 10px var(--ez-accent2);
}
html.ez-hab-5 .ez-header-clock {
  order: 2; font-family: 'Hab Monoton', 'Monoton', cursive; font-weight: 400; color: var(--ez-hab-l-a2, var(--ez-accent2)); line-height: 1.3;
  text-shadow: 0 0 .12em var(--ez-accent2), 0 0 .4em var(--ez-accent2);
  font-size: min(clamp(16px, 2.4vw, 50px), calc(var(--ez-h-px, 100px) * .56));
}

/* ── Classement ── */
html.ez-hab-5 .ez-col-static, html.ez-hab-5 .ez-col-last { border-right: 1px solid var(--ez-border) !important; }
html.ez-hab-5 .ez-col-last { border-right: none !important; }
/* Titres : le texte est un tube de la couleur de la categorie */
html.ez-hab-5 [data-key^="cat:"],
html.ez-hab-5 .ez-rk-spot-tete {
  background: transparent !important; color: var(--ez-cat-l, var(--ez-cat-c)) !important;
  font-weight: 800 !important; font-size: 15px !important; letter-spacing: 3px !important;
  text-shadow: 0 0 .5em var(--ez-cat-c);
  box-shadow: inset 0 -2px 0 var(--ez-cat-c), 0 7px 10px -9px var(--ez-cat-c) !important;
}
html.ez-hab-5 [data-key^="entry:"] .rn { font-weight: 800 !important; font-size: 15px !important; }
html.ez-hab-5 [data-key^="entry:"] .pn { font-weight: 600 !important; font-size: 14px !important; text-transform: uppercase; letter-spacing: 1px; }
html.ez-hab-5 [data-key^="entry:"] .sc { font-weight: 800 !important; font-size: 16px !important; background: transparent !important; padding: 0 2px 0 6px !important; }
/* Barriere : tube de la couleur des seuils */
html.ez-hab-5 .ez-rk-thr .ez-rk-trait { height: 2px !important; box-shadow: 0 0 8px var(--ez-rk-s, #f9c80e); }
html.ez-hab-5 .ez-rk-thr .ez-rk-niv {
  background: var(--ez-panel-bg) !important; color: var(--ez-rk-s, #f9c80e) !important; border-radius: 6px !important;
  font-weight: 800 !important; letter-spacing: 2px; text-shadow: 0 0 .5em currentColor;
}
html.ez-hab-5 .ez-rk-thr .ez-rk-pastille {
  border-radius: 8px !important; border: 1px solid var(--ez-rk-s, #f9c80e) !important;
  box-shadow: 0 0 8px var(--ez-rk-s, #f9c80e);
}

/* ── Titres des panneaux ── */
html.ez-hab-5 .ez-panel-title, html.ez-hab-5 .ez-ts-title {
  font-weight: 800 !important; font-size: 20px !important; letter-spacing: 3px !important;
  color: var(--ez-hab-l-a2, var(--ez-accent2)) !important; text-align: left !important; border-bottom: none;
}

/* ── Top scores : medailles en anneaux, socles lumineux ── */
html.ez-hab-5 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  box-shadow: 0 0 14px rgba(255,255,255,.35); font-weight: 800 !important;
}
html.ez-hab-5 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-weight: 800 !important; font-size: 30px !important; text-shadow: 0 0 .45em currentColor;
}
html.ez-hab-5 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: .85 !important; border-radius: 10px 10px 0 0 !important;
  box-shadow: 0 0 16px rgba(255,255,255,.25);
}

/* ── Programme ── */
html.ez-hab-5 .ez-schedule-row { border-radius: 10px; border-bottom: none; }
html.ez-hab-5 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-5 .ez-schedule-time { font-weight: 800; font-size: 20px; min-width: 62px; }
html.ez-hab-5 .ez-schedule-label { font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
html.ez-hab-5 .ez-schedule-row[data-st="current"]:not([data-coul]) span { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; }
html.ez-hab-5 .ez-schedule-row[data-st="next"]:not([data-coul]) span { color: var(--ez-hab-l-a2, var(--ez-accent2)) !important; }
html.ez-hab-5 .ez-schedule-row[data-st="current"]::after {
  content: var(--ez-hab-t-now, 'EN COURS'); font-size: 12px; font-weight: 800; letter-spacing: 2px;
  color: var(--ez-hab-l-a1, var(--ez-accent)); text-shadow: 0 0 .5em currentColor;
}

/* ── Compte a rebours : chiffres en neon ── */
html.ez-hab-5 .ez-action-countdown .ez-countdown-wrap { --ez-text: var(--ez-hab-l-a1, var(--ez-accent)); --ez-accent: var(--ez-hab-l-a1, var(--ez-accent)); }
html.ez-hab-5 .ez-action-countdown .ez-cd-d, html.ez-hab-5 .ez-action-countdown .ez-cd-h,
html.ez-hab-5 .ez-action-countdown .ez-cd-m, html.ez-hab-5 .ez-action-countdown .ez-cd-s,
html.ez-hab-5 .ez-action-countdown .ez-cd-sep { font-family: 'Hab Monoton', 'Monoton', cursive; font-weight: 400 !important; }
html.ez-hab-5 .ez-countdown-label { font-weight: 800 !important; letter-spacing: 4px !important; }

/* ── Vote ── */
html.ez-hab-5 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-5 .ez-action-poll > div:first-child {
  background: transparent !important; color: var(--ez-hab-l-a1, var(--ez-accent)) !important;
  border-bottom: 2px solid var(--ez-accent); box-shadow: 0 6px 12px -10px var(--ez-accent);
}
html.ez-hab-5 .ez-action-poll > div:first-child > div:first-child {
  font-weight: 800 !important; text-transform: uppercase; letter-spacing: 2px; text-shadow: 0 0 .45em currentColor;
}
/* Badge des participants : contour de neon au lieu du voile clair, qui palissait le texte (1.9.14) */
html.ez-hab-5 .ez-action-poll > div:first-child > div:last-child { background: transparent !important; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ez-hab-5 .ez-action-poll [style*="height:32px"] { height: 10px !important; }
html.ez-hab-5 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] { filter: drop-shadow(0 0 6px rgba(255,255,255,.45)); }

/* ── QR, horloge ── */
html.ez-hab-5 .ez-action-qrcode > div > div, html.ez-hab-5 .ez-action-qrwifi > div > div {
  border-radius: 8px !important; box-shadow: 0 0 14px var(--ez-accent2);
}
html.ez-hab-5 .ez-action-qrcode span, html.ez-hab-5 .ez-action-qrwifi span { text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }
html.ez-hab-5 .ez-clock { color: var(--ez-hab-l-a2, var(--ez-accent2)); font-weight: 800; }

/* ── Seuils : barres-tubes ── */
html.ez-hab-5 .ez-thr-titre { font-weight: 800 !important; letter-spacing: 2px; }
html.ez-hab-5 .ez-thr-segs { background: transparent !important; box-shadow: none !important; }
html.ez-hab-5 .ez-thr-seg { border-radius: 99px !important; font-weight: 800; box-shadow: 0 0 10px rgba(255,255,255,.18); }
html.ez-hab-5 .ez-thr-pastille { border-radius: 8px !important; }

/* ── Bandeau defilant : trait de neon au-dessus ── */
html.ez-hab-5 #stage > .ez-action-ticker {
  background: transparent !important; border-top: 2px solid var(--ez-accent) !important;
  box-shadow: 0 -6px 16px -8px var(--ez-accent); --ez-accent-text: var(--ez-text);
}
html.ez-hab-5 .ez-ticker-track { font-weight: 600; text-transform: uppercase; letter-spacing: 2px; }

/* ── Texte, chiffres ── */
html.ez-hab-5 .ez-scores-row { border-radius: 10px; }
html.ez-hab-5 .ez-scores-value { background: transparent; font-weight: 800; text-shadow: 0 0 .45em currentColor; }
html.ez-hab-5 .ez-action-text > div:last-child { text-shadow: 0 0 .3em currentColor; }
html.ez-hab-5 .ez-ts-wrap { --ez-accent: var(--ez-hab-l-a2, var(--ez-accent2)); }

/* ══════════════════════════════════════════════════════════════════════
   6 · BAUHAUS
   Affiche constructiviste : aplats rouge, bleu, jaune, epais traits
   noirs, cercles, carres et triangles, Archivo Black en capitales.
   L'encre (#121212) est propre a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-6 #stage { font-family: 'Hab Archivo', 'Archivo', sans-serif !important; }
html.ez-hab-6 #stage > .ez-zone {
  --hab-encre: #121212; --hab-papier: #f2ede4; --hab-jaune: #f4c20d;
  /* Noir fixe des bandes qui portent la couleur des seuils : lisible
     quelle que soit la palette. */
  --hab-noir: #121212; --hab-blanc: #f2ede4;
  --ez-font-title: 'Hab Archivo Black', 'Archivo Black', sans-serif;
  font-family: 'Hab Archivo', 'Archivo', sans-serif !important;
  border-radius: 0 !important;
}
html.ez-hab-6.ez-hab-clair #stage > .ez-zone { --ez-text: #121212; --ez-text-muted: #6d655a; --ez-border: #d8d0c2; }
html.ez-hab-6.ez-hab-sombre #stage > .ez-zone { --hab-encre: var(--ez-text); --hab-papier: var(--ez-bg); }
html.ez-hab-6 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header) {
  border: 4px solid var(--hab-encre) !important;
}
html.ez-hab-6 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-countdown):not(.ez-action-ticker) {
  background-color: var(--ez-panel-bg) !important;
}
/* Capitales grasses partout ou il y a un titre */
html.ez-hab-6 .ez-header-title, html.ez-hab-6 .ez-panel-title, html.ez-hab-6 .ez-ts-title,
html.ez-hab-6 [data-key^="cat:"], html.ez-hab-6 .ez-rk-spot-tete, html.ez-hab-6 .ez-countdown-label,
html.ez-hab-6 .ez-thr-titre {
  font-family: 'Hab Archivo Black', 'Archivo Black', sans-serif !important; font-weight: 400 !important;
  text-transform: uppercase !important;
}

/* ── En-tete : carre bleu au rond jaune, triangle rouge, horloge noire ── */
html.ez-hab-6 #stage > .ez-action-header { background: transparent !important; border-bottom: 4px solid var(--hab-encre) !important; }
html.ez-hab-6 .ez-header-inner { padding: 0 0 0 0; gap: 0; }
html.ez-hab-6 .ez-header-inner::before {
  content: ''; align-self: stretch; flex-shrink: 0; width: calc(var(--ez-h-px, 90px) * 1.7);
  background:
    radial-gradient(circle at 29% 50%, var(--hab-jaune) 0 calc(var(--ez-h-px, 90px) * .28), var(--hab-noir) calc(var(--ez-h-px, 90px) * .285) calc(var(--ez-h-px, 90px) * .31), transparent calc(var(--ez-h-px, 90px) * .315)),
    linear-gradient(to top right, var(--ez-accent) 50%, transparent 50.5%) right / 41% 100% no-repeat,
    linear-gradient(var(--ez-accent2), var(--ez-accent2)) left / 59% 100% no-repeat;
  margin-right: 22px;
}
html.ez-hab-6 .ez-header-title { color: var(--hab-encre); letter-spacing: -1px; font-size: min(clamp(18px, 3vw, 66px), calc(var(--ez-h-px, 100px) * .62)); }
html.ez-hab-6 .ez-header-clock {
  align-self: stretch; display: flex; align-items: center; padding: 0 .8em;
  background: var(--hab-encre); color: var(--hab-papier);
  font-family: 'Hab Archivo Black', sans-serif; font-weight: 400;
  font-size: min(clamp(16px, 2.6vw, 58px), calc(var(--ez-h-px, 100px) * .56));
}

/* ── Classement ── */
html.ez-hab-6 .ez-col-static, html.ez-hab-6 .ez-col-last { border-right: 4px solid var(--hab-encre) !important; }
html.ez-hab-6 .ez-col-last { border-right: none !important; }
html.ez-hab-6 [data-key^="cat:"],
html.ez-hab-6 .ez-rk-spot-tete { font-size: 15px !important; letter-spacing: 0 !important; box-shadow: inset 0 -3px 0 var(--hab-encre) !important; }
/* Rang : pastille noire, formes du podium (rond, carre, triangle) */
html.ez-hab-6 [data-key^="entry:"] .rn {
  font-family: 'Hab Archivo Black', sans-serif; font-weight: 400 !important; font-size: 12px !important;
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; min-width: 22px !important; border-radius: 50%;
  background: var(--hab-encre); -webkit-text-fill-color: var(--hab-papier);
}
html.ez-hab-6 [data-pp] .rn { background: currentColor; }
html.ez-hab-6 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #121212); }
html.ez-hab-6 [data-pp="2"] .rn { border-radius: 0; -webkit-text-fill-color: var(--ez-hab-sur-r2, #121212); }
html.ez-hab-6 [data-pp="3"] .rn { border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); padding-top: 7px; box-sizing: border-box; font-size: 10px !important; -webkit-text-fill-color: var(--ez-hab-sur-r3, #121212); }
html.ez-hab-6 [data-key^="entry:"] .pn { font-weight: 800 !important; font-size: 14px !important; text-transform: uppercase; }
html.ez-hab-6 [data-key^="entry:"] .sc { font-family: 'Hab Archivo Black', sans-serif; font-weight: 400 !important; font-size: 16px !important; background: transparent !important; padding: 0 0 0 6px !important; }
html.ez-hab-6 [data-key^="entry:"] .dl { color: var(--ez-accent) !important; font-weight: 600 !important; }
/* Barriere : bande noire, texte a la couleur des seuils, triangle */
/* Le fond de la bande est le contraire de la couleur des seuils (noir si
   elle est claire, blanc si elle est foncee) : toujours lisible. */
html.ez-hab-6 .ez-rk-thr { background: var(--ez-hab-sur-s, var(--hab-noir)); }
html.ez-hab-6 .ez-rk-thr .ez-rk-trait { display: none; }
html.ez-hab-6 .ez-rk-thr .ez-rk-niv {
  background: transparent !important; color: var(--ez-rk-s, #f4c20d) !important; border-radius: 0 !important;
  font-weight: 800 !important; letter-spacing: 2px;
}
html.ez-hab-6 .ez-rk-thr .ez-rk-niv::before {
  content: ''; display: inline-block; width: .9em; height: .9em; margin-right: .5em; vertical-align: -.1em;
  background: currentColor; clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
html.ez-hab-6 .ez-rk-thr .ez-rk-pastille { background: transparent !important; border: none !important; border-radius: 0 !important; }
html.ez-hab-6 .ez-rk-thr .ez-rk-pastille b { color: var(--ez-rk-s, #f4c20d) !important; font-family: 'Hab Archivo Black', sans-serif; font-weight: 400; }
html.ez-hab-6 .ez-rk-thr .ez-rk-pastille span { color: var(--ez-rk-s, #f4c20d) !important; opacity: .8; }

/* ── Titres des panneaux ── */
html.ez-hab-6 .ez-panel-title, html.ez-hab-6 .ez-ts-title {
  font-size: 22px !important; letter-spacing: 0 !important; color: var(--ez-text) !important; text-align: left !important;
  border-bottom: 4px solid var(--hab-encre); padding-bottom: 6px;
}

/* ── Top scores : large bande de la 2e couleur, medailles carrees ── */
html.ez-hab-6 #stage > .ez-action-topscores:not(.ez-zone-transp) { border-top: 16px solid var(--ez-accent2) !important; }
html.ez-hab-6 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border-radius: 0 !important; border: 3px solid var(--hab-encre); box-sizing: border-box;
  font-family: 'Hab Archivo Black', sans-serif; font-weight: 400 !important;
}
html.ez-hab-6 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Archivo Black', sans-serif; font-weight: 400 !important; font-size: 30px !important;
  -webkit-text-stroke: 1px var(--hab-noir);
}
html.ez-hab-6 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important; border: 3px solid var(--hab-encre); border-bottom: none;
}
html.ez-hab-6 .ez-action-topscores [style*="border-radius"] { border-radius: 0 !important; }

/* ── Programme : un rond, un carre ── */
html.ez-hab-6 .ez-schedule-list { gap: 0; }
html.ez-hab-6 .ez-schedule-row { border-radius: 0; border-bottom: 2px solid var(--ez-border); }
html.ez-hab-6 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-6 .ez-schedule-row::before {
  content: ''; flex-shrink: 0; width: 14px; height: 14px; border-radius: 50%; background: var(--ez-text-muted);
}
html.ez-hab-6 .ez-schedule-row[data-st="current"]::before { border-radius: 0; background: var(--ez-accent); }
html.ez-hab-6 .ez-schedule-row[data-st="next"]::before { background: var(--ez-accent2); }
html.ez-hab-6 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-6 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
html.ez-hab-6 .ez-schedule-time { font-family: 'Hab Archivo Black', sans-serif; font-weight: 400; font-size: 18px; min-width: 60px; }
html.ez-hab-6 .ez-schedule-label { font-weight: 800; text-transform: uppercase; }

/* ── Compte a rebours : aplat rouge ── */
html.ez-hab-6 #stage > .ez-action-countdown:not(.ez-zone-transp) { background-color: var(--ez-accent) !important; }
html.ez-hab-6 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--ez-hab-sur-a1, #fff); --ez-text-muted: var(--ez-hab-sur-a1, #fff); --ez-accent: var(--ez-hab-sur-a1, #fff);
}
html.ez-hab-6 .ez-action-countdown .ez-cd-d, html.ez-hab-6 .ez-action-countdown .ez-cd-h,
html.ez-hab-6 .ez-action-countdown .ez-cd-m, html.ez-hab-6 .ez-action-countdown .ez-cd-s { font-family: 'Hab Archivo Black', sans-serif; font-weight: 400 !important; }

/* ── Vote ── */
html.ez-hab-6 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-6 .ez-action-poll > div:first-child { border-bottom: 4px solid var(--hab-encre); color: var(--ez-hab-sur-a1, #fff) !important; }
html.ez-hab-6 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Archivo Black', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; }
html.ez-hab-6 .ez-action-poll [style*="height:32px"] { height: 18px !important; border: 2px solid var(--hab-encre); box-sizing: border-box; }
html.ez-hab-6 .ez-action-poll [style*="rgba(255,255,255,0.9)"],
html.ez-hab-6 .ez-action-poll [style*="rgba(255,255,255,0.95)"],
html.ez-hab-6 .ez-action-poll [style*="rgba(255,255,255,0.7)"],
html.ez-hab-6 .ez-action-poll [style*="rgba(255,255,255,0.5)"] { color: var(--ez-text) !important; }

/* ── QR, horloge ── */
html.ez-hab-6 .ez-action-qrcode > div > div, html.ez-hab-6 .ez-action-qrwifi > div > div { border-radius: 0 !important; box-shadow: 0 0 0 3px var(--hab-encre); }
html.ez-hab-6 .ez-action-qrcode span, html.ez-hab-6 .ez-action-qrwifi span { font-weight: 800; text-transform: uppercase; font-size: 15px !important; }
html.ez-hab-6 .ez-clock { font-family: 'Hab Archivo Black', sans-serif; font-weight: 400; letter-spacing: 0; }

/* ── Seuils ── */
html.ez-hab-6 .ez-thr-segs { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.ez-hab-6 .ez-thr-seg { border-radius: 0 !important; border: 3px solid var(--hab-encre); box-sizing: border-box; font-weight: 800; }
html.ez-hab-6 .ez-thr-pastille { border-radius: 0 !important; }
html.ez-hab-6 .ez-thr-lbl b { font-family: 'Hab Archivo Black', sans-serif; font-weight: 400; }

/* ── Bandeau defilant : noir, carre rouge et demi-rond jaune ── */
html.ez-hab-6 #stage > .ez-action-ticker { background: var(--hab-encre) !important; --ez-accent-text: var(--hab-papier); display: flex; }
html.ez-hab-6 .ez-action-ticker::before {
  content: ''; flex-shrink: 0; align-self: stretch; width: calc(var(--ez-h-px, 44px) * 2);
  background:
    linear-gradient(var(--ez-accent), var(--ez-accent)) left / 50% 100% no-repeat,
    radial-gradient(circle at 50% 50%, var(--hab-jaune) 0 70%, transparent 71%) right / 50% 100% no-repeat;
}
html.ez-hab-6 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-6 .ez-ticker-track { font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }

/* ── Texte, chiffres ── */
html.ez-hab-6 .ez-scores-row { border-radius: 0; border-left: 6px solid var(--ez-accent); }
html.ez-hab-6 .ez-scores-value { font-family: 'Hab Archivo Black', sans-serif; font-weight: 400; background: transparent; border-radius: 0; }
html.ez-hab-6 .ez-action-text > div:last-child { font-family: 'Hab Archivo Black', sans-serif !important; text-transform: uppercase; }
/* Chiffres des seuils : jaune sur noir, lisibles sur le papier */
html.ez-hab-6 .ez-thr-pastille { background: var(--ez-hab-sur-s, var(--hab-noir)) !important; border-left-color: var(--ez-hab-sur-s, var(--hab-noir)) !important; }
html.ez-hab-6 .ez-thr-pastille span { color: var(--ez-thr-c, #f4c20d) !important; opacity: .8; }
html.ez-hab-6 .ez-thr div[data-thr-s]:not(.ez-thr-ligne):not(.ez-thr-lbl) {
  background: var(--ez-hab-sur-s, var(--hab-noir)); padding: 0 .15em; font-family: 'Hab Archivo Black', sans-serif; font-weight: 400 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   7 · FEUILLE DE MARQUE
   La feuille de score d'une partie : papier quadrille, encre bleue,
   corrections au stylo rouge, ecriture a la main (Kalam) et chiffres a
   la machine (Courier Prime). Encre et quadrillage propres a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-7 #stage {
  font-family: 'Hab Courier Prime', 'Courier Prime', monospace !important;
  background-image:
    linear-gradient(rgba(31,58,147,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,58,147,.13) 1px, transparent 1px) !important;
  background-size: 20px 20px !important;
}
html.ez-hab-7 #stage > .ez-zone {
  --hab-encre: #1f3a93; --hab-stylo: var(--ez-accent2); --hab-papier: #fbfaf3;
  --ez-font-title: 'Hab Kalam', 'Kalam', cursive;
  font-family: 'Hab Courier Prime', 'Courier Prime', monospace !important;
  border-radius: 0 !important;
}
html.ez-hab-7.ez-hab-clair #stage > .ez-zone { --ez-text: #1f3a93; --ez-text-muted: #6b7a90; --ez-border: #b9c6d8; }
html.ez-hab-7.ez-hab-sombre #stage > .ez-zone { --hab-encre: var(--ez-text); --hab-papier: var(--ez-bg); }
html.ez-hab-7 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker) {
  border: 2px solid var(--hab-encre) !important;
}
html.ez-hab-7 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: var(--ez-panel-bg) !important;
}
/* L'ecriture a la main */
html.ez-hab-7 .ez-header-title, html.ez-hab-7 .ez-panel-title, html.ez-hab-7 .ez-ts-title,
html.ez-hab-7 [data-key^="entry:"] .pn, html.ez-hab-7 .ez-schedule-label, html.ez-hab-7 .ez-countdown-label,
html.ez-hab-7 .ez-thr-titre, html.ez-hab-7 .ez-ticker-track, html.ez-hab-7 .ez-scores-label {
  font-family: 'Hab Kalam', 'Kalam', cursive !important; text-transform: none !important; letter-spacing: 0 !important;
}

/* ── En-tete : titre ecrit, double trait, heure au stylo ── */
html.ez-hab-7 #stage > .ez-action-header { background: transparent !important; border-bottom: 3px double var(--hab-encre) !important; }
html.ez-hab-7 .ez-header-inner { padding: 0 6px; align-items: flex-end; padding-bottom: .4%; }
html.ez-hab-7 .ez-header-title {
  font-weight: 700; color: var(--hab-encre); transform: rotate(-1deg); transform-origin: left bottom; line-height: 1.3;
  font-size: min(clamp(20px, 3vw, 60px), calc(var(--ez-h-px, 100px) * .52));
}
html.ez-hab-7 .ez-header-clock {
  font-family: 'Hab Kalam', 'Kalam', cursive; font-weight: 700; color: var(--hab-stylo); line-height: 1.3;
  font-size: min(clamp(18px, 2.6vw, 52px), calc(var(--ez-h-px, 100px) * .5));
}

/* ── Classement : colonnes de la feuille ── */
html.ez-hab-7 .ez-col-static, html.ez-hab-7 .ez-col-last { border-right: 2px solid var(--hab-encre) !important; }
html.ez-hab-7 .ez-col-last { border-right: none !important; }
/* Titres : ecrits a la couleur de la categorie, souligne a l'encre */
html.ez-hab-7 [data-key^="cat:"],
html.ez-hab-7 .ez-rk-spot-tete {
  background: transparent !important; color: var(--ez-cat-l, var(--ez-cat-c)) !important;
  font-family: 'Hab Kalam', 'Kalam', cursive !important; font-weight: 700 !important;
  font-size: 18px !important; text-transform: none !important; letter-spacing: 0 !important;
  box-shadow: inset 0 -2px 0 var(--hab-encre) !important;
}
html.ez-hab-7 .ez-rk-rb { align-self: stretch; justify-content: center; border-right: 2px solid var(--hab-encre); margin-right: 4px; }
html.ez-hab-7 [data-key^="entry:"] .rn { font-weight: 700 !important; font-size: 14px !important; text-align: center; }
/* Le premier est entoure au stylo */
html.ez-hab-7 [data-pp="1"] .rn {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; min-width: 22px !important;
  border: 2px solid var(--hab-stylo); border-radius: 50%; box-sizing: border-box;
}
html.ez-hab-7 [data-key^="entry:"] .pn { font-weight: 400 !important; font-size: 17px !important; }
html.ez-hab-7 [data-key^="entry:"] .sc {
  font-weight: 700 !important; font-size: 16px !important; background: transparent !important;
  border-radius: 0 !important; border-left: 2px solid var(--hab-encre); padding: 0 2px 0 8px !important; align-self: stretch; display: flex; align-items: center; justify-content: flex-end;
}
html.ez-hab-7 [data-key^="entry:"] .dl { color: var(--ez-text-muted) !important; font-weight: 400 !important; }
/* Barriere : trait de ciseaux au stylo */
html.ez-hab-7 .ez-rk-thr { color: var(--ez-rk-s, #c92a2a); }
html.ez-hab-7 .ez-rk-thr .ez-rk-trait { height: 0 !important; background: transparent !important; border-top: 2px dashed currentColor; }
html.ez-hab-7 .ez-rk-thr .ez-rk-niv {
  background: var(--hab-papier) !important; color: inherit !important; border-radius: 0 !important;
  font-family: 'Hab Kalam', 'Kalam', cursive; font-weight: 700 !important; text-transform: none !important; font-size: 13px !important;
}
html.ez-hab-7 .ez-rk-thr .ez-rk-pastille { background: var(--hab-papier) !important; border-left: none !important; border-radius: 0 !important; }
html.ez-hab-7 .ez-rk-thr .ez-rk-pastille b, html.ez-hab-7 .ez-rk-thr .ez-rk-pastille span { font-family: 'Hab Kalam', 'Kalam', cursive; }

/* ── Titres des panneaux : ecrits, soulignes au stylo ── */
html.ez-hab-7 .ez-panel-title, html.ez-hab-7 .ez-ts-title {
  font-weight: 700 !important; font-size: 22px !important; color: var(--ez-text) !important; text-align: left !important;
  border-bottom: none; text-decoration: underline; text-decoration-color: var(--hab-stylo); text-underline-offset: 4px;
}

/* ── Top scores : ronds dessines, socles hachures ── */
html.ez-hab-7 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  background: transparent !important; color: var(--hab-stylo) !important; border: 2px solid var(--hab-stylo); box-sizing: border-box;
  font-family: 'Hab Kalam', cursive; font-weight: 700 !important;
}
html.ez-hab-7 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(2) { font-family: 'Hab Kalam', cursive; font-weight: 400 !important; }
html.ez-hab-7 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { color: var(--hab-encre) !important; font-weight: 700 !important; font-size: 26px !important; }
html.ez-hab-7 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important; background-color: transparent !important;
  background-image: repeating-linear-gradient(135deg, var(--hab-encre) 0 1px, transparent 1px 6px) !important;
  border: 2px solid var(--hab-encre); border-bottom: none;
}
html.ez-hab-7 .ez-action-topscores [style*="border-radius"] { border-radius: 0 !important; }

/* ── Programme : cases cochees ── */
html.ez-hab-7 .ez-schedule-list { gap: 0; }
html.ez-hab-7 .ez-schedule-row { border-radius: 0; border-bottom: 1px solid var(--ez-border); }
html.ez-hab-7 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-7 .ez-schedule-row::before {
  content: ''; flex-shrink: 0; width: 16px; height: 16px; border: 2px solid currentColor; box-sizing: border-box; color: var(--ez-text);
  display: flex; align-items: center; justify-content: center; font-family: 'Hab Kalam', cursive; font-weight: 700; line-height: 1;
}
html.ez-hab-7 .ez-schedule-row[data-st="done"]::before { content: '\2713'; color: var(--ez-text-muted); }
html.ez-hab-7 .ez-schedule-row[data-coul]::before { color: inherit; }
html.ez-hab-7 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
html.ez-hab-7 .ez-schedule-row[data-st="done"] .ez-schedule-label { text-decoration: line-through; }
html.ez-hab-7 .ez-schedule-row[data-st="current"]:not([data-coul]) span, html.ez-hab-7 .ez-schedule-row[data-st="current"]::before { color: var(--hab-stylo) !important; }
html.ez-hab-7 .ez-schedule-row[data-st="next"]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-7 .ez-schedule-time { font-weight: 700; font-size: 17px; min-width: 60px; }
html.ez-hab-7 .ez-schedule-label { font-size: 18px; }

/* ── Compte a rebours : au stylo ── */
html.ez-hab-7 .ez-action-countdown .ez-countdown-wrap { --ez-text: var(--hab-stylo); --ez-accent: var(--hab-stylo); }
html.ez-hab-7 .ez-action-countdown .ez-cd-d, html.ez-hab-7 .ez-action-countdown .ez-cd-h,
html.ez-hab-7 .ez-action-countdown .ez-cd-m, html.ez-hab-7 .ez-action-countdown .ez-cd-s { font-weight: 700 !important; }

/* ── Vote : batons ── */
html.ez-hab-7 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-7 .ez-action-poll > div:first-child {
  background: transparent !important; color: var(--hab-encre) !important; border-bottom: 2px solid var(--hab-encre);
}
html.ez-hab-7 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Kalam', cursive !important; font-weight: 700 !important; font-size: 24px !important; }
html.ez-hab-7 .ez-action-poll > div:first-child > div:last-child { background: transparent !important; border: 2px solid var(--hab-encre); }
html.ez-hab-7 .ez-action-poll [style*="rgba(255,255,255,0.02)"] { background: transparent !important; }
html.ez-hab-7 .ez-action-poll [style*="height:32px"] { background: transparent !important; height: 18px !important; }
html.ez-hab-7 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] {
  background: repeating-linear-gradient(90deg, var(--hab-stylo) 0 3px, transparent 3px 8px) !important;
}
html.ez-hab-7 .ez-action-poll [style*="rgba(255,255,255,0.9)"],
html.ez-hab-7 .ez-action-poll [style*="rgba(255,255,255,0.95)"],
html.ez-hab-7 .ez-action-poll [style*="rgba(255,255,255,0.7)"],
html.ez-hab-7 .ez-action-poll [style*="rgba(255,255,255,0.5)"] { color: var(--hab-encre) !important; }

/* ── QR, horloge ── */
html.ez-hab-7 .ez-action-qrcode > div > div, html.ez-hab-7 .ez-action-qrwifi > div > div { border-radius: 0 !important; box-shadow: 0 0 0 2px var(--hab-encre); }
html.ez-hab-7 .ez-action-qrcode span, html.ez-hab-7 .ez-action-qrwifi span { font-family: 'Hab Kalam', cursive; font-size: 17px !important; }
html.ez-hab-7 .ez-clock { font-family: 'Hab Kalam', cursive; font-weight: 700; letter-spacing: 1px; color: var(--hab-stylo); }

/* ── Seuils ── */
html.ez-hab-7 .ez-thr-segs { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.ez-hab-7 .ez-thr-seg { border-radius: 0 !important; border: 2px solid var(--hab-encre); box-sizing: border-box; }
html.ez-hab-7 .ez-thr-pastille { border-radius: 0 !important; background: var(--hab-papier) !important; }
html.ez-hab-7 .ez-thr-lbl b { font-family: 'Hab Kalam', cursive; }

/* ── Bandeau defilant : bande d'encre, texte ecrit ── */
html.ez-hab-7 #stage > .ez-action-ticker { background: var(--hab-encre) !important; border-top: none !important; --ez-accent-text: var(--hab-papier); }
html.ez-hab-7 .ez-ticker-track { font-size: min(clamp(16px, 1.8vw, 30px), calc(var(--ez-h-px, 100px) * .6)); }

/* ── Texte, chiffres ── */
html.ez-hab-7 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 1px solid var(--ez-border); }
html.ez-hab-7 .ez-scores-value { background: transparent; border-radius: 0; font-weight: 700; }
html.ez-hab-7 .ez-action-text > div:last-child { font-family: 'Hab Kalam', cursive !important; }

/* « = » des ex aequo dans la medaille : la pastille est transparente ici, il reprend le gris discret (1.9.14) */
html.ez-hab-7 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child span { color: var(--ez-text-muted) !important; opacity: 1 !important; }

/* ══════════════════════════════════════════════════════════════════════
   8 · BRUTAL MONO
   Brutalisme : noir et blanc, traits epais, police de terminal
   (JetBrains Mono), grands chiffres Anton, une seule couleur vive.
   Encre et papier propres a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-8 #stage { font-family: 'Hab JetBrains Mono', 'JetBrains Mono', monospace !important; }
html.ez-hab-8 #stage > .ez-zone {
  --hab-encre: #0a0a0a; --hab-papier: #f4f4f0; --hab-noir: #0a0a0a;
  --ez-font-title: 'Hab Anton', 'Anton', sans-serif;
  font-family: 'Hab JetBrains Mono', 'JetBrains Mono', monospace !important;
  border-radius: 0 !important;
}
html.ez-hab-8.ez-hab-clair #stage > .ez-zone { --ez-text: #0a0a0a; --ez-text-muted: #6a6a6a; --ez-border: #0a0a0a; }
html.ez-hab-8.ez-hab-sombre #stage > .ez-zone { --hab-encre: var(--ez-text); --hab-papier: var(--ez-bg); --ez-border: var(--ez-text); }
html.ez-hab-8 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere) { border: 4px solid var(--hab-encre) !important; }
html.ez-hab-8 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-ticker) {
  background-color: var(--ez-panel-bg) !important;
}
/* Rubriques en capitales de terminal */
html.ez-hab-8 .ez-panel-title, html.ez-hab-8 .ez-ts-title, html.ez-hab-8 .ez-countdown-label, html.ez-hab-8 .ez-thr-titre {
  font-family: 'Hab JetBrains Mono', monospace !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: 1px !important;
}
/* Les grands chiffres */
html.ez-hab-8 [data-key^="entry:"] .sc, html.ez-hab-8 .ez-header-title, html.ez-hab-8 .ez-header-clock,
html.ez-hab-8 .ez-clock, html.ez-hab-8 .ez-thr-lbl b, html.ez-hab-8 .ez-rk-thr b, html.ez-hab-8 .ez-scores-value {
  font-family: 'Hab Anton', 'Anton', sans-serif !important; font-weight: 400 !important;
}

/* ── En-tete ── */
html.ez-hab-8 .ez-action-header { border-bottom: 4px solid var(--hab-encre) !important; }
html.ez-hab-8 .ez-header-inner { padding-right: 0; }
html.ez-hab-8 .ez-header-title { color: var(--hab-encre); letter-spacing: 0; line-height: 1.25; font-size: min(clamp(20px, 3.4vw, 78px), calc(var(--ez-h-px, 100px) * .6)); }
html.ez-hab-8 .ez-header-clock {
  align-self: stretch; display: flex; align-items: center; padding: 0 .5em;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #0a0a0a); border-left: 4px solid var(--hab-encre);
  line-height: 1.2; font-size: min(clamp(20px, 3.4vw, 90px), calc(var(--ez-h-px, 100px) * .64));
}

/* ── Classement ── */
html.ez-hab-8 .ez-col-static, html.ez-hab-8 .ez-col-last { border-right: 4px solid var(--hab-encre) !important; }
html.ez-hab-8 .ez-col-last { border-right: none !important; }
/* Titres : bloc d'encre, carre de la couleur de la categorie */
html.ez-hab-8 [data-key^="cat:"],
html.ez-hab-8 .ez-rk-spot-tete {
  background: var(--hab-encre) !important; color: var(--hab-papier) !important;
  font-family: 'Hab Anton', 'Anton', sans-serif !important; font-weight: 400 !important;
  font-size: 16px !important; letter-spacing: .5px !important; padding-left: 20px !important;
  box-shadow: inset 8px 0 0 var(--ez-cat-c) !important;
}
html.ez-hab-8 .ez-rk-rb { align-self: stretch; justify-content: center; border-right: 2px solid var(--hab-encre); margin-right: 6px; margin-left: -4px; }
html.ez-hab-8 [data-key^="entry:"] .rn { font-weight: 800 !important; font-size: 13px !important; }
html.ez-hab-8 [data-pp="1"] .ez-rk-rb { background: var(--ez-accent); }
html.ez-hab-8 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-a1, #0a0a0a); }
html.ez-hab-8 [data-key^="entry:"] .pn { font-weight: 700 !important; font-size: 13px !important; text-transform: uppercase; }
html.ez-hab-8 [data-key^="entry:"] .sc {
  font-size: 17px !important; background: transparent !important; border-radius: 0 !important;
  border-left: 2px solid var(--hab-encre); padding: 0 2px 0 8px !important; align-self: stretch; display: flex; align-items: center; justify-content: flex-end;
}
/* Barriere : bande pleine de la couleur des seuils, texte d'encre */
html.ez-hab-8 .ez-rk-thr { background: var(--ez-rk-s, #c6ff00); }
html.ez-hab-8 .ez-rk-thr .ez-rk-trait { display: none; }
html.ez-hab-8 .ez-rk-thr .ez-rk-niv { background: transparent !important; color: var(--ez-hab-sur-s, #0a0a0a) !important; border-radius: 0 !important; font-weight: 800 !important; }
html.ez-hab-8 .ez-rk-thr .ez-rk-niv::before { content: '\25BC\25BC  '; }
html.ez-hab-8 .ez-rk-thr .ez-rk-pastille { background: transparent !important; border-left: none !important; border-radius: 0 !important; }
html.ez-hab-8 .ez-rk-thr .ez-rk-pastille b, html.ez-hab-8 .ez-rk-thr .ez-rk-pastille span { color: var(--ez-hab-sur-s, #0a0a0a) !important; }

/* ── Titres des panneaux ── */
html.ez-hab-8 .ez-panel { padding: 0; gap: 0; }
html.ez-hab-8 .ez-panel-title, html.ez-hab-8 .ez-ts-title {
  font-size: 13px !important; color: var(--hab-papier) !important; background: var(--hab-encre);
  text-align: left !important; padding: 6px 10px !important; margin: 0 !important; border-bottom: none;
}
html.ez-hab-8 .ez-panel-title::before, html.ez-hab-8 .ez-ts-title::before { content: '/// '; }
html.ez-hab-8 .ez-ts-wrap { padding: 0 !important; --ez-accent: var(--ez-text); }
html.ez-hab-8 .ez-ts-body { padding: 10px; }

/* ── Top scores ── */
html.ez-hab-8 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border-radius: 0 !important; border: 3px solid var(--hab-encre); box-sizing: border-box; font-family: 'Hab Anton', sans-serif; font-weight: 400 !important;
}
html.ez-hab-8 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Anton', sans-serif; font-weight: 400 !important; font-size: 34px !important; color: var(--hab-encre) !important;
}
html.ez-hab-8 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important; border: 3px solid var(--hab-encre); border-bottom: none;
}
html.ez-hab-8 .ez-action-topscores [style*="border-radius"] { border-radius: 0 !important; }

/* ── Programme : [x] [>] [ ] ── */
html.ez-hab-8 .ez-schedule-list { gap: 0; }
html.ez-hab-8 .ez-schedule-row { border-radius: 0; border-bottom: 2px solid var(--hab-encre); padding: 8px 10px; }
html.ez-hab-8 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-8 .ez-schedule-row::before { content: '[ ]'; font-weight: 800; flex-shrink: 0; color: var(--ez-text); }
html.ez-hab-8 .ez-schedule-row[data-st="done"]::before { content: '[x]'; color: var(--ez-text-muted); }
html.ez-hab-8 .ez-schedule-row[data-st="current"]::before { content: '[>]'; }
/* Ligne de sa propre couleur : la case prend la couleur de texte que le runtime y a choisie (1.9.14) */
html.ez-hab-8 .ez-schedule-row[data-coul]::before { color: inherit; }
html.ez-hab-8 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-8 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
html.ez-hab-8 .ez-schedule-row[data-st="current"]:not([data-coul]) { background: var(--ez-accent) !important; }
html.ez-hab-8 .ez-schedule-row[data-st="current"]:not([data-coul]) span,
html.ez-hab-8 .ez-schedule-row[data-st="current"]:not([data-coul])::before { color: var(--ez-hab-sur-a1, #0a0a0a) !important; }
html.ez-hab-8 .ez-schedule-time { font-weight: 800; }
html.ez-hab-8 .ez-schedule-label { font-weight: 700; text-transform: uppercase; }

/* ── Compte a rebours ── */
html.ez-hab-8 .ez-action-countdown .ez-countdown-wrap { --ez-accent: var(--ez-text); }
html.ez-hab-8 .ez-action-countdown .ez-cd-d, html.ez-hab-8 .ez-action-countdown .ez-cd-h,
html.ez-hab-8 .ez-action-countdown .ez-cd-m, html.ez-hab-8 .ez-action-countdown .ez-cd-s { font-family: 'Hab Anton', sans-serif; font-weight: 400 !important; }

/* ── Vote : en-tete d'encre, barres pleines ── */
html.ez-hab-8 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-8 .ez-action-poll > div:first-child { background: var(--hab-encre) !important; color: var(--hab-papier) !important; }
html.ez-hab-8 .ez-action-poll > div:first-child > div:first-child { font-weight: 800 !important; text-transform: uppercase; }
html.ez-hab-8 .ez-action-poll > div:first-child > div:last-child { background: var(--ez-accent) !important; color: var(--ez-hab-sur-a1, #0a0a0a) !important; }
html.ez-hab-8 .ez-action-poll [style*="height:32px"] { height: 18px !important; border: 2px solid var(--hab-encre); box-sizing: border-box; background: transparent !important; }
html.ez-hab-8 .ez-action-poll [style*="rgba(255,255,255,0.9)"],
html.ez-hab-8 .ez-action-poll [style*="rgba(255,255,255,0.95)"],
html.ez-hab-8 .ez-action-poll [style*="rgba(255,255,255,0.7)"],
html.ez-hab-8 .ez-action-poll [style*="rgba(255,255,255,0.5)"] { color: var(--ez-text) !important; }

/* ── QR, horloge ── */
html.ez-hab-8 .ez-action-qrcode > div > div, html.ez-hab-8 .ez-action-qrwifi > div > div { border-radius: 0 !important; box-shadow: 0 0 0 4px var(--hab-encre); }
html.ez-hab-8 .ez-action-qrcode span, html.ez-hab-8 .ez-action-qrwifi span { font-weight: 800; text-transform: uppercase; }
html.ez-hab-8 .ez-clock { letter-spacing: 1px; }

/* ── Seuils ── */
html.ez-hab-8 .ez-thr-segs { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.ez-hab-8 .ez-thr-seg { border-radius: 0 !important; border: 2px solid var(--hab-encre); box-sizing: border-box; font-weight: 800; }
html.ez-hab-8 .ez-thr-pastille { border-radius: 0 !important; background: var(--ez-hab-sur-s, var(--hab-noir)) !important; }
html.ez-hab-8 .ez-thr-pastille span { color: var(--ez-thr-c, #c6ff00) !important; opacity: .8; }

/* ── Bandeau defilant : noir, etiquette vive ── */
html.ez-hab-8 #stage > .ez-action-ticker { background: var(--hab-encre) !important; --ez-accent-text: var(--hab-papier); display: flex; }
html.ez-hab-8 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; padding: 0 .8em;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #0a0a0a);
  font-family: 'Hab Anton', sans-serif; font-size: min(24px, calc(var(--ez-h-px, 50px) * .5));
}
html.ez-hab-8 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-8 .ez-ticker-track { font-weight: 700; text-transform: uppercase; }

/* ── Texte, chiffres ── */
html.ez-hab-8 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 2px solid var(--hab-encre); }
html.ez-hab-8 .ez-scores-value { background: transparent; border-radius: 0; font-size: 20px; }
html.ez-hab-8 .ez-action-text > div:last-child { font-family: 'Hab Anton', sans-serif !important; text-transform: uppercase; }
/* Chiffres des seuils de l'echelle : surlignes de la couleur des seuils */
html.ez-hab-8 .ez-thr div[data-thr-s]:not(.ez-thr-ligne):not(.ez-thr-lbl) {
  background: var(--ez-thr-c, #c6ff00); color: var(--ez-hab-sur-s, #0a0a0a) !important; padding: 0 .12em;
  font-family: 'Hab Anton', sans-serif; font-weight: 400 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   9 · TABLEAU DE GARE
   Le panneau a palettes des gares : chaque nom, rang et score sur une
   plaquette coupee en deux par un trait sombre, Barlow Condensed en
   capitales. Plaquettes sombres sur fond sombre, claires sur fond clair.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-9 #stage { font-family: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif !important; }
html.ez-hab-9 #stage > .ez-zone {
  --hab-tuile: linear-gradient(#2c2c2f 0 49%, #060607 49% 51%, #242427 51%);
  --hab-tuile-texte: #f2f1ea;
  --ez-font-title: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif;
  font-family: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif !important;
  border-radius: 0 !important;
}
html.ez-hab-9.ez-hab-clair #stage > .ez-zone {
  --hab-tuile: linear-gradient(#fdfdfb 0 49%, #b9b9b3 49% 51%, #ecece7 51%);
  --hab-tuile-texte: #1a1a1c;
}
html.ez-hab-9 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: var(--ez-bg) !important; border-left: none !important;
}
/* La plaquette */
html.ez-hab-9 [data-key^="entry:"] .rn, html.ez-hab-9 [data-key^="entry:"] .pn, html.ez-hab-9 [data-key^="entry:"] .sc,
html.ez-hab-9 .ez-header-title, html.ez-hab-9 .ez-header-clock,
html.ez-hab-9 .ez-schedule-row:not([data-coul]) .ez-schedule-time, html.ez-hab-9 .ez-schedule-row:not([data-coul]) .ez-schedule-label,
html.ez-hab-9 .ez-clock, html.ez-hab-9 .ez-scores-value,
html.ez-hab-9 .ez-action-countdown .ez-cd-d, html.ez-hab-9 .ez-action-countdown .ez-cd-h,
html.ez-hab-9 .ez-action-countdown .ez-cd-m, html.ez-hab-9 .ez-action-countdown .ez-cd-s {
  background: var(--hab-tuile) !important; border-radius: 3px !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.6);
}
html.ez-hab-9 [data-key^="entry:"] .pn, html.ez-hab-9 .ez-schedule-row:not([data-coul]) .ez-schedule-label, html.ez-hab-9 .ez-header-title {
  color: var(--hab-tuile-texte) !important;
}

/* ── En-tete : titre et heure sur plaquettes ── */
html.ez-hab-9 .ez-action-header { border-bottom: none !important; }
html.ez-hab-9 .ez-header-inner { padding: 0 10px; }
html.ez-hab-9 .ez-header-title {
  flex: 0 1 auto; padding: .08em .3em; font-weight: 700; letter-spacing: 4px; line-height: 1.2;
  font-size: min(clamp(18px, 2.6vw, 50px), calc(var(--ez-h-px, 100px) * .5));
}
html.ez-hab-9 .ez-header-clock {
  padding: .08em .3em; font-weight: 700; letter-spacing: 6px; line-height: 1.2; color: var(--ez-hab-l-a1, var(--ez-accent)) !important;
  font-size: min(clamp(18px, 2.6vw, 50px), calc(var(--ez-h-px, 100px) * .5));
}
html.ez-hab-9.ez-hab-sombre .ez-header-clock { color: var(--ez-accent) !important; }

/* ── Classement ── */
html.ez-hab-9 .ez-col-static, html.ez-hab-9 .ez-col-last { border-right: none !important; }
html.ez-hab-9 .ez-action-ranking .ez-ranking-cols { gap: 14px; }
/* Titre : etiquette de la couleur de la categorie, le reste sur le fond */
html.ez-hab-9 [data-key^="cat:"],
html.ez-hab-9 .ez-rk-spot-tete {
  background: transparent !important; box-shadow: none !important; padding-left: 0 !important;
  font-size: 15px !important; font-weight: 700 !important; letter-spacing: 1px !important;
}
html.ez-hab-9 [data-key^="cat:"] > span:first-child,
html.ez-hab-9 .ez-rk-spot-tete > span:first-child {
  flex: 0 1 auto !important; background: var(--ez-cat-c); padding: 1px 10px;
}
html.ez-hab-9 [data-key^="cat:"] svg, html.ez-hab-9 .ez-rk-spot-tete svg { color: var(--ez-text-muted); }
html.ez-hab-9 [data-key^="entry:"] { gap: 3px; }
html.ez-hab-9 .ez-rk-rb { align-self: stretch; width: 30px !important; }
html.ez-hab-9 [data-key^="entry:"] .rn {
  align-self: stretch; margin: 2px 0; display: flex; align-items: center; justify-content: center;
  width: 28px; font-size: 15px !important; font-weight: 700 !important;
}
html.ez-hab-9 [data-key^="entry:"] .rn { color: var(--hab-tuile-texte) !important; }
html.ez-hab-9 [data-pp] .rn { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; }
html.ez-hab-9.ez-hab-sombre [data-pp] .rn { color: var(--ez-accent) !important; }
html.ez-hab-9 [data-key^="entry:"] .pn {
  align-self: stretch; margin: 2px 0; display: flex; align-items: center; padding: 0 8px !important;
  font-size: 15px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: 1px;
}
html.ez-hab-9 [data-key^="entry:"] .sc {
  align-self: stretch; margin: 2px 0; display: flex; align-items: center; justify-content: flex-end;
  font-size: 17px !important; font-weight: 700 !important; letter-spacing: 3px; padding: 0 6px !important;
  color: var(--hab-tuile-texte) !important;
}
html.ez-hab-9 [data-key^="entry:"] .dl { font-weight: 600 !important; }
/* Barriere : trait et texte de la couleur des seuils */
html.ez-hab-9 .ez-rk-thr .ez-rk-trait { height: 2px !important; border-radius: 0 !important; }
html.ez-hab-9 .ez-rk-thr .ez-rk-niv {
  background: var(--ez-rk-s, #ffc629) !important; color: var(--ez-hab-sur-s, #121214) !important; border-radius: 0 !important;
  font-weight: 700 !important; letter-spacing: 2px; font-size: 12px !important;
}
html.ez-hab-9 .ez-rk-thr .ez-rk-pastille { background: var(--ez-bg) !important; border-radius: 0 !important; }

/* ── Titres des panneaux : etiquette ── */
html.ez-hab-9 .ez-panel-title, html.ez-hab-9 .ez-ts-title {
  align-self: flex-start; font-size: 18px !important; font-weight: 700 !important; letter-spacing: 1px !important;
  text-align: left !important; border-bottom: none; padding: 0 10px !important;
  background: var(--hab-tuile-texte); color: var(--ez-bg) !important;
}
html.ez-hab-9 .ez-ts-title { display: inline-block !important; }

/* ── Top scores : medailles et socles en plaquettes ── */
html.ez-hab-9 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border-radius: 3px !important; box-shadow: inset 0 -1px 0 rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.3);
  background-image: linear-gradient(transparent 49%, rgba(0,0,0,.45) 49% 51%, transparent 51%) !important;
  font-weight: 700 !important;
}
html.ez-hab-9 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { font-weight: 700 !important; font-size: 30px !important; letter-spacing: 3px; }
html.ez-hab-9 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 3px 3px 0 0 !important;
  background-image: repeating-linear-gradient(transparent 0 14px, rgba(0,0,0,.45) 14px 16px) !important;
}
html.ez-hab-9 .ez-action-topscores [style*="border-radius"]:not([style*="50%"]) { border-radius: 3px !important; }

/* ── Programme : un tableau des departs ── */
html.ez-hab-9 .ez-panel { gap: 6px; }
html.ez-hab-9 .ez-schedule-list { gap: 4px; }
html.ez-hab-9 .ez-schedule-row { padding: 0; border-bottom: none; gap: 4px; min-height: 30px; align-items: stretch; }
html.ez-hab-9 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-9 .ez-schedule-time {
  display: flex; align-items: center; justify-content: center; min-width: 62px; font-size: 18px; letter-spacing: 1px;
}
/* Une ligne de sa propre couleur garde le texte choisi par le runtime (1.9.14) */
html.ez-hab-9 .ez-schedule-row:not([data-coul]) .ez-schedule-time { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; }
html.ez-hab-9.ez-hab-sombre .ez-schedule-row:not([data-coul]) .ez-schedule-time { color: var(--ez-accent) !important; }
html.ez-hab-9 .ez-schedule-label { display: flex; align-items: center; padding: 0 10px; font-size: 17px; text-transform: uppercase; letter-spacing: 1px; }
html.ez-hab-9 .ez-schedule-row[data-st="done"]:not([data-coul]) span { opacity: .78; }
html.ez-hab-9 .ez-schedule-row[data-st="current"]::after,
html.ez-hab-9 .ez-schedule-row[data-st="next"]::after {
  display: flex; align-items: center; padding: 0 10px; background: var(--hab-tuile); border-radius: 3px;
  font-weight: 700; font-size: 14px; letter-spacing: 1px;
}
html.ez-hab-9 .ez-schedule-row[data-st="current"]::after { content: var(--ez-hab-t-now, 'EN COURS'); color: var(--ez-hab-l-a2, var(--ez-accent2)); }
html.ez-hab-9.ez-hab-sombre .ez-schedule-row[data-st="current"]::after { color: var(--ez-accent2); }
html.ez-hab-9 .ez-schedule-row[data-st="next"]::after { content: var(--ez-hab-t-next, 'À SUIVRE'); color: var(--hab-tuile-texte); }

/* ── Compte a rebours : chiffres sur plaquettes ── */
html.ez-hab-9 .ez-action-countdown .ez-countdown-wrap { --ez-text: var(--hab-tuile-texte); --ez-accent: var(--hab-tuile-texte); }
html.ez-hab-9 .ez-action-countdown .ez-cd-d, html.ez-hab-9 .ez-action-countdown .ez-cd-h,
html.ez-hab-9 .ez-action-countdown .ez-cd-m, html.ez-hab-9 .ez-action-countdown .ez-cd-s {
  padding: 0 .08em; font-weight: 700 !important; letter-spacing: 2px;
}
html.ez-hab-9 .ez-countdown-label { font-weight: 700 !important; letter-spacing: 3px !important; }

/* ── Vote ── */
html.ez-hab-9 .ez-action-poll * { font-family: inherit !important; border-radius: 3px !important; }
html.ez-hab-9 .ez-action-poll > div:first-child { color: var(--ez-hab-sur-a1, #fff) !important; }
html.ez-hab-9 .ez-action-poll > div:first-child > div:first-child { font-weight: 700 !important; text-transform: uppercase; letter-spacing: 1px; }
html.ez-hab-9 .ez-action-poll [style*="height:32px"] {
  height: 14px !important; background: repeating-linear-gradient(90deg, rgba(128,128,128,.25) 0 10px, transparent 10px 13px) !important;
}
html.ez-hab-9 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] {
  -webkit-mask: linear-gradient(90deg, #000 10px, transparent 10px) 0 0 / 13px 100%;
          mask: linear-gradient(90deg, #000 10px, transparent 10px) 0 0 / 13px 100%;
}

/* ── QR, horloge ── */
html.ez-hab-9 .ez-action-qrcode > div > div, html.ez-hab-9 .ez-action-qrwifi > div > div { border-radius: 4px !important; }
html.ez-hab-9 .ez-action-qrcode span, html.ez-hab-9 .ez-action-qrwifi span { text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }
html.ez-hab-9 .ez-clock { padding: 0 .3em; font-weight: 700; letter-spacing: 4px; color: var(--hab-tuile-texte) !important; }

/* ── Seuils ── */
html.ez-hab-9 .ez-thr-titre { font-weight: 700 !important; letter-spacing: 1px; }
html.ez-hab-9 .ez-thr-segs { background: transparent !important; box-shadow: none !important; }
html.ez-hab-9 .ez-thr-seg {
  border-radius: 3px !important; font-weight: 700; letter-spacing: 1px;
  background-image: linear-gradient(transparent 49%, rgba(0,0,0,.4) 49% 51%, transparent 51%) !important;
}
html.ez-hab-9 .ez-thr-pastille { border-radius: 3px !important; }

/* ── Bandeau defilant : etiquette de la couleur d'accent ── */
html.ez-hab-9 #stage > .ez-action-ticker { border-top: 2px solid var(--ez-border) !important; display: flex; }
html.ez-hab-9 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; margin: 6px 14px 6px 6px; padding: 0 .7em;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #121214); font-weight: 700; letter-spacing: 1px;
  font-size: min(22px, calc(var(--ez-h-px, 50px) * .45));
}
html.ez-hab-9 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-9 .ez-ticker-track { font-weight: 600; text-transform: uppercase; letter-spacing: 2px; }

/* ── Texte, chiffres ── */
html.ez-hab-9 .ez-scores-row { border-radius: 3px; background: transparent; }
html.ez-hab-9 .ez-scores-value { font-weight: 700; letter-spacing: 2px; color: var(--hab-tuile-texte) !important; }
html.ez-hab-9 .ez-action-text > div:last-child { font-family: 'Hab Barlow Condensed', sans-serif !important; text-transform: uppercase; letter-spacing: 2px; }

/* ══════════════════════════════════════════════════════════════════════
   10 · VERRE DEPOLI
   Panneaux de verre translucides, arrondis, poses sur de grandes taches
   floues des deux couleurs d'accent du style. Plus Jakarta Sans.
   Pas de flou d'arriere-plan (backdrop-filter) : trop lourd pour les
   televiseurs, et sans effet visible sur des degrades.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-10 #stage { font-family: 'Hab Plus Jakarta Sans', 'Plus Jakarta Sans', sans-serif !important; }
/* Les taches de couleur, attenuees, derriere les zones */
html.ez-hab-10 #stage::before {
  content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none; opacity: .45;
  background:
    radial-gradient(circle at 12% 14%, var(--ez-accent) 0, transparent 34%),
    radial-gradient(circle at 90% 40%, var(--ez-accent2) 0, transparent 32%),
    radial-gradient(ellipse at 45% 115%, var(--ez-accent) 0, transparent 40%);
}
html.ez-hab-10 #stage > .ez-zone {
  --hab-verre: rgba(255,255,255,.12); --hab-verre-bord: rgba(255,255,255,.28); --hab-ligne: rgba(255,255,255,.07);
  --ez-font-title: 'Hab Plus Jakarta Sans', 'Plus Jakarta Sans', sans-serif;
  font-family: 'Hab Plus Jakarta Sans', 'Plus Jakarta Sans', sans-serif !important;
}
html.ez-hab-10.ez-hab-clair #stage > .ez-zone { --hab-verre: rgba(255,255,255,.62); --hab-verre-bord: rgba(255,255,255,.85); --hab-ligne: rgba(0,0,0,.05); }
/* Sur fond sombre, un verre fume : le texte du style reste lisible sur les taches */
html.ez-hab-10.ez-hab-sombre #stage > .ez-zone { --hab-verre: rgba(0,0,0,.28); --hab-verre-bord: rgba(255,255,255,.22); }
html.ez-hab-10 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header) {
  border: 1px solid var(--hab-verre-bord) !important; border-radius: 22px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}
html.ez-hab-10 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: var(--hab-verre) !important;
}

/* ── En-tete ── */
html.ez-hab-10 #stage > .ez-action-header { background: transparent !important; border-bottom: none !important; }
html.ez-hab-10 .ez-header-title { font-weight: 800; text-transform: none; letter-spacing: -.5px; line-height: 1.25; color: var(--ez-text);
  font-size: min(clamp(18px, 2.4vw, 44px), calc(var(--ez-h-px, 100px) * .48)); }
html.ez-hab-10 .ez-header-clock {
  display: flex; align-items: center; gap: .35em; padding: .15em .7em; border-radius: 999px; color: var(--ez-text);
  background: var(--hab-verre); border: 1px solid var(--hab-verre-bord); font-weight: 800;
}
html.ez-hab-10 .ez-header-clock::before { content: ''; width: .28em; height: .28em; border-radius: 50%; background: var(--ez-accent2); box-shadow: 0 0 .3em var(--ez-accent2); }

/* ── Classement ── */
html.ez-hab-10 .ez-action-ranking .ez-ranking-cols { gap: 10px; padding: 0 6px; box-sizing: border-box; }
html.ez-hab-10 .ez-col-static, html.ez-hab-10 .ez-col-last { border-right: none !important; }
html.ez-hab-10 [data-key^="cat:"],
html.ez-hab-10 .ez-rk-spot-tete {
  border-radius: 12px !important; font-weight: 800 !important; font-size: 14px !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
html.ez-hab-10 [data-key^="entry:"] { border-radius: 10px; }
html.ez-hab-10 [data-pp="1"] { background-color: var(--hab-verre) !important; }
html.ez-hab-10 [data-key^="entry:"] .rn {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 20px; min-width: 22px !important;
  border-radius: 7px; background: var(--hab-verre); font-weight: 800 !important; font-size: 12px !important;
}
html.ez-hab-10 [data-pp] .rn { background: currentColor; }
html.ez-hab-10 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #1d1433); }
html.ez-hab-10 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #1d1433); }
html.ez-hab-10 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #1d1433); }
html.ez-hab-10 [data-key^="entry:"] .pn { font-weight: 700 !important; font-size: 14px !important; }
html.ez-hab-10 [data-key^="entry:"] .sc { font-weight: 800 !important; font-size: 16px !important; background: transparent !important; }
html.ez-hab-10 .ez-rk-thr .ez-rk-trait { height: 2px !important; opacity: .9; }
html.ez-hab-10 .ez-rk-thr .ez-rk-niv, html.ez-hab-10 .ez-rk-thr .ez-rk-pastille { border-radius: 999px !important; }

/* ── Titres des panneaux ── */
html.ez-hab-10 .ez-panel-title, html.ez-hab-10 .ez-ts-title {
  font-weight: 700 !important; font-size: 13px !important; letter-spacing: 1.5px !important;
  color: var(--ez-text-muted) !important; text-align: left !important; border-bottom: none;
}
html.ez-hab-10 .ez-panel { padding: 16px 18px; }

/* ── Top scores ── */
html.ez-hab-10 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child { font-weight: 800 !important; box-shadow: 0 6px 16px rgba(0,0,0,.25); }
html.ez-hab-10 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { font-weight: 800 !important; font-size: 28px !important; }
html.ez-hab-10 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child { border-radius: 14px 14px 4px 4px !important; opacity: .75 !important; }
html.ez-hab-10 .ez-action-topscores [style*="border-radius:6px"],
html.ez-hab-10 .ez-action-topscores [style*="border-radius:8px"] { border-radius: 12px !important; }

/* ── Programme : un point lumineux ── */
html.ez-hab-10 .ez-schedule-row { border-bottom: none; border-radius: 12px; }
html.ez-hab-10 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-10 .ez-schedule-row::before { content: ''; flex-shrink: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--ez-text-muted); }
html.ez-hab-10 .ez-schedule-row[data-st="current"]::before { background: var(--ez-accent2); box-shadow: 0 0 10px var(--ez-accent2); }
html.ez-hab-10 .ez-schedule-row[data-st="current"]:not([data-coul]) { background: var(--hab-verre) !important; }
html.ez-hab-10 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-10 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
html.ez-hab-10 .ez-schedule-time { font-weight: 800; font-size: 16px; }
html.ez-hab-10 .ez-schedule-label { font-weight: 500; font-size: 16px; }

/* ── Compte a rebours ── */
html.ez-hab-10 .ez-action-countdown .ez-countdown-wrap { --ez-accent: var(--ez-text); }
html.ez-hab-10 .ez-action-countdown [class^="ez-cd-"] { font-weight: 800 !important; }
html.ez-hab-10 .ez-countdown-label { font-weight: 700 !important; letter-spacing: 1.5px !important; }

/* ── Vote ── */
html.ez-hab-10 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-10 .ez-action-poll > div:first-child { background: transparent !important; color: var(--ez-text) !important; border-bottom: 1px solid var(--hab-verre-bord); }
html.ez-hab-10 .ez-action-poll > div:first-child > div:first-child { font-weight: 800 !important; }
html.ez-hab-10 .ez-action-poll > div:first-child > div:last-child { background: var(--hab-verre) !important; border: 1px solid var(--hab-verre-bord); }
html.ez-hab-10 .ez-action-poll [style*="rgba(255,255,255,0.02)"] { background: transparent !important; }
html.ez-hab-10 .ez-action-poll [style*="height:32px"] { height: 12px !important; background: var(--hab-ligne) !important; }

/* ── QR, horloge ── */
html.ez-hab-10 .ez-action-qrcode > div > div, html.ez-hab-10 .ez-action-qrwifi > div > div { border-radius: 14px !important; }
html.ez-hab-10 .ez-action-qrcode span, html.ez-hab-10 .ez-action-qrwifi span { font-weight: 700; }
html.ez-hab-10 .ez-clock { font-weight: 800; letter-spacing: 1px; }

/* ── Seuils ── */
html.ez-hab-10 .ez-thr-titre { font-weight: 800 !important; text-transform: none !important; }
html.ez-hab-10 .ez-thr-segs { background: var(--hab-ligne) !important; box-shadow: none !important; border-radius: 999px !important; }
html.ez-hab-10 .ez-thr-seg { border-radius: 999px !important; font-weight: 700; }
html.ez-hab-10 .ez-thr-pastille { border-radius: 999px !important; }

/* ── Bandeau defilant : une gelule de verre ── */
html.ez-hab-10 #stage > .ez-action-ticker { border-radius: 999px !important; display: flex; --ez-accent-text: var(--ez-text); }
html.ez-hab-10 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; margin: 6px; padding: 0 1em; border-radius: 999px;
  background: var(--ez-text); color: var(--ez-bg); font-weight: 800; font-size: min(18px, calc(var(--ez-h-px, 50px) * .38));
}
html.ez-hab-10 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-10 .ez-ticker-track { font-weight: 500; }

/* ── Texte, chiffres ── */
html.ez-hab-10 .ez-scores-row { border-radius: 12px; }
html.ez-hab-10 .ez-scores-value { border-radius: 999px; font-weight: 800; }
html.ez-hab-10 .ez-action-text > div:last-child { font-family: 'Hab Plus Jakarta Sans', sans-serif !important; }
html.ez-hab-10 .ez-ts-wrap { --ez-accent: var(--ez-text); }

/* ══════════════════════════════════════════════════════════════════════
   11 · ART DECO
   Les annees folles : fond noir, soleil rayonnant et doubles filets de
   la couleur d'accent (or), losanges, Limelight pour les titres et les
   chiffres, Josefin Sans pour le texte.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-11 #stage { font-family: 'Hab Josefin Sans', 'Josefin Sans', sans-serif !important; }
/* Le soleil rayonnant, depuis le milieu du haut de l'ecran, derriere les zones */
html.ez-hab-11 #stage::before {
  content: ''; position: absolute; z-index: 0; pointer-events: none; left: 0; top: 0; right: 0; bottom: 0;
  background: repeating-conic-gradient(from 0deg at 50% 0, var(--ez-accent) 0 1deg, transparent 1deg 7.5deg);
  opacity: .1;
}
html.ez-hab-11 #stage > .ez-zone {
  --hab-or: var(--ez-hab-l-a1, var(--ez-accent));
  --ez-font-title: 'Hab Limelight', 'Limelight', serif;
  font-family: 'Hab Josefin Sans', 'Josefin Sans', sans-serif !important;
  border-radius: 0 !important;
}
html.ez-hab-11.ez-hab-sombre #stage > .ez-zone { --hab-or: var(--ez-accent); }
/* Cadre double : un filet, un second en retrait, dessine SOUS le contenu
   (ombre interieure) pour ne jamais le barrer */
html.ez-hab-11 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker) {
  border: 1px solid var(--hab-or) !important;
}
html.ez-hab-11 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-qrcode):not(.ez-action-qrwifi):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  box-shadow: inset 0 0 0 5px var(--ez-panel-bg), inset 0 0 0 6px var(--hab-or);
}
html.ez-hab-11 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-countdown) {
  background-color: var(--ez-panel-bg) !important;
}
html.ez-hab-11 .ez-header-title, html.ez-hab-11 .ez-panel-title, html.ez-hab-11 .ez-ts-title, html.ez-hab-11 .ez-thr-titre,
html.ez-hab-11 [data-key^="entry:"] .rn, html.ez-hab-11 [data-key^="entry:"] .sc, html.ez-hab-11 .ez-clock, html.ez-hab-11 .ez-schedule-time,
html.ez-hab-11 .ez-action-countdown .ez-cd-d, html.ez-hab-11 .ez-action-countdown .ez-cd-h,
html.ez-hab-11 .ez-action-countdown .ez-cd-m, html.ez-hab-11 .ez-action-countdown .ez-cd-s,
html.ez-hab-11 .ez-thr-lbl b, html.ez-hab-11 .ez-rk-thr b, html.ez-hab-11 .ez-scores-value {
  font-family: 'Hab Limelight', 'Limelight', serif !important; font-weight: 400 !important;
}

/* ── En-tete : double filet d'or ── */
html.ez-hab-11 #stage > .ez-action-header {
  background: transparent !important; border-bottom: 3px double var(--hab-or) !important;
}
html.ez-hab-11 .ez-header-title { text-transform: none; letter-spacing: 2px; line-height: 1.25; font-size: min(clamp(18px, 2.8vw, 58px), calc(var(--ez-h-px, 100px) * .52)); }
html.ez-hab-11 .ez-header-title::before, html.ez-hab-11 .ez-header-title::after {
  content: ''; display: inline-block; width: .32em; height: .32em; margin: 0 .5em; vertical-align: .18em;
  background: var(--hab-or); transform: rotate(45deg);
}
html.ez-hab-11 .ez-header-clock {
  font-family: 'Hab Limelight', serif; font-weight: 400; color: var(--hab-or);
  padding: .1em .7em; border: 1px solid var(--hab-or); border-radius: 999px;
}

/* ── Classement ── */
html.ez-hab-11 .ez-action-ranking .ez-ranking-cols { gap: 18px; padding: 0 8px; box-sizing: border-box; }
html.ez-hab-11 .ez-col-static { border-right: 1px solid var(--hab-or) !important; padding-right: 9px; margin-right: -9px; }
html.ez-hab-11 .ez-col-last { border-right: none !important; }
/* Titres : texte de la couleur de la categorie, losange, filet d'or */
html.ez-hab-11 [data-key^="cat:"],
html.ez-hab-11 .ez-rk-spot-tete {
  background: transparent !important; color: var(--ez-cat-l, var(--ez-cat-c)) !important;
  font-family: 'Hab Limelight', serif !important; font-weight: 400 !important;
  font-size: 16px !important; letter-spacing: 1px !important; text-transform: none !important; padding-left: 4px !important;
  box-shadow: inset 0 -1px 0 var(--hab-or) !important;
}
html.ez-hab-11 [data-key^="cat:"]::before, html.ez-hab-11 .ez-rk-spot-tete::before {
  content: ''; flex-shrink: 0; width: 10px; height: 10px; background: var(--ez-cat-c); transform: rotate(45deg); margin-right: 4px;
}
html.ez-hab-11 [data-key^="entry:"] .rn { font-size: 15px !important; text-align: center; }
/* Josefin dessine les accents des capitales au-dessus de sa ligne : on
   donne de la hauteur de ligne aux textes coupes (overflow) */
html.ez-hab-11 [data-key^="entry:"] .pn { font-size: 14px !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: 1.5px; line-height: 1.4; }
html.ez-hab-11 .ez-schedule-label, html.ez-hab-11 .ez-thr-nw, html.ez-hab-11 .ez-thr-seg, html.ez-hab-11 .ez-thr-seg div,
html.ez-hab-11 .ez-rk-thr .ez-rk-niv, html.ez-hab-11 .ez-ticker-track, html.ez-hab-11 .ez-scores-label { line-height: 1.4 !important; }
html.ez-hab-11 [data-key^="entry:"] .sc { font-size: 16px !important; background: transparent !important; padding: 0 0 0 6px !important; }
/* Barriere : double filet et losanges */
html.ez-hab-11 .ez-rk-thr .ez-rk-trait {
  height: 5px !important; background: transparent !important; border-radius: 0 !important;
  border-top: 1px solid var(--ez-rk-s, #c9a54c); border-bottom: 1px solid var(--ez-rk-s, #c9a54c); margin-top: -2.5px !important;
}
html.ez-hab-11 .ez-rk-thr .ez-rk-niv {
  background: var(--ez-rk-s, #c9a54c) !important; color: var(--ez-hab-sur-s, #0f0e0c) !important; border-radius: 0 !important;
  font-weight: 600 !important; letter-spacing: 3px; font-size: 11px !important;
}
html.ez-hab-11 .ez-rk-thr .ez-rk-pastille { background: var(--ez-panel-bg) !important; border-left: none !important; border-radius: 0 !important; }

/* ── Titres des panneaux ── */
html.ez-hab-11 .ez-panel-title, html.ez-hab-11 .ez-ts-title {
  font-size: 22px !important; color: var(--hab-or) !important; text-transform: none !important; letter-spacing: 1px !important;
  text-align: center !important; border-bottom: 1px solid var(--hab-or);
}

/* ── Top scores : arcades dorees ── */
html.ez-hab-11 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  background: transparent !important; color: var(--hab-or) !important; border: 1px solid var(--hab-or);
  box-sizing: border-box; font-family: 'Hab Limelight', serif; font-weight: 400 !important;
}
html.ez-hab-11 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { font-family: 'Hab Limelight', serif; font-weight: 400 !important; font-size: 30px !important; }
html.ez-hab-11 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: .85 !important; border-radius: 999px 999px 0 0 !important; border: 1px solid var(--hab-or); border-bottom: none;
}
html.ez-hab-11 .ez-action-topscores [style*="border-radius:6px"],
html.ez-hab-11 .ez-action-topscores [style*="border-radius:8px"],
html.ez-hab-11 .ez-action-topscores [style*="border-radius:10px"] { border-radius: 0 !important; }

/* ── Programme ── */
html.ez-hab-11 .ez-schedule-row { border-radius: 0; border-bottom: 1px dotted var(--ez-border); }
html.ez-hab-11 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-11 .ez-schedule-time { font-size: 18px; min-width: 60px; }
html.ez-hab-11 .ez-schedule-label { text-transform: uppercase; letter-spacing: 1.5px; }
html.ez-hab-11 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-11 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
html.ez-hab-11 .ez-schedule-row[data-st="current"]::after {
  content: ''; flex-shrink: 0; width: 9px; height: 9px; background: var(--hab-or); transform: rotate(45deg);
}

/* ── Compte a rebours : plaque d'or a pans coupes ── */
html.ez-hab-11 #stage > .ez-action-countdown:not(.ez-zone-transp) {
  background-color: var(--ez-accent) !important; outline-color: var(--ez-hab-sur-a1, #0f0e0c);
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
}
html.ez-hab-11 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--ez-hab-sur-a1, #0f0e0c); --ez-text-muted: var(--ez-hab-sur-a1, #0f0e0c); --ez-accent: var(--ez-hab-sur-a1, #0f0e0c);
}
html.ez-hab-11 .ez-countdown-label { font-weight: 700 !important; letter-spacing: 5px !important; }

/* ── Vote ── */
html.ez-hab-11 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-11 .ez-action-poll > div:first-child { background: transparent !important; color: var(--hab-or) !important; border-bottom: 1px solid var(--hab-or); }
html.ez-hab-11 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Limelight', serif !important; font-weight: 400 !important; }
html.ez-hab-11 .ez-action-poll > div:first-child > div:last-child { background: transparent !important; border: 1px solid var(--hab-or); }
html.ez-hab-11 .ez-action-poll [style*="rgba(255,255,255,0.02)"] { background: transparent !important; }
html.ez-hab-11 .ez-action-poll [style*="height:32px"] { height: 10px !important; border: 1px solid var(--hab-or); box-sizing: border-box; background: transparent !important; }

/* ── QR, horloge ── */
html.ez-hab-11 .ez-action-qrcode > div > div, html.ez-hab-11 .ez-action-qrwifi > div > div { border-radius: 0 !important; box-shadow: 0 0 0 1px var(--hab-or); }
html.ez-hab-11 .ez-action-qrcode span, html.ez-hab-11 .ez-action-qrwifi span { text-transform: uppercase; letter-spacing: 2px; }
html.ez-hab-11 .ez-clock { letter-spacing: 1px; }

/* ── Seuils ── */
html.ez-hab-11 .ez-thr-titre { text-transform: none !important; }
html.ez-hab-11 .ez-thr-segs { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.ez-hab-11 .ez-thr-seg { border-radius: 0 !important; box-shadow: inset 0 0 0 1px var(--hab-or); letter-spacing: 2px; font-weight: 600; }
html.ez-hab-11 .ez-thr-pastille { border-radius: 0 !important; }

/* ── Bandeau defilant : entre deux filets, en capitales espacees ── */
html.ez-hab-11 #stage > .ez-action-ticker {
  background: var(--ez-bg) !important; border-top: 1px solid var(--hab-or) !important; border-bottom: 1px solid var(--hab-or) !important;
  --ez-accent-text: var(--ez-text);
}
html.ez-hab-11 .ez-ticker-track { text-transform: uppercase; letter-spacing: 3px; font-weight: 400; }

/* ── Texte, chiffres ── */
html.ez-hab-11 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 1px dotted var(--ez-border); }
html.ez-hab-11 .ez-scores-value { background: transparent; color: var(--hab-or) !important; }
html.ez-hab-11 .ez-action-text > div:last-child { font-family: 'Hab Limelight', serif !important; }

/* « = » des ex aequo dans la medaille : la pastille est transparente ici, il reprend le gris discret (1.9.14) */
html.ez-hab-11 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child span { color: var(--ez-text-muted) !important; opacity: 1 !important; }

/* ══════════════════════════════════════════════════════════════════════
   12 · PISTE EN BOIS
   L'ecran devient une piste : lattes de bois, classements encadres de
   leurs gouttieres, rangs dans des boules, fleches de visee, en-tete
   facon masque de fond de piste. Bebas Neue et Barlow.
   Le masque, les gouttieres et les boules ont leurs propres couleurs.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-12 #stage {
  font-family: 'Hab Barlow', 'Barlow', sans-serif !important;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(0,0,0,.06) 70%, rgba(255,255,255,.1)),
    repeating-linear-gradient(90deg, transparent 0 21px, rgba(90,50,20,.2) 21px 22px, rgba(255,255,255,.05) 22px 43px, rgba(90,50,20,.16) 43px 44px) !important;
}
html.ez-hab-12 #stage > .ez-zone {
  --hab-masque: #1d130d; --hab-creme: #f6ead7;
  --ez-font-title: 'Hab Bebas Neue', 'Bebas Neue', sans-serif;
  font-family: 'Hab Barlow', 'Barlow', sans-serif !important;
}
html.ez-hab-12.ez-hab-clair #stage > .ez-zone { --ez-text: #2b1a0e; --ez-text-muted: rgba(43,26,14,.6); --ez-border: rgba(43,26,14,.18); }
/* Cartes creme */
html.ez-hab-12 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-ranking):not(.ez-action-countdown) {
  border-radius: 14px !important; box-shadow: 0 4px 12px rgba(60,30,10,.28);
}
html.ez-hab-12 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-ranking):not(.ez-action-countdown):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: var(--ez-panel-bg) !important;
}
/* Le classement est une piste, entre ses deux gouttieres */
html.ez-hab-12 #stage > .ez-action-ranking:not(.ez-zone-transp) {
  background-color: transparent !important; border-radius: 0 !important;
  border-left: 14px solid var(--hab-masque) !important; border-right: 14px solid var(--hab-masque) !important;
  box-shadow: inset 3px 0 0 rgba(255,255,255,.08), inset -3px 0 0 rgba(255,255,255,.08);
}
html.ez-hab-12 .ez-header-title, html.ez-hab-12 .ez-panel-title, html.ez-hab-12 .ez-ts-title, html.ez-hab-12 .ez-thr-titre,
html.ez-hab-12 [data-key^="entry:"] .sc, html.ez-hab-12 .ez-clock, html.ez-hab-12 .ez-schedule-time,
html.ez-hab-12 .ez-action-countdown .ez-cd-d, html.ez-hab-12 .ez-action-countdown .ez-cd-h,
html.ez-hab-12 .ez-action-countdown .ez-cd-m, html.ez-hab-12 .ez-action-countdown .ez-cd-s,
html.ez-hab-12 .ez-thr-lbl b, html.ez-hab-12 .ez-rk-thr b, html.ez-hab-12 .ez-scores-value {
  font-family: 'Hab Bebas Neue', 'Bebas Neue', sans-serif !important; font-weight: 400 !important;
}

/* ── En-tete : masque de fond de piste, quilles vues de dessus ── */
html.ez-hab-12 #stage > .ez-action-header {
  background: linear-gradient(#2a1c14, var(--hab-masque)) !important; border-bottom: 5px solid var(--ez-accent) !important;
}
html.ez-hab-12 .ez-header-inner::before {
  content: ''; flex-shrink: 0; width: calc(var(--ez-h-px, 90px) * .62); height: calc(var(--ez-h-px, 90px) * .55);
  background:
    radial-gradient(circle at 12.5% 12%, var(--hab-creme) 0 7%, transparent 8%), radial-gradient(circle at 37.5% 12%, var(--hab-creme) 0 7%, transparent 8%),
    radial-gradient(circle at 62.5% 12%, var(--hab-creme) 0 7%, transparent 8%), radial-gradient(circle at 87.5% 12%, var(--hab-creme) 0 7%, transparent 8%),
    radial-gradient(circle at 25% 38%, var(--hab-creme) 0 7%, transparent 8%), radial-gradient(circle at 50% 38%, var(--hab-creme) 0 7%, transparent 8%),
    radial-gradient(circle at 75% 38%, var(--hab-creme) 0 7%, transparent 8%), radial-gradient(circle at 37.5% 64%, var(--hab-creme) 0 7%, transparent 8%),
    radial-gradient(circle at 62.5% 64%, var(--hab-creme) 0 7%, transparent 8%), radial-gradient(circle at 50% 90%, var(--hab-creme) 0 7%, transparent 8%);
}
html.ez-hab-12 .ez-header-title { color: var(--hab-creme); letter-spacing: 1px; line-height: 1.2; font-size: min(clamp(20px, 3vw, 68px), calc(var(--ez-h-px, 100px) * .62)); }
html.ez-hab-12 .ez-header-clock {
  font-family: 'Hab Bebas Neue', sans-serif; font-weight: 400; color: var(--hab-creme); line-height: 1.2;
  padding: .05em .45em; border-radius: 10px; background: #0b0705; box-shadow: inset 0 0 0 2px var(--ez-accent);
  font-size: min(clamp(20px, 2.8vw, 60px), calc(var(--ez-h-px, 100px) * .56));
}

/* ── Classement ── */
html.ez-hab-12 .ez-col-static { border-right: 10px solid var(--hab-masque) !important; }
html.ez-hab-12 .ez-col-last { border-right: none !important; }
html.ez-hab-12 [data-key^="cat:"],
html.ez-hab-12 .ez-rk-spot-tete {
  font-family: 'Hab Bebas Neue', sans-serif !important; font-weight: 400 !important;
  font-size: 16px !important; letter-spacing: .5px !important; line-height: 1.1 !important;
}
/* Le rang dans une boule, avec son reflet */
html.ez-hab-12 [data-key^="entry:"] .rn {
  display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; min-width: 21px !important;
  border-radius: 50%; font-weight: 700 !important; font-size: 11px !important;
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.55), rgba(255,255,255,0) 42%), #3a2a1f;
  -webkit-text-fill-color: #ffffff; box-shadow: 0 1px 2px rgba(0,0,0,.4);
}
html.ez-hab-12 [data-pp] .rn { background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.55), rgba(255,255,255,0) 42%), currentColor; }
html.ez-hab-12 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #fff); }
html.ez-hab-12 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #fff); }
html.ez-hab-12 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #fff); }
html.ez-hab-12 [data-key^="entry:"] .pn { font-weight: 700 !important; font-size: 14px !important; }
html.ez-hab-12 [data-key^="entry:"] .sc { font-size: 19px !important; background: transparent !important; padding: 0 0 0 6px !important; letter-spacing: .5px; }
/* Barriere : les fleches de visee */
html.ez-hab-12 .ez-rk-thr .ez-rk-trait {
  height: 10px !important; margin-top: -5px !important; border-radius: 0 !important;
  background: repeating-linear-gradient(90deg, var(--ez-rk-s, #c8321f) 0 10px, transparent 10px 28px) !important;
  background: conic-gradient(from 150deg at 50% 0%, var(--ez-rk-s, #c8321f) 0 60deg, transparent 60deg) 0 0 / 28px 100% repeat-x !important;
}
html.ez-hab-12 .ez-rk-thr .ez-rk-niv { border-radius: 999px !important; font-weight: 700 !important; }
html.ez-hab-12 .ez-rk-thr .ez-rk-pastille { border-radius: 999px !important; border-left: none !important; box-shadow: 0 1px 3px rgba(0,0,0,.3); }

/* ── Titres des panneaux ── */
html.ez-hab-12 .ez-panel-title, html.ez-hab-12 .ez-ts-title {
  font-size: 24px !important; letter-spacing: .5px !important; color: var(--ez-text) !important; text-align: left !important; border-bottom: none;
}

/* ── Top scores : la meilleure boule ── */
html.ez-hab-12 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  background-image: radial-gradient(circle at 35% 30%, rgba(255,255,255,.6), rgba(255,255,255,0) 42%) !important;
  box-shadow: 0 3px 6px rgba(0,0,0,.35); font-weight: 700 !important;
}
html.ez-hab-12 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { font-family: 'Hab Bebas Neue', sans-serif; font-weight: 400 !important; font-size: 32px !important; }
html.ez-hab-12 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 8px 8px 0 0 !important;
  background-image: repeating-linear-gradient(90deg, transparent 0 9px, rgba(90,50,20,.25) 9px 10px) !important;
}
html.ez-hab-12 .ez-action-topscores [style*="border-radius:6px"],
html.ez-hab-12 .ez-action-topscores [style*="border-radius:8px"] { border-radius: 10px !important; }

/* ── Programme ── */
html.ez-hab-12 .ez-schedule-row { border-radius: 8px; border-bottom: none; }
html.ez-hab-12 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-12 .ez-schedule-time { font-size: 20px; min-width: 52px; }
html.ez-hab-12 .ez-schedule-label { font-weight: 600; }
html.ez-hab-12 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-12 .ez-schedule-row[data-st="done"]:not([data-coul]) { opacity: .65; }
html.ez-hab-12 .ez-schedule-row[data-st="current"]::after {
  content: var(--ez-hab-t-now, 'EN COURS'); font-size: 12px; font-weight: 700; letter-spacing: 1px; padding: 2px 8px; border-radius: 999px;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #fff);
}

/* ── Compte a rebours : le tableau de score du masque ── */
html.ez-hab-12 #stage > .ez-action-countdown:not(.ez-zone-transp) {
  background-color: var(--hab-masque) !important; border-radius: 14px !important; box-shadow: 0 4px 12px rgba(60,30,10,.28);
}
html.ez-hab-12 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--hab-creme); --ez-text-muted: rgba(246,234,215,.7); --ez-accent: var(--hab-creme);
}
html.ez-hab-12 .ez-countdown-label { font-weight: 700 !important; letter-spacing: 3px !important; }
/* Bebas Neue monte plus haut que la police prevue par l'ajustement : un peu de marge */
html.ez-hab-12 .ez-countdown-display { transform: scale(.92); }

/* ── Vote ── */
html.ez-hab-12 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-12 .ez-action-poll > div:first-child { color: var(--ez-hab-sur-a1, #fff) !important; }
html.ez-hab-12 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Bebas Neue', sans-serif !important; font-weight: 400 !important; font-size: 26px !important; }
html.ez-hab-12 .ez-action-poll [style*="height:32px"] { height: 14px !important; background: var(--ez-border) !important; }
html.ez-hab-12 .ez-action-poll [style*="rgba(255,255,255,0.9)"],
html.ez-hab-12 .ez-action-poll [style*="rgba(255,255,255,0.95)"],
html.ez-hab-12 .ez-action-poll [style*="rgba(255,255,255,0.7)"],
html.ez-hab-12 .ez-action-poll [style*="rgba(255,255,255,0.5)"] { color: var(--ez-text) !important; }

/* ── QR, horloge ── */
html.ez-hab-12 .ez-action-qrcode > div > div, html.ez-hab-12 .ez-action-qrwifi > div > div { border-radius: 8px !important; }
html.ez-hab-12 .ez-action-qrcode span, html.ez-hab-12 .ez-action-qrwifi span { font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
html.ez-hab-12 .ez-clock { letter-spacing: 2px; }

/* ── Seuils ── */
html.ez-hab-12 .ez-thr-segs { border-radius: 999px !important; }
html.ez-hab-12 .ez-thr-seg { border-radius: 999px !important; font-weight: 700; }
html.ez-hab-12 .ez-thr-pastille { border-radius: 999px !important; }

/* ── Bandeau defilant : la ligne de faute ── */
html.ez-hab-12 #stage > .ez-action-ticker {
  background: var(--hab-masque) !important; border-top: 6px solid #0b0705 !important; display: flex;
  --ez-accent-text: var(--hab-creme);
}
html.ez-hab-12 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; padding: 0 .8em;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #fff);
  font-family: 'Hab Bebas Neue', sans-serif; font-size: min(26px, calc(var(--ez-h-px, 50px) * .5));
}
html.ez-hab-12 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-12 .ez-ticker-track { font-weight: 600; }

/* ── Texte, chiffres ── */
html.ez-hab-12 .ez-scores-row { border-radius: 999px; }
html.ez-hab-12 .ez-scores-value { background: transparent; font-size: 22px; }
html.ez-hab-12 .ez-action-text > div:last-child { font-family: 'Hab Bebas Neue', sans-serif !important; }

/* ══════════════════════════════════════════════════════════════════════
   13 · PASTEL LUDIQUE
   Pour les familles et les anniversaires : fond a pois, cartes blanches
   tres arrondies avec une ombre plate, lignes en gelules, Fredoka.
   L'encre violette (#3b2f58) est propre a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-13 #stage {
  font-family: 'Hab Fredoka', 'Fredoka', sans-serif !important;
  background-image: radial-gradient(rgba(128,110,160,.13) 2px, transparent 2.5px) !important;
  background-size: 28px 28px !important;
}
html.ez-hab-13 #stage > .ez-zone {
  --hab-encre: #3b2f58; --hab-carte: #ffffff; --hab-gelule: #f4f0f8;
  --ez-font-title: 'Hab Fredoka', 'Fredoka', sans-serif;
  font-family: 'Hab Fredoka', 'Fredoka', sans-serif !important;
}
html.ez-hab-13.ez-hab-clair #stage > .ez-zone { --ez-text: #3b2f58; --ez-text-muted: #6f6589; --ez-border: #e6e0ef; }
html.ez-hab-13.ez-hab-sombre #stage > .ez-zone { --hab-encre: var(--ez-text); --hab-carte: var(--ez-panel-bg); --hab-gelule: rgba(255,255,255,.06); }
html.ez-hab-13 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker) {
  border-radius: 28px !important; box-shadow: 0 7px 0 rgba(59,47,88,.13);
}
html.ez-hab-13 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-countdown) {
  background-color: var(--hab-carte) !important; border-left: none !important;
}

/* ── En-tete : titre rond, horloge en gelule ── */
html.ez-hab-13 #stage > .ez-action-header { background: transparent !important; border-bottom: none !important; }
html.ez-hab-13 .ez-header-inner::before {
  content: ''; flex-shrink: 0; width: calc(var(--ez-h-px, 90px) * .7); height: calc(var(--ez-h-px, 90px) * .7); border-radius: 50%;
  background: radial-gradient(circle at 40% 36%, var(--hab-carte) 0 7%, transparent 8%), radial-gradient(circle at 58% 33%, var(--hab-carte) 0 7%, transparent 8%),
              radial-gradient(circle at 49% 52%, var(--hab-carte) 0 7%, transparent 8%), var(--ez-accent);
  box-shadow: 0 5px 0 rgba(59,47,88,.15);
}
html.ez-hab-13 .ez-header-title { font-weight: 700; text-transform: none; letter-spacing: 0; line-height: 1.25; color: var(--hab-encre);
  font-size: min(clamp(18px, 2.6vw, 50px), calc(var(--ez-h-px, 100px) * .5)); }
html.ez-hab-13 .ez-header-clock {
  font-weight: 700; color: var(--hab-encre); padding: .2em .8em; border-radius: 999px; background: var(--hab-carte);
  box-shadow: 0 5px 0 rgba(59,47,88,.13); line-height: 1.2;
}

/* ── Classement ── */
html.ez-hab-13 .ez-action-ranking .ez-ranking-cols { gap: 12px; padding: 0 10px; box-sizing: border-box; }
html.ez-hab-13 .ez-col-static, html.ez-hab-13 .ez-col-last { border-right: none !important; }
html.ez-hab-13 [data-key^="cat:"],
html.ez-hab-13 .ez-rk-spot-tete {
  border-radius: 14px !important; font-weight: 700 !important; font-size: 15px !important;
  text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important;
}
html.ez-hab-13 [data-key^="entry:"] { border-radius: 999px; }
html.ez-hab-13 [data-key^="entry:"]:not([data-q]) { background-color: var(--hab-gelule) !important; }
html.ez-hab-13 [data-key^="entry:"] .rn {
  display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; min-width: 20px !important;
  border-radius: 50%; background: var(--hab-carte); font-weight: 700 !important; font-size: 11px !important;
}
html.ez-hab-13 [data-pp] .rn { background: currentColor; box-shadow: 0 0 0 2px var(--hab-carte), 0 0 0 3px currentColor; }
html.ez-hab-13 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #3b2f58); }
html.ez-hab-13 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #3b2f58); }
html.ez-hab-13 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #3b2f58); }
html.ez-hab-13 [data-key^="entry:"] .pn { font-weight: 600 !important; font-size: 14px !important; line-height: 1.3; }
html.ez-hab-13 [data-key^="entry:"] .sc { font-weight: 700 !important; font-size: 16px !important; background: transparent !important; }
/* Barriere : pointilles et gelule de la couleur des seuils */
html.ez-hab-13 .ez-rk-thr .ez-rk-trait { height: 0 !important; background: transparent !important; border-top: 3px dotted var(--ez-rk-s, #c9a0ff); }
html.ez-hab-13 .ez-rk-thr .ez-rk-niv {
  background: var(--ez-rk-s, #c9a0ff) !important; color: var(--ez-hab-sur-s, #3b2f58) !important; border-radius: 999px !important;
  font-weight: 600 !important; text-transform: none !important; font-size: 11px !important;
}
html.ez-hab-13 .ez-rk-thr .ez-rk-pastille { border-radius: 999px !important; border-left: none !important; background: var(--hab-carte) !important; }

/* ── Titres des panneaux ── */
html.ez-hab-13 .ez-panel-title, html.ez-hab-13 .ez-ts-title {
  font-weight: 700 !important; font-size: 21px !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--ez-text) !important; text-align: left !important; border-bottom: none;
}
html.ez-hab-13 .ez-panel { padding: 16px 18px; }

/* ── Top scores ── */
html.ez-hab-13 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child { box-shadow: 0 5px 0 rgba(59,47,88,.15); font-weight: 700 !important; }
html.ez-hab-13 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { font-weight: 700 !important; font-size: 28px !important; color: var(--hab-encre) !important; }
html.ez-hab-13 .ez-action-topscores .ez-ts-scroll span[style*="--ez-accent"] { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; font-weight: 700 !important; }
html.ez-hab-13 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child { opacity: .85 !important; border-radius: 18px 18px 6px 6px !important; }
html.ez-hab-13 .ez-action-topscores [style*="border-radius:6px"],
html.ez-hab-13 .ez-action-topscores [style*="border-radius:8px"],
html.ez-hab-13 .ez-action-topscores [style*="border-radius:10px"] { border-radius: 999px !important; }

/* ── Programme : heures en gelules ── */
html.ez-hab-13 .ez-schedule-row { border-bottom: none; border-radius: 999px; }
html.ez-hab-13 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-13 .ez-schedule-row:not([data-coul]) .ez-schedule-time { padding: 2px 10px; border-radius: 999px; background: var(--hab-gelule); text-align: center; font-weight: 700; }
html.ez-hab-13 .ez-schedule-label { font-weight: 500; font-size: 16px; }
html.ez-hab-13 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-13 .ez-schedule-row[data-st="done"]:not([data-coul]) { opacity: .65; }
html.ez-hab-13 .ez-schedule-row[data-st="current"]:not([data-coul]) .ez-schedule-time { background: var(--ez-accent); color: var(--ez-hab-sur-a1, #3b2f58) !important; }
html.ez-hab-13 .ez-schedule-row[data-st="next"]:not([data-coul]) .ez-schedule-time { background: var(--ez-accent2); color: var(--ez-hab-sur-a2, #3b2f58) !important; }

/* ── Compte a rebours : carte de la 1re couleur ── */
html.ez-hab-13 #stage > .ez-action-countdown:not(.ez-zone-transp) { background-color: var(--ez-accent) !important; }
html.ez-hab-13 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--ez-hab-sur-a1, #3b2f58); --ez-text-muted: var(--ez-hab-sur-a1, #3b2f58); --ez-accent: var(--ez-hab-sur-a1, #3b2f58);
}
html.ez-hab-13 .ez-action-countdown [class^="ez-cd-"] { font-weight: 700 !important; }
html.ez-hab-13 .ez-countdown-label { text-transform: none !important; letter-spacing: 0 !important; }

/* ── Vote : reponses en tuiles ── */
html.ez-hab-13 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-13 .ez-action-poll > div:first-child { color: var(--ez-hab-sur-a1, #3b2f58) !important; }
html.ez-hab-13 .ez-action-poll > div:first-child > div:first-child { font-weight: 700 !important; }
html.ez-hab-13 .ez-action-poll [style*="height:32px"] { background: var(--hab-gelule) !important; }
html.ez-hab-13 .ez-action-poll [style*="rgba(255,255,255,0.02)"] { background: transparent !important; }

/* ── QR, horloge ── */
html.ez-hab-13 .ez-action-qrcode > div > div, html.ez-hab-13 .ez-action-qrwifi > div > div { border-radius: 16px !important; }
html.ez-hab-13 .ez-action-qrcode span, html.ez-hab-13 .ez-action-qrwifi span { font-weight: 600; }
html.ez-hab-13 .ez-clock { font-weight: 700; letter-spacing: 1px; }

/* ── Seuils ── */
html.ez-hab-13 .ez-thr-titre { font-weight: 700 !important; text-transform: none !important; }
html.ez-hab-13 .ez-thr-segs { background: var(--hab-gelule) !important; box-shadow: none !important; border-radius: 999px !important; }
html.ez-hab-13 .ez-thr-seg { border-radius: 999px !important; font-weight: 600; }
html.ez-hab-13 .ez-thr-pastille { border-radius: 999px !important; }
/* Numero de page : hors du coin arrondi de la carte */
html.ez-hab-13 .ez-action-thresholds [style*="position: absolute; right: 0px; top: 0px; bottom: 0px"] { right: 14px !important; white-space: nowrap; }

/* ── Bandeau defilant ── */
html.ez-hab-13 #stage > .ez-action-ticker { background: var(--hab-encre) !important; border-top: none !important; display: flex; --ez-accent-text: var(--ez-bg); }
/* Sur fond sombre l'encre est claire : le bandeau reste sombre, sinon l'or et l'argent des rangs y disparaissent */
html.ez-hab-13.ez-hab-sombre #stage > .ez-action-ticker { background: var(--ez-panel-bg) !important; --ez-accent-text: var(--ez-text); }
html.ez-hab-13 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; margin: 6px; padding: 0 1em; border-radius: 999px;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #3b2f58); font-weight: 700; font-size: min(20px, calc(var(--ez-h-px, 50px) * .4));
}
html.ez-hab-13 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-13 .ez-ticker-track { font-weight: 500; }

/* ── Texte, chiffres ── */
html.ez-hab-13 .ez-scores-row { border-radius: 999px; }
html.ez-hab-13 .ez-scores-value { border-radius: 999px; font-weight: 700; }
html.ez-hab-13 .ez-action-text > div:last-child { font-family: 'Hab Fredoka', sans-serif !important; }

/* ══════════════════════════════════════════════════════════════════════
   14 · PLAN D'ARCHITECTE
   Un plan technique : trait fin sur fond quadrille (bleu d'architecte
   sur un style sombre, bleu sur blanc sur un style clair), hachures,
   ecriture de dessinateur (Architects Daughter) et cotes en IBM Plex Mono.
   Le trait prend la couleur du texte du style.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-14 #stage {
  font-family: 'Hab IBM Plex Mono', 'IBM Plex Mono', monospace !important;
  background-image:
    linear-gradient(rgba(128,160,200,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(128,160,200,.22) 1px, transparent 1px),
    linear-gradient(rgba(128,160,200,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(128,160,200,.09) 1px, transparent 1px) !important;
  background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px !important;
}
html.ez-hab-14 #stage > .ez-zone {
  --hab-trait: var(--ez-text);
  --ez-font-title: 'Hab Architects Daughter', 'Architects Daughter', cursive;
  font-family: 'Hab IBM Plex Mono', 'IBM Plex Mono', monospace !important;
  border-radius: 0 !important;
}
html.ez-hab-14 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker) { border: 2px solid var(--hab-trait) !important; }
html.ez-hab-14 #stage > .ez-action-ticker:not(.ez-zone-transp):not(.ez-zone-arriere) { border: 2px solid var(--hab-trait) !important; }
html.ez-hab-14 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-ticker):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: transparent !important;
}
/* L'ecriture du dessinateur */
html.ez-hab-14 .ez-header-title, html.ez-hab-14 .ez-panel-title, html.ez-hab-14 .ez-ts-title, html.ez-hab-14 [data-key^="entry:"] .pn,
html.ez-hab-14 .ez-schedule-label, html.ez-hab-14 .ez-thr-titre, html.ez-hab-14 .ez-ticker-track, html.ez-hab-14 .ez-scores-label,
html.ez-hab-14 .ez-countdown-label {
  font-family: 'Hab Architects Daughter', 'Architects Daughter', cursive !important; text-transform: none !important; letter-spacing: 0 !important;
}

/* ── En-tete : titre du plan ── */
html.ez-hab-14 #stage > .ez-action-header:not(.ez-zone-transp):not(.ez-zone-arriere) { border: 0 solid var(--hab-trait) !important; border-bottom-width: 2px !important; }
html.ez-hab-14 .ez-header-title { color: var(--hab-trait); font-weight: 400; line-height: 1.3; font-size: min(clamp(18px, 2.6vw, 52px), calc(var(--ez-h-px, 100px) * .5)); }
html.ez-hab-14 .ez-header-clock { font-weight: 600; padding: .1em .5em; border: 1.5px solid var(--hab-trait); color: var(--ez-hab-l-a1, var(--ez-accent)); }

/* ── Classement : un tableau de nomenclature ── */
html.ez-hab-14 .ez-col-static, html.ez-hab-14 .ez-col-last { border-right: 2px solid var(--hab-trait) !important; }
html.ez-hab-14 .ez-col-last { border-right: none !important; }
html.ez-hab-14 [data-key^="cat:"],
html.ez-hab-14 .ez-rk-spot-tete {
  background: transparent !important; color: var(--ez-cat-l, var(--ez-cat-c)) !important;
  font-family: 'Hab Architects Daughter', cursive !important; font-weight: 400 !important;
  font-size: 17px !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important;
  box-shadow: inset 0 -1.5px 0 var(--hab-trait) !important;
}
html.ez-hab-14 [data-key^="cat:"] svg, html.ez-hab-14 .ez-rk-spot-tete svg { color: var(--hab-trait); opacity: .6; }
/* Jambages (g, q) de l'ecriture a la main : le libelle garde sa hauteur de ligne propre, la hauteur du titre ne change pas */
html.ez-hab-14 [data-key^="cat:"] > span:first-child, html.ez-hab-14 .ez-rk-spot-tete > span:first-child { line-height: 1.35 !important; }
html.ez-hab-14 .ez-rk-rb { align-self: stretch; justify-content: center; border-right: 1.5px solid var(--hab-trait); margin-right: 6px; }
html.ez-hab-14 [data-key^="entry:"] .rn { font-weight: 600 !important; font-size: 12px !important; }
html.ez-hab-14 [data-pp] .rn { box-shadow: 0 0 0 1.5px currentColor; padding: 0 3px; }
html.ez-hab-14 [data-key^="entry:"] .pn { font-size: 16px !important; font-weight: 400 !important; line-height: 1.3; }
html.ez-hab-14 [data-key^="entry:"] .sc {
  font-weight: 600 !important; font-size: 15px !important; background: transparent !important; border-radius: 0 !important;
  border-left: 1.5px solid var(--hab-trait); padding: 0 2px 0 8px !important; align-self: stretch; display: flex; align-items: center; justify-content: flex-end;
}
/* Barriere : la cote, hachuree */
html.ez-hab-14 .ez-rk-thr {
  background-image: repeating-linear-gradient(45deg, transparent 0 6px, rgba(128,160,200,.28) 6px 8px);
}
html.ez-hab-14 .ez-rk-thr .ez-rk-trait { height: 1.5px !important; border-radius: 0 !important; }
html.ez-hab-14 .ez-rk-thr .ez-rk-niv {
  background: var(--ez-rk-s, #ffd166) !important; color: var(--ez-hab-sur-s, #0f3a6b) !important; border-radius: 0 !important;
  font-family: 'Hab Architects Daughter', cursive; font-weight: 400 !important; text-transform: none !important; font-size: 12px !important;
}
html.ez-hab-14 .ez-rk-thr .ez-rk-pastille { background: var(--ez-bg) !important; border-radius: 0 !important; border-left: 1.5px solid var(--ez-rk-s, #ffd166) !important; }

/* ── Titres des panneaux ── */
html.ez-hab-14 .ez-panel-title, html.ez-hab-14 .ez-ts-title {
  font-size: 20px !important; color: var(--hab-trait) !important; text-align: left !important;
  border-bottom: 1.5px solid var(--hab-trait); padding-bottom: 4px;
}

/* ── Top scores : socles hachures ── */
html.ez-hab-14 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  background: transparent !important; color: var(--hab-trait) !important; box-shadow: 0 0 0 1.5px var(--hab-trait); font-weight: 600 !important;
}
html.ez-hab-14 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { font-weight: 600 !important; font-size: 26px !important; color: var(--hab-trait) !important; }
html.ez-hab-14 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important; background-color: transparent !important;
  background-image: repeating-linear-gradient(45deg, var(--hab-trait) 0 1px, transparent 1px 6px) !important;
  box-shadow: inset 0 0 0 1.5px var(--hab-trait);
}
html.ez-hab-14 .ez-action-topscores [style*="border-radius"] { border-radius: 0 !important; }

/* ── Programme : phasage ── */
html.ez-hab-14 .ez-schedule-list { gap: 0; }
html.ez-hab-14 .ez-schedule-row { border-radius: 0; border-bottom: 1px dashed var(--ez-border); }
html.ez-hab-14 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-14 .ez-schedule-time { font-weight: 500; }
html.ez-hab-14 .ez-schedule-label { font-size: 17px; }
html.ez-hab-14 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-14 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
html.ez-hab-14 .ez-schedule-row::after { content: ''; flex-shrink: 0; width: 70px; height: 10px; box-shadow: inset 0 0 0 1.5px var(--ez-text-muted); }
html.ez-hab-14 .ez-schedule-row[data-st="done"]::after { background: var(--ez-text-muted); }
html.ez-hab-14 .ez-schedule-row[data-st="current"]::after {
  box-shadow: inset 0 0 0 1.5px var(--hab-trait);
  background: linear-gradient(90deg, var(--ez-hab-l-a1, var(--ez-accent)) 55%, transparent 55%);
}

/* ── Compte a rebours ── */
html.ez-hab-14 .ez-action-countdown .ez-countdown-wrap { --ez-text: var(--ez-hab-l-a1, var(--ez-accent)); --ez-accent: var(--ez-hab-l-a1, var(--ez-accent)); }
html.ez-hab-14 .ez-action-countdown [class^="ez-cd-"] { font-weight: 600 !important; }
html.ez-hab-14 .ez-action-countdown .ez-countdown-label { color: var(--hab-trait) !important; }
/* Numero de page des seuils : la mono est plus large, on garde « 1 / 3 » sur une ligne */
html.ez-hab-14 .ez-action-thresholds [style*="position: absolute; right: 0px; top: 0px; bottom: 0px"] { white-space: nowrap; letter-spacing: -1px; right: 3px !important; transform: scale(.85); transform-origin: right center; }

/* ── Vote : barres hachurees ── */
html.ez-hab-14 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-14 .ez-action-poll > div:first-child { background: transparent !important; color: var(--hab-trait) !important; border-bottom: 1.5px solid var(--hab-trait); }
html.ez-hab-14 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Architects Daughter', cursive !important; font-weight: 400 !important; }
html.ez-hab-14 .ez-action-poll > div:first-child > div:last-child { background: transparent !important; box-shadow: inset 0 0 0 1.5px var(--hab-trait); }
html.ez-hab-14 .ez-action-poll [style*="rgba(255,255,255,0.02)"] { background: transparent !important; }
html.ez-hab-14 .ez-action-poll [style*="height:32px"] { height: 14px !important; background: transparent !important; box-shadow: inset 0 0 0 1.5px var(--hab-trait); }
html.ez-hab-14 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] {
  background: repeating-linear-gradient(45deg, var(--hab-trait) 0 2px, transparent 2px 6px) !important;
}

/* ── QR, horloge ── */
html.ez-hab-14 .ez-action-qrcode > div > div, html.ez-hab-14 .ez-action-qrwifi > div > div { border-radius: 0 !important; box-shadow: 0 0 0 1.5px var(--hab-trait); }
html.ez-hab-14 .ez-action-qrcode span, html.ez-hab-14 .ez-action-qrwifi span { font-family: 'Hab Architects Daughter', cursive; }
html.ez-hab-14 .ez-clock { font-weight: 600; letter-spacing: 2px; }

/* ── Seuils ── */
html.ez-hab-14 .ez-thr-segs { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.ez-hab-14 .ez-thr-seg { border-radius: 0 !important; box-shadow: inset 0 0 0 1.5px var(--hab-trait); }
html.ez-hab-14 .ez-thr-pastille { border-radius: 0 !important; background: var(--ez-bg) !important; }

/* ── Bandeau defilant : les notes du plan ── */
html.ez-hab-14 #stage > .ez-action-ticker { background: var(--ez-bg) !important; --ez-accent-text: var(--ez-text); display: flex; }
html.ez-hab-14 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; padding: 0 1em;
  border-right: 2px solid var(--hab-trait); color: var(--hab-trait); font-weight: 600; letter-spacing: 2px; font-size: min(15px, calc(var(--ez-h-px, 50px) * .32));
}
html.ez-hab-14 .ez-ticker-wrap { flex: 1; min-width: 0; }

/* ── Texte, chiffres ── */
html.ez-hab-14 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 1px dashed var(--ez-border); }
html.ez-hab-14 .ez-scores-value { border-radius: 0; background: transparent; font-weight: 600; }
html.ez-hab-14 .ez-action-text > div:last-child { font-family: 'Hab Architects Daughter', cursive !important; }
/* Carte de l'echelle : pas d'aplat ni de coins ronds sur le plan */
html.ez-hab-14 .ez-action-thresholds [style*="border: 1px solid var(--ez-border"] { border-radius: 0 !important; background: transparent !important; border-color: transparent !important; }

/* ══════════════════════════════════════════════════════════════════════
   15 · BD POP ART
   Des cases de bande dessinee : traits noirs epais, ombre pleine
   decalee, trames de points, onomatopees, Bangers en capitales et
   Comic Neue. L'encre noire et le jaune de l'en-tete sont propres a
   l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-15 #stage { font-family: 'Hab Comic Neue', 'Comic Neue', sans-serif !important; }
html.ez-hab-15 #stage > .ez-zone {
  --hab-encre: #111111; --hab-papier: #fffdf5; --hab-jaune: #ffd400; --hab-noir: #111111;
  --ez-font-title: 'Hab Bangers', 'Bangers', sans-serif;
  font-family: 'Hab Comic Neue', 'Comic Neue', sans-serif !important; font-weight: 700;
  border-radius: 0 !important;
}
html.ez-hab-15.ez-hab-clair #stage > .ez-zone { --ez-text: #111111; --ez-text-muted: #666666; --ez-border: #111111; }
html.ez-hab-15.ez-hab-sombre #stage > .ez-zone { --hab-encre: var(--ez-text); --hab-papier: var(--ez-bg); }
html.ez-hab-15 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere) {
  border: 4px solid var(--hab-encre) !important; box-shadow: 5px 5px 0 var(--hab-encre);
}
html.ez-hab-15 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-countdown):not(.ez-action-topscores):not(.ez-action-ticker) {
  background-color: var(--ez-panel-bg) !important;
}
/* Les onomatopees et les grands chiffres */
html.ez-hab-15 .ez-header-title, html.ez-hab-15 .ez-header-clock, html.ez-hab-15 .ez-panel-title, html.ez-hab-15 .ez-ts-title,
html.ez-hab-15 [data-key^="cat:"], html.ez-hab-15 .ez-rk-spot-tete, html.ez-hab-15 [data-key^="entry:"] .rn, html.ez-hab-15 [data-key^="entry:"] .sc,
html.ez-hab-15 .ez-clock, html.ez-hab-15 .ez-schedule-time, html.ez-hab-15 .ez-thr-titre, html.ez-hab-15 .ez-thr-lbl b, html.ez-hab-15 .ez-rk-thr b,
html.ez-hab-15 .ez-action-countdown .ez-cd-d, html.ez-hab-15 .ez-action-countdown .ez-cd-h,
html.ez-hab-15 .ez-action-countdown .ez-cd-m, html.ez-hab-15 .ez-action-countdown .ez-cd-s, html.ez-hab-15 .ez-scores-value {
  font-family: 'Hab Bangers', 'Bangers', sans-serif !important; font-weight: 400 !important; letter-spacing: 1px;
}

/* ── En-tete : case jaune tramee, titre blanc cerne de noir ── */
html.ez-hab-15 #stage > .ez-action-header {
  background-color: var(--hab-jaune) !important;
  background-image: radial-gradient(rgba(0,0,0,.18) 2.5px, transparent 2.5px) !important; background-size: 12px 12px !important;
}
html.ez-hab-15 .ez-header-title {
  color: #ffffff; -webkit-text-stroke: 2px var(--hab-noir); text-shadow: 4px 4px 0 var(--hab-noir);
  letter-spacing: 3px; line-height: 1.25; font-size: min(clamp(20px, 3.2vw, 76px), calc(var(--ez-h-px, 100px) * .56));
}
html.ez-hab-15 .ez-header-clock {
  align-self: stretch; display: flex; align-items: center; padding: 0 .5em; margin-right: -20px;
  background: var(--hab-noir); color: #ffffff; letter-spacing: 3px; line-height: 1.2;
  font-size: min(clamp(20px, 3vw, 64px), calc(var(--ez-h-px, 100px) * .56));
}

/* ── Classement ── */
html.ez-hab-15 .ez-col-static, html.ez-hab-15 .ez-col-last { border-right: 4px solid var(--hab-encre) !important; }
html.ez-hab-15 .ez-col-last { border-right: none !important; }
/* Titres : trame claire, texte blanc cerne */
html.ez-hab-15 [data-key^="cat:"],
html.ez-hab-15 .ez-rk-spot-tete {
  background-image: radial-gradient(rgba(255,255,255,.28) 2.5px, transparent 2.5px) !important; background-size: 11px 11px !important;
  -webkit-text-stroke: 1px var(--hab-noir);
  font-size: 18px !important; letter-spacing: 1.5px !important; line-height: 1.15 !important;
  box-shadow: inset 0 -3px 0 var(--hab-encre) !important;
}
/* Rang dans une vignette penchee */
html.ez-hab-15 [data-key^="entry:"] .rn {
  display: inline-flex; align-items: center; justify-content: center; min-width: 22px !important; height: 18px; padding: 0 3px;
  font-size: 15px !important; background: var(--hab-papier); box-shadow: 0 0 0 2px var(--hab-encre); transform: rotate(-4deg);
}
html.ez-hab-15 [data-pp] .rn { background: currentColor; }
html.ez-hab-15 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #111); }
html.ez-hab-15 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #111); transform: rotate(3deg); }
html.ez-hab-15 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #111); }
html.ez-hab-15 [data-key^="entry:"] .pn { font-size: 14px !important; font-weight: 700 !important; text-transform: uppercase; line-height: 1.25; }
html.ez-hab-15 [data-key^="entry:"] .sc { font-size: 19px !important; background: transparent !important; padding: 0 0 0 6px !important; }
/* Barriere : POW ! sur une bande contrastee */
html.ez-hab-15 .ez-rk-thr { background: var(--ez-hab-sur-s, var(--hab-noir)); }
html.ez-hab-15 .ez-rk-thr .ez-rk-trait { display: none; }
html.ez-hab-15 .ez-rk-thr .ez-rk-niv {
  background: transparent !important; color: var(--ez-rk-s, #ffd400) !important; border-radius: 0 !important;
  font-family: 'Hab Bangers', sans-serif; font-weight: 400 !important; font-size: 15px !important; letter-spacing: 1.5px;
}
html.ez-hab-15 .ez-rk-thr .ez-rk-niv::before { content: 'POW ! '; }
html.ez-hab-15 .ez-rk-thr .ez-rk-pastille { background: transparent !important; border-left: none !important; border-radius: 0 !important; }
html.ez-hab-15 .ez-rk-thr .ez-rk-pastille b, html.ez-hab-15 .ez-rk-thr .ez-rk-pastille span { color: var(--ez-rk-s, #ffd400) !important; }

/* ── Titres des panneaux : le recitatif jaune ── */
html.ez-hab-15 .ez-panel { padding: 0; gap: 0; }
html.ez-hab-15 .ez-panel-title, html.ez-hab-15 .ez-ts-title {
  align-self: flex-start; display: inline-block !important; font-size: 18px !important; text-align: left !important;
  background: var(--hab-jaune); color: #111111 !important; padding: 2px 12px !important; margin: 0 0 6px !important;
  border-bottom: 4px solid var(--hab-encre) !important; border-right: 4px solid var(--hab-encre); text-transform: uppercase !important;
}
html.ez-hab-15 .ez-schedule-list, html.ez-hab-15 .ez-scores-list { padding: 0 12px 10px; }
html.ez-hab-15 .ez-ts-wrap { padding: 0 !important; }
html.ez-hab-15 .ez-ts-body { padding: 4px 12px 8px; }

/* ── Top scores : case de la 2e couleur, rayons ── */
html.ez-hab-15 #stage > .ez-action-topscores:not(.ez-zone-transp) {
  background-color: var(--ez-accent2) !important;
  background-image: repeating-conic-gradient(from 0deg at 30% 45%, rgba(255,255,255,.2) 0 8deg, transparent 8deg 20deg) !important;
}
html.ez-hab-15 #stage > .ez-action-topscores:not(.ez-zone-transp) .ez-ts-body {
  --ez-text: var(--ez-hab-sur-a2, #fff); --ez-text-muted: var(--ez-hab-sur-a2, #fff); --ez-accent: var(--ez-hab-sur-a2, #fff);
}
html.ez-hab-15 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  box-shadow: 0 0 0 3px var(--hab-noir); font-family: 'Hab Bangers', sans-serif; font-weight: 400 !important;
}
html.ez-hab-15 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Bangers', sans-serif; font-weight: 400 !important; font-size: 34px !important; -webkit-text-stroke: 1.5px var(--hab-noir);
}
html.ez-hab-15 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important; box-shadow: inset 0 0 0 3px var(--hab-noir);
  background-image: radial-gradient(rgba(0,0,0,.2) 2px, transparent 2px) !important; background-size: 8px 8px !important;
}
html.ez-hab-15 .ez-action-topscores [style*="border-radius"]:not([style*="50%"]) { border-radius: 0 !important; }
html.ez-hab-15 .ez-ts-body [style*="border-left:3px"] {
  --ez-text: var(--hab-encre); --ez-text-muted: var(--hab-encre);
  background-color: var(--hab-papier) !important; color: var(--hab-encre) !important; box-shadow: 0 0 0 2px var(--hab-noir);
}
/* Rang des 3 premiers : l'or et l'argent du runtime sont illisibles sur le papier, on l'ecrit a l'encre */
html.ez-hab-15 .ez-ts-body [style*="border-left:3px"] > span:first-child { color: var(--hab-encre) !important; }

/* ── Programme ── */
html.ez-hab-15 .ez-schedule-row { border-radius: 0; border-bottom: 2px solid var(--hab-encre); }
html.ez-hab-15 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-15 .ez-schedule-time { font-size: 20px; min-width: 56px; }
html.ez-hab-15 .ez-schedule-label { text-transform: uppercase; }
html.ez-hab-15 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-15 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; text-decoration: line-through; }
html.ez-hab-15 .ez-schedule-row[data-st="current"]:not([data-coul]) span { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; }

/* ── Compte a rebours : case tramee de la 1re couleur ── */
html.ez-hab-15 #stage > .ez-action-countdown:not(.ez-zone-transp) {
  background-color: var(--ez-accent) !important;
  background-image: radial-gradient(rgba(0,0,0,.2) 2.5px, transparent 2.5px) !important; background-size: 11px 11px !important;
}
html.ez-hab-15 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--ez-hab-sur-a1, #fff); --ez-text-muted: var(--ez-hab-sur-a1, #fff); --ez-accent: var(--ez-hab-sur-a1, #fff);
}
html.ez-hab-15 .ez-action-countdown .ez-cd-d, html.ez-hab-15 .ez-action-countdown .ez-cd-h,
html.ez-hab-15 .ez-action-countdown .ez-cd-m, html.ez-hab-15 .ez-action-countdown .ez-cd-s,
html.ez-hab-15 .ez-action-countdown .ez-cd-sep { -webkit-text-stroke: 2px var(--hab-noir); }
html.ez-hab-15 .ez-countdown-label, html.ez-hab-15 .ez-action-countdown [class$="l"] {
  font-weight: 700 !important; -webkit-text-stroke: .6px var(--hab-noir);
}

/* ── Vote ── */
html.ez-hab-15 .ez-action-poll * { font-family: inherit !important; border-radius: 0 !important; }
html.ez-hab-15 .ez-action-poll > div:first-child {
  border-bottom: 4px solid var(--hab-encre); color: var(--ez-hab-sur-a1, #fff) !important;
  background-image: radial-gradient(rgba(255,255,255,.25) 2.5px, transparent 2.5px) !important; background-size: 11px 11px !important;
}
html.ez-hab-15 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Bangers', sans-serif !important; font-weight: 400 !important; letter-spacing: 1.5px; font-size: 24px !important; }
html.ez-hab-15 .ez-action-poll > div:first-child > div:last-child { background: var(--hab-papier) !important; color: var(--hab-encre) !important; box-shadow: inset 0 0 0 3px var(--hab-encre); }
html.ez-hab-15 .ez-action-poll [style*="height:32px"] { height: 20px !important; box-shadow: inset 0 0 0 3px var(--hab-encre); background: var(--hab-papier) !important; }
html.ez-hab-15 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] {
  background-image: radial-gradient(rgba(0,0,0,.25) 2px, transparent 2px) !important; background-size: 8px 8px !important;
}

/* ── QR, horloge ── */
html.ez-hab-15 .ez-action-qrcode > div > div, html.ez-hab-15 .ez-action-qrwifi > div > div { border-radius: 0 !important; box-shadow: 0 0 0 3px var(--hab-encre); }
html.ez-hab-15 .ez-action-qrcode span, html.ez-hab-15 .ez-action-qrwifi span { font-family: 'Hab Bangers', sans-serif; font-weight: 400; font-size: 18px !important; letter-spacing: 1px; }
html.ez-hab-15 .ez-clock { letter-spacing: 3px; }

/* ── Seuils ── */
html.ez-hab-15 .ez-thr-segs { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.ez-hab-15 .ez-thr-seg { border-radius: 0 !important; box-shadow: inset 0 0 0 3px var(--hab-encre); }
html.ez-hab-15 .ez-thr-pastille { border-radius: 0 !important; background: var(--ez-hab-sur-s, var(--hab-noir)) !important; }
html.ez-hab-15 .ez-thr-pastille span { color: var(--ez-thr-c, #ffd400) !important; opacity: .8; }
/* Numero de page : ecarte du trait epais de la case */
html.ez-hab-15 .ez-action-thresholds [style*="position: absolute; right: 0px; top: 0px; bottom: 0px"] { right: 8px !important; white-space: nowrap; }
/* Score du seuil ecrit dans sa couleur : cerne d'encre comme une onomatopee, lisible meme en jaune sur blanc */
html.ez-hab-15 .ez-action-thresholds div[data-thr-s]:not(.ez-thr-pastille) {
  font-family: 'Hab Bangers', sans-serif; font-weight: 400 !important; letter-spacing: 1px; line-height: 1.15 !important;
  -webkit-text-stroke: 1.5px var(--hab-noir); text-shadow: 2px 2px 0 var(--hab-noir);
}

/* ── Bandeau defilant : FLASH ── */
html.ez-hab-15 #stage > .ez-action-ticker { background: var(--hab-papier) !important; --ez-accent-text: var(--ez-text); display: flex; }
html.ez-hab-15 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS') ' !'; flex-shrink: 0; display: flex; align-items: center; padding: 0 .8em;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #fff); -webkit-text-stroke: 1px var(--hab-noir); border-right: 4px solid var(--hab-encre);
  font-family: 'Hab Bangers', sans-serif; letter-spacing: 2px; font-size: min(26px, calc(var(--ez-h-px, 50px) * .52));
}
html.ez-hab-15 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-15 .ez-ticker-track { font-weight: 700; text-transform: uppercase; }

/* ── Texte, chiffres ── */
html.ez-hab-15 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 2px solid var(--hab-encre); }
html.ez-hab-15 .ez-scores-value { border-radius: 0; background: transparent; font-size: 22px; }
html.ez-hab-15 .ez-action-text > div:last-child { font-family: 'Hab Bangers', sans-serif !important; letter-spacing: 1.5px; }
/* Carte de l'echelle : la case est deja cernee, la carte n'a ni coins ronds ni filet */
html.ez-hab-15 .ez-action-thresholds [style*="border: 1px solid var(--ez-border"] { border-radius: 0 !important; border-color: transparent !important; }

/* ══════════════════════════════════════════════════════════════════════
   16 · TAPIS DE CASINO
   Tapis de jeu : feutre eclaire au centre, liseres de la couleur
   d'accent (or), rangs en jetons, meilleures parties en cartes,
   Cinzel pour les titres et les chiffres, Lato pour le texte.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-16 #stage {
  font-family: 'Hab Lato', 'Lato', sans-serif !important;
  background-image: radial-gradient(ellipse at 50% 40%, rgba(255,255,255,.14), rgba(0,0,0,.25) 80%) !important;
}
/* Sur fond clair : un eclairage leger, sans griser le fond */
html.ez-hab-16.ez-hab-clair #stage { background-image: radial-gradient(ellipse at 50% 40%, rgba(255,255,255,.35), rgba(0,0,0,.05) 85%) !important; }
html.ez-hab-16 #stage > .ez-zone {
  --hab-or: var(--ez-hab-l-a1, var(--ez-accent)); --hab-carte: #fdfaf2; --hab-rouge: #c8102e;
  --ez-font-title: 'Hab Cinzel', 'Cinzel', serif;
  font-family: 'Hab Lato', 'Lato', sans-serif !important;
}
html.ez-hab-16 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker) {
  border: 2px solid var(--hab-or) !important; border-radius: 18px !important;
}
html.ez-hab-16 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: rgba(0,0,0,.18) !important;
}
html.ez-hab-16.ez-hab-clair #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-ticker):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist) {
  background-color: var(--ez-panel-bg) !important;
}
html.ez-hab-16 .ez-header-title, html.ez-hab-16 .ez-panel-title, html.ez-hab-16 .ez-ts-title,
html.ez-hab-16 [data-key^="entry:"] .sc, html.ez-hab-16 .ez-clock, html.ez-hab-16 .ez-schedule-time,
html.ez-hab-16 .ez-action-countdown .ez-cd-d, html.ez-hab-16 .ez-action-countdown .ez-cd-h,
html.ez-hab-16 .ez-action-countdown .ez-cd-m, html.ez-hab-16 .ez-action-countdown .ez-cd-s,
html.ez-hab-16 .ez-thr-lbl b, html.ez-hab-16 .ez-rk-thr b, html.ez-hab-16 .ez-scores-value {
  font-family: 'Hab Cinzel', 'Cinzel', serif !important; font-weight: 800 !important;
}

/* ── En-tete : titre d'or, horloge dans un ovale ── */
html.ez-hab-16 #stage > .ez-action-header { background: transparent !important; border-bottom: none !important; }
html.ez-hab-16 .ez-header-title { color: var(--hab-or); text-transform: none; letter-spacing: 2px; line-height: 1.3; font-size: min(clamp(18px, 2.6vw, 50px), calc(var(--ez-h-px, 100px) * .5)); }
html.ez-hab-16 .ez-header-clock {
  font-family: 'Hab Cinzel', serif; font-weight: 800; color: var(--hab-or); line-height: 1.25;
  padding: .12em .8em; border: 2px solid var(--hab-or); border-radius: 999px; background: rgba(0,0,0,.25);
}
html.ez-hab-16.ez-hab-clair .ez-header-clock { background: rgba(255,255,255,.55); }

/* ── Classement ── */
html.ez-hab-16 .ez-action-ranking .ez-ranking-cols { gap: 16px; padding: 0 8px; box-sizing: border-box; }
html.ez-hab-16 .ez-col-static, html.ez-hab-16 .ez-col-last { border-right: none !important; }
/* Titres : texte de la couleur de la categorie, double filet d'or */
html.ez-hab-16 [data-key^="cat:"],
html.ez-hab-16 .ez-rk-spot-tete {
  background: transparent !important; color: var(--ez-cat-l, var(--ez-cat-c)) !important;
  font-family: 'Hab Cinzel', serif !important; font-weight: 800 !important; font-size: 15px !important;
  text-transform: none !important; letter-spacing: 1px !important; line-height: 1.25 !important;
  box-shadow: inset 0 -1px 0 var(--hab-or), inset 0 -4px 0 transparent, inset 0 -5px 0 var(--hab-or) !important;
}
/* Le rang dans un jeton */
html.ez-hab-16 [data-key^="entry:"] .rn {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; min-width: 22px !important; box-sizing: border-box;
  border-radius: 50%; border: 2px dashed rgba(255,255,255,.85); background: #5a5a5a;
  -webkit-text-fill-color: #ffffff; font-weight: 900 !important; font-size: 10px !important; box-shadow: 0 2px 0 rgba(0,0,0,.4);
}
html.ez-hab-16 [data-pp] .rn { background: currentColor; }
html.ez-hab-16 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #fff); }
html.ez-hab-16 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #fff); }
html.ez-hab-16 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #fff); }
html.ez-hab-16 [data-key^="entry:"] .pn { font-weight: 700 !important; font-size: 14px !important; }
html.ez-hab-16 [data-key^="entry:"] .sc { font-size: 15px !important; background: transparent !important; padding: 0 0 0 6px !important; }
/* Barriere : double filet et jeton de la couleur des seuils */
html.ez-hab-16 .ez-rk-thr .ez-rk-trait {
  height: 5px !important; margin-top: -2.5px !important; background: transparent !important; border-radius: 0 !important;
  border-top: 1.5px solid var(--ez-rk-s, #d6b568); border-bottom: 1.5px solid var(--ez-rk-s, #d6b568);
}
html.ez-hab-16 .ez-rk-thr .ez-rk-niv {
  background: var(--ez-rk-s, #d6b568) !important; color: var(--ez-hab-sur-s, #111) !important; border-radius: 999px !important;
  font-family: 'Hab Cinzel', serif; font-weight: 800 !important; text-transform: none !important; font-size: 11px !important;
}
html.ez-hab-16 .ez-rk-thr .ez-rk-pastille { border-radius: 999px !important; border-left: none !important; box-shadow: 0 0 0 1.5px var(--ez-rk-s, #d6b568); }

/* ── Titres des panneaux ── */
html.ez-hab-16 .ez-panel-title, html.ez-hab-16 .ez-ts-title {
  font-size: 20px !important; color: var(--hab-or) !important; text-transform: none !important; letter-spacing: 1px !important;
  text-align: left !important; border-bottom: none;
}

/* ── Top scores : les meilleures parties en cartes a jouer ── */
html.ez-hab-16 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  background: var(--hab-carte) !important; color: var(--hab-rouge) !important; border-radius: 6px !important;
  width: 40px !important; height: 56px !important; box-shadow: 0 5px 10px rgba(0,0,0,.4);
  font-family: 'Hab Cinzel', serif; font-weight: 800 !important; font-size: 22px !important;
}
/* Le « = » des ex aequo, ecrit en gris clair par le runtime, passe a la couleur de la carte */
html.ez-hab-16 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child span { color: inherit !important; }
html.ez-hab-16 .ez-ts-body > div[style*="align-items:flex-end"] > div:first-child > div:first-child { transform: rotate(-6deg); }
html.ez-hab-16 .ez-ts-body > div[style*="align-items:flex-end"] > div:last-child > div:first-child { transform: rotate(6deg); }
html.ez-hab-16 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) { font-family: 'Hab Cinzel', serif; font-weight: 800 !important; font-size: 26px !important; color: var(--hab-or) !important; }
/* Socles : piles de jetons */
html.ez-hab-16 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 30px / 8px !important;
  background-image: repeating-linear-gradient(180deg, transparent 0 7px, rgba(255,255,255,.8) 7px 9px) !important;
  box-shadow: 0 3px 0 rgba(0,0,0,.4);
}
html.ez-hab-16 .ez-action-topscores [style*="border-radius:6px"],
html.ez-hab-16 .ez-action-topscores [style*="border-radius:8px"] { border-radius: 10px !important; }

/* ── Programme : un losange par etape ── */
html.ez-hab-16 .ez-schedule-row { border-radius: 10px; border-bottom: 1px solid var(--ez-border); }
html.ez-hab-16 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-16 .ez-schedule-row::before {
  content: ''; flex-shrink: 0; width: 9px; height: 9px; transform: rotate(45deg); background: var(--ez-text-muted);
}
html.ez-hab-16 .ez-schedule-row[data-st="current"]::before { background: var(--hab-rouge); box-shadow: 0 0 0 1.5px var(--hab-carte); }
html.ez-hab-16 .ez-schedule-row[data-st]:not([data-coul]) span { color: var(--ez-text) !important; }
html.ez-hab-16 .ez-schedule-row[data-st="done"]:not([data-coul]) { opacity: .65; }
html.ez-hab-16 .ez-schedule-time { font-size: 17px; min-width: 56px; }
html.ez-hab-16 .ez-schedule-label { font-weight: 700; }

/* ── Compte a rebours : chiffres d'or ── */
html.ez-hab-16 .ez-action-countdown .ez-countdown-wrap { --ez-text: var(--hab-or); --ez-accent: var(--hab-or); }
html.ez-hab-16 .ez-countdown-label { font-weight: 900 !important; letter-spacing: 4px !important; }

/* ── Vote ── */
html.ez-hab-16 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-16 .ez-action-poll > div:first-child { color: var(--ez-hab-sur-a1, #111) !important; }
html.ez-hab-16 .ez-action-poll > div:first-child > div:first-child { font-family: 'Hab Cinzel', serif !important; font-weight: 800 !important; }
html.ez-hab-16 .ez-action-poll [style*="height:32px"] { height: 16px !important; }
html.ez-hab-16 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] {
  background-image: repeating-linear-gradient(90deg, transparent 0 10px, rgba(255,255,255,.75) 10px 12px) !important;
}

/* ── QR, horloge ── */
html.ez-hab-16 .ez-action-qrcode > div > div, html.ez-hab-16 .ez-action-qrwifi > div > div { border-radius: 10px !important; background: var(--hab-carte) !important; }
html.ez-hab-16 .ez-action-qrcode span, html.ez-hab-16 .ez-action-qrwifi span { font-weight: 900; text-transform: uppercase; letter-spacing: 1px; font-size: 12px !important; }
html.ez-hab-16 .ez-clock { color: var(--hab-or); letter-spacing: 2px; }

/* ── Seuils ── */
html.ez-hab-16 .ez-thr-segs { background: rgba(0,0,0,.2) !important; border-radius: 999px !important; }
html.ez-hab-16 .ez-thr-seg { border-radius: 999px !important; font-weight: 900; }
html.ez-hab-16 .ez-thr-pastille { border-radius: 999px !important; }
/* Numero de page : ecarte du bord arrondi de la zone */
html.ez-hab-16 .ez-action-thresholds [style*="position: absolute; right: 0px; top: 0px; bottom: 0px"] { right: 10px !important; white-space: nowrap; }

/* ── Bandeau defilant : filet d'or, capitales espacees ── */
html.ez-hab-16 #stage > .ez-action-ticker { background: transparent !important; border-top: 2px solid var(--hab-or) !important; --ez-accent-text: var(--ez-text); }
html.ez-hab-16 .ez-ticker-track { font-weight: 700; text-transform: uppercase; letter-spacing: 2px; }

/* ── Texte, chiffres ── */
html.ez-hab-16 .ez-scores-row { border-radius: 10px; }
html.ez-hab-16 .ez-scores-value { background: transparent; color: var(--hab-or) !important; }
html.ez-hab-16 .ez-action-text > div:last-child { font-family: 'Hab Cinzel', serif !important; }

/* ══════════════════════════════════════════════════════════════════════
   17 · PLEINE VITESSE
   Esprit centre de loisirs : grands titres en capitales italiques tres
   grasses (Barlow Condensed italique), texte en Montserrat, rangees de
   triangles en contour, grands arcs fins de la 2e couleur, blocs pleins
   de la 1re couleur, pastilles arrondies, etiquette blanche de travers.
   Les triangles sont des masques : ils prennent la couleur du style.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-17 #stage { font-family: 'Hab Montserrat', 'Montserrat', sans-serif !important; }
/* Les grands arcs fins, derriere les zones */
html.ez-hab-17 #stage::before {
  content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none; opacity: .7;
  background:
    radial-gradient(circle at 96% -34%, transparent 0 469px, var(--ez-accent2) 470px 472px, transparent 473px 529px, var(--ez-accent2) 530px 532px, transparent 533px),
    radial-gradient(circle at -6% 122%, transparent 0 379px, var(--ez-accent2) 380px 382px, transparent 383px);
}
html.ez-hab-17 #stage > .ez-zone {
  --hab-tri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='16' viewBox='0 0 60 16'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M3 2.5 14.5 8 3 13.5Z'/%3E%3Cpath d='M23 2.5 34.5 8 23 13.5Z'/%3E%3Cpath d='M43 2.5 54.5 8 43 13.5Z'/%3E%3C/g%3E%3C/svg%3E");
  --hab-voile: rgba(255,255,255,.07); --hab-filet: rgba(255,255,255,.10);
  --ez-font-title: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif;
  font-family: 'Hab Montserrat', 'Montserrat', sans-serif !important;
  border-radius: 0 !important;
}
html.ez-hab-17.ez-hab-clair #stage > .ez-zone { --hab-voile: rgba(0,0,0,.06); --hab-filet: rgba(0,0,0,.10); }
/* Sur fond sombre, le voile sous les rangs assombrit (un voile blanc faisait perdre du contraste aux rangs gris) */
html.ez-hab-17.ez-hab-sombre #stage > .ez-zone { --hab-voile: rgba(0,0,0,.2); }
html.ez-hab-17 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-countdown):not(.ez-action-ticker) {
  background-color: var(--ez-panel-bg) !important;
}
/* Les capitales italiques de l'habillage */
html.ez-hab-17 .ez-header-title, html.ez-hab-17 .ez-header-clock, html.ez-hab-17 .ez-panel-title, html.ez-hab-17 .ez-ts-title,
html.ez-hab-17 [data-key^="cat:"], html.ez-hab-17 .ez-rk-spot-tete, html.ez-hab-17 [data-key^="entry:"] .rn, html.ez-hab-17 [data-key^="entry:"] .sc,
html.ez-hab-17 .ez-clock, html.ez-hab-17 .ez-schedule-time, html.ez-hab-17 .ez-thr-titre, html.ez-hab-17 .ez-thr-lbl b, html.ez-hab-17 .ez-rk-thr b,
html.ez-hab-17 .ez-rk-thr .ez-rk-niv, html.ez-hab-17 .ez-thr-seg,
html.ez-hab-17 .ez-action-countdown .ez-cd-d, html.ez-hab-17 .ez-action-countdown .ez-cd-h,
html.ez-hab-17 .ez-action-countdown .ez-cd-m, html.ez-hab-17 .ez-action-countdown .ez-cd-s,
html.ez-hab-17 .ez-countdown-label, html.ez-hab-17 .ez-scores-value {
  font-family: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif !important; font-style: italic; font-weight: 800 !important;
}

/* ── En-tete : titre en capitales italiques, triangles, horloge en bloc plein ── */
html.ez-hab-17 #stage > .ez-action-header { background: transparent !important; border-bottom: none !important; }
html.ez-hab-17 .ez-header-inner { gap: 18px; }
html.ez-hab-17 .ez-header-title {
  color: var(--ez-text); font-weight: 900 !important; letter-spacing: .5px; line-height: 1.15; padding-right: .15em;
  font-size: min(clamp(20px, 3vw, 64px), calc(var(--ez-h-px, 100px) * .58));
}
/* Rangee de triangles, entre le titre et l'horloge */
html.ez-hab-17 .ez-header-inner::after {
  content: ''; order: 1; flex-shrink: 0;
  width: min(96px, calc(var(--ez-h-px, 100px) * .96)); height: min(26px, calc(var(--ez-h-px, 100px) * .26));
  background: var(--ez-hab-l-a1, var(--ez-accent));
  -webkit-mask: var(--hab-tri) center / contain no-repeat; mask: var(--hab-tri) center / contain no-repeat;
}
html.ez-hab-17 .ez-header-clock {
  order: 2; align-self: stretch; display: flex; align-items: center; padding: 0 .9em 0 1.3em; margin-right: -20px; line-height: 1.1;
  background: var(--ez-accent); color: var(--ez-hab-sur-a1, #ffffff); letter-spacing: 1px;
  clip-path: polygon(.6em 0, 100% 0, 100% 100%, 0 100%);
  font-size: min(clamp(16px, 1.9vw, 44px), calc(var(--ez-h-px, 100px) * .52));
}

/* ── Classement ── */
html.ez-hab-17 .ez-action-ranking .ez-ranking-cols { gap: 8px; }
html.ez-hab-17 .ez-col-static, html.ez-hab-17 .ez-col-last { border-right: none !important; }
/* Titres : aplat de la categorie, bout coupe en biais */
html.ez-hab-17 [data-key^="cat:"],
html.ez-hab-17 .ez-rk-spot-tete {
  font-size: 16px !important; letter-spacing: .6px !important; line-height: 1.2 !important; padding-left: 12px !important;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}
/* Rang dans un parallelogramme */
html.ez-hab-17 [data-key^="entry:"] .rn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 28px !important; height: 20px; padding: 0 6px; font-size: 15px !important;
  background: var(--hab-voile); clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%);
}
html.ez-hab-17 [data-pp] .rn { background: currentColor; }
html.ez-hab-17 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #ffffff); }
html.ez-hab-17 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #ffffff); }
html.ez-hab-17 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #ffffff); }
html.ez-hab-17 [data-key^="entry:"] .pn { font-weight: 700 !important; font-size: 13px !important; letter-spacing: .2px; }
html.ez-hab-17 [data-key^="entry:"] .sc {
  font-size: 19px !important; background: transparent !important; padding: 0 3px 0 6px !important; font-variant-numeric: tabular-nums;
}
html.ez-hab-17 [data-key^="entry:"] .dl { font-weight: 700 !important; font-size: 11px !important; }
/* Barriere : trait de la couleur des seuils, etiquette en biais, pastille arrondie */
html.ez-hab-17 .ez-rk-thr .ez-rk-trait { height: 3px !important; border-radius: 0 !important; }
html.ez-hab-17 .ez-rk-thr .ez-rk-niv {
  font-size: 13px !important; letter-spacing: .5px; border-radius: 0 !important;
  clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%); padding: 0 12px !important;
}
html.ez-hab-17 .ez-rk-thr .ez-rk-pastille { border-radius: 999px !important; border-left: none !important; }
html.ez-hab-17 .ez-rk-thr .ez-rk-pastille b { font-size: 17px !important; }

/* ── Titres des panneaux : l'etiquette de travers ── */
html.ez-hab-17 .ez-panel { padding: 0; gap: 0; }
html.ez-hab-17 .ez-panel-title, html.ez-hab-17 .ez-ts-title {
  align-self: flex-start; display: inline-block !important; max-width: calc(100% - 28px); box-sizing: border-box;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: 21px !important; letter-spacing: .6px !important; line-height: 1.25 !important; text-align: left !important;
  background: var(--ez-text); color: var(--ez-bg) !important; border-bottom: none !important;
  padding: 3px 14px 2px 12px !important; margin: 12px 0 10px 14px !important; transform: rotate(-2deg);
}
html.ez-hab-17 .ez-schedule-list, html.ez-hab-17 .ez-scores-list { padding: 0 12px 10px; }
/* Les scores de la liste sont ecrits dans la 1re couleur : sa variante lisible */
html.ez-hab-17 .ez-ts-wrap { padding: 0 !important; --ez-accent: var(--ez-hab-l-a1, var(--ez-accent)); }
html.ez-hab-17 .ez-ts-body { padding: 2px 14px 8px; }

/* ── Top scores ── */
/* Pastille du rang : parallelogramme */
html.ez-hab-17 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border-radius: 0 !important; clip-path: polygon(14% 0, 100% 0, 86% 100%, 0 100%); width: 56px !important;
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 900 !important;
}
html.ez-hab-17 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(2) { font-weight: 700 !important; }
html.ez-hab-17 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 900 !important; font-size: 34px !important; line-height: 1.05;
}
/* Socles : dessus coupe en biais */
html.ez-hab-17 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child {
  opacity: 1 !important; border-radius: 0 !important; clip-path: polygon(0 12px, 100% 0, 100% 100%, 0 100%);
}
html.ez-hab-17 .ez-action-topscores [style*="border-radius"]:not([style*="50%"]) { border-radius: 0 !important; }
/* Liste : filets fins, les trois premiers soulignes a gauche d'un trait plein */
html.ez-hab-17 .ez-ts-body [style*="border-left:3px"] { border-left-width: 5px !important; }

/* ── Programme ── */
html.ez-hab-17 .ez-schedule-list { gap: 4px; }
html.ez-hab-17 .ez-schedule-row { border-radius: 0; border-bottom: 1px solid var(--hab-filet); padding: 9px 12px; }
html.ez-hab-17 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-17 .ez-schedule-time { font-size: 23px; min-width: 62px; }
html.ez-hab-17 .ez-schedule-row:not([data-coul]) .ez-schedule-time { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; }
html.ez-hab-17 .ez-schedule-label { font-weight: 700; font-size: 15px; }
html.ez-hab-17 .ez-schedule-row[data-st]:not([data-coul]) .ez-schedule-label { color: var(--ez-text) !important; }
/* Etape passee : en couleur attenuee du style, sans transparence (le jaune palit trop) */
html.ez-hab-17 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
/* L'etape en cours : un bouton plein de la 2e couleur */
html.ez-hab-17 .ez-schedule-row[data-st="current"]:not([data-coul]) {
  background: var(--ez-accent2) !important; border-radius: 6px; border-bottom-color: transparent;
}
html.ez-hab-17 .ez-schedule-row[data-st="current"]:not([data-coul]) span,
html.ez-hab-17 .ez-schedule-row[data-st="current"]:not([data-coul]) .ez-schedule-label { color: var(--ez-hab-sur-a2, #fff) !important; }
html.ez-hab-17 .ez-schedule-row[data-st="current"]::after, html.ez-hab-17 .ez-schedule-row[data-st="next"]::after {
  flex-shrink: 0; margin-left: auto; padding: 2px 10px; border-radius: 999px; line-height: 1.3;
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 800; font-size: 13px; letter-spacing: 1px;
}
html.ez-hab-17 .ez-schedule-row[data-st="current"]::after {
  content: var(--ez-hab-t-now, 'EN COURS'); background: var(--ez-accent); color: var(--ez-hab-sur-a1, #ffffff);
}
html.ez-hab-17 .ez-schedule-row[data-st="next"]::after {
  content: var(--ez-hab-t-next, 'À SUIVRE'); box-shadow: inset 0 0 0 2px var(--ez-accent2); color: var(--ez-text);
}
/* Sur une ligne qui a sa propre couleur : la pastille reprend le texte choisi par le runtime pour la ligne */
html.ez-hab-17 .ez-schedule-row[data-coul][data-st="next"]::after { color: inherit; box-shadow: inset 0 0 0 2px currentColor; }

/* ── Compte a rebours : bloc plein de la 1re couleur, cadre blanc ── */
/* Zone vue au travers : chiffres dans la variante lisible de la 1re couleur */
html.ez-hab-17 .ez-action-countdown .ez-countdown-wrap { --ez-accent: var(--ez-hab-l-a1, var(--ez-accent)); }
html.ez-hab-17 #stage > .ez-action-countdown:not(.ez-zone-transp) {
  background-color: var(--ez-accent) !important; border: 5px solid #ffffff !important;
}
html.ez-hab-17.ez-hab-clair #stage > .ez-action-countdown:not(.ez-zone-transp) { border: 3px solid var(--ez-text) !important; }
html.ez-hab-17 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-countdown-wrap {
  --ez-text: var(--ez-hab-sur-a1, #ffffff); --ez-text-muted: var(--ez-hab-sur-a1, #ffffff); --ez-accent: var(--ez-hab-sur-a1, #ffffff);
}
html.ez-hab-17 #stage > .ez-action-countdown:not(.ez-zone-transp) .ez-cd-s { color: var(--ez-hab-sur-a1, #ffffff) !important; }
html.ez-hab-17 .ez-action-countdown .ez-cd-d, html.ez-hab-17 .ez-action-countdown .ez-cd-h,
html.ez-hab-17 .ez-action-countdown .ez-cd-m, html.ez-hab-17 .ez-action-countdown .ez-cd-s { font-weight: 900 !important; }
html.ez-hab-17 .ez-countdown-label { letter-spacing: 2px !important; }
/* Triangles dans le coin haut gauche du bloc */
html.ez-hab-17 #stage > .ez-action-countdown:not(.ez-zone-transp)::before {
  content: ''; position: absolute; left: 14px; top: 12px; width: 54px; height: 15px; pointer-events: none;
  background: var(--ez-hab-sur-a1, #ffffff); opacity: .35;
  -webkit-mask: var(--hab-tri) center / contain no-repeat; mask: var(--hab-tri) center / contain no-repeat;
}

/* ── Vote ── */
html.ez-hab-17 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-17 .ez-action-poll > div:first-child { clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
html.ez-hab-17 .ez-action-poll > div:first-child > div:first-child {
  font-family: 'Hab Barlow Condensed', sans-serif !important; font-style: italic; font-weight: 800 !important;
  text-transform: uppercase; letter-spacing: .5px; font-size: 24px !important;
}
/* Badge des participants : la pastille arrondie */
html.ez-hab-17 .ez-action-poll > div:first-child > div:last-child { border-radius: 999px !important; }
html.ez-hab-17 .ez-action-poll [style*="height:32px"] { height: 16px !important; border-radius: 999px !important; }
html.ez-hab-17 .ez-action-poll [style*="position:absolute;top:0;left:0;bottom:0"] { border-radius: 999px !important; }

/* ── QR code : plaque a cadre blanc, ombre pleine de la 1re couleur ── */
html.ez-hab-17 .ez-action-qrcode > div > div, html.ez-hab-17 .ez-action-qrwifi > div > div {
  border-radius: 0 !important; box-shadow: 0 0 0 3px #ffffff, 6px 6px 0 3px var(--ez-accent);
}
html.ez-hab-17 .ez-action-qrcode span, html.ez-hab-17 .ez-action-qrwifi span {
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 800; font-size: 15px !important; text-transform: uppercase; letter-spacing: .5px;
}
html.ez-hab-17.ez-hab-clair .ez-action-qrcode > div > div, html.ez-hab-17.ez-hab-clair .ez-action-qrwifi > div > div { box-shadow: 0 0 0 3px var(--ez-text), 6px 6px 0 3px var(--ez-accent); }
html.ez-hab-17 .ez-clock { font-weight: 900 !important; letter-spacing: 1px; }

/* ── Seuils ── */
html.ez-hab-17 .ez-thr-titre { font-size: 16px !important; line-height: 1.25 !important; }
html.ez-hab-17 .ez-thr-seg { border-radius: 0 !important; clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); }
html.ez-hab-17 .ez-thr-pastille { border-radius: 999px !important; }

/* ── Bandeau defilant : bande de la 2e couleur, etiquette en biais de la 1re ── */
html.ez-hab-17 #stage > .ez-action-ticker:not(.ez-zone-transp) {
  background-color: var(--ez-accent2) !important; border-top: none; --ez-accent-text: var(--ez-hab-sur-a2, #ffffff);
}
html.ez-hab-17 .ez-action-ticker { display: flex; }
html.ez-hab-17 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center;
  padding: 0 1.3em 0 .9em; background: var(--ez-accent); color: var(--ez-hab-sur-a1, #ffffff);
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 900; letter-spacing: 1px;
  font-size: min(26px, calc(var(--ez-h-px, 50px) * .5));
  clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
}
html.ez-hab-17 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-17 .ez-ticker-track {
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 800; text-transform: uppercase; letter-spacing: .6px;
  font-size: min(clamp(14px, 1.7vw, 26px), calc(var(--ez-h-px, 100px) * .56));
}

/* ── Texte, chiffres ── */
html.ez-hab-17 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 1px solid var(--hab-filet); }
html.ez-hab-17 .ez-scores-value { border-radius: 999px; font-size: 21px; padding: 0 12px; }
html.ez-hab-17 .ez-action-text > div:last-child {
  font-family: 'Hab Barlow Condensed', sans-serif !important; font-style: italic; font-weight: 800;
}

/* ══════════════════════════════════════════════════════════════════════
   18 · NUIT FLUO
   Bowling de nuit : fond anthracite, le titre dans un bloc plein de la
   1re couleur, texte sombre, bout coupe en oblique et suivi de trois
   barres au meme angle (115deg, 25 degres sur la verticale), tirets
   multicolores des lumieres des quilles sous l'en-tete. Capitales
   italiques Barlow Condensed, texte en Barlow.
   Option du style « habLine » (booleen) : un trait blanc cerne les blocs
   (classe ez-hab-filet sur <html>) ; sur un style clair, il prend la
   couleur du texte. Sans l'option, pas de trait.
   Les tirets multicolores ont des couleurs propres a l'habillage.
   ══════════════════════════════════════════════════════════════════════ */
html.ez-hab-18 #stage { font-family: 'Hab Barlow', 'Barlow', sans-serif !important; }
html.ez-hab-18 #stage > .ez-zone {
  /* 1re couleur telle quelle, pour les blocs : certaines zones remplacent --ez-accent par sa variante lisible */
  --hab-a1: var(--ez-accent);
  --hab-arc: linear-gradient(90deg, #ff3b3b 0 14%, #ff9f1c 14% 28%, #ffe14d 28% 42%, #3ddc84 42% 57%, #1ec8ff 57% 71%, #7a5cff 71% 85%, #ff1fce 85%);
  --hab-trait: rgba(255,255,255,.08); --hab-voile: rgba(0,0,0,.25); --hab-filet-c: #ffffff;
  --ez-font-title: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif;
  font-family: 'Hab Barlow', 'Barlow', sans-serif !important;
  border-radius: 0 !important;
}
html.ez-hab-18.ez-hab-clair #stage > .ez-zone { --hab-trait: rgba(0,0,0,.10); --hab-voile: rgba(0,0,0,.06); --hab-filet-c: var(--ez-text); }
html.ez-hab-18 #stage > .ez-zone:not(.ez-zone-transp):not(.ez-zone-arriere):not(.ez-action-header):not(.ez-action-image):not(.ez-action-media):not(.ez-action-iframe):not(.ez-action-slideshow):not(.ez-action-playlist):not(.ez-action-ticker) {
  background-color: var(--ez-panel-bg) !important;
}
/* Les capitales italiques de l'habillage */
html.ez-hab-18 .ez-header-title, html.ez-hab-18 .ez-header-clock, html.ez-hab-18 .ez-panel-title, html.ez-hab-18 .ez-ts-title,
html.ez-hab-18 [data-key^="cat:"], html.ez-hab-18 .ez-rk-spot-tete, html.ez-hab-18 [data-key^="entry:"] .rn, html.ez-hab-18 [data-key^="entry:"] .sc,
html.ez-hab-18 .ez-clock, html.ez-hab-18 .ez-schedule-time, html.ez-hab-18 .ez-thr-titre, html.ez-hab-18 .ez-thr-lbl b, html.ez-hab-18 .ez-rk-thr b,
html.ez-hab-18 .ez-rk-thr .ez-rk-niv, html.ez-hab-18 .ez-thr-seg,
html.ez-hab-18 .ez-action-countdown .ez-cd-d, html.ez-hab-18 .ez-action-countdown .ez-cd-h,
html.ez-hab-18 .ez-action-countdown .ez-cd-m, html.ez-hab-18 .ez-action-countdown .ez-cd-s,
html.ez-hab-18 .ez-countdown-label, html.ez-hab-18 .ez-scores-value, html.ez-hab-18 .ez-ticker-track {
  font-family: 'Hab Barlow Condensed', 'Barlow Condensed', sans-serif !important; font-style: italic; font-weight: 800 !important;
}

/* ── Le bloc « decoupe » : titre de l'en-tete, titres des panneaux, etiquette du bandeau ──
   Une seule forme decoupee par un masque : le bloc, son bout oblique, puis trois barres.
   Tout est calcule en px depuis --hab-u (taille du texte) et --hab-hp (hauteur de la forme) :
   dans un degrade, Chromium compte les « em » sur 16 px et non sur la police de l'element.
   Le premier trait oblique part du coin bas du bloc : d0 = hauteur x 0,423 (le long de l'axe
   du degrade a 115deg) + une marge ; barres de 0,32 et intervalles de 0,24 (en tailles de texte). */
html.ez-hab-18 .ez-header-title, html.ez-hab-18 .ez-panel-title, html.ez-hab-18 .ez-ts-title, html.ez-hab-18 .ez-action-ticker::before {
  --hab-f: max(2px, calc(var(--hab-u) * .05));
  --hab-d0: calc(var(--hab-hp) * .423 + var(--hab-u) * .14);
  --hab-z: calc((var(--hab-d0) + var(--hab-u) * 1.72) / .906 + var(--hab-u) * .1);
  --hab-coupe-masque:
    linear-gradient(#000, #000) left / calc(100% - var(--hab-z) + 1px) 100% no-repeat,
    linear-gradient(115deg, #000 0 var(--hab-d0), transparent var(--hab-d0) calc(var(--hab-d0) + var(--hab-u) * .24),
      #000 calc(var(--hab-d0) + var(--hab-u) * .24) calc(var(--hab-d0) + var(--hab-u) * .56), transparent calc(var(--hab-d0) + var(--hab-u) * .56) calc(var(--hab-d0) + var(--hab-u) * .8),
      #000 calc(var(--hab-d0) + var(--hab-u) * .8) calc(var(--hab-d0) + var(--hab-u) * 1.12), transparent calc(var(--hab-d0) + var(--hab-u) * 1.12) calc(var(--hab-d0) + var(--hab-u) * 1.36),
      #000 calc(var(--hab-d0) + var(--hab-u) * 1.36) calc(var(--hab-d0) + var(--hab-u) * 1.68), transparent calc(var(--hab-d0) + var(--hab-u) * 1.68)) right / var(--hab-z) 100% no-repeat;
  /* Le trait de l'option : haut, bas, gauche, et le long du bout oblique (pas sur les barres) */
  --hab-coupe-filet:
    linear-gradient(var(--hab-filet-c), var(--hab-filet-c)) left top / calc(100% - var(--hab-z) + var(--hab-d0) / .906) var(--hab-f) no-repeat,
    linear-gradient(var(--hab-filet-c), var(--hab-filet-c)) left bottom / calc(100% - var(--hab-z) + var(--hab-u) * .15) var(--hab-f) no-repeat,
    linear-gradient(var(--hab-filet-c), var(--hab-filet-c)) left top / var(--hab-f) 100% no-repeat,
    linear-gradient(115deg, transparent 0 calc(var(--hab-d0) - var(--hab-f) * 1.1), var(--hab-filet-c) calc(var(--hab-d0) - var(--hab-f) * 1.1) var(--hab-d0), transparent var(--hab-d0)) right / var(--hab-z) 100% no-repeat;
  font-size: var(--hab-u) !important;
  background: var(--hab-a1) !important;
  -webkit-mask: var(--hab-coupe-masque); mask: var(--hab-coupe-masque);
  color: var(--ez-hab-sur-a1, #ffffff) !important; box-sizing: border-box;
}
html.ez-hab-18.ez-hab-filet .ez-header-title, html.ez-hab-18.ez-hab-filet .ez-panel-title, html.ez-hab-18.ez-hab-filet .ez-ts-title,
html.ez-hab-18.ez-hab-filet .ez-action-ticker::before { background: var(--hab-coupe-filet), var(--hab-a1) !important; }
/* Taille du titre : aussi bornee pour laisser la place aux tirets sous un en-tete bas */
html.ez-hab-18 .ez-header-title { --hab-u: min(clamp(20px, 3vw, 60px), calc(var(--ez-h-px, 100px) * .56), calc((var(--ez-h-px, 100px) - 18px) / 1.29)); --hab-hp: calc(var(--hab-u) * 1.29); }
html.ez-hab-18 .ez-panel-title, html.ez-hab-18 .ez-ts-title { --hab-u: 21px; --hab-hp: calc(var(--hab-u) * 1.4); }
html.ez-hab-18 .ez-action-ticker::before { --hab-u: min(26px, calc(var(--ez-h-px, 50px) * .5)); --hab-hp: var(--ez-h-px, 50px); }

/* ── En-tete : le bloc a la taille du titre, tirets des quilles dessous, horloge en bouton ── */
html.ez-hab-18 #stage > .ez-action-header { background: transparent !important; border-bottom: none !important; }
html.ez-hab-18 #stage > .ez-action-header::before {
  content: ''; position: absolute; left: 0; right: 0; bottom: 3px; height: 5px; pointer-events: none;
  background: var(--hab-arc);
  -webkit-mask: repeating-linear-gradient(90deg, #000 0 26px, transparent 26px 34px); mask: repeating-linear-gradient(90deg, #000 0 26px, transparent 26px 34px);
}
html.ez-hab-18 .ez-header-inner { gap: 16px; }
html.ez-hab-18 .ez-header-title {
  flex: 0 1 auto; font-weight: 900 !important; line-height: 1.15; letter-spacing: .5px;
  padding: .08em calc(var(--hab-z) + .1em) .06em .35em;
}
/* Titre centre ou a droite (reglage de l'action) : le bloc se deplace, puisqu'il a la taille du texte */
html.ez-hab-18 .ez-header-title[style*="text-align:center"] { margin-left: auto; margin-right: auto; }
html.ez-hab-18 .ez-header-title[style*="text-align:right"] { margin-left: auto; }
html.ez-hab-18 .ez-header-clock {
  margin-left: auto; background: var(--hab-a1); color: var(--ez-hab-sur-a1, #ffffff); border-radius: 6px;
  padding: .12em .6em; line-height: 1.15; font-size: min(clamp(16px, 1.9vw, 40px), calc(var(--ez-h-px, 100px) * .46));
}
html.ez-hab-18 .ez-header-title[style*="text-align:center"] ~ .ez-header-clock,
html.ez-hab-18 .ez-header-title[style*="text-align:right"] ~ .ez-header-clock { margin-left: 0; }
/* En-tete sans titre (logo et horloge seuls) : pas de bloc vide */
html.ez-hab-18 .ez-header-title:empty { display: none; }
html.ez-hab-18.ez-hab-filet .ez-header-clock { box-shadow: 0 0 0 2px var(--hab-filet-c); }

/* ── Titres des panneaux : le bloc, aligne a gauche ── */
html.ez-hab-18 .ez-panel { padding: 0; gap: 0; }
html.ez-hab-18 .ez-panel-title, html.ez-hab-18 .ez-ts-title {
  align-self: flex-start; display: inline-block !important; max-width: calc(100% - 28px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  line-height: 1.25 !important; text-align: left !important; letter-spacing: .5px !important;
  padding: 2px calc(var(--hab-z) + .1em) 1px 10px !important; margin: 12px 0 10px 14px !important; border-bottom: none !important;
}
html.ez-hab-18 .ez-schedule-list, html.ez-hab-18 .ez-scores-list { padding: 0 12px 10px; }
html.ez-hab-18 .ez-ts-wrap { padding: 0 !important; --ez-accent: var(--ez-hab-l-a1, var(--ez-accent)); }
html.ez-hab-18 .ez-ts-body { padding: 4px 14px 8px; }

/* ── Classement ── */
html.ez-hab-18 .ez-action-ranking .ez-ranking-cols { gap: 8px; }
html.ez-hab-18 .ez-col-static, html.ez-hab-18 .ez-col-last { border-right: none !important; }
/* Titres : aplat de la categorie, bout coupe au meme angle que les barres */
html.ez-hab-18 [data-key^="cat:"], html.ez-hab-18 .ez-rk-spot-tete {
  font-size: 16px !important; line-height: 1.2 !important; letter-spacing: .5px !important; padding-left: 12px !important;
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
/* Trait de l'option : haut, bas et gauche en ombre interieure, le bout oblique par un pseudo-element
   de la largeur de la coupe (10 px) : « to bottom right » fait passer la ligne des 50 % par ses coins
   haut droit et bas gauche, exactement le bord coupe par le clip-path. */
html.ez-hab-18.ez-hab-filet [data-key^="cat:"], html.ez-hab-18.ez-hab-filet .ez-rk-spot-tete {
  position: relative; box-shadow: inset 0 2px 0 var(--hab-filet-c), inset 0 -2px 0 var(--hab-filet-c), inset 2px 0 0 var(--hab-filet-c) !important;
}
html.ez-hab-18.ez-hab-filet [data-key^="cat:"]::after, html.ez-hab-18.ez-hab-filet .ez-rk-spot-tete::after {
  content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 10px; pointer-events: none;
  background: linear-gradient(to bottom right, transparent calc(50% - 2.2px), var(--hab-filet-c) calc(50% - 2.2px) 50%, transparent 50%);
}
/* Rang en parallelogramme ; podium en aplat de la couleur du rang */
html.ez-hab-18 [data-key^="entry:"] .rn {
  display: inline-flex; align-items: center; justify-content: center; min-width: 28px !important; height: 20px; padding: 0 6px; font-size: 15px !important;
  background: var(--hab-voile); clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%);
}
html.ez-hab-18 [data-key^="entry:"][data-pp] .rn { background: currentColor; }
html.ez-hab-18 [data-pp="1"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r1, #111); }
html.ez-hab-18 [data-pp="2"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r2, #111); }
html.ez-hab-18 [data-pp="3"] .rn { -webkit-text-fill-color: var(--ez-hab-sur-r3, #111); }
html.ez-hab-18 [data-key^="entry:"] .pn { font-weight: 600 !important; font-size: 14px !important; }
html.ez-hab-18 [data-key^="entry:"] .sc { font-size: 19px !important; background: transparent !important; padding: 0 3px 0 6px !important; }
/* Barriere */
html.ez-hab-18 .ez-rk-thr .ez-rk-trait { height: 3px !important; border-radius: 0 !important; }
html.ez-hab-18 .ez-rk-thr .ez-rk-niv { border-radius: 0 !important; clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%); padding: 0 12px !important; font-size: 13px !important; }

/* ── Meilleurs scores ── */
html.ez-hab-18 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:first-child {
  border-radius: 0 !important; clip-path: polygon(14% 0, 100% 0, 86% 100%, 0 100%); width: 56px !important;
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 900 !important;
}
html.ez-hab-18 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:nth-child(3) {
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 900 !important; font-size: 34px !important;
}
html.ez-hab-18 .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child { opacity: 1 !important; border-radius: 0 !important; }
html.ez-hab-18.ez-hab-filet .ez-ts-body > div[style*="align-items:flex-end"] > div > div:last-child { box-shadow: inset 0 0 0 2px var(--hab-filet-c); }
html.ez-hab-18 .ez-action-topscores [style*="border-radius"]:not([style*="50%"]) { border-radius: 0 !important; }

/* ── Programme ── */
html.ez-hab-18 .ez-schedule-row { border-radius: 0; border-bottom: 1px solid var(--hab-trait); padding: 9px 12px; }
html.ez-hab-18 .ez-schedule-row:not([data-coul]) { background: transparent !important; }
html.ez-hab-18 .ez-schedule-time { font-size: 23px; min-width: 62px; }
html.ez-hab-18 .ez-schedule-row:not([data-coul]) .ez-schedule-time { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; }
html.ez-hab-18 .ez-schedule-label { font-weight: 600; font-size: 16px; }
html.ez-hab-18 .ez-schedule-row[data-st]:not([data-coul]) .ez-schedule-label { color: var(--ez-text) !important; }
html.ez-hab-18 .ez-schedule-row[data-st="done"]:not([data-coul]) span { color: var(--ez-text-muted) !important; }
/* Etape en cours : bloc plein de la 1re couleur */
html.ez-hab-18 .ez-schedule-row[data-st="current"]:not([data-coul]) { background: var(--hab-a1) !important; }
html.ez-hab-18.ez-hab-filet .ez-schedule-row[data-st="current"]:not([data-coul]) { box-shadow: inset 0 0 0 2px var(--hab-filet-c); }
html.ez-hab-18 .ez-schedule-row[data-st="current"]:not([data-coul]) span,
html.ez-hab-18 .ez-schedule-row[data-st="current"]:not([data-coul]) .ez-schedule-label { color: var(--ez-hab-sur-a1, #ffffff) !important; }
html.ez-hab-18 .ez-schedule-row[data-st="current"]::after, html.ez-hab-18 .ez-schedule-row[data-st="next"]::after {
  flex-shrink: 0; margin-left: auto; padding: 2px 10px; line-height: 1.3; box-shadow: inset 0 0 0 2px currentColor;
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 800; font-size: 13px; letter-spacing: 1px;
}
html.ez-hab-18 .ez-schedule-row[data-st="current"]::after { content: var(--ez-hab-t-now, 'EN COURS'); color: var(--ez-hab-sur-a1, #ffffff); }
html.ez-hab-18 .ez-schedule-row[data-st="next"]::after { content: var(--ez-hab-t-next, 'À SUIVRE'); color: var(--ez-text); box-shadow: inset 0 0 0 2px var(--ez-accent2); }
/* Sur une ligne qui a sa couleur : les pastilles reprennent le texte choisi par le runtime */
html.ez-hab-18 .ez-schedule-row[data-coul][data-st]::after { color: inherit; box-shadow: inset 0 0 0 2px currentColor; }

/* ── Compte a rebours : panneau, trait de la 1re couleur en haut ── */
html.ez-hab-18 #stage > .ez-action-countdown:not(.ez-zone-transp) { border-top: 5px solid var(--hab-a1) !important; }
html.ez-hab-18 .ez-action-countdown .ez-countdown-wrap { --ez-accent: var(--ez-hab-l-a1, var(--ez-accent)); }
html.ez-hab-18 .ez-action-countdown .ez-cd-d, html.ez-hab-18 .ez-action-countdown .ez-cd-h,
html.ez-hab-18 .ez-action-countdown .ez-cd-m, html.ez-hab-18 .ez-action-countdown .ez-cd-s { font-weight: 900 !important; }
html.ez-hab-18 .ez-countdown-label { color: var(--ez-hab-l-a1, var(--ez-accent)) !important; letter-spacing: 2px !important; line-height: 1.3; }

/* ── Vote ── */
html.ez-hab-18 .ez-action-poll * { font-family: inherit !important; }
html.ez-hab-18 .ez-action-poll > div:first-child { clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
html.ez-hab-18 .ez-action-poll > div:first-child > div:first-child {
  font-family: 'Hab Barlow Condensed', sans-serif !important; font-style: italic; font-weight: 800 !important; text-transform: uppercase; font-size: 24px !important;
}
html.ez-hab-18 .ez-action-poll [style*="height:32px"] { height: 14px !important; border-radius: 0 !important; }

/* ── QR code, horloge ── */
html.ez-hab-18 .ez-action-qrcode > div > div, html.ez-hab-18 .ez-action-qrwifi > div > div { border-radius: 0 !important; box-shadow: 0 0 0 3px var(--hab-a1); }
html.ez-hab-18 .ez-action-qrcode span, html.ez-hab-18 .ez-action-qrwifi span {
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 800; font-size: 15px !important; text-transform: uppercase;
}
html.ez-hab-18 .ez-clock { font-weight: 900 !important; }

/* ── Seuils ── */
html.ez-hab-18 .ez-thr-titre { font-size: 16px !important; line-height: 1.25 !important; }
html.ez-hab-18 .ez-thr-seg { border-radius: 0 !important; clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); }

/* ── Bandeau defilant : fond du panneau, etiquette decoupee, capitales italiques ── */
html.ez-hab-18 #stage > .ez-action-ticker:not(.ez-zone-transp) { background-color: var(--ez-panel-bg) !important; border-top: none; --ez-accent-text: var(--ez-text); }
html.ez-hab-18 .ez-action-ticker { display: flex; }
html.ez-hab-18 .ez-action-ticker::before {
  content: var(--ez-hab-t-infos, 'INFOS'); flex-shrink: 0; display: flex; align-items: center; padding: 0 calc(var(--hab-z) + .1em) 0 .6em;
  font-family: 'Hab Barlow Condensed', sans-serif; font-style: italic; font-weight: 900;
}
html.ez-hab-18 .ez-ticker-wrap { flex: 1; min-width: 0; }
html.ez-hab-18 .ez-ticker-track { text-transform: uppercase; letter-spacing: .6px; font-size: min(clamp(14px, 1.7vw, 26px), calc(var(--ez-h-px, 100px) * .56)); }

/* ── Texte, chiffres ── */
html.ez-hab-18 .ez-scores-row { border-radius: 0; background: transparent; border-bottom: 1px solid var(--hab-trait); }
html.ez-hab-18 .ez-scores-value { border-radius: 0; }
html.ez-hab-18 .ez-action-text > div:last-child { font-family: 'Hab Barlow Condensed', sans-serif !important; font-style: italic; font-weight: 800; }
