/* ── fontes auto-hebergees ─────────────────────────────────────────────── */
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/barlow-condensed-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/barlow-condensed-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --ink:#101725; --ink2:#19233A; --ink3:#26314C;
  --volt:#00E07A; --volt-deep:#00A85B; --live:#FF3B47;
  --page:#F4F6FA; --card:#FFFFFF; --line:#E3E8F0;
  --text:#101725; --muted:#5D6A80; --faint:#8A94A6;
  --pos:#00A85B; --warn:#E07C0B; --neg:#D3323D;

  /* Jetons de composant. Ils existent pour une raison precise : les mêmes composants
     (barre de probabilités, bouton, chiffres) sont poses tantot sur fond clair, tantot
     sur fond encre. Sans ce niveau d'indirection on obtient de l'encre sur encre —
     exactement le bug corrige ici. Toute surface sombre redefinit ce bloc. */
  --pb-track:#DCE2EC; --pb-draw:#9AA5B7;
  --btn-bg:var(--ink); --btn-fg:#fff; --btn-bg-hover:var(--ink3);
  --on-surface:var(--text); --on-surface-soft:var(--muted); --hairline:var(--line);
  --r:10px; --r-sm:6px;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --disp:'Barlow Condensed','Inter',-apple-system,'Segoe UI',sans-serif;
  --wrap:1200px;
  --shadow:0 1px 2px rgba(16,23,37,.05),0 6px 20px -12px rgba(16,23,37,.18);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.08;letter-spacing:-.005em;margin:0}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--volt-deep);outline-offset:2px;border-radius:3px}

/* ── surfaces sombres : un seul endroit qui redefinit les jetons ───────── */
.oz-hdr,.oz-ft,.oz-hero,.oz-fav,.oz-pick,.oz-drawer{
  --pb-track:rgba(255,255,255,.18); --pb-draw:rgba(255,255,255,.42);
  --btn-bg:var(--volt); --btn-fg:var(--ink); --btn-bg-hover:#3BE894;
  --on-surface:#fff; --on-surface-soft:rgba(255,255,255,.68); --hairline:rgba(255,255,255,.14);
  --pos:#3BE894; --warn:#FFAE4D; --neg:#FF6B74;
}

.oz-wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.oz-num{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}
.oz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── header ────────────────────────────────────────────────────────────── */
.oz-hdr{background:var(--ink);color:#fff;position:sticky;top:0;z-index:60}
.oz-hdr-in{display:flex;align-items:center;gap:14px;height:62px}
.oz-logo{display:flex;align-items:center;flex:0 0 auto}
.oz-logo img{height:46px;width:auto}
.oz-nav{display:none}
.oz-hdr-act{margin-left:auto;display:flex;align-items:center;gap:8px}
.oz-live-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,59,71,.14);color:#FFC9CD;border:1px solid rgba(255,59,71,.34);border-radius:999px;padding:5px 11px 5px 9px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.oz-dot{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(255,59,71,.7);animation:ozPulse 1.9s infinite}
@keyframes ozPulse{0%{box-shadow:0 0 0 0 rgba(255,59,71,.65)}70%{box-shadow:0 0 0 8px rgba(255,59,71,0)}100%{box-shadow:0 0 0 0 rgba(255,59,71,0)}}
@media (prefers-reduced-motion:reduce){.oz-dot{animation:none}}
.oz-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-sm);cursor:pointer;color:#fff}
.oz-burger span{display:block;width:18px;height:2px;background:currentColor;position:relative}
.oz-burger span::before,.oz-burger span::after{content:'';position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .18s ease}
.oz-burger span::before{top:-6px}.oz-burger span::after{top:6px}
.oz-drawer{position:fixed;inset:62px 0 0;background:var(--ink);z-index:59;padding:8px 0 40px;overflow-y:auto;display:none}
.oz-drawer[data-open="1"]{display:block}
/* La couleur est OBLIGATOIRE ici : le tiroir est pose sur fond encre alors que la couleur
   de lien par defaut est celle du corps de page, sombre. Sans elle, les categories parentes
   restaient invisibles tout en etant cliquables — le pire des deux mondes. Les sous-liens
   et l'element actif avaient la leur, pas les parents. */
.oz-drawer a{display:block;padding:15px 20px;font-family:var(--disp);font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.oz-drawer a[aria-current]{color:var(--volt)}
/* La ligne porte la separation, plus le lien : sinon le trait s'arrete avant le chevron. */
.oz-drawer .oz-drow{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.oz-drawer .oz-drow a{flex:1;border-bottom:0}
/* 56 px de large : un chevron se vise au pouce, en haut de l'ecran, souvent d'une main. */
.oz-dtog{flex:0 0 56px;align-self:stretch;min-height:54px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-left:1px solid rgba(255,255,255,.08);color:#fff;cursor:pointer}
.oz-dtog .oz-caret{margin:0;opacity:.75;transition:transform .18s ease}
.oz-dtog[aria-expanded="1"] .oz-caret,.oz-dtog[aria-expanded="true"] .oz-caret{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.oz-dtog .oz-caret{transition:none}}
body[data-lock="1"]{overflow:hidden}
/* le menu complet ne tient qu'à partir de ~1050px (8 entrees) ; en dessous, tiroir */
@media (min-width:1050px){
  .oz-burger{display:none}
  .oz-drawer{display:none!important}
  .oz-nav{display:flex;align-items:center;gap:1px;margin-left:6px}
  .oz-nav a{font-family:var(--disp);font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding:8px 9px;border-radius:var(--r-sm);color:rgba(255,255,255,.82);white-space:nowrap}
  .oz-nav a:hover{background:rgba(255,255,255,.09);color:#fff}
  .oz-nav a[aria-current]{color:var(--ink);background:var(--volt)}
}

/* ── bandeau live ──────────────────────────────────────────────────────── */
.oz-tick{background:var(--ink2);border-top:1px solid rgba(255,255,255,.07);color:#fff}
.oz-tick-in{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:9px 16px;max-width:var(--wrap);margin:0 auto}
.oz-tick-in::-webkit-scrollbar{display:none}
.oz-tk{flex:0 0 auto;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:6px 13px;font-size:13px;white-space:nowrap}
.oz-tk b{font-weight:700}
.oz-tk-min{color:var(--live);font-weight:700;font-size:12px}
.oz-tk-time{color:rgba(255,255,255,.55);font-size:12px}
/* Le jour, quand ce n'est pas aujourd'hui : discret mais lisible, colle a l'heure. */
.oz-tk-day{color:rgba(255,255,255,.42);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-right:4px}
.oz-tk:hover{background:rgba(255,255,255,.11)}

/* ── structure ─────────────────────────────────────────────────────────── */
.oz-main{padding:22px 0 56px}
.oz-grid{display:grid;gap:22px}
/* un enfant de grille se dimensionne sur son contenu par defaut : sans min-width:0,
   un tableau large pousse toute la page en debordement horizontal sur mobile */
.oz-grid>*{min-width:0}
@media (min-width:1000px){.oz-grid-2{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}}
.oz-sec{display:flex;align-items:baseline;gap:12px;margin:0 0 12px}
.oz-sec h2,.oz-sec h1{font-size:clamp(24px,4.4vw,30px);text-transform:uppercase}
.oz-sec .oz-more{margin-left:auto;font-size:13px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:1px}
.oz-sec .oz-more:hover{color:var(--ink);border-color:var(--ink)}
.oz-block{margin-bottom:34px}

.oz-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.oz-card-h{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.oz-card-h h2,.oz-card-h h3{font-size:19px;text-transform:uppercase}
.oz-card-h .oz-more{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted)}
.oz-card-b{padding:14px}

.oz-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--volt-deep)}
.oz-muted{color:var(--muted)}
.oz-small{font-size:13px}

/* ── pastille club ─────────────────────────────────────────────────────── */
.oz-chip{flex:0 0 auto;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.02em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);position:relative;overflow:hidden}
.oz-chip::after{content:'';position:absolute;inset:0;background:linear-gradient(150deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%)}
.oz-chip span{position:relative;z-index:1}
.oz-chip-lg{width:56px;height:56px;border-radius:12px;font-size:20px}
.oz-chip-xl{width:84px;height:84px;border-radius:16px;font-size:30px}
/* blason : tuile claire par defaut ; un blason quasi blanc reclame l'encre pour rester visible */
.oz-chip-logo{background:#fff;box-shadow:inset 0 0 0 1px rgba(16,23,37,.09)}
.oz-chip-logo.oz-chip-dark{background:#141C2E;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.oz-chip-logo::after{display:none}
.oz-chip-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.oz-chip-logo.oz-chip-lg img{padding:6px}
.oz-chip-logo.oz-chip-xl img{padding:9px}

/* ── liste de matchs ───────────────────────────────────────────────────── */
.oz-mday{font-family:var(--disp);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:14px 14px 6px}
.oz-m{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--line)}
.oz-m:first-of-type{border-top:0}
.oz-m:hover{background:#FAFBFD}
.oz-m-when{font-size:13px;font-weight:600;color:var(--muted);text-align:center}
.oz-m-when .oz-min{color:var(--live);font-weight:700}
.oz-m-teams{min-width:0}
.oz-m-t{display:flex;align-items:center;gap:9px;padding:2px 0;min-width:0}
.oz-m-t b{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oz-m-t.oz-lose b{color:var(--faint);font-weight:500}
.oz-m-sc{display:flex;flex-direction:column;gap:2px;align-items:flex-end;font-weight:700;font-size:17px}
.oz-m-sc i{font-style:normal;line-height:1.25}
.oz-m-sc.oz-live-sc{color:var(--live)}
.oz-m-odds{display:none;gap:6px}
.oz-od{min-width:52px;text-align:center;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 4px;background:#fff}
.oz-od u{display:block;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--faint);text-transform:uppercase}
.oz-od b{font-size:14px;font-weight:700}
@media (min-width:760px){
  .oz-m{grid-template-columns:60px minmax(0,1fr) auto auto}
  .oz-m-odds{display:flex}
}

/* Barre de probabilités 1 N 2. Les deux extremites portent les couleurs des clubs
   (passees en ligne, corrigees pour rester lisibles sur le fond) ; le nul reste neutre.
   Aucune des trois n'est verte : le vert est réservé au jugement. */
.oz-pb{display:flex;height:7px;border-radius:99px;overflow:hidden;background:var(--pb-track);margin-top:8px}
.oz-pb i{display:block;height:100%;background:var(--pb-draw)}
.oz-pb i:nth-child(2){background:var(--pb-draw)}
.oz-pb-lg{height:11px}
.oz-pl{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:600;color:var(--on-surface-soft);margin-top:6px}
.oz-pl span{display:inline-flex;align-items:center;gap:5px}
.oz-pl i{width:8px;height:8px;border-radius:2px;flex:0 0 auto}

/* ── tableaux ──────────────────────────────────────────────────────────── */
.oz-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.oz-tbl{font-size:14px;min-width:520px}
.oz-tbl th,.oz-tbl td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.oz-tbl th{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);background:#FAFBFD;position:sticky;top:0}
.oz-tbl th:first-child,.oz-tbl td:first-child{text-align:left}
.oz-tbl td:nth-child(2){text-align:left}
.oz-tbl tbody tr:hover{background:#FAFBFD}
.oz-tbl .oz-pts{font-weight:700}
.oz-rk{width:26px;color:var(--faint);font-weight:700;font-size:13px}
.oz-team-cell{display:flex;align-items:center;gap:9px;font-weight:600}
.oz-form{display:flex;gap:3px;justify-content:flex-end}
.oz-f{width:19px;height:19px;border-radius:4px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff}
.oz-f-V{background:var(--volt-deep)}.oz-f-N{background:#9AA5B7}.oz-f-D{background:#D94A52}
.oz-zone-c{box-shadow:inset 3px 0 0 var(--volt-deep)}
.oz-zone-r{box-shadow:inset 3px 0 0 #D94A52}
.oz-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);padding:10px 14px 0}
.oz-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}

/* ── actualites ────────────────────────────────────────────────────────── */
.oz-news{display:grid;gap:16px}
@media (min-width:640px){.oz-news{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.oz-news-3{grid-template-columns:repeat(3,1fr)}}
.oz-nc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease}
.oz-nc:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,23,37,.06),0 14px 30px -18px rgba(16,23,37,.4)}
.oz-nc-thumb{aspect-ratio:16/9;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--ink)}
.oz-nc-b{padding:13px 14px 15px;display:flex;flex-direction:column;gap:7px;flex:1}
.oz-nc-b h3{font-size:20px;line-height:1.15}
.oz-nc:hover h3{text-decoration:underline;text-underline-offset:3px}
.oz-nc-dek{font-size:14px;color:var(--muted);margin:0}
.oz-nc-meta{margin-top:auto;font-size:12px;color:var(--faint);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.oz-tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:var(--ink);color:#fff}
.oz-tag-analyse{background:var(--ink)}
.oz-tag-actu{background:#2C5CE0}
.oz-tag-mercato{background:#C2410C}
.oz-tag-stats{background:var(--volt-deep)}

.oz-flist{list-style:none;margin:0;padding:0}
.oz-flist li{border-top:1px solid var(--line)}
.oz-flist li:first-child{border-top:0}
.oz-flist a{display:flex;gap:11px;padding:11px 14px;align-items:flex-start}
.oz-flist a:hover{background:#FAFBFD}
.oz-flist h4{font-family:var(--sans);font-size:14.5px;font-weight:600;line-height:1.35;margin:0}
.oz-flist time{font-size:12px;color:var(--faint)}

/* ── prose editoriale ──────────────────────────────────────────────────── */
.oz-prose{font-size:17px;line-height:1.72;max-width:70ch}
.oz-prose p{margin:0 0 18px}
.oz-prose h2{font-size:clamp(22px,3.6vw,27px);margin:32px 0 12px;text-transform:none}
.oz-prose h3{font-size:20px;margin:24px 0 8px}
.oz-prose ul{margin:0 0 18px;padding-left:20px}
.oz-prose li{margin-bottom:8px}
.oz-prose strong{font-weight:700}
.oz-prose a{color:var(--volt-deep);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.oz-prose a:hover{color:var(--ink)}
.oz-note{background:#F3F7FF;border:1px solid #D9E4F8;border-radius:var(--r);padding:13px 15px;font-size:15px;color:var(--ink2);margin:0 0 20px}
.oz-figure{margin:0 0 22px}
.oz-figure figcaption{font-size:12.5px;color:var(--faint);padding:8px 2px 0}

/* ── hero interne ──────────────────────────────────────────────────────── */
.oz-hero{background:var(--ink);color:#fff;border-radius:var(--r);padding:22px 18px;margin-bottom:22px;position:relative;overflow:hidden}
.oz-hero::after{content:'';position:absolute;right:-60px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(0,224,122,.22),transparent 65%)}
.oz-hero h1{font-size:clamp(30px,6.6vw,46px);text-transform:uppercase;position:relative}
.oz-hero p{color:rgba(255,255,255,.76);margin:9px 0 0;max-width:62ch;position:relative}
.oz-hero .oz-eyebrow{color:var(--volt)}
.oz-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;position:relative}
@media (min-width:700px){.oz-kpis{grid-template-columns:repeat(4,1fr)}}
.oz-kpi{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-sm);padding:10px 12px}
.oz-kpi b{display:block;font-family:var(--disp);font-size:27px;line-height:1.05}
.oz-kpi span{font-size:11.5px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.06em;font-weight:600}

/* ── fil d'ariane ──────────────────────────────────────────────────────── */
.oz-bc{font-size:12.5px;color:var(--faint);padding:2px 0 14px;display:flex;gap:7px;flex-wrap:wrap}
.oz-bc a:hover{color:var(--ink)}
.oz-bc span{color:var(--line)}

/* ── filtres ───────────────────────────────────────────────────────────── */
.oz-filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:14px}
.oz-filters::-webkit-scrollbar{display:none}
.oz-fl{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 16px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit}
.oz-fl:hover{border-color:#C7D0DE;color:var(--ink)}
.oz-fl[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

/* ── maillage par entite ───────────────────────────────────────────────── */
.oz-ent{display:flex;flex-wrap:wrap;gap:8px}
.oz-ent a{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 13px 5px 5px;font-size:13.5px;font-weight:600}
.oz-ent a:hover{border-color:var(--ink);box-shadow:var(--shadow)}
.oz-ent .oz-chip{width:24px;height:24px;border-radius:6px;font-size:9.5px}

.oz-cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:640px){.oz-cgrid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.oz-cgrid{grid-template-columns:repeat(6,1fr)}}
/* Absents et incertains : une ligne par joueur, le motif et l'anciennete sous le nom. La
   couleur ne porte qu'un verdict — rouge pour l'absent, ambre pour l'incertain. */
.oz-abs-l{list-style:none;margin:0;padding:0}
.oz-abs-l li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid var(--line)}
.oz-abs-l li:last-child{border-bottom:0}
.oz-abs-l b{font-size:14.5px;font-weight:600}
.oz-abs-l span{font-size:12px;color:var(--faint);text-align:right;text-transform:uppercase;letter-spacing:.03em}
.oz-abs-l i{grid-column:1/-1;font-size:12.5px;font-style:normal;color:var(--muted)}
.oz-cc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.oz-cc:hover{border-color:var(--ink);box-shadow:var(--shadow)}
.oz-cc b{font-size:13.5px;font-weight:600;line-height:1.25}
.oz-cc span{font-size:11.5px;color:var(--faint)}

/* ── page match : le visuel d'affiche ──────────────────────────────────── */
/* Fond clair, comme le reste de la page : le bandeau encre écrasait la fiche et coupait la
   lecture en deux. Les blasons portent l'affiche, les couleurs des clubs se limitent au
   filet de 4 px sous l'en-tête. */
.oz-mv{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:22px;box-shadow:var(--shadow)}
.oz-mv-top{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:12.5px;color:var(--muted);background:#FAFBFD;border-bottom:1px solid var(--line)}
.oz-mv-comp{display:inline-flex;align-items:center;gap:8px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.oz-mv-comp img{width:24px;height:24px;object-fit:contain;flex:0 0 auto}
.oz-mv-flag{margin-left:auto;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.oz-mv .oz-pill-live{margin-left:auto}
.oz-mv-brand{height:24px;width:auto;opacity:.85;flex:0 0 auto;margin-left:12px}
.oz-mv-rule{display:flex;height:4px}
.oz-mv-rule i{flex:1}
.oz-mv-b{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:26px 12px 22px}
.oz-mv-t{display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center;min-width:0}
.oz-mv-t b{font-family:var(--disp);font-size:clamp(17px,4vw,25px);text-transform:uppercase;line-height:1.1;color:var(--text)}
.oz-mv-c{text-align:center;padding:0 4px}
.oz-mv-score{display:block;font-family:var(--disp);font-size:clamp(32px,9vw,54px);font-weight:700;line-height:1;color:var(--text)}
.oz-mv-c small{display:block;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.05em;margin-top:7px;text-transform:uppercase}
.oz-mv-min{color:var(--live)}
.oz-mv-goals{display:grid;grid-template-columns:1fr 1px 1fr;gap:14px;padding:0 14px 16px;font-size:13px;color:var(--muted)}
.oz-gl{list-style:none;margin:0;padding:0}
.oz-gl li{padding:2px 0;font-variant-numeric:tabular-nums}
.oz-gl li::before{content:'⚽ ';font-size:11px}
.oz-gl-r{text-align:right}
.oz-gl-sep{background:var(--line)}
.oz-mv-foot{display:flex;flex-wrap:wrap;gap:6px 16px;padding:12px 14px;background:#FAFBFD;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
@media (max-width:420px){.oz-mv-brand{display:none}}

/* ── blason grand format + vignette d'article ──────────────────────────── */
.oz-crest{display:grid;place-items:center;border-radius:14px;background:#fff;box-shadow:0 6px 18px -8px rgba(16,23,37,.35),inset 0 0 0 1px rgba(16,23,37,.09);flex:0 0 auto;overflow:hidden}
.oz-crest.oz-crest-dark{background:#141C2E;box-shadow:0 8px 24px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.16)}
.oz-crest img{width:100%;height:100%;object-fit:contain;padding:11%}
.oz-crest-fb{font-family:var(--disp);font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.oz-th{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;width:100%;height:100%;overflow:hidden;background:var(--thB,#F4F7FB)}
.oz-th::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--thA,#EDF1F7) 0%,var(--thB,#F7F9FC) 62%)}
.oz-th::after{content:'';position:absolute;right:-16%;bottom:-48%;width:76%;height:150%;transform:rotate(18deg);background:var(--thC,#E7EDF6);border-radius:36px;opacity:.5}
.oz-th>*{position:relative;z-index:1}
.oz-th-vs{font-family:var(--disp);font-size:17px;font-weight:700;color:var(--faint);text-transform:uppercase}
.oz-th .oz-crest{border-radius:12px;box-shadow:0 10px 26px -12px rgba(16,23,37,.5),inset 0 0 0 1px rgba(16,23,37,.07)}
.oz-clogo{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(16,23,37,.09)}
.oz-clogo img{width:100%;height:100%;object-fit:contain;padding:7px}

/* ── séries de résultats, onze aligné ──────────────────────────────────── */
.oz-fm-grid{display:grid;gap:16px}
@media (min-width:700px){.oz-fm-grid{grid-template-columns:1fr 1fr;gap:22px}}
.oz-fm-h{display:flex;align-items:center;gap:9px;padding-bottom:9px;border-bottom:1px solid var(--line);font-weight:600}
.oz-fm-h a{font-weight:700}
.oz-fm-h .oz-small{margin-left:auto;font-weight:600}
.oz-fm-l{list-style:none;margin:0;padding:0}
.oz-fm-l li{display:grid;grid-template-columns:22px 40px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.oz-fm-l li:last-child{border-bottom:0}
.oz-fm-d{color:var(--faint);font-size:12px}
.oz-fm-o{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-fm-c{grid-column:3/-1;color:var(--faint);font-size:11.5px;margin-top:-4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-fm-n{margin:10px 0 0}
/* ── le terrain ────────────────────────────────────────────────────────────
   Un vrai terrain, en CSS : les lignes viennent de la grille de la feuille de match, donc
   le 4-2-3-1 se lit comme un 4-2-3-1. Les noms restent du texte (lecteur d'écran, moteur). */
.oz-pitch{margin-top:12px;border-radius:var(--r-sm);overflow:hidden;background:#123A28;background-image:repeating-linear-gradient(180deg,rgba(255,255,255,.045) 0 34px,rgba(255,255,255,0) 34px 68px);box-shadow:inset 0 0 0 2px rgba(255,255,255,.14)}
.oz-pitch-in{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:16px 8px;min-height:290px;position:relative}
.oz-pitch-in::before{content:'';position:absolute;left:8px;right:8px;top:50%;height:1px;background:rgba(255,255,255,.16)}
.oz-pitch-in::after{content:'';position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border:1px solid rgba(255,255,255,.16);border-radius:50%}
.oz-pitch-line{display:flex;justify-content:space-evenly;align-items:center;gap:4px;position:relative;z-index:1}
.oz-pp{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:82px}
.oz-pp i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-style:normal;font-size:11.5px;font-weight:700;color:#0B1220;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.oz-pp b{font-size:11px;font-weight:600;color:#fff;text-align:center;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:82px}
.oz-lu-l{list-style:none;margin:8px 0 0;padding:0}
.oz-lu-l li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:5px 0;font-size:13.5px;border-bottom:1px solid var(--line)}
.oz-lu-l li:last-child{border-bottom:0}
.oz-lu-l b{color:var(--faint);font-weight:600;text-align:right}
.oz-lu-l i{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted);background:#EEF2F8;border-radius:4px;padding:2px 6px}
.oz-stat-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.oz-stat-row:last-child{border-bottom:0}
.oz-stat-row b{font-weight:700;min-width:42px}
.oz-stat-row b:last-child{text-align:right}
.oz-stat-lbl{text-align:center;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.oz-bar2{display:flex;height:5px;border-radius:99px;overflow:hidden;background:var(--line);margin-top:5px}
.oz-bar2 i:first-child{background:var(--ink)}
.oz-bar2 i:last-child{background:var(--volt-deep)}

/* ── auteur ────────────────────────────────────────────────────────────── */
.oz-byline{display:flex;align-items:center;gap:11px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 24px}
.oz-byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--line)}
.oz-byline b{font-size:14.5px}
.oz-byline span{display:block;font-size:12.5px;color:var(--muted)}
.oz-abox{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-top:34px}
@media (min-width:620px){.oz-abox{grid-template-columns:96px 1fr}}
.oz-abox img{width:96px;height:96px;border-radius:var(--r);object-fit:cover;background:var(--line)}

/* ── pied de page ──────────────────────────────────────────────────────── */
.oz-ft{background:var(--ink);color:rgba(255,255,255,.72);padding:36px 0 26px;font-size:14px}
.oz-ft-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px}
@media (min-width:820px){.oz-ft-cols{grid-template-columns:1.4fr repeat(4,1fr)}}
.oz-ft h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:11px;font-family:var(--sans);font-weight:700}
.oz-ft ul{list-style:none;margin:0;padding:0}
.oz-ft li{margin-bottom:8px}
.oz-ft a:hover{color:var(--volt)}
.oz-ft-brand img{height:40px;width:auto;margin-bottom:12px}
.oz-ft-brand p{margin:0;font-size:13.5px;line-height:1.6;max-width:34ch}
.oz-ft-legal{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:18px;font-size:12.5px;color:rgba(255,255,255,.5);display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.oz-seedwarn{background:#5A3B00;color:#FFE7B8;border:1px solid #8A6014;border-radius:var(--r-sm);padding:9px 12px;font-size:12.5px;margin-bottom:18px}

/* ── divers ────────────────────────────────────────────────────────────── */
.oz-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:999px;background:#EEF2F8;color:var(--muted)}
.oz-pill-live{background:rgba(255,59,71,.1);color:#C22A34}
.oz-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn-bg);color:var(--btn-fg);border:0;border-radius:var(--r-sm);padding:12px 20px;font-family:var(--disp);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
.oz-btn:hover{background:var(--btn-bg-hover)}
.oz-btn-ghost{background:transparent;color:var(--on-surface);border:1px solid var(--hairline)}
.oz-btn-ghost:hover{background:transparent;border-color:var(--on-surface)}
.oz-center{text-align:center}
.oz-hide{display:none!important}
.oz-hide-more{display:none}

/* ── sous-menus ────────────────────────────────────────────────────────── */
.oz-has-sub{position:relative}
.oz-sub{display:none;position:absolute;top:100%;left:0;min-width:248px;background:var(--ink2);border:1px solid rgba(255,255,255,.13);border-radius:var(--r);padding:6px;box-shadow:0 18px 40px -14px rgba(0,0,0,.65);z-index:70}
.oz-has-sub:hover .oz-sub,.oz-has-sub:focus-within .oz-sub,.oz-sub[data-open="1"]{display:block}
.oz-sub a{display:block;font-family:var(--sans)!important;font-size:14px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;padding:9px 12px!important;border-radius:var(--r-sm);color:rgba(255,255,255,.82)}
.oz-sub a:hover{background:rgba(255,255,255,.1);color:#fff}
.oz-sub a[aria-current]{color:var(--volt)!important;background:transparent!important}
.oz-sub li:first-child a{border-bottom:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm) var(--r-sm) 0 0;font-weight:700!important}
.oz-sub ul{list-style:none;margin:0;padding:0}
.oz-caret{display:inline-block;width:0;height:0;margin-left:5px;vertical-align:middle;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6}
/* tiroir mobile : le sous-menu est une liste indentee, toujours ouverte */
.oz-drawer .oz-dsub{list-style:none;margin:0;padding:0 0 8px;background:rgba(0,0,0,.22)}
.oz-drawer .oz-dsub a{font-family:var(--sans);font-size:15px;font-weight:500;text-transform:none;letter-spacing:0;padding:11px 20px 11px 34px;border-bottom:0;color:rgba(255,255,255,.72)}

/* ── pronostic : bloc de recommandation ───────────────────────────────── */
.oz-pick{background:var(--ink);color:#fff;border-radius:var(--r);overflow:hidden}
.oz-pick-h{display:flex;align-items:center;gap:9px;padding:12px 15px;background:rgba(0,224,122,.12);border-bottom:1px solid rgba(0,224,122,.25)}
.oz-pick-h b{font-family:var(--disp);font-size:18px;text-transform:uppercase;letter-spacing:.03em}
.oz-pick-h .oz-eyebrow{color:var(--volt)}
.oz-pick-b{padding:16px 15px}
.oz-pick-val{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.oz-pick-val strong{font-family:var(--disp);font-size:clamp(26px,5.4vw,34px);line-height:1;color:var(--volt)}
.oz-pick-val span{font-size:13.5px;color:rgba(255,255,255,.68)}
/* Confiance : rouge / orange / vert. Une confiance moyenne affichee en vert était le
   contresens signale — la couleur doit porter le jugement, pas la marque. */
.oz-conf{--conf:var(--warn);display:flex;align-items:center;gap:7px;margin-top:13px;font-size:12.5px;color:var(--on-surface-soft);flex-wrap:wrap}
.oz-conf[data-level="1"],.oz-conf[data-level="2"]{--conf:var(--neg)}
.oz-conf[data-level="3"]{--conf:var(--warn)}
.oz-conf[data-level="4"],.oz-conf[data-level="5"]{--conf:var(--pos)}
.oz-conf i{width:22px;height:6px;border-radius:99px;background:var(--pb-track,#DCE2EC);flex:0 0 auto}
.oz-conf i.on{background:var(--conf)}
.oz-conf em{font-style:normal;font-weight:700;color:var(--conf)}
.oz-conf-sm i{width:13px;height:5px}
/* barres seules : rien a ecrire, donc rien qui puisse deborder de sa colonne */
.oz-conf-bare{gap:5px}
.oz-pick-keys{list-style:none;margin:15px 0 0;padding:0}
.oz-pick-keys li{position:relative;padding:0 0 9px 20px;font-size:14.5px;color:rgba(255,255,255,.86);line-height:1.5}
.oz-pick-keys li::before{content:'';position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:2px;background:var(--volt)}

/* ── analyse Oddzone (bloc de marque) ─────────────────────────────────── */
.oz-analysis{border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden;box-shadow:var(--shadow)}
.oz-analysis-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);background:#FAFBFD}
.oz-analysis-h img{height:26px;width:auto}
.oz-analysis-h span{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.oz-analysis-b{padding:16px}
.oz-analysis-b h2,.oz-analysis-b h3{font-size:clamp(20px,3.6vw,25px);margin:0 0 10px;line-height:1.18}
.oz-analysis-b p{margin:0 0 12px;font-size:16px;line-height:1.68}
.oz-analysis-b p:last-child{margin-bottom:0}
.oz-analysis-b .oz-lede{font-size:17.5px;line-height:1.62;color:var(--ink2);padding-bottom:14px;border-bottom:1px solid var(--line)}
.oz-detail{max-width:70ch}
.oz-detail h3{font-family:var(--disp);font-size:20px;font-weight:700;line-height:1.15;margin:22px 0 8px;color:var(--ink)}
.oz-detail h3:first-child{margin-top:14px}
.oz-detail p{font-size:16px;line-height:1.7;color:#26314C}
.oz-detail a{color:var(--volt-deep);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.oz-detail a:hover{color:var(--ink)}
.oz-sig{display:flex;align-items:center;gap:9px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.oz-sig img{width:34px;height:34px;border-radius:50%;object-fit:cover}

/* ── paris populaires ─────────────────────────────────────────────────────
   Mobile : chaque marché est une carte (intitulé + probabilité, barre, puis la
   cote et l'indice de value). Desktop : une grille alignée avec un en-tête unique. */
.oz-mk-tabs{display:flex;gap:7px;padding:13px 14px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.oz-mk-note{padding:11px 14px;font-size:13px;color:var(--muted);background:#FAFBFD;border-bottom:1px solid var(--line)}
.oz-mk-head{display:none}
.oz-mk-row{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;align-items:center;padding:14px;border-top:1px solid var(--line)}
.oz-mk-name{grid-column:1/-1;font-size:15.5px;font-weight:600;min-width:0}
.oz-mk-p{grid-column:1/-1;display:flex;align-items:center;gap:11px;font-variant-numeric:tabular-nums}
.oz-mk-p b{font-size:18px;font-weight:700;min-width:62px}
.oz-mk-bar{flex:1;height:7px;border-radius:99px;background:#E7ECF3;overflow:hidden}
.oz-mk-bar i{display:block;height:100%;background:var(--ink);border-radius:99px}
.oz-mk-odd,.oz-mk-val{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.oz-odd-chip{display:inline-flex;flex-direction:column;line-height:1.15;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 11px;background:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.oz-odd-chip u{text-decoration:none;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.oz-odd-chip b{font-size:15px;font-weight:700}
/* une cote deduite se signale : pointilles sous le libelle, comme une note de bas de page */
.oz-odd-chip-derived u{border-bottom:1px dotted var(--faint);cursor:help}
.oz-odd-derived{border-bottom:1px dotted var(--faint);cursor:help}
/* l'indice de value : un nombre + son verdict. La couleur porte le verdict, rien d'autre. */
.oz-val{display:inline-flex;align-items:baseline;gap:2px;padding:5px 11px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}
.oz-val b{font-size:17px;font-weight:700;line-height:1}
.oz-val u{text-decoration:none;font-size:11px;font-weight:600;opacity:.72}
.oz-val-haut{color:#2E7D4F;background:rgba(0,168,91,.11)}
.oz-val-moyen{color:var(--muted);background:#EEF2F8}
.oz-val-bas{color:#A82730;background:rgba(211,50,61,.11)}

/* la pastille d'explication : repliée, mais son texte est dans la page (donc indexable) */
.oz-info{border-top:1px solid var(--line)}
.oz-info summary{display:flex;align-items:center;gap:9px;padding:13px 14px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--muted);list-style:none}
.oz-info summary::-webkit-details-marker{display:none}
.oz-info summary i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-size:11px;font-weight:700;flex:0 0 auto}
.oz-info summary:hover{color:var(--ink)}
.oz-info[open] summary{border-bottom:1px solid var(--line)}
.oz-info-b{padding:14px;font-size:13.5px;color:var(--muted);line-height:1.6}
.oz-info-b p{margin:0 0 10px}
.oz-info-b ul{margin:0 0 10px;padding-left:19px}
.oz-info-b li{margin-bottom:5px}
.oz-info-b strong{color:var(--text)}
@media (min-width:820px){
  .oz-mk-head{display:grid}
  .oz-mk-head,.oz-mk-row{grid-template-columns:minmax(0,1.5fr) minmax(170px,1fr) 150px;gap:16px;align-items:center}
  .oz-mk-head{padding:9px 14px;background:#FAFBFD;border-bottom:1px solid var(--line)}
  .oz-mk-head span{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
  .oz-mk-name,.oz-mk-p{grid-column:auto}
  .oz-mk-p b{min-width:54px;font-size:16px}
  .oz-mk-odd,.oz-mk-val{justify-content:flex-start}
  .oz-odd-chip{width:auto}
}

/* le credit de source d'une breve : discret, mais jamais absent */
.oz-source{margin:22px 0 0;padding:12px 14px;background:#F4F7FB;border-left:3px solid var(--line);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:13.5px;color:var(--muted)}
.oz-source a{font-weight:600;color:var(--text);text-decoration:underline;text-underline-offset:2px}

/* ── palmarès et repères d'un club ─────────────────────────────────────── */
.oz-honours{list-style:none;margin:0;padding:0}
.oz-honours li{position:relative;padding:0 0 10px 26px;font-size:15.5px;line-height:1.45}
.oz-honours li::before{content:'★';position:absolute;left:0;top:0;color:var(--volt-deep);font-size:14px}
.oz-reperes{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.oz-reperes li{position:relative;padding:0 0 7px 26px;font-size:14px;color:var(--muted)}
.oz-reperes li::before{content:'';position:absolute;left:9px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--faint)}

/* ── cartes de pronostic (accueil) ─────────────────────────────────────── */
.oz-pc-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:640px){.oz-pc-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.oz-pc-grid{grid-template-columns:repeat(3,1fr)}}
.oz-pc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease}
.oz-pc:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,23,37,.06),0 14px 30px -18px rgba(16,23,37,.4)}
.oz-pc-h{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:11px}
.oz-pc-comp{display:inline-flex;align-items:center;gap:6px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-pc-comp img{width:18px;height:18px;object-fit:contain;flex:0 0 auto}
.oz-pc-when{margin-left:auto;white-space:nowrap;font-weight:600}
.oz-pc-teams{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.oz-pc-teams>span{display:flex;align-items:center;gap:9px;min-width:0}
.oz-pc-teams b{font-size:15.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-pc-f{display:flex;align-items:center;gap:10px;margin-top:12px}
.oz-pc-pick{display:flex;flex-direction:column;min-width:0}
.oz-pc-pick u{text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.oz-pc-pick b{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-btn-sm{margin-left:auto;padding:9px 14px;font-size:13px;white-space:nowrap}
/* une ligne de match sans fiche : même présentation, mais ni lien ni survol */
.oz-m-flat{cursor:default}
.oz-m-flat:hover{background:transparent}

/* La note Oddzone : posée A COTE de la sélection et dimensionnée comme ce qu'elle est — le
   chiffre qu'on retient de la fiche. Sa couleur porte son verdict (au-dessus de 70 :
   probable, tranchée, correctement payée ; sous 50 : match ouvert), elle ne décore pas. */
.oz-pick-top{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.oz-pick-top .oz-pick-val{flex:1 1 240px;min-width:0}
.oz-pick-note{flex:0 0 auto;display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:center;column-gap:3px;padding:10px 16px;border-radius:var(--r-sm);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15)}
.oz-pick-note b{font-family:var(--disp);font-size:40px;line-height:.95}
.oz-pick-note i{font-style:normal;font-size:14px;font-weight:600;color:rgba(255,255,255,.5)}
.oz-pick-note span{grid-column:1/-1;margin-top:3px;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.oz-note-haut b{color:var(--pos)}
.oz-note-moyen b{color:#fff}
.oz-note-bas b{color:var(--neg)}
/* le meme depliant, sur surface sombre */
.oz-info-dark{border-top:1px solid rgba(255,255,255,.14);margin-top:14px}
.oz-info-dark summary{padding:12px 0;color:rgba(255,255,255,.72)}
.oz-info-dark summary i{background:rgba(255,255,255,.16);color:#fff}
.oz-info-dark summary:hover{color:#fff}
.oz-info-dark[open] summary{border-bottom:1px solid rgba(255,255,255,.14)}
.oz-info-dark .oz-info-b{padding:14px 0 4px;color:rgba(255,255,255,.72)}
.oz-info-dark .oz-info-b strong{color:#fff}
.oz-info-dark .oz-info-b a{color:var(--volt);text-decoration:underline;text-underline-offset:2px}

/* ── listing des pronostics ────────────────────────────────────────────────
   Une ligne par match : quand, qui, la sélection, la cote, l'indice, la confiance.
   Mobile : deux rangées empilées ; desktop : une vraie grille alignée sur l'en-tête. */
/* Mobile : la date en haut, l'affiche, puis la sélection et la cote sur une ligne.
   Desktop : cinq colonnes fixes alignées sur l'en-tête. Les largeurs sont posées en dur
   parce que le contenu l'exige — « Aujourd'hui » a besoin de sa place (il passait sous le
   blason), et les cinq barres de confiance tiennent sur une ligne ou ne servent à rien. */
.oz-pl-head{display:none}
.oz-pl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"when when" "teams teams" "pick odds";gap:8px 12px;align-items:center;padding:13px 14px;border-top:1px solid var(--line)}
.oz-pl-row:first-of-type{border-top:0}
.oz-pl-row:hover{background:#FAFBFD}
.oz-pl-when{grid-area:when;display:flex;align-items:baseline;gap:7px}
.oz-pl-when b{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.oz-pl-when span{font-size:12.5px;color:var(--muted)}
.oz-pl-teams{grid-area:teams;display:flex;flex-direction:column;gap:5px;min-width:0}
.oz-pl-teams>span{display:flex;align-items:center;gap:8px;min-width:0}
.oz-pl-teams b{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-pl-comp{padding-left:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-pl-pick{grid-area:pick;min-width:0}
.oz-pl-pick b{display:block;font-size:14px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-pl-pick .oz-small{display:block;line-height:1.2}
.oz-pl-odd{grid-area:odds;font-size:15px;font-weight:700;text-align:right;white-space:nowrap}
.oz-pl-odd::before{content:'cote ';font-size:11px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.05em}
.oz-pl-conf{display:none}
@media (min-width:900px){
  .oz-pl-head{display:grid;padding:9px 14px;background:#FAFBFD;border-bottom:1px solid var(--line)}
  .oz-pl-head span{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
  .oz-pl-head,.oz-pl-row{grid-template-columns:132px minmax(0,1.3fr) minmax(168px,1fr) 78px 104px;grid-template-areas:none;gap:18px;align-items:center}
  .oz-pl-when,.oz-pl-teams,.oz-pl-pick,.oz-pl-odd{grid-area:auto}
  .oz-pl-when{flex-direction:column;align-items:flex-start;gap:2px}
  .oz-pl-when{overflow:hidden}
  .oz-pl-when b{white-space:nowrap}
  /* la cote s'aligne sur son en-tete, comme toutes les autres colonnes : alignee a droite,
     elle demarrait 35 px plus loin que le mot « Cote » et paraissait appartenir a la colonne
     suivante. En mobile elle reste a droite, ou elle fait face a la selection. */
  .oz-pl-odd{text-align:left}
  .oz-pl-odd::before{content:none}
  .oz-pl-conf{display:block;grid-area:auto;overflow:hidden}
  .oz-pl-conf .oz-conf{margin-top:0;flex-wrap:nowrap;white-space:nowrap}
}

/* ── vote lecteur ─────────────────────────────────────────────────────── */
.oz-vote-btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.oz-vb{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;font:inherit;min-height:66px;justify-content:center}
.oz-vb b{font-size:13.5px;font-weight:700;text-align:center;line-height:1.2}
.oz-vb span{font-size:11.5px;color:var(--faint)}
.oz-vb:hover{border-color:var(--ink)}
.oz-vb[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.oz-vb[aria-pressed="true"] span{color:rgba(255,255,255,.66)}
.oz-vote-out{margin-top:14px}
.oz-vote-line{display:grid;grid-template-columns:78px 1fr 44px;gap:9px;align-items:center;font-size:13px;margin-bottom:7px}
.oz-vote-line em{font-style:normal;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oz-vote-line b{text-align:right;font-weight:700}
.oz-vote-track{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.oz-vote-track i{display:block;height:100%;background:var(--ink)}
.oz-vote-track.oz-vt-me i{background:var(--volt-deep)}

/* ── carte "match préféré" (accueil) ──────────────────────────────────── */
.oz-fav{display:grid;gap:0;background:var(--ink);color:#fff;border-radius:var(--r);overflow:hidden}
@media (min-width:860px){.oz-fav{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.oz-fav-l{padding:20px 18px 22px;position:relative;overflow:hidden}
.oz-fav-l::after{content:'';position:absolute;right:-70px;bottom:-110px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(0,224,122,.2),transparent 65%)}
.oz-fav-teams{display:flex;align-items:center;gap:12px;margin:12px 0 0;position:relative}
.oz-fav-teams b{font-family:var(--disp);font-size:clamp(20px,4vw,27px);text-transform:uppercase;line-height:1.05}
.oz-fav-meta{font-size:13px;color:rgba(255,255,255,.62);margin:12px 0 0;position:relative}
.oz-fav-r{background:rgba(255,255,255,.05);border-left:1px solid rgba(255,255,255,.09);padding:18px}
@media (max-width:859px){.oz-fav-r{border-left:0;border-top:1px solid rgba(255,255,255,.09)}}
.oz-fav-quote{font-size:15.5px;line-height:1.62;color:rgba(255,255,255,.88);margin:0}
