:root{
  --fond:#070c0a; --carte:#0d1512; --carte2:#0f1714; --trait:#1c2723;
  --encre:#e4f4ec; --gris:#7fa595; --gris2:#6a8e7f; --vert:#00c983;
  --alerte:#ff7a59; --or:#f5c451; --rouge:#e0645a; --duel-b:#6db3f2;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-padding-top:16px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--encre);
  font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums}
a{color:var(--vert);text-decoration:none;transition:color .15s}
a:hover{text-decoration:underline;text-underline-offset:2px}
/* Le focus se voit partout, au clavier seulement : un seul trait vert. */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--vert);outline-offset:2px;border-radius:4px}
::selection{background:rgba(0,201,131,.35)}
.saut{position:absolute;left:12px;top:-60px;z-index:50;background:var(--vert);color:var(--fond);font-weight:700;padding:8px 12px;border-radius:8px}
.saut:focus{top:12px;text-decoration:none}
main{max-width:1060px;margin:0 auto;padding:16px 14px 56px}
section{margin-bottom:34px}
h1{font-size:clamp(24px,5.2vw,38px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 8px;text-wrap:balance}
h2{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 10px;line-height:1.2}
p{color:var(--gris);margin:0 0 12px;max-width:70ch}
button{font-family:inherit}
/* Le mouvement, sobre : bordures, couleurs, fonds. Rien qui bouge si le système le demande. */
.carte-div,.pod,.affiche,.dc,.ft-tuiles div,.meta div,.vig,.pli-btn,.rech input,.quoi-btn,.ong-barre [role=tab]{transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important;scroll-behavior:auto!important}}

/* ---- l'en-tête : le logo et la recherche sur une ligne, la navigation sur
   une rangée qui glisse au pouce ; sur l'ordinateur, tout sur une ligne ---- */
.tete{border-bottom:1px solid var(--trait);padding:10px 14px 0;display:flex;align-items:center;
  gap:8px 14px;flex-wrap:wrap;max-width:1060px;margin:0 auto}
.logo{display:flex;align-items:center;gap:8px;color:var(--encre);font-weight:800;
  font-size:18px;letter-spacing:-.03em;min-height:44px}
.logo:hover{text-decoration:none}
.signe{width:28px;height:28px;flex:0 0 auto}
.tete nav{flex:1 1 100%;order:3;display:flex;gap:4px;font-size:14px;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 10px;scroll-snap-type:x proximity}
.tete nav::-webkit-scrollbar{display:none}
.tete nav a{color:var(--gris);padding:12px 6px;border-bottom:2px solid transparent;white-space:nowrap;
  min-height:44px;display:inline-flex;align-items:center;scroll-snap-align:start}
.tete nav a:hover{color:var(--encre);text-decoration:none}
.tete nav a[aria-current="page"]{color:var(--encre);border-bottom-color:var(--vert)}
.rech{position:relative;flex:1 1 120px;min-width:0}
@media(min-width:1120px){
  .tete{padding:14px 20px;gap:22px;flex-wrap:nowrap}
  .tete nav{flex:0 1 auto;order:0;margin-left:auto;margin-right:0;padding:0;gap:16px;overflow:visible}
  .tete nav a{padding:4px 0;border-bottom-width:1px;min-height:0}
  .rech{flex:0 0 220px}
}

/* ---- recherche : liste de suggestions, en-tête et pronostiqueur ---- */
.rech input{width:100%;background:var(--carte);border:1px solid var(--trait);border-radius:10px;
  color:var(--encre);font:inherit;font-size:16px;padding:10px 12px;min-height:44px;-webkit-appearance:none}
.rech input::placeholder{color:var(--gris2)}
.rech input:focus{outline:none;border-color:var(--vert);box-shadow:0 0 0 3px rgba(0,201,131,.18)}
.rech-liste{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;margin:0;padding:4px;
  list-style:none;background:var(--carte2);border:1px solid var(--trait);border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.55);max-height:60vh;overflow-y:auto}
.tete .rech-liste{left:auto;right:0;width:min(420px,calc(100vw - 28px))}
.rech-liste li{display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:baseline;
  padding:9px 10px;border-radius:7px;cursor:pointer;min-height:44px}
.rech-liste li.on,.rech-liste li:hover{background:var(--trait)}
.rech-liste li.rien{display:block;color:var(--gris2);font-size:13px;cursor:default}
.rech-liste li.rien:hover{background:none}
.r-nom{font-weight:700;font-size:14px}
.r-div{grid-column:1;font-size:11.5px;color:var(--gris2)}
.r-note{grid-column:2;grid-row:1/3;align-self:center;text-align:right;
  font-family:var(--mono);font-size:13px;color:var(--vert);white-space:nowrap}
@media(min-width:1024px){.rech input{font-size:14px;padding:8px 12px;min-height:0}.rech-liste li{min-height:0;padding:7px 9px}}

/* ---- le « ? » : la différence entre les classements, au survol et au toucher ---- */
.titre-quoi{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.titre-quoi h1,.titre-quoi h2{margin:0}
.quoi-btn{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--trait);background:var(--carte);
  color:var(--vert);font:700 15px/1 var(--mono);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  position:relative}
/* La cible fait 44 px : le cercle en dessine 36. */
.quoi-btn::after{content:"";position:absolute;inset:-4px}
.quoi-btn:hover,.quoi-btn[aria-expanded="true"]{background:var(--vert);color:var(--fond);border-color:var(--vert)}
.quoi-panneau{background:var(--carte);border:1px solid rgba(0,201,131,.35);border-radius:12px;padding:12px 14px;
  margin:0 0 14px;font-size:14.5px;line-height:1.5;max-width:60ch}
.quoi-panneau[hidden]{display:none}
.quoi-zone:has(> .titre-quoi .quoi-btn:hover) .quoi-panneau[hidden],.quoi-zone:has(> .ft-rangs .quoi-btn:hover) .quoi-panneau[hidden]{display:block}
.quoi-panneau p{margin:0 0 6px;color:var(--gris)}
.quoi-panneau p b{color:var(--encre)}
.quoi-panneau a{display:inline-block;margin-top:4px;font-size:13.5px}
.ft-rangs .quoi-btn{width:30px;height:30px;font-size:13px;vertical-align:middle;margin:0 4px 0 8px}

/* ---- pronostiqueur ---- */
.pr-choix{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
.pr-slot .rech{flex:none}
.pr-etiq{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris2);margin-bottom:6px}
.pr-vs{font-family:var(--mono);font-size:12px;color:var(--gris2);text-align:center;padding:4px 0}
.pr-carte{background:var(--carte);border:1px solid var(--trait);border-radius:10px;
  padding:10px 13px;margin-top:10px;display:flex;flex-direction:column;gap:3px}
.pr-carte b{font-size:15px}
.pr-carte span{font-size:12.5px;color:var(--gris)}
.pr-carte em{font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--gris2)}
.pr-sortie{margin-top:26px}
.pr-jauge{position:relative;display:flex;height:16px;border-radius:8px;overflow:hidden;background:var(--trait)}
.pr-jauge i{display:block;height:100%}
.pr-jauge i[data-jauge-a]{background:var(--vert)}
.pr-jauge i[data-jauge-b]{background:#37514a}
.pr-chiffres{display:flex;justify-content:space-between;gap:14px;margin-top:10px}
.pr-cote{display:flex;flex-direction:column;gap:2px;min-width:0}
.pr-cote b{font-family:var(--mono);font-size:32px;font-weight:500;color:var(--vert);line-height:1;white-space:nowrap}
.pr-cote span{font-size:13px;color:var(--gris);overflow-wrap:anywhere}
.pr-droite{text-align:right;align-items:flex-end}
.pr-droite b{color:#9fbdb0}
.pr-vide{font-family:var(--mono);font-size:13px;color:var(--gris2);margin-top:22px}
.pr-avert{font-size:13.5px;margin:12px 0 0;padding:9px 13px;border-radius:9px;border-left:3px solid var(--alerte);background:var(--carte);color:var(--gris)}
.pr-avert[hidden]{display:none}
@media(min-width:760px){.pr-choix{grid-template-columns:1fr auto 1fr;gap:14px}.pr-vs{align-self:center;padding-top:18px}}

/* ---- la courbe de carrière : la note et le rang au soir de chaque combat,
   la courbe de sa catégorie en fond, la trajectoire attendue au bout ---- */
.carriere{background:var(--carte);border:1px solid var(--trait);border-radius:14px;padding:13px 12px 10px;min-width:0}
.cr-tete{display:flex;justify-content:space-between;align-items:baseline;gap:6px 14px;flex-wrap:wrap;margin-bottom:8px}
.cr-titre{font:10px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gris2)}
.cr-chiffres{font:11px/1.3 var(--mono);color:var(--gris)}
.cr-chiffres b{color:var(--vert);font-weight:500}
.cr-chiffres .cr-or{color:var(--or)}
.cr{display:block;width:100%;height:auto;overflow:visible;font-family:var(--mono)}
.cr-large{display:none}
.cr-etroit{display:block}
@media(min-width:641px){.cr-large{display:block}.cr-etroit{display:none}}
.cr-grille{stroke:var(--trait);stroke-width:1}
.cr-grille-rang{stroke-dasharray:2 4}
.cr-an{stroke:var(--trait);stroke-width:1;stroke-opacity:.6}
.cr-axe{font-size:9.5px;fill:var(--gris2);letter-spacing:.04em}
.cr-axe-d{letter-spacing:.12em;text-transform:uppercase;font-size:8.5px}
.cr-aire{fill:var(--vert);fill-opacity:.05}
.cr-ligne{fill:none;stroke:var(--vert);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cr-cat-bande{fill:#9fbdb0;fill-opacity:.10}
.cr-cat-med{fill:none;stroke:#9fbdb0;stroke-opacity:.55;stroke-width:1.2;stroke-linejoin:round}
.cr-cat-lib{font-size:8.5px;fill:#9fbdb0;letter-spacing:.08em;text-transform:uppercase}
.cr-regne rect{fill:var(--or);fill-opacity:.55}
.cr-regne-ouvert rect{fill-opacity:.85}
.cr-regne-lib{font-size:8.5px;fill:var(--or);letter-spacing:.12em;text-transform:uppercase}
.cr-pic{font-size:10px;fill:var(--encre);font-weight:500}
.cr-auj{stroke:var(--gris2);stroke-width:1;stroke-dasharray:3 3}
.cr-auj-lib{font-size:8.5px;fill:var(--gris2);letter-spacing:.1em;text-transform:uppercase}
.cr-traj-bande{fill:var(--vert);fill-opacity:.09}
.cr-traj{fill:none;stroke:var(--vert);stroke-width:1.6;stroke-dasharray:3 4;stroke-linecap:round}
.cr-traj-pt{fill:var(--vert)}
.cr-traj-lib{font-size:9px;fill:var(--vert)}
.cr-rang-ligne{fill:none;stroke:var(--gris2);stroke-width:1.2;stroke-linejoin:round}
.cr-rang-pt{fill:var(--gris2)}
.cr-rang-top{fill:var(--vert)}
.cr-rang-lib{font-size:9.5px;fill:var(--vert);font-weight:500}
/* Chaque combat : une zone de survol invisible, un point, la légende du haut. */
.cb{outline:none;cursor:crosshair}
.cb-zone{fill:transparent}
.cb-guide{stroke:var(--encre);stroke-opacity:0;stroke-width:1;stroke-dasharray:2 3;transition:stroke-opacity .15s}
.cb-pt{stroke-width:1.8;transition:r .15s}
.cb-v .cb-pt{fill:var(--fond);stroke:var(--vert)}
.cb-d .cb-pt{fill:var(--fond);stroke:var(--rouge)}
.cb-n .cb-pt{fill:var(--fond);stroke:var(--gris2)}
.cb-fin.cb-v .cb-pt{fill:var(--vert)}
.cb-fin.cb-d .cb-pt{fill:var(--rouge)}
.cb-fin.cb-n .cb-pt{fill:var(--gris2)}
.cb-anneau{fill:none;stroke:var(--or);stroke-width:1.2;stroke-opacity:.8}
.cr-gemme{fill:var(--or);stroke:var(--fond);stroke-width:1}
.cr-gemme-perdue{fill:var(--fond);stroke:var(--or);stroke-width:1.2}
.cb-info{display:none}
.cb-lg,.cr-lg{font-size:11px;fill:var(--encre)}
.cr-etroit .cr-lg{font-size:9.5px}
.cr-lg2{fill:var(--gris)}
.cb:hover .cb-info,.cb:focus .cb-info,.cb:focus-within .cb-info{display:block}
.cb:hover .cb-guide,.cb:focus .cb-guide{stroke-opacity:.45}
.cb:hover .cb-pt,.cb:focus .cb-pt{r:6px}
.cb:focus-visible .cb-pt{stroke-width:3}
.cr-fait{margin:10px 0 0;font-size:14.5px;color:var(--encre);max-width:none}
.cr-legende{margin:8px 0 0;font:10px/1.8 var(--mono);color:var(--gris2);max-width:none}
.cr-legende i{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:-1px;margin:0 3px 0 6px;border:1.8px solid var(--gris2);box-sizing:border-box}
.cr-legende i:first-child{margin-left:0}
.cr-legende .lg-v{border-color:var(--vert)}
.cr-legende .lg-d{border-color:var(--rouge)}
.cr-legende .lg-vide{background:var(--fond)}
.cr-legende .lg-plein{background:var(--gris2)}
.cr-legende .lg-titre{border-color:var(--or)}
.cr-legende .lg-gemme{border:0;border-radius:0;background:var(--or);clip-path:polygon(50% 0,100% 33%,50% 100%,0 33%)}
.cr-legende .lg-cat{border:0;border-radius:2px;background:rgba(159,189,176,.35)}
.cr-legende .lg-traj{border:0;border-radius:0;height:0;width:14px;border-top:2px dashed var(--vert);vertical-align:3px}
@media(prefers-reduced-motion:reduce){.cb-pt,.cb-guide{transition:none}}

/* ---- l'accroche et les chiffres, sous le classement ---- */
.accroche h2{max-width:22ch}
.chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.chiffres div{background:var(--carte);border:1px solid var(--trait);border-radius:10px;
  padding:10px 11px;display:flex;flex-direction:column;gap:3px;min-width:0}
.chiffres b{font-family:var(--mono);font-size:17px;font-weight:500;color:var(--vert);line-height:1;overflow-wrap:anywhere}
.chiffres span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gris2)}
@media(min-width:640px){.chiffres{display:flex;flex-wrap:wrap;gap:10px}.chiffres div{padding:11px 15px}.chiffres b{font-size:19px}}

.chapo{font-size:17px;color:var(--encre)}
.cnt-sexe{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gris2);font-weight:400;margin-left:9px;white-space:nowrap}
.suite{margin:12px 0 0;font-size:14.5px}
.source{margin:8px 0 0;font:11.5px/1.5 var(--mono);color:var(--gris2);max-width:none}
.preuve{font-size:16px;color:var(--encre);max-width:60ch}
.preuve b{color:var(--vert);font-family:var(--mono);font-weight:500}
.contact-rappel p{font-size:15px;color:var(--encre);padding:14px 16px;background:var(--carte);border:1px solid var(--trait);border-radius:12px;max-width:none}
.methode h2{margin-top:26px;font-size:18px}
.methode p{color:var(--encre)}
.methode p b{color:var(--vert)}
.methode-pied{margin-top:26px;font-size:14px;color:var(--gris)!important}

/* ---- attributs de jeu : six jauges sur la fiche ---- */
.attr-sur{margin:0 0 6px}
.attrs{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.attr{display:grid;grid-template-columns:82px 1fr 30px;align-items:center;gap:10px}
.attr-nom{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris2)}
.attr-jauge{height:7px;border-radius:4px;background:var(--trait);overflow:hidden}
.attr-jauge i{display:block;height:100%;background:var(--vert);border-radius:4px}
.attr-val{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--encre);text-align:right}

/* ---- organisations ---- */
.orgs .o-nom{font-weight:700}
.orgs tr.ref .o-nom{color:var(--vert)}
.orgs .niveau{font-family:var(--mono);font-size:15px;text-align:right}
.orgs .num,.orgs .date{font-family:var(--mono);font-size:12.5px;color:var(--gris);text-align:right;display:none}
.orgs th.num,.orgs th.date{display:none}
@media(min-width:1024px){.orgs .num,.orgs .date,.orgs th.num,.orgs th.date{display:table-cell}}
.entete-page .fil{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.entete-page h1 .cnt-sexe{font-size:12px}

/* ---- les tableaux de classement : le téléphone d'abord ----
   Sur le téléphone : le rang (et son motif), le mouvement, le portrait, le nom
   (et sa ceinture), l'organisation — la catégorie sur le livre pour livre —,
   la note. L'ordinateur ajoute l'autre rang, le dernier combat, la meilleure
   victoire, le top 15, la forme, les combats, l'identité sous le nom. */
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gris2);font-weight:400;
  padding:0 5px 8px;border-bottom:1px solid var(--trait)}
td{padding:8px 5px;border-bottom:1px solid var(--trait);vertical-align:middle}
tbody tr{transition:background-color .12s}
tbody tr:hover{background:var(--carte)}
.rang{font-family:var(--mono);color:var(--gris2);width:34px;padding-left:2px;padding-right:2px}
.nom a{color:var(--encre);font-weight:700}
.nom a:hover{color:var(--vert);text-decoration:none}
.nom{min-width:0;overflow-wrap:anywhere}
.div,.org{color:var(--gris);font-size:12.5px;white-space:nowrap}
.div-l{display:none}
.note{text-align:right;font-family:var(--mono);white-space:nowrap;width:52px;padding-right:2px}
.note b{color:var(--vert);font-weight:500;font-size:15px}
.cbt{text-align:right;font-family:var(--mono);color:var(--gris2);width:52px}
.mv{color:var(--gris);font-size:13.5px}
.mv span,.t50 span{font-family:var(--mono);font-size:11.5px;color:var(--gris2);margin-left:3px;white-space:nowrap}
.t50{text-align:right;font-family:var(--mono);white-space:nowrap;width:60px}
.nom .sous{display:none;font:11px/1.35 var(--mono);color:var(--gris2);margin-top:2px}
.ceinture{display:inline-block;font:10px/1.2 var(--mono);color:var(--vert);border:1px solid rgba(0,201,131,.45);border-radius:3px;padding:2px 5px;margin-left:6px;vertical-align:1px;white-space:nowrap}
/* Ce que le téléphone ne montre pas. */
.mv,.t50,.fo,.cbt,.autre,.dern,th.mv,th.t50,th.fo,th.cbt,th.autre,th.dern{display:none}
.p4p .org,.p4p th.org{display:none}
.amateurs .annees,.amateurs th.annees{display:none}
.podium.pod-cat,div.pod-cat{display:none}
@media(min-width:1024px){
  th{font-size:10px;letter-spacing:.14em;padding:0 8px 9px}
  td{padding:7px 8px}
  .rang{width:44px}
  .nom{min-width:150px}
  .div,.org{font-size:13.5px}
  .div-l{display:inline}.div-c{display:none}
  .mv,.t50,.fo,.cbt,.autre,.dern,th.mv,th.t50,th.fo,th.cbt,th.autre,th.dern{display:table-cell}
  .p4p .org,.p4p th.org{display:table-cell}
  .amateurs .annees,.amateurs th.annees{display:table-cell}
  .nom .sous{display:block}
  .note{width:auto}
  .podium.pod-cat{display:grid}div.pod-cat{display:block}
  tr.trois{display:none}
}
/* Sous 1 024 px, les colonnes ont une largeur fixe et le nom prend le reste :
   le tableau ne peut pas déborder, un nom long passe à la ligne, une
   organisation longue se coupe par des points de suspension. */
@media(max-width:1023px){
  .classement{table-layout:fixed}
  .classement td{overflow-wrap:anywhere}
  .classement th.rang,.classement td.rang{width:28px}
  .classement th.mvc,.classement td.mvc{width:32px}
  .classement th.vc,.classement td.vc{width:36px}
  .classement th.org,.classement td.org,.classement th.div,.classement td.div{width:68px;overflow:hidden;text-overflow:ellipsis}
  .classement th.note,.classement td.note{width:52px}
  .amateurs th.rang,.amateurs td.rang{width:24px}
  .amateurs th.bilan,.amateurs td.bilan{width:46px}
  .amateurs th.div,.amateurs td.div{width:64px}
  .amateurs th.fede,.amateurs td.fede{width:82px;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}
  .orgs th.niveau,.orgs td.niveau{width:64px}
}
/* La vignette de ligne : 30 px, même socle que la vignette des affiches. */
.vc{width:38px;padding-left:2px;padding-right:2px}
.vig.vig-mini{width:30px;height:30px;border-radius:9px;display:block}
.vig-mini .vig-vide{font-size:10px;letter-spacing:.02em}
/* La forme : la note des huit derniers combats. */
.fo{width:74px;padding-left:6px;padding-right:6px}
.forme{display:block;width:64px;height:20px;overflow:visible}
.forme polyline{fill:none;stroke:var(--gris2);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.forme-monte polyline{stroke:var(--vert)}
.forme .f-v{fill:var(--vert)}.forme .f-d{fill:#c2564f}.forme .f-n{fill:var(--gris2)}
/* Le motif d'un rang : un point vert, une bulle au survol, au clavier, au doigt —
   sur le téléphone, un panneau sous la ligne, qui se referme au toucher suivant. */
.motif{position:relative;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;margin:0;
  color:inherit;font:inherit;cursor:help;text-align:left;letter-spacing:inherit;text-transform:inherit;line-height:inherit;min-height:32px}
.motif-p{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--vert);flex:none;vertical-align:middle}
.bulle{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:25;width:max-content;max-width:min(300px,calc(100vw - 40px));
  background:var(--carte2);border:1px solid rgba(0,201,131,.4);border-radius:10px;padding:8px 11px;
  font:400 13px/1.45 var(--sans);letter-spacing:0;text-transform:none;
  color:var(--encre);box-shadow:0 14px 34px rgba(0,0,0,.55);white-space:normal;pointer-events:none}
.motif:hover .bulle,.motif:focus-visible .bulle,.motif.on .bulle{display:block}
.motif:focus-visible{outline:2px solid var(--vert);outline-offset:2px;border-radius:4px}
.rang .motif{cursor:help}
.rang .rg{font-family:var(--mono)}
.dern-motif .dern-date{color:var(--gris)}
/* Sur la carte, la bulle s'ouvre vers la gauche pour rester dans la carte. */
.ct-rangs .motif{gap:5px;min-height:0}
.ct-rangs .motif-p{background:currentColor;width:5px;height:5px}
.ct-rangs .motif span{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;
  text-transform:inherit;color:inherit;white-space:inherit;border-radius:0}
.ct-rangs .motif .bulle{left:auto;right:0;max-width:240px;padding:8px 11px;border:1px solid rgba(0,201,131,.4);
  border-radius:10px;background:var(--carte2);color:var(--encre);white-space:normal;letter-spacing:0;text-transform:none;
  font:400 12.5px/1.45 var(--sans)}
/* Sur le podium, le badge de rang porte la bulle ; le point prend la couleur du badge. */
.pod-haut .motif{cursor:help;min-height:0}
.pod-haut .motif-p{width:5px;height:5px;border:0;padding:0;background:var(--fond);border-radius:50%;overflow:visible}
.pod-haut .motif .bulle{letter-spacing:0;text-transform:none;font:400 12.5px/1.45 var(--sans);
  color:var(--encre);max-width:min(300px,calc(100vw - 60px))}
.h2-barre{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-bottom:12px}
.h2-barre h2{margin:0}
.h2-barre>a{font-size:14px}
.mvc{width:36px;padding-left:2px;padding-right:2px;text-align:center}
th.mvc .mvc-lib{font-size:9px}
.mvt{display:inline-flex;align-items:center;gap:2px;font:600 10.5px/1 var(--mono);color:var(--gris2);cursor:help;white-space:nowrap}
.mvt b{font-weight:600}
.mvt-haut,.mv-h{color:var(--vert)}
.mvt-bas,.mv-b{color:var(--rouge)}
.mvt-egal,.mv-n{color:var(--gris2)}
.mvt-egal{opacity:.55}
.mvt-new{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--or);border:1px solid rgba(245,196,81,.4);border-radius:4px;padding:2px 4px}
.sous-id{display:block;font:11px/1.35 var(--mono);color:var(--gris2);margin-top:2px}
.classement tbody tr:hover{background:var(--carte)}

/* ---- le double classement : MMA Gems et l'Échelle pure, en contrôle segmenté ---- */
.ong-barre{display:flex;gap:4px;margin:2px 0 14px;background:var(--carte);border:1px solid var(--trait);border-radius:12px;padding:3px}
.onglets:not(.ong-actif) .ong-barre{display:none}
.ong-barre [role=tab]{flex:1 1 0;min-height:44px;background:none;border:0;border-radius:9px;padding:8px 12px;cursor:pointer;
  color:var(--gris);font:600 14px/1.2 var(--sans)}
.ong-barre [role=tab][aria-selected=true]{background:var(--vert);color:var(--fond)}
.ong-barre [role=tab]:focus-visible{outline:2px solid var(--vert);outline-offset:2px}
.ong-titre{font-size:15px;margin:18px 0 10px;color:var(--gris)}
.onglets.ong-actif .ong-titre{display:none}
@media(min-width:1024px){.ong-barre{display:inline-flex;gap:6px;background:none;border:0;padding:0}
  .ong-barre [role=tab]{flex:none;min-height:0;background:var(--carte);border:1px solid var(--trait);border-radius:999px;padding:8px 15px;font-size:13.5px}
  .ong-barre [role=tab][aria-selected=true]{background:var(--vert);border-color:var(--vert)}}
/* ---- les organisations de l'Échelle pure : une barre qui défile, ‹ › pour décaler d'un cran ---- */
.ong-defile{display:flex;align-items:center;gap:6px;margin:2px 0 14px}
.onglets:not(.ong-actif) .ong-defile{display:none}
.ong-defile .ong-barre{flex:1 1 auto;min-width:0;display:flex;gap:6px;margin:0;padding:0;background:none;border:0;border-radius:0;
  position:relative;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.ong-defile .ong-barre::-webkit-scrollbar{display:none}
.ong-defile .ong-barre [role=tab]{flex:none;min-height:44px;white-space:nowrap;background:var(--carte);
  border:1px solid var(--trait);border-radius:999px;padding:8px 15px;font-size:13.5px}
.ong-defile .ong-barre [role=tab][aria-selected=true]{background:var(--vert);border-color:var(--vert);color:var(--fond)}
.ong-pas{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  color:var(--encre);background:var(--carte);border:1px solid var(--trait);border-radius:50%}
.ong-pas:hover:not(:disabled){color:var(--vert);border-color:rgba(0,201,131,.5)}
.ong-pas:focus-visible{outline:2px solid var(--vert);outline-offset:2px}
.ong-pas:disabled{opacity:.28;cursor:default}
@media(min-width:1024px){.ong-defile .ong-barre [role=tab]{min-height:0}.ong-pas{width:36px;height:36px}}
.org-charge{padding:18px 2px;color:var(--gris2)}
.org-charge.en-charge a{display:none}
.org-charge.en-charge::before{content:"Chargement…"}
/* Entre 1 024 et 1 100 px, les deux tableaux en regard n'ont pas la place de l'organisation. */
@media(min-width:1024px) and (max-width:1099px){.double .org,.double th.org{display:none}}
th.autre{text-align:right}
.autre{text-align:right;font-family:var(--mono);color:var(--gris2);width:72px;white-space:nowrap}
.autre b{font-weight:400;color:var(--gris)}
.dern{width:96px;white-space:nowrap;font-family:var(--mono);font-size:12.5px}
.dern-date{display:block;font-size:10.5px;color:var(--gris2);margin-top:2px}
.ft-rangs{margin:10px 0 0;font:12px/1.6 var(--mono);letter-spacing:.06em;color:var(--gris);display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;max-width:none}
.ft-rangs a{color:inherit}
.ft-rangs b{color:var(--vert);font-weight:500}
.ft-rangs-bloc .quoi-panneau{margin-top:8px}

/* ---- le podium : les trois premiers en cartes (marque/cartes/Classement.dc.html).
   Sur le téléphone, une carte basse par rang ; sur l'ordinateur, trois cartes de front. ---- */
.podium{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:4px 0 8px}
.pod{position:relative;display:block;height:108px;overflow:hidden;border-radius:14px;color:var(--encre);
  background:linear-gradient(165deg,#10201a 0%,#0b1310 55%,var(--fond) 100%);border:1px solid #1f3a2f;
  box-shadow:0 12px 30px rgba(0,0,0,.45)}
a.pod:hover{text-decoration:none;border-color:rgba(0,201,131,.55)}
.pod-decor{position:absolute;inset:0;width:100%;height:100%}
.pod-gemme{position:absolute;right:-6px;bottom:-16px;width:96px;height:96px;opacity:.9}
.pod-mono{font:800 34px/1 var(--sans);fill:var(--encre);fill-opacity:.92;letter-spacing:-1.5px}
.pod-img,.pod-teinte{position:absolute;right:-2px;bottom:0;width:40%;height:100%}
.pod-img{object-fit:contain;object-position:100% 100%;filter:grayscale(1) contrast(1.12) brightness(.92)}
.pod-teinte{background:linear-gradient(180deg,rgba(0,201,131,0) 30%,rgba(0,201,131,.5));
  mix-blend-mode:screen;-webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:100% 100%;mask-position:100% 100%}
.pod-fondu{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,12,10,.9) 0%,rgba(7,12,10,.45) 50%,rgba(7,12,10,0) 72%),
             linear-gradient(0deg,rgba(7,12,10,.8) 0%,rgba(7,12,10,0) 45%)}
.pod-haut{position:absolute;top:10px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.pod-haut b{font:500 10px/1 var(--mono);letter-spacing:.18em;color:var(--fond);background:var(--vert);padding:4px 7px;border-radius:6px}
.pod-haut i{font:normal 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);
  border:1px solid var(--trait);background:rgba(7,12,10,.6);padding:4px 7px;border-radius:6px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pod-bas{position:absolute;left:12px;right:42%;bottom:10px;display:flex;flex-direction:column;gap:1px}
.pod-note{font-size:22px;font-weight:800;letter-spacing:-.05em;line-height:.95;color:var(--vert)}
.pod-puces,.pod-contre{font:10px/1.35 var(--mono);color:var(--gris)}
.pod-puces{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pod-puces:not(.pod-puces-c){display:none}
@media(min-width:820px){.pod-puces:not(.pod-puces-c){display:block}.pod-puces-c{display:none}}
.pod-nom{font-size:16px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-top:2px;overflow-wrap:anywhere}
.pod-contre{display:none;color:#b9d3c7;margin-top:2px}
.pod-contre b{color:var(--encre);font-weight:500}
@media(min-width:820px){
  .podium{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:6px 0 4px}
  .pod{height:250px;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.55)}
  .pod-gemme{right:-10px;bottom:-22px;width:150px;height:150px}
  .pod-img,.pod-teinte{right:-4px;width:60%;height:90%}
  .pod-haut{top:16px;left:18px;right:18px}
  .pod-haut b{font-size:11px;padding:5px 8px}
  .pod-haut i{font-size:10px;padding:5px 8px}
  .pod-bas{left:18px;right:18px;bottom:15px;gap:3px}
  .pod-note{font-size:40px;line-height:.9;color:var(--encre)}
  .pod-nom{font-size:20px;margin-top:4px}
  .pod-puces{font-size:10.5px;white-space:normal}
  .pod-contre{display:block;font-size:10.5px}
}

/* ---- sous la carte : contre qui, ces trois ans ---- */
.ct-contre{width:100%;max-width:300px;background:var(--carte);border:1px solid var(--trait);border-radius:14px;padding:2px 15px}
.ct-contre>div{display:flex;flex-direction:column;gap:4px;padding:11px 0}
.ct-contre>div+div{border-top:1px solid var(--trait)}
.cc-lib{font:10px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris2)}
.cc-val{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 9px}
.cc-val b{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.cc-val b a{color:var(--encre)}
.cc-val b a:hover{color:var(--vert)}
.cc-val em{font:normal 11.5px/1.3 var(--mono);color:var(--vert)}

.grille-div{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.carte-div{background:var(--carte);border:1px solid var(--trait);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-height:44px}
.carte-div:hover{border-color:var(--vert);text-decoration:none}
.carte-div .titre{font-weight:800;letter-spacing:-.02em;color:var(--encre)}
.carte-div .chef{font-size:13.5px;color:var(--vert)}
.carte-div .cnt{font-family:var(--mono);font-size:10.5px;color:var(--gris2)}
@media(min-width:640px){.grille-div{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}}

/* ---- la carte (marque/cartes/) : l'unité du site ---- */
.ft{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;border-bottom:1px solid var(--trait);padding-bottom:22px;margin-bottom:22px}
.ct-bloc{display:flex;flex-direction:column;gap:10px;min-width:0;align-items:center}
.ct{position:relative;margin:0;width:100%;max-width:300px;aspect-ratio:300/440;overflow:hidden;
  border-radius:22px;border:1px solid #1f3a2f;
  background:linear-gradient(165deg,#10201a 0%,#0b1310 55%,var(--fond) 100%);
  box-shadow:0 30px 70px rgba(0,0,0,.65),inset 0 0 0 1px rgba(0,201,131,.08)}
.ct-decor{position:absolute;inset:0;width:100%;height:100%}
.ct-mono{font:800 64px/1 var(--sans);fill:var(--encre);fill-opacity:.92;letter-spacing:-3px}
.ct-img,.ct-teinte{position:absolute;left:8.3%;top:19%;width:83.4%;height:57%}
.ct-img{object-fit:contain;object-position:50% 100%;filter:grayscale(1) contrast(1.12) brightness(.98)}
.ct-teinte{background:linear-gradient(180deg,rgba(0,201,131,0) 30%,rgba(0,201,131,.55));
  mix-blend-mode:screen;-webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:50% 100%;mask-position:50% 100%}
.ct-fondu{position:absolute;left:0;right:0;top:57%;bottom:0;background:linear-gradient(180deg,rgba(7,12,10,0),var(--fond) 42%)}
.ct-note{position:absolute;top:18px;left:20px;display:flex;flex-direction:column;gap:3px}
.ct-note b{font-size:64px;font-weight:800;letter-spacing:-.05em;line-height:.9}
.ct-note span{font:10px/1.3 var(--mono);color:var(--gris);letter-spacing:.14em;text-transform:uppercase}
.ct-rangs{position:absolute;top:20px;right:18px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.ct-rangs b,.ct-rangs span{font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;padding:5px 8px;border-radius:6px;white-space:nowrap}
.ct-rangs b{color:var(--fond);background:var(--vert)}
.ct-rangs span{color:var(--gris);border:1px solid var(--trait);background:rgba(7,12,10,.6)}
.ct-bas{position:absolute;left:20px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.ct-id{display:flex;flex-direction:column;gap:5px;min-width:0}
.ct-surnom{font:11px/1.2 var(--mono);color:var(--vert);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-nom{font-size:23px;font-weight:800;letter-spacing:-.03em;line-height:1.02;overflow-wrap:anywhere}
.ct-pays{font:10.5px/1.35 var(--mono);color:var(--gris)}
.ct-puces{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.ct-puces i{font:normal 10px/1.2 var(--mono);color:var(--gris);background:var(--carte2);border:1px solid var(--trait);padding:3px 7px;border-radius:5px}
.ct-puces .ct-div{color:var(--encre);background:var(--trait)}
/* Le radar des six attributs : chaque sommet porte son code et sa valeur. */
.ct-hex{width:128px;height:106px;flex:none;overflow:visible}
.ct-hex-faible{opacity:.55}
.hx-axes line{stroke:var(--trait);stroke-width:.8}
.hx-grille{fill:none;stroke:var(--trait);stroke-width:1}
.hx-99{stroke:#2a3e35}
.hx-forme{fill:rgba(0,201,131,.28);stroke:var(--vert);stroke-width:1.6;stroke-linejoin:round}
.hx-pt{fill:var(--vert)}
.hx-lib{font:500 6.4px var(--mono);letter-spacing:.06em;fill:var(--gris)}
.hx-val{font:700 8.4px var(--mono);letter-spacing:0;fill:var(--encre)}
.hx-anneau{font:500 9px var(--mono);fill:var(--gris2)}
.ct-nom-l{font-size:20px}
.ct-nom-xl{font-size:17.5px}
/* Sur la fiche : le radar en grand, noms entiers, anneaux 50 et 99 nommés, les barres à côté. */
.attr-bloc{display:grid;grid-template-columns:minmax(0,1fr);gap:18px 34px;align-items:center;margin-top:8px}
.attr-bloc .attrs{grid-template-columns:1fr;gap:12px;margin-top:0}
.ct-hex-fiche{width:100%;max-width:450px;height:auto;margin:0 auto}
.ct-hex-fiche .hx-axes line{stroke-width:1}
.ct-hex-fiche .hx-grille{stroke-width:1.2}
.ct-hex-fiche .hx-forme{stroke-width:2.4}
.ct-hex-fiche .hx-lib{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.ct-hex-fiche .hx-val{font-size:17px}
@media(min-width:820px){.attr-bloc{grid-template-columns:minmax(0,450px) minmax(0,1fr)}.ct-hex-fiche{margin:0}}
.ct-credit{font:10px/1.5 var(--mono);color:var(--gris2);margin:0;max-width:300px}
.ct-credit a{color:var(--gris2);text-decoration:underline;text-underline-offset:2px}
.ct-credit a:hover{color:var(--vert)}

.ft-droite{min-width:0;display:flex;flex-direction:column;gap:16px}
.ft-sur{font:11px/1.4 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--gris2)}
.ft-droite h1{font-size:clamp(30px,8vw,56px);letter-spacing:-.04em;line-height:.98;margin:6px 0 0}
.ft-tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.ft-tuiles div{background:var(--carte);border:1px solid var(--trait);border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ft-tuiles span{font:10px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gris2)}
.ft-tuiles b{font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.05;overflow-wrap:anywhere}
.ft-tuiles .vert{color:var(--vert)}
.ft-tuiles em{font:normal 11px/1.3 var(--mono);color:var(--gris2)}
/* Le prochain combat : un fait, en tuile large. */
.ft-prochain{background:var(--carte);border:1px solid rgba(0,201,131,.35);border-radius:14px;padding:11px 14px;display:flex;flex-direction:column;gap:3px}
.ft-prochain b{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.ft-prochain b a{color:var(--encre)}
.ft-prochain-quand{font:11.5px/1.4 var(--mono);color:var(--gris)}
/* Les derniers combats : cinq lignes. Avant la courbe sur le téléphone, après sur l'ordinateur. */
.ft-derniers{order:1}
.carriere{order:2}
.derniers{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}
.derniers li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"is adv dt" "is me dt";gap:0 8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--trait);min-height:44px}
.derniers li:last-child{border-bottom:0}
.dl-is{grid-area:is;font:600 14px/1 var(--mono);text-align:center}
.i-v .dl-is,.i-v .is{color:var(--vert)}
.i-d .dl-is,.i-d .is{color:#c2564f}
.i-n .dl-is,.i-n .is{color:var(--gris2)}
.dl-adv{grid-area:adv;font-weight:700;font-size:14.5px;overflow-wrap:anywhere}
.dl-adv a{color:var(--encre)}
.dl-me{grid-area:me;font-size:12.5px;color:var(--gris)}
.dl-me i{font:normal 11px var(--mono);color:var(--gris2)}
.dl-dt{grid-area:dt;font:11.5px var(--mono);color:var(--gris2);white-space:nowrap}
@media(min-width:820px){
  .ft{grid-template-columns:300px minmax(0,1fr);gap:22px 44px;padding-bottom:26px;margin-bottom:26px}
  .ct-bloc{align-items:flex-start}
  .ft-droite{gap:22px}
  .ft-droite h1{font-size:clamp(32px,5.4vw,56px);margin-top:8px}
  .ft-tuiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .ft-tuiles div{padding:13px 15px}
  .ft-tuiles b{font-size:24px}
}
@media(min-width:1024px){.ft-derniers{order:2}.carriere{order:1}}
/* Le reste de la fiche, replié : les attributs, l'identité, tous les combats. */
.repli{background:var(--carte);border:1px solid var(--trait);border-radius:14px;margin-bottom:12px}
.repli summary{cursor:pointer;list-style:none;padding:13px 16px;min-height:44px;display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;font-size:17px}
.repli summary::-webkit-details-marker{display:none}
.repli summary::before{content:"▸";color:var(--gris2);font-size:14px}
.repli[open] summary::before{content:"▾"}
.repli summary:hover{color:var(--vert)}
.repli>*:not(summary){padding:0 14px 14px}
.repli section{margin-bottom:0}
.repli-vide{font-size:13.5px;color:var(--gris2)}

.meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.meta div{background:var(--fond);border:1px solid var(--trait);border-radius:10px;padding:10px 13px;min-width:0}
.meta span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris2);margin-bottom:3px}
.meta b{font-size:14px;font-weight:500;overflow-wrap:anywhere}
/* L'infobox enchaîne parfois six clubs à la suite : deux lignes, le reste en info-bulle. */
.meta .long b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}

.scroll{overflow-x:auto}
.historique .dt{font-family:var(--mono);color:var(--gris2);font-size:12.5px;white-space:nowrap}
.historique .is{font-family:var(--mono);font-weight:500;width:26px;text-align:center}
.historique .ad a{color:var(--encre)}
.historique .me{color:var(--gris);font-size:13px;white-space:nowrap}
.historique .me span{color:var(--gris2);font-family:var(--mono);font-size:11px}
.historique .ev{color:var(--gris2);font-size:12.5px}
.historique .do{font-family:var(--mono);font-size:12px;color:var(--gris);white-space:nowrap;text-align:right;width:110px}
.historique .do i{font-style:normal;color:var(--gris2);font-size:10px}
.barre{display:inline-block;width:46px;height:6px;border-radius:3px;background:var(--trait);position:relative;margin-right:7px;vertical-align:middle;overflow:hidden}
.barre i{position:absolute;inset:0 auto 0 0;background:var(--vert)}
.vide{color:var(--gris2)}
/* Historique : sur le téléphone, une pile de fiches de combat — rien n'est retiré. */
.historique{min-width:0;display:block}
.historique thead{display:none}
.historique tbody,.historique tr{display:block}
.historique tr{display:grid;grid-template-columns:20px auto 1fr;grid-template-areas:"is ad ad" "is dt me" "is ev do";gap:3px 8px;padding:10px 2px;border-bottom:1px solid var(--trait)}
.historique tr:hover{background:none}
.historique td{display:block;border:none;padding:0;min-width:0}
.historique .is{grid-area:is;width:auto;text-align:left;font-size:15px;align-self:start}
.historique .ad{grid-area:ad;font-weight:700;overflow-wrap:anywhere}
.historique .dt{grid-area:dt}
.historique .me{grid-area:me;white-space:normal;overflow-wrap:anywhere}
.historique .do{grid-area:do;width:auto;text-align:left}
.historique .ev{grid-area:ev;padding-top:2px;overflow-wrap:anywhere}
@media(min-width:1024px){
  .historique{display:table;min-width:760px}
  .historique thead{display:table-header-group}
  .historique tbody{display:table-row-group}
  .historique tr{display:table-row;padding:0}
  .historique td{display:table-cell;border-bottom:1px solid var(--trait);padding:7px 8px}
  .historique .is{width:26px;text-align:center;font-size:14.5px}
  .historique .me{white-space:nowrap}
  .historique .do{text-align:right;width:110px}
  .historique tr:hover{background:var(--carte)}
  .barre{width:46px}
}

.texte h2{margin-top:30px}
.texte ul{color:var(--gris);margin:0 0 12px;padding-left:20px;max-width:70ch}
.texte li{margin-bottom:4px}
.alerte-contact{color:var(--encre)!important;border-left:3px solid var(--or);padding-left:10px}
.texte pre{background:var(--carte);border:1px solid var(--trait);border-radius:10px;padding:12px 13px;font-family:var(--mono);font-size:13px;color:var(--encre);overflow-x:auto;white-space:pre-wrap}
.mini{max-width:460px;margin-top:6px}
.mini td{font-size:14px}
.mini td:last-child{font-family:var(--mono);text-align:right;color:var(--vert)}
.note-methode{font-size:13.5px;color:var(--gris2)}

.pied{border-top:1px solid var(--trait);max-width:1060px;margin:0 auto;padding:18px 14px;
  display:flex;gap:8px 16px;flex-wrap:wrap;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--gris2)}
.pied a{display:inline-block;padding:6px 0}

@media(max-width:340px){
  /* À 320 px, un nom d'un seul mot long (« Nurmagomedov ») ne tient plus : il se coupe ;
     la vignette sort, c'est la seule colonne dont la ligne peut se passer. */
  .nom a,.nom .sous{overflow-wrap:anywhere}
  .vc,th.vc{display:none}
  .chiffres{grid-template-columns:1fr 1fr}
}

/* ----------------------------------------------------- listes repliables */
.pli{position:relative}
.classement tr[hidden]{display:none}
/* Quand la liste est repliée, la dernière ligne visible s'estompe : on doit
   voir qu'il y a une suite avant même de lire le bouton. */
.pli:not(.pli-ouvert) .classement tbody tr:nth-last-child(1 of :not([hidden])){
  -webkit-mask-image:linear-gradient(180deg,#000 42%,rgba(0,0,0,.35));
  mask-image:linear-gradient(180deg,#000 42%,rgba(0,0,0,.35))}
.pli-btn{display:block;width:100%;margin-top:10px;padding:12px 14px;min-height:44px;cursor:pointer;
  background:var(--carte);border:1px solid var(--trait);border-radius:12px;
  color:var(--vert);font:600 14px/1 var(--sans);letter-spacing:.01em;transition:border-color .15s,background .15s}
.pli-btn:hover{background:var(--carte2);border-color:rgba(0,201,131,.45)}
.pli-btn:disabled{color:var(--gris2);cursor:wait}
.pli-btn:focus-visible{outline:2px solid var(--vert);outline-offset:2px}
.pli-btn[aria-expanded="false"]::after{content:" ▾"}
.pli-btn[aria-expanded="true"]::after{content:" ▴"}

/* ---- les en-têtes courts du téléphone (Cat., Org., Fédé.) ---- */
.th-l{display:none}.th-c{display:inline}
@media(min-width:1024px){.th-l{display:inline}.th-c{display:none}}
/* Le crédit des photos du podium passe sous le tableau ; le podium et les lignes restent collés. */
.classement-tete{display:flex;flex-direction:column}
.classement-tete>.affiche-credit{order:9}
.pr-carte[hidden]{display:none}
/* La fiche sur le téléphone : la carte, puis le nom et le reste, puis « contre qui ». */
.ct-contre{order:3;max-width:none}
@media(min-width:820px){
  .ft{grid-template-rows:auto 1fr}
  .ct-bloc,.ct-contre{grid-column:1}
  .ct-contre{order:0;max-width:300px}
  .ft-droite{grid-column:2;grid-row:1/span 2}
}

/* ---- les amateurs ---- */
.amateurs .bilan{font-family:var(--mono);white-space:nowrap}
.amateurs .fede,.amateurs .annees{color:var(--gris);font-size:12.5px;white-space:nowrap}
.amateurs .annees{font-family:var(--mono)}
.pro-badge{display:inline-block;font:600 9px/1 var(--mono);letter-spacing:.12em;color:var(--fond);background:var(--vert);border-radius:4px;padding:3px 5px;margin-left:6px;vertical-align:1px;cursor:help}

/* ---------------------------------------------- les trois combats à suivre */
.affiches{margin-bottom:34px}
.affiches h2{margin-bottom:12px}

/* Les trois combats défilent LATÉRALEMENT, jamais en colonne. */
.carrousel{position:relative}
.car-piste{display:flex;gap:14px;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 2px 4px;margin:-2px -2px -4px}
.car-piste::-webkit-scrollbar{display:none}
@media(prefers-reduced-motion:reduce){.car-piste{scroll-behavior:auto}}
.car-piste>.affiche{flex:0 0 88%;scroll-snap-align:start}
@media(min-width:681px){.car-piste>.affiche{flex:0 0 calc((100% - 14px)/2)}}
@media(min-width:1001px){.car-piste>.affiche{flex:0 0 calc((100% - 28px)/3)}}
.car-debut .car-piste{-webkit-mask-image:linear-gradient(90deg,transparent,#000 42px);mask-image:linear-gradient(90deg,transparent,#000 42px)}
.car-fin .car-piste{-webkit-mask-image:linear-gradient(270deg,transparent,#000 42px);mask-image:linear-gradient(270deg,transparent,#000 42px)}
.car-debut.car-fin .car-piste{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 42px,#000 calc(100% - 42px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 42px,#000 calc(100% - 42px),transparent)}
.car-fleche{position:absolute;top:calc(50% - 30px);z-index:2;width:44px;height:44px;display:none;align-items:center;justify-content:center;cursor:pointer;
  font:400 22px/1 var(--sans);padding-bottom:3px;color:var(--encre);background:rgba(13,21,18,.92);border:1px solid var(--trait);
  border-radius:50%;backdrop-filter:blur(6px);transition:border-color .15s,color .15s,opacity .15s}
@media(min-width:681px){.car-fleche{display:flex}}
.car-fleche[hidden],.car-points[hidden]{display:none}
.car-fleche:hover:not(:disabled){color:var(--vert);border-color:rgba(0,201,131,.5)}
.car-fleche:focus-visible{outline:2px solid var(--vert);outline-offset:2px}
.car-fleche:disabled{opacity:.28;cursor:default}
.car-g{left:-6px}
.car-d{right:-6px}
.car-points{display:flex;justify-content:center;gap:7px;margin-top:14px}
.car-points button{width:26px;height:4px;padding:0;border:0;border-radius:99px;cursor:pointer;background:var(--trait);transition:background .18s,width .18s;position:relative}
.car-points button::after{content:"";position:absolute;inset:-20px -4px}
.car-points button:hover{background:var(--gris2)}
.car-points button.actif{background:var(--vert);width:38px}
.car-points button:focus-visible{outline:2px solid var(--vert);outline-offset:3px}

.affiche{background:linear-gradient(180deg,var(--carte2),var(--carte));border:1px solid var(--trait);border-radius:16px;padding:15px 15px 12px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.affiche::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,201,131,.55),transparent)}
.affiche-tete{margin-bottom:9px}
.affiche-etiq{display:inline-block;font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vert);background:rgba(0,201,131,.10);border:1px solid rgba(0,201,131,.28);border-radius:999px;padding:5px 9px}
.affiche-evt{margin-bottom:10px}
.affiche-evt b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}
.affiche-evt>span{display:block;color:var(--gris);font-size:12px;margin-top:3px}
.affiche-tags{margin-top:7px;display:flex;flex-wrap:wrap;gap:5px}
.affiche-tags i{font-style:normal;font:500 10px/1 var(--mono);letter-spacing:.05em;color:var(--gris);background:var(--fond);border:1px solid var(--trait);border-radius:6px;padding:4px 6px;white-space:nowrap}
.affiche-tags .tag-titre{color:var(--or);border-color:rgba(245,196,81,.35);background:rgba(245,196,81,.08)}
.affiche-jauge{display:flex;flex-direction:column;align-items:center;margin:2px 0 10px}
.jauge-arc{width:100%;max-width:230px;display:block;overflow:visible}
@media(min-width:681px){.jauge-arc{max-width:208px}}
.ja-fond{fill:none;stroke:var(--trait);stroke-width:14;stroke-linecap:round}
.ja-valeur{fill:none;stroke-width:14;stroke-linecap:round}
.ja-milieu{stroke:var(--fond);stroke-width:2.5}
.ja-vs{text-anchor:middle;fill:var(--gris2);letter-spacing:.18em;font:700 15px/1 var(--mono)}

/* Le duel : chaque combattant sous SA moitié d'arc, sa probabilité collée à son portrait. */
.duel{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:-4px}
.dc{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 9px;border:1px solid var(--trait);border-radius:12px;background:var(--fond)}
.dc-d{align-items:flex-end;text-align:right}
.dc-fav{border-color:rgba(0,201,131,.34);background:rgba(0,201,131,.06)}
.dc-tete{display:flex;align-items:center;gap:8px;margin-bottom:2px;max-width:100%}
.dc-d .dc-tete{flex-direction:row-reverse}
.dc-vig{display:block;line-height:0}
.dc-pct{font:800 21px/1 var(--sans);letter-spacing:-.03em;color:var(--gris)}
.dc-pct i{font-style:normal;font-size:11px;margin-left:1px;color:var(--gris2)}
.dc-fav .dc-pct{color:var(--vert)}
.dc-nom{display:block;font-size:13.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--encre);overflow-wrap:anywhere}
.dc-nom:hover{color:var(--vert);text-decoration:none}
.dc-sous{font-size:11px;color:var(--gris)}
.dc-f{color:var(--gris2)}
.dc-mvt{display:inline-flex;align-items:center;gap:3px;margin-left:5px;vertical-align:1px;font:600 9.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;
  color:var(--alerte);background:rgba(255,122,89,.10);border:1px solid rgba(255,122,89,.34);border-radius:5px;padding:3px 5px 2px}
.mvt-f{width:8px;height:8px;fill:currentColor;flex:none}
.dc-d .dc-mvt{flex-direction:row-reverse;margin-left:4px}
.dc-note{font:500 11px/1.2 var(--mono);color:var(--gris2)}
.dc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.dc-d .dc-tags{justify-content:flex-end}
.vig{position:relative;width:62px;height:62px;flex:none;border-radius:14px;border:1px solid var(--trait);overflow:hidden;display:block;
  background:radial-gradient(120% 90% at 50% 108%,rgba(0,201,131,.30),rgba(0,201,131,.05) 62%,transparent 78%),linear-gradient(180deg,var(--carte2),var(--fond))}
.vig-img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:50% 16%}
.vig-d .vig-img{object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
.vig-vide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--sans);letter-spacing:.03em;color:var(--gris2)}
.dc-fav .vig{border-color:rgba(0,201,131,.42);box-shadow:0 0 0 1px rgba(0,201,131,.16),0 2px 12px -4px rgba(0,201,131,.45)}
.coin-marque{font:600 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--or);border:1px solid rgba(245,196,81,.35);border-radius:4px;padding:2px 4px}
.coin-elu{font:600 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--vert);background:rgba(0,201,131,.12);border:1px solid rgba(0,201,131,.35);border-radius:4px;padding:2px 4px}

.affiche-styles{margin-top:12px;border-top:1px solid var(--trait);padding-top:10px}
.da-tete{display:flex;justify-content:space-between;align-items:baseline;gap:8px;cursor:pointer;list-style:none;padding:8px 0;min-height:44px}
.da-tete::-webkit-details-marker{display:none}
.da-tete span:first-child{font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.da-tete span:first-child::before{content:"▸ ";color:var(--gris2)}
.affiche-styles[open] .da-tete span:first-child::before{content:"▾ "}
.da-tete:hover span:first-child{color:var(--vert)}
.da-legende{font-size:10px;color:var(--gris2);text-align:right}
.da-manque{margin:8px 0 0;font-size:10.5px;color:var(--gris2)}
.affiche-credit{margin:12px 0 0;padding-top:9px;border-top:1px solid var(--trait);font-size:10px;line-height:1.6;color:var(--gris2)}
.affiche-credit a{color:var(--gris2);text-decoration:underline;text-underline-offset:2px}
.affiche-credit a:hover{color:var(--vert)}

/* ---- le duel : radar en superposition, carrières superposées ---- */
.dv{display:grid;grid-template-columns:minmax(0,1fr);gap:10px 16px;align-items:start;margin-top:12px;border-top:1px solid var(--trait);padding-top:10px}
.rd-duel{min-width:0}
.affiche .dv{border-top:0;padding-top:0;margin-top:6px}
.affiche .ct-hex-duel{max-width:210px}
.affiche .cd{margin-top:8px}
.ct-hex-duel{width:100%;max-width:236px;height:auto;display:block;margin:0 auto}
.ct-hex-duel .hx-lib{font-size:8px;letter-spacing:.1em}
.ct-hex-duel .hx-forme{fill:rgba(0,201,131,.22);stroke-width:1.8}
.hx-forme-b{fill:rgba(109,179,242,.20);stroke:var(--duel-b);stroke-width:1.8}
.hx-pt-b{fill:var(--duel-b)}
.hx-va{font:700 9.5px var(--mono);fill:var(--vert)}
.hx-vb{font:700 9.5px var(--mono);fill:var(--duel-b)}
.hx-sep{fill:var(--gris2);font-size:8px}
.rd-noms,.cd-legende{display:flex;gap:10px;align-items:baseline;justify-content:center;margin:2px 0 0;font:10px/1.4 var(--mono);color:var(--gris2)}
.rd-a,.rd-b{font-weight:500;padding-left:12px;position:relative}
.rd-a::before,.rd-b::before{content:"";position:absolute;left:0;top:4px;width:8px;height:8px;border-radius:50%}
.rd-a{color:var(--vert)}.rd-a::before{background:var(--vert)}
.rd-b{color:var(--duel-b)}.rd-b::before{background:var(--duel-b)}
.cd{margin-top:10px;min-width:0}
.cd-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--mono)}
.cd-ligne{fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.cd-a{stroke:var(--vert)}.cd-b{stroke:var(--duel-b)}
.cd-fin{font-size:10px;font-weight:500}
.cd-fin-a{fill:var(--vert)}.cd-fin-b{fill:var(--duel-b)}
.cb-a .cb-pt{stroke:var(--vert);fill:var(--fond)}.cb-a.cb-fin .cb-pt{fill:var(--vert)}
.cb-b .cb-pt{stroke:var(--duel-b);fill:var(--fond)}.cb-b.cb-fin .cb-pt{fill:var(--duel-b)}
.cb-a.cb-d .cb-pt,.cb-b.cb-d .cb-pt{stroke:var(--rouge)}
.cb-a.cb-d.cb-fin .cb-pt,.cb-b.cb-d.cb-fin .cb-pt{fill:var(--rouge)}
.cd .cr-lg{font-size:9.5px}
.cd-legende span{color:var(--gris2)}
.cd-legende{justify-content:flex-start;flex-wrap:wrap}
.pr-duel{margin-top:16px;background:var(--carte);border:1px solid var(--trait);border-radius:12px;padding:12px 14px}
.pr-duel .dv{border-top:0;padding-top:0;margin-top:0}
.pr-duel .ct-hex-duel{max-width:260px}
.pr-duel .ct-hex-duel .hx-lib{font-size:8.5px}
.pr-duel .cd{margin-top:14px}
.pr-duel .cd .cr-lg{font-size:11px}
@media(min-width:1024px){main{padding:28px 20px 64px}section{margin-bottom:48px}h2{font-size:21px}}
/* ------------------------------------------- la frise des soirées (src/annonces/frise.js) */
.frise{margin-bottom:48px}
.fr-tete{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px;margin-bottom:14px}
.fr-tete h1,.fr-tete h2{margin:0}
.fr-tete>a{font-size:14px}
.fr-tete p{flex:1 1 100%;margin:6px 0 0;font-size:14.5px}

.fr-filtres{display:flex;flex-direction:column;gap:12px;margin:0 0 20px}
.fr-filtres[hidden]{display:none}
.fr-filtres fieldset{border:0;margin:0;padding:0;min-width:0}
.fr-filtres legend{padding:0;margin-bottom:7px;font-family:var(--mono);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gris2)}
.fr-choix{display:flex;flex-wrap:wrap;gap:6px}
.fr-choix label{position:relative;cursor:pointer}
.fr-choix input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.fr-choix span{display:inline-flex;align-items:baseline;gap:7px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.04em;color:var(--gris);background:var(--carte2);border:1px solid var(--trait);
  padding:5px 9px;border-radius:6px;transition:border-color .15s,background .15s,color .15s}
.fr-choix i{font-style:normal;font-size:10.5px;color:var(--gris2)}
.fr-choix label:hover span{border-color:rgba(0,201,131,.45)}
.fr-choix input:focus-visible+span{outline:2px solid var(--vert);outline-offset:2px}
.fr-choix input:checked+span{background:var(--vert);border-color:var(--vert);color:var(--fond);font-weight:500}
.fr-choix input:checked+span i{color:rgba(7,12,10,.62)}
.fr-etat{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;color:var(--gris2)}
.fr-etat button{background:none;border:0;padding:0;font:inherit;color:var(--vert);cursor:pointer}
.fr-etat button[hidden]{display:none}

.fr-cadre{position:relative}
.fr-piste{display:flex;align-items:stretch;list-style:none;margin:0 -2px;padding:0 2px 6px;
  overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.fr-piste::-webkit-scrollbar{display:none}
.fr-piste:focus-visible{outline:2px solid var(--vert);outline-offset:4px;border-radius:10px}
.fr-piste>li{position:relative;flex:0 0 auto;padding:24px 14px 0 0}
.fr-piste>li[hidden]{display:none}
/* Le rail : une ligne continue au-dessus des cartes, une gemme par soirée. */
.fr-piste>li::before{content:"";position:absolute;top:9px;left:0;right:0;border-top:1px solid var(--trait)}
.fr-soiree{display:flex;flex-direction:column;width:262px}
.fr-soiree::after{content:"";position:absolute;top:5px;left:20px;width:8px;height:8px;
  background:var(--vert);transform:rotate(45deg);border-radius:1px}
.fr-auj,.fr-mois{display:flex;justify-content:center}
.fr-auj{width:48px}
.fr-mois{width:40px}
.fr-auj>span,.fr-mois>span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--mono);
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.fr-auj>span{color:var(--vert)}
.fr-auj b{font-weight:500;color:var(--encre)}
.fr-mois>span{color:var(--gris2)}
.fr-auj::before{left:5px}
.fr-auj::after{content:"";position:absolute;top:4px;left:0;width:11px;height:11px;border-radius:50%;
  background:var(--vert);box-shadow:0 0 0 4px rgba(0,201,131,.18)}
.fr-mois::after{content:"";position:absolute;top:4px;left:0;height:11px;border-left:1px solid var(--gris2)}

/* La carte : celle de marque/cartes/Carte.dc.html, à la taille d'une soirée. */
.fr-carte{position:relative;flex:1;display:flex;flex-direction:column;min-height:330px;
  padding:16px 16px 14px;border-radius:22px;overflow:hidden;color:var(--encre);
  background:linear-gradient(165deg,#10201a 0%,#0b1310 55%,#070c0a 100%);border:1px solid #1f3a2f;
  box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 0 1px rgba(0,201,131,.08) inset;
  transition:border-color .15s,transform .15s}
a.fr-carte:hover{text-decoration:none;border-color:rgba(0,201,131,.55);transform:translateY(-2px)}
a.fr-carte:focus-visible{outline:2px solid var(--vert);outline-offset:3px}
.fr-facettes{position:absolute;top:0;right:0;width:150px;height:197px;pointer-events:none}
.fr-haut{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.fr-date b{display:block;font-size:60px;font-weight:800;letter-spacing:-.05em;line-height:.9}
.fr-date span{display:block;margin-top:5px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--gris)}
.fr-pastilles{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0}
.fr-org,.fr-j{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  padding:4px 8px;border-radius:6px;white-space:nowrap}
.fr-org{color:var(--fond);background:var(--vert);font-weight:500}
.fr-j{color:var(--gris);border:1px solid var(--trait)}
.fr-j:empty{display:none}
.fr-gemme{display:block;width:112px;height:auto;margin:auto;flex:0 0 auto}
.fr-gemme .g1{fill:#00c983;fill-opacity:.07;stroke:#00c983;stroke-opacity:.45;stroke-width:2;stroke-linejoin:round}
.fr-gemme .g2{fill:none;stroke:#00c983;stroke-opacity:.28;stroke-width:1.4}
.fr-gemme text{font:800 60px "Bricolage Grotesque","Segoe UI",system-ui,sans-serif;fill:#e4f4ec;
  fill-opacity:.92;letter-spacing:-3px}
.fr-bas{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0}
.fr-evt{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--vert);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-affiche{font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.06;overflow-wrap:anywhere}
.fr-affiche i{font-style:normal;font-size:14px;font-weight:700;color:var(--gris2)}
.fr-affiche.fr-inconnue{font-size:15px;font-weight:700;color:var(--gris2)}
.fr-lieu{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.fr-lieu>span{font-family:var(--mono);font-size:10px;padding:3px 7px;border-radius:5px}
.fr-ville{color:var(--encre);background:var(--trait)}
.fr-pays{color:var(--gris);background:var(--carte2);border:1px solid var(--trait)}
.fr-wiki{color:var(--vert);border:1px solid rgba(0,201,131,.35)}

.fr-fleche{position:absolute;top:calc(50% - 7px);z-index:2;width:38px;height:38px;display:flex;
  align-items:center;justify-content:center;cursor:pointer;padding-bottom:3px;
  font:400 22px/1 "Bricolage Grotesque",system-ui,sans-serif;color:var(--encre);
  background:rgba(13,21,18,.92);border:1px solid var(--trait);border-radius:50%;backdrop-filter:blur(6px);
  transition:border-color .15s,color .15s,opacity .15s}
.fr-fleche[hidden]{display:none}
.fr-fleche:hover:not(:disabled){color:var(--vert);border-color:rgba(0,201,131,.5)}
.fr-fleche:focus-visible{outline:2px solid var(--vert);outline-offset:2px}
.fr-fleche:disabled{opacity:.28;cursor:default}
.fr-g{left:-6px}
.fr-d{right:-6px}
.fr-debut .fr-piste{-webkit-mask-image:linear-gradient(90deg,transparent,#000 42px);
  mask-image:linear-gradient(90deg,transparent,#000 42px)}
.fr-fin .fr-piste{-webkit-mask-image:linear-gradient(270deg,transparent,#000 42px);
  mask-image:linear-gradient(270deg,transparent,#000 42px)}
.fr-debut.fr-fin .fr-piste{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 42px,#000 calc(100% - 42px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 42px,#000 calc(100% - 42px),transparent)}
.fr-vide{margin:16px 0 0;font-family:var(--mono);font-size:13px;color:var(--gris2)}
.fr-pied{margin:14px 0 0;font-size:13px;color:var(--gris2);max-width:80ch}

/* Au doigt, la piste s'arrête sur une carte ; à la souris, elle glisse librement
   (un aimant qui se bat contre la molette rend le défilement saccadé). */
@media(hover:none){.fr-piste{scroll-snap-type:x mandatory}.fr-soiree,.fr-auj{scroll-snap-align:start}}
/* Petit écran : une carte par écran, dès le premier. Les étiquettes verticales
   (aujourd'hui, le mois) pousseraient la première carte hors de l'écran : elles
   sortent. Le point vert d'aujourd'hui reste sur le rail, et chaque carte porte
   déjà son mois et son compte à rebours. */
@media(max-width:560px){
  .fr-piste{scroll-snap-type:x mandatory}
  .fr-soiree,.fr-auj{scroll-snap-align:start}
  .fr-soiree{width:100%}
  .fr-carte{min-height:350px}
  .fr-mois{display:none}
  .fr-piste>.fr-auj{width:0;padding-right:0}
  .fr-auj>span{display:none}
}
