/* OnziQ, design Volt (concept B, esprit Nike) appliqué à toute l'app, 28 octobre 2026.
   Base claire et éditoriale, gros titres condensés, blocs noirs pour le direct,
   jaune volt en accent seulement, onglets en pastilles. Les images 3D (badges, maillots, récompenses) sont conservées. */
:root{--volt:#D4FF3A;--volt-ink:#0B0B0B;--oq-display:"Anton","Big Shoulders Display","Archivo Narrow","Arial Narrow",Impact,sans-serif;--oq-num:"Archivo","Figtree",system-ui,sans-serif}

/* Titres : condensés, en capitales, très gros (tendance typographie éditoriale 2026) */
html .ptitle,html h2.ptitle,html .oqfan-intro h2,html .clubcover h2,html .tile .big,html .oqhub-space h2{font-family:var(--oq-display)!important;font-weight:400!important;text-transform:uppercase;letter-spacing:.005em;line-height:.95}
html .ptitle{font-size:clamp(2.1rem,8.5vw,3.4rem)!important}
html main h3{letter-spacing:.01em}
/* Chiffres et scores : police large et lisible, chiffres alignés */
html .score,html .big.num,html .sc,html [class*="score"],html .mrow b,html .clock{font-variant-numeric:tabular-nums}

/* Mode clair = mode par défaut, fond blanc éditorial */
/* Spécificité renforcée : la palette « volt » d'index.html (html[data-pal].is-light) imposait des fonds gris #F5F5F5. */
:root.is-light:is([data-pal],:not([data-pal])){--bg:#FFFFFF;--bg2:#FFFFFF;--glass:#FFFFFF;--glass2:#F4F4F1;--stroke:rgba(11,11,11,.10);--line:rgba(11,11,11,.10);--ink:#0B0B0B;--muted:#5F5F5A;--fill:#F2F2EE;--fill2:#E6E6E0;--shadow:0 1px 0 rgba(11,11,11,.04)}
:root.is-light body::before{display:none}
/* Logo texte en noir sur fond blanc */
:root.is-light .brand-wordmark{filter:brightness(0)}
/* Cartes : blanches, filet fin, sans ombre lourde */
:root.is-light #main .panel,:root.is-light #main .oqfan-tile,:root.is-light #main .tile{background:#FFFFFF;border:1px solid var(--stroke);box-shadow:none}
/* Blocs forts en noir : couverture du club, prochain match, direct */
:root.is-light #main .clubcover{background:#0B0B0B!important;color:#fff}
:root.is-light #main .clubcover *{color:inherit}
:root.is-light #main .clubcover .cccrest,:root.is-light #main .clubcover .cccrest *{color:#0B0B0B!important}
:root.is-light #main .clubcover .muted,:root.is-light #main .clubcover .eyebrow{color:#B9BDB5!important}

/* Onglets de section en pastilles sur une ligne, défilables */
html body #main .hubseg,html body #main .vesttabs{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px!important;padding:0!important;border:0!important;background:none!important;scrollbar-width:none}
html .hubseg::-webkit-scrollbar{display:none}
html body #main .hubseg>button,html body #main .vesttabs>button{flex:0 0 auto!important;width:auto!important;grid-column:auto!important;min-height:40px;padding:8px 16px!important;border-radius:999px!important;font-weight:700;white-space:nowrap!important;background:var(--fill)!important;color:var(--ink)!important;border:0!important}
html body #main .hubseg>button[aria-selected="true"],html body #main .vesttabs>button[aria-selected="true"],html body #main .vesttabs>button[aria-pressed="true"]{background:var(--ink)!important;color:var(--bg)!important}
@media (pointer:coarse){html .hubseg>button,html .vesttabs>button{min-height:44px}}

/* Puces d'actualité et filtres en pastilles noires quand actifs */
:root.is-light #main .chip[aria-pressed="true"],:root.is-light #main .seg3 button[aria-pressed="true"]{background:#0B0B0B;color:#fff}

/* Barre de navigation : verre blanc, onglet actif en pastille noire, accent volt */
:root.is-light .tabs{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--stroke)!important;box-shadow:0 8px 30px rgba(11,11,11,.08)!important}
:root.is-light .tabs button[aria-current="true"]{background:#0B0B0B!important;color:var(--volt)!important}

/* Bouton principal : volt sur texte noir (contraste élevé) */
:root.is-light #main .btn.pri,:root.is-light .oqpri{background:var(--volt)!important;color:var(--volt-ink)!important;border-color:var(--volt)!important}

/* Micro-interactions discrètes */
@media (prefers-reduced-motion:no-preference){#main .btn,#main .oqfan-tile,.tabs button{transition:transform .12s ease,background .15s ease}#main .btn:active,#main .oqfan-tile:active,.tabs button:active{transform:scale(.97)}}

/* Contrastes AA en mode clair : textes secondaires plus foncés */
:root.is-light #main .muted,:root.is-light #main .eyebrow,:root.is-light #main .pill:not(.ex),:root.is-light #main .who,:root.is-light #main .x,:root.is-light #main small{color:#4E4E49!important}
:root.is-light #main .clubcover .muted,:root.is-light #main .clubcover .eyebrow{color:#C9CCC4!important}
:root.is-light .tabs button:not([aria-current="true"]),:root.is-light .tabs button:not([aria-current="true"]) span{color:#3F3F3A!important}
:root.is-light #main .warn{color:#A1231C!important}
:root.is-light #main .mcmeta{color:#4E4E49!important}
/* Textes secondaires dans les blocs noirs (direct, prochain match, couverture) */
:root.is-light #main .board .warn,:root.is-light #main .hero .warn{color:#FF8A80!important}
:root.is-light #main .hero .eyebrow,:root.is-light #main .hero .pill,:root.is-light #main .hero .muted,:root.is-light #main .board .muted,:root.is-light #main .board .eyebrow,:root.is-light #main .board .pill:not(.ex){color:#C9CCC4!important}

/* Harmonisation Volt, 28 octobre 2026 (soir) : plus aucun bloc gris. Les surfaces passent en blanc à filet fin,
   y compris l'écran tournoi (matchs, cartes, équipes), malgré la règle grise !important de la palette d'index.html. */
:root.is-light:is([data-pal],:not([data-pal])) .panel,
:root.is-light:is([data-pal],:not([data-pal])) .tile:not(.hero),
:root.is-light:is([data-pal],:not([data-pal])) .tnm,
:root.is-light:is([data-pal],:not([data-pal])) .tncard,
:root.is-light:is([data-pal],:not([data-pal])) .tnteam{background:#FFFFFF!important;border:1px solid var(--stroke)!important;box-shadow:none!important}
