/* Temps mort, la ligue entre amis : les trophées, les records, la course aux playoffs et les playoffs racontés
   (ligue-trophees-vue.js, classes tr…). Les couleurs viennent de ligue.html (--carte, --trait, --jaune, --orange…). */
.trBloc h3{margin:0}
.trBloc h4{margin:.9rem 0 .35rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--texte3)}
.trTete{display:flex;align-items:center;gap:.5rem;min-width:0}
.trTete b{font-family:var(--titre);font-weight:800;font-size:1.1rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.05}
.trIcone{width:1.35rem;height:1.35rem;flex:none;fill:none;stroke:var(--jaune);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.trBloc p{max-width:46rem}
.trGros{font-family:var(--titre);font-weight:800;font-size:clamp(1.5rem,5vw,2rem);text-transform:uppercase;line-height:1;margin:.7rem 0 .2rem}
.trGros span{font-size:.6em;color:var(--texte2)}
.trOk{color:var(--vert)}
.trFini{color:var(--texte2)}
.trChiffres{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:.8rem 0 .4rem}
.trChiffres small{display:block;font-size:.75rem;color:var(--texte3);letter-spacing:.03em}
.trChiffres b{font-family:var(--titre);font-weight:800;font-size:1.9rem;font-variant-numeric:tabular-nums;line-height:1}
.trChiffres b span{font-size:.55em;color:var(--texte2);font-weight:700}
.trCasL{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,5.6rem),1fr));gap:.4rem;margin:.6rem 0;max-width:30rem}
.trCas{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.1rem;padding:.45rem .6rem;border-radius:var(--r);background:var(--carte2);border:1px solid var(--trait);font-size:.9rem}
.trCas::before{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--v);background:var(--texte3)}
.trCas.seuil{border-color:color-mix(in srgb,var(--jaune) 55%,transparent)}
.trCas.seuil::before{background:var(--jaune)}
.trCas b{font-weight:700}
.trCas i{font-style:normal;font-family:var(--titre);font-weight:800;font-size:1.25rem;font-variant-numeric:tabular-nums}
.trSi,.trSures{color:var(--texte2);font-size:.95rem}
.trSures{color:var(--texte)}
.trAutres{margin:0;padding-left:1.1rem;display:grid;gap:.3rem;color:var(--texte2);font-size:.95rem}
.trAutres li::marker{color:var(--jaune)}
.trAutres b{color:var(--texte)}
.trAutres small{color:var(--texte3)}
.trNote{margin-top:.8rem}
.trCalcul{color:var(--texte2)}
.trAvance{height:.4rem;border-radius:999px;overflow:hidden;background:var(--trait);margin-top:.5rem}
.trAvance i{display:block;height:100%;width:35%;background:var(--jaune);border-radius:999px;animation:trAttente 1.4s ease-in-out infinite}
@keyframes trAttente{0%{transform:translateX(-100%)}100%{transform:translateX(290%)}}
/* les listes (la course de chacun, les podiums) */
.trListe{display:grid;gap:.35rem;margin-top:.7rem}
.trL{display:grid;grid-template-columns:1.6rem auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.4rem .55rem;border-radius:var(--r);background:var(--carte2);border:1px solid var(--trait);min-height:44px}
.trL.moi,.trPodium li.moi,.trRec.moi{border-color:color-mix(in srgb,var(--orange) 50%,transparent)}
.trPos{font-family:var(--titre);font-weight:800;font-size:1.1rem;color:var(--texte3);text-align:center;font-variant-numeric:tabular-nums}
.trQui{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.trQui b{overflow-wrap:anywhere}
.trQui small{color:var(--texte3);font-size:.78rem;overflow-wrap:anywhere}
.trDroite{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.15}
.trDroite b{font-weight:700;font-size:.92rem;white-space:nowrap}
.trDroite small{color:var(--texte3);font-size:.78rem}
.trSection{margin-top:1.6rem}
.trSous{margin:-.3rem 0 .7rem;max-width:52rem}
.trGrille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.8rem;align-items:start}
.trCarte{background:var(--carte);border:1px solid var(--trait);border-radius:calc(var(--r) + 4px);padding:.9rem 1rem;min-width:0}
.trCarte header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.trCarte h4{margin:0;font-family:var(--titre);font-weight:800;font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em;flex:1 1 auto;min-width:0}
.trEtat{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--texte3);border:1px solid var(--trait2);border-radius:999px;padding:.12rem .5rem;white-space:nowrap}
.trEtat.fini{color:var(--orange2);border-color:color-mix(in srgb,var(--orange) 45%,transparent)}
.trEtat.remis{color:#14100a;background:var(--jaune);border-color:var(--jaune)}
.trRegle{font-size:.8rem;color:var(--texte3);margin:.35rem 0 .55rem;line-height:1.35}
.trPodium{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.trPodium li{display:grid;grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:var(--r);background:var(--carte2);border:1px solid var(--trait)}
/* ligue.html a une règle générale .tete (un flex, une marge, et grid-area:tete au-dessus de 900 px) : sans ce rappel, le
   premier du podium ouvrait une seconde colonne et les noms se coupaient lettre par lettre */
.trPodium li.tete{border-color:color-mix(in srgb,var(--jaune) 45%,transparent);grid-area:auto;margin:0}
.trPodium li.tete .trPos{color:var(--jaune)}
.trVal{font-family:var(--titre);font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums;text-align:right;line-height:1;white-space:nowrap}
.trVal small{display:block;font-family:var(--lecture);font-weight:400;font-size:.75rem;color:var(--texte3)}
.trToi{font-size:.85rem;color:var(--texte2);margin:.45rem 0 0}
.trHasard{font-size:.8rem;color:var(--texte3);margin:.55rem 0 0;line-height:1.4}
.trFait{margin:.2rem 0 .45rem}
.trFait small{color:var(--texte3)}
.trMatch,.trRec{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;min-height:44px;padding:.45rem .6rem;border-radius:var(--r);background:var(--carte2);border:1px solid var(--trait);color:var(--texte);text-align:left;font:inherit}
.trMatch small,.trRec small{color:var(--texte3);font-size:.78rem}
.trMatch:hover,.trRec:hover{border-color:var(--texte3)}
.trRecords{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.5rem}
.trRec{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t v" "q v";column-gap:.6rem}
.trRecT{grid-area:t;font-size:.8rem;color:var(--texte3);letter-spacing:.02em}
.trRecV{grid-area:v;align-self:center;font-family:var(--titre);font-weight:800;font-size:1.8rem;color:var(--jaune);font-variant-numeric:tabular-nums}
.trRecQ{grid-area:q;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}
.trRecQ small{display:block}
/* la vitrine */
.trCoupes{list-style:none;margin:.7rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:.45rem}
.trCoupe{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:var(--r);background:var(--carte2);border:1px solid color-mix(in srgb,var(--jaune) 35%,transparent)}
.trCoupe.or{background:color-mix(in srgb,var(--jaune) 14%,var(--carte2));border-color:var(--jaune)}
.trCoupe .trIcone{width:1.8rem;height:1.8rem}
.trCoupe span{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.trCoupe small{color:var(--texte3);font-size:.78rem}
.trMini{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.trMini li{display:flex;align-items:center;gap:.5rem;justify-content:space-between;padding:.3rem .5rem;border-radius:var(--r);background:var(--carte2);min-height:2.4rem}
.trMini li>span:not(.trPos){flex:1;min-width:0}
.trMini small{color:var(--texte3)}
.trMini .trVal{font-size:1.05rem}
/* les playoffs */
.trSerie{margin:.35rem 0 .5rem;font-size:.92rem;color:var(--texte2)}
.trSerie.balle b,.trSerie.decisif b{color:var(--jaune)}
.trSerie.decisif{color:var(--texte)}
.trSerie.gagne b{color:var(--vert)}
.trChampion{position:relative;overflow:hidden;text-align:center;margin-bottom:1rem;padding:1.6rem 1.1rem;border-color:var(--jaune);background:radial-gradient(90% 70% at 50% 0%,color-mix(in srgb,var(--jaune) 16%,var(--carte)) 0,var(--carte) 70%)}
.trChampion h2{margin:.5rem 0 0;font-size:clamp(2rem,7vw,3.2rem);font-style:italic}
.trChampion h3{margin:1.4rem 0 .5rem;color:var(--texte2)}
.trSur{margin:0;font-family:var(--titre);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--jaune)}
.trCoach{color:var(--texte2);margin:.3rem auto 0}
.trBlasonG{margin-top:.8rem}
.trBlasonG .blason{display:inline-grid!important;width:5.4rem!important;height:5.4rem!important;font-size:1.5rem!important;border-radius:20px 20px 50% 50%!important}
.trParcours{list-style:none;margin:1rem auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.trParcours li{display:flex;flex-direction:column;padding:.45rem .8rem;border-radius:var(--r);background:var(--carte2);border:1px solid var(--trait);min-width:9rem}
.trParcours small,.trRemis small{color:var(--texte3);font-size:.75rem;letter-spacing:.03em}
.trMvpF{display:inline-flex;align-items:center;gap:.5rem;margin:1rem auto 0;text-align:left}
.trMvpF small{display:block;color:var(--texte3)}
.trRemis{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.45rem;max-width:60rem;text-align:left}
.trRemis li{display:flex;flex-direction:column;padding:.5rem .7rem;border-radius:var(--r);background:var(--carte2);border:1px solid color-mix(in srgb,var(--jaune) 30%,transparent);min-width:0}
.trRemis b{overflow-wrap:anywhere}
.trRemis span{color:var(--texte2);font-size:.85rem}
.trConfettis{position:absolute;inset:0;pointer-events:none}
.trConfettis i{position:absolute;top:-1rem;left:calc(var(--i) * 7.1% + 2%);width:.5rem;height:.9rem;border-radius:2px;background:var(--jaune);opacity:.85;animation:trTombe 3.2s calc(var(--i) * -0.23s) linear infinite}
.trConfettis i:nth-child(3n){background:var(--orange)}
.trConfettis i:nth-child(3n+1){background:var(--texte)}
@keyframes trTombe{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(34rem) rotate(540deg)}}
@media (prefers-reduced-motion:reduce){.trConfettis{display:none}.trAvance i{animation:none;width:100%;opacity:.4}}
/* les tuiles du tableau de bord */
.trTuile{display:flex;flex-direction:column;gap:.3rem;padding:.6rem .7rem;border-radius:var(--r);background:var(--carte2);border:1px solid var(--trait);min-width:0}
.trTuile.or{border-color:var(--jaune)}
.trTuile>small{color:var(--texte2);font-size:.85rem}
.trTuileL{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.trTuileL li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.5rem;align-items:baseline;font-size:.85rem}
.trTuileL li small{grid-column:1/3;color:var(--texte3);font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}
.trTuileL li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trTuileL li span{color:var(--texte2);white-space:nowrap;font-variant-numeric:tabular-nums}
.trTuileL li.moi b{color:var(--orange2)}
.trTuile .trSerie{margin:.1rem 0;font-size:.85rem}
