/* T414b — fiches par sport (ecrans/fiche-sport-*.js). DA « Le Point » : LeaderboardRow (rang au chiffre Chivo 900, l'encre principale
   pour le premier, la secondaire ensuite ; nom en Chivo, valeurs qui s'alignent en mono), filet 1 px, rayon 5, aucune ombre, aucune
   couleur hors du direct (le rouge n'apparaît que par .etat.direct d'app.css), tout appui se voit (voile gris ≤ 200 ms). */
.fs-mention { margin:0 0 8px; font:700 10px/1.2 Chivo,system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--secondaire); }
.fs-masque { margin:0; }
.fs-lignes { list-style:none; margin:0; padding:0; }
.fs-ligne { display:grid; grid-template-columns:3.4ch auto minmax(0,1fr) auto; align-items:center; column-gap:10px; padding:8px 0; border-top:1px solid var(--filet); min-width:0; }
.fs-ligne:first-child { border-top:0; }
.fs-ligne:not(:has(.fs-portrait)) { grid-template-columns:3.4ch minmax(0,1fr) auto; }
.fs-rang { font:900 17px/1 Chivo,system-ui,sans-serif; color:var(--secondaire); text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fs-ligne-tete .fs-rang { color:var(--texte); }
.fs-portrait { width:20px; height:20px; border-radius:50%; object-fit:cover; background:var(--fond); flex:none; }
.fs-portrait-vide { display:inline-block; }
.fs-identite { display:grid; gap:1px; min-width:0; }
.fs-nom { font:700 15px/1.25 Chivo,system-ui,sans-serif; color:var(--texte); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fs-sous { font:700 12px/1.3 Chivo,system-ui,sans-serif; color:var(--secondaire); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fs-sous.mono { font:400 11px/1.3 "Chivo Mono",monospace; }
.fs-valeurs { display:grid; justify-items:end; gap:1px; text-align:right; }
.fs-valeur { font:400 14px/1.2 Chivo,system-ui,sans-serif; color:var(--texte); white-space:nowrap; }
.fs-valeur.mono { font-family:"Chivo Mono",monospace; font-variant-numeric:tabular-nums; }
.fs-sous-valeur { font-size:11px; color:var(--secondaire); white-space:nowrap; }
.fs-tout { width:100%; margin-top:8px; }

/* Le week-end (séances) et les étapes : une ligne par séance, la séance de la fiche en gras, les autres touchables. */
.fs-seances { list-style:none; margin:0; padding:0; }
.fs-seance { border-top:1px solid var(--filet); }
.fs-seance:first-child { border-top:0; }
.fs-seance-lien { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"nom etat" "quand etat"; column-gap:12px; row-gap:2px; align-items:center; padding:9px 4px; color:var(--texte); text-decoration:none; border-radius:3px; min-height:44px; box-sizing:border-box; }
.fs-seance-nom { grid-area:nom; display:grid; gap:1px; min-width:0; font:400 14px/1.25 Chivo,system-ui,sans-serif; }
.fs-seance-actuelle .fs-seance-nom { font-weight:700; }
.fs-seance-quand { grid-area:quand; font-size:12px; color:var(--secondaire); }
.fs-seance-etat { grid-area:etat; font:700 10px/1.2 Chivo,system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--secondaire); white-space:nowrap; }
.fs-seance-etat.mono { font:400 12px/1.2 "Chivo Mono",monospace; letter-spacing:0; text-transform:none; }
a.fs-seance-lien { transition:background-color 140ms ease; }
a.fs-seance-lien:active { background:var(--voile); }
@media (hover:hover) { a.fs-seance-lien:hover { background:color-mix(in srgb, var(--texte) 6%, transparent); } }
a.fs-seance-lien:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.fs-etapes > summary { cursor:pointer; margin:0; list-style-position:inside; }
.fs-etapes[open] > summary { margin-bottom:8px; }

/* Tennis : tour, court, lien vers le tableau. */
.fs-tennis .ligne-detail { display:flex; justify-content:space-between; gap:12px; }
.fs-lien-tableau { display:inline-block; margin-top:10px; }
.fiche-service { display:inline-block; width:6px; height:6px; margin-left:6px; vertical-align:2px; border-radius:50%; background:var(--texte); }

/* Sports collectifs : statistiques comparées (partage en gris) et faits de jeu par période. */
.fs-stat .ligne-stat { border-top:0; padding-bottom:4px; }
.fs-stat { border-top:1px solid var(--filet); padding-bottom:8px; }
.fs-stat:first-child { border-top:0; }
.fs-stat-barre { display:block; height:3px; background:var(--filet); border-radius:2px; overflow:hidden; }
.fs-stat-part { display:block; height:100%; background:var(--secondaire); }
.fs-periode { margin:12px 0 4px; font:700 10px/1.2 Chivo,system-ui,sans-serif; letter-spacing:.06em; color:var(--secondaire); }
.fs-fait { display:grid; grid-template-columns:5ch minmax(0,1fr) auto; gap:8px; align-items:baseline; }
.fs-fait-equipe { font:700 12px Chivo,system-ui,sans-serif; color:var(--secondaire); white-space:nowrap; }
.fs-etape-info .ligne-detail { display:flex; justify-content:space-between; gap:12px; border-top:0; padding-top:0; }
