/* Effectif + fiche joueur : même langage que l'accueil et les actualités */
.tnk-eff { max-width: 1180px; margin: 0 auto; padding: 40px 24px 56px; font-family: 'Barlow', system-ui, sans-serif; color: #fff; }
.tnk-eff h1 { margin: 0; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 900; font-size: 3.4rem; line-height: .95; text-transform: uppercase; letter-spacing: .01em; color: #fff; }
.tnk-eff__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 12px; }
.tnk-eff__head p { margin: 8px 0 0; color: gray; }

/* Pastilles / filtres */
.tnk-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.tnk-chip { height: 36px; padding: 0 14px; border-radius: 999px; background: #0d0f13; border: 1px solid #1d2026; color: #d4d6da; font: 600 .9rem 'Barlow', system-ui, sans-serif; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.tnk-chip:hover { border-color: #3a3f48; color: #fff; }
.tnk-chip[aria-pressed="true"] { background: #daf37c; border-color: #daf37c; color: #0a0c0f; }
.tnk-chip:focus-visible { outline: 2px solid #daf37c; outline-offset: 2px; }
.tnk-badge { display: inline-block; padding: 2px 9px; border-radius: 999px; background: rgba(218, 243, 124, .12); border: 1px solid rgba(218, 243, 124, .35); color: #daf37c; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; line-height: 1.5; }
.tnk-badge--gris { background: rgba(157, 161, 168, .1); border-color: rgba(157, 161, 168, .4); color: #c9ccd1; }
.tnk-badge--rouge { background: rgba(194, 81, 81, .12); border-color: rgba(194, 81, 81, .45); color: #e38585; }

/* Titres de groupe */
.tnk-eff__groupe { margin-top: 36px; }
.tnk-eff__groupe[hidden] { display: none; }
.tnk-eff__titre { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; padding-bottom: 14px; margin-bottom: 20px; border-bottom: 1px solid #1d2026; }
.tnk-eff__titre h2 { margin: 0; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.9rem; text-transform: uppercase; line-height: 1; color: #fff; }
.tnk-eff__compte { font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.3rem; color: #daf37c; }
.tnk-eff__titre p { margin: 0 0 0 auto; color: gray; font-size: .95rem; }

/* Grille de joueurs */
.tnk-eff__grille { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.tnk-joueur { position: relative; display: flex; flex-direction: column; gap: 14px; min-height: 210px; padding: 18px 18px 16px; background: #0d0f13; border: 1px solid #1d2026; border-radius: 12px; overflow: hidden; color: #fff; text-decoration: none; isolation: isolate; transition: border-color .2s, transform .2s; }
.tnk-joueur[hidden] { display: none; }
.tnk-joueur::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: #1d2026; transition: background .2s; }
.tnk-joueur--renfort::before { background: #daf37c; }
.tnk-joueur--indisponible::before { background: #c25151; }
.tnk-joueur--poteau::before { background: #6b6f77; }
.tnk-eff__ajout-poteau { margin: 0 0 0 auto; }
.tnk-eff__ajout-poteau button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1px solid #2a2e36; border-radius: 999px; background: transparent; color: #daf37c; font: 700 .88rem 'Barlow', system-ui, sans-serif; cursor: pointer; }
.tnk-eff__ajout-poteau button:hover { border-color: #daf37c; }
.tnk-joueur:hover { border-color: #daf37c; transform: translateY(-3px); }
.tnk-joueur:focus-visible { outline: 2px solid #daf37c; outline-offset: 2px; }
.tnk-joueur__num { position: absolute; right: -6px; bottom: -34px; z-index: -1; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 900; font-size: 9.5rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px #23272e; transition: -webkit-text-stroke-color .2s; user-select: none; }
.tnk-joueur:hover .tnk-joueur__num { -webkit-text-stroke-color: rgba(218, 243, 124, .35); }
.tnk-joueur__haut { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tnk-joueur__poste { color: #daf37c; font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.tnk-joueur__club { width: 30px; height: 30px; object-fit: contain; }
.tnk-joueur--indisponible .tnk-joueur__club, .tnk-joueur--occasionnel .tnk-joueur__club, .tnk-joueur--fondateur .tnk-joueur__club { opacity: .55; }
.tnk-joueur__nom { display: flex; flex-direction: column; gap: 2px; }
.tnk-joueur__numero { font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.1rem; color: #6b6f77; }
.tnk-joueur__nom [role="heading"] { font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2rem; line-height: 1; text-transform: uppercase; overflow-wrap: anywhere; }
.tnk-joueur__infos { display: flex; align-items: center; gap: 10px; min-height: 22px; }
.tnk-joueur__drapeau { width: 22px; height: 16px; border-radius: 2px; background-size: cover; }
.tnk-joueur__stats { display: flex; align-items: center; gap: 16px; margin-top: auto; padding-top: 12px; border-top: 1px solid #1d2026; color: #9da1a8; font-size: .9rem; }
.tnk-joueur__stats strong { color: #fff; font-weight: 700; font-size: 1.05rem; margin-right: 2px; }
.tnk-joueur__fleche { margin-left: auto; color: #6b6f77; transition: color .2s, transform .2s; }
.tnk-joueur:hover .tnk-joueur__fleche { color: #daf37c; transform: translateX(3px); }

/* ---------- Fiche joueur ---------- */
.tnk-fiche { padding-top: 24px; }
.tnk-fiche__nav { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; font-size: .92rem; }
.tnk-fiche__nav span { display: flex; gap: 18px; }
.tnk-fiche__nav a { color: #9da1a8; text-decoration: none; font-weight: 600; }
.tnk-fiche__nav a:hover { color: #daf37c; }

.tnk-fiche__hero { display: grid; grid-template-columns: minmax(260px, 400px) 1fr; gap: 28px; align-items: stretch; }
.tnk-maillot { position: relative; align-self: start; background: #0d0f13; border: 1px solid #1d2026; border-radius: 14px; overflow: hidden; }
.tnk-maillot img { display: block; width: 100%; height: auto; }
.tnk-maillot__nom, .tnk-maillot__num { position: absolute; left: 0; right: 0; text-align: center; font-family: 'Righteous', sans-serif; color: var(--flocage, #fff); }
.tnk-maillot__nom { top: 15%; font-size: clamp(1.3rem, 2.4vw, 2rem); letter-spacing: .04em; }
.tnk-maillot__num { top: 41%; transform: translateY(-50%); font-size: clamp(5.5rem, 11vw, 9rem); line-height: 1; }

.tnk-fiche__identite { position: relative; display: flex; flex-direction: column; padding: 28px; background: #0d0f13; border: 1px solid #1d2026; border-radius: 14px; overflow: hidden; isolation: isolate; }
.tnk-fiche__bgnum { position: absolute; right: -10px; top: -50px; z-index: -1; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 900; font-size: 17rem; line-height: 1; color: transparent; -webkit-text-stroke: 2px #1f232a; user-select: none; }
.tnk-fiche__surtitre { margin: 0 0 6px; color: #daf37c; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; }
.tnk-fiche h1 { font-size: clamp(3rem, 6vw, 4.8rem); }
.tnk-fiche__infos { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 14px 0 24px; color: #d4d6da; }
.tnk-fiche__infos .fi { width: 22px; height: 16px; border-radius: 2px; background-size: cover; vertical-align: -2px; margin-right: 4px; }
.tnk-fiche__club { display: inline-flex; align-items: center; gap: 6px; color: #9da1a8; font-size: .9rem; }

.tnk-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: auto; }
.tnk-kpi { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: rgba(10, 12, 15, .75); border: 1px solid #1d2026; border-radius: 10px; }
.tnk-kpi__val { font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 2.6rem; line-height: 1; color: #daf37c; }
.tnk-kpi__val small { font-size: 1.3rem; color: #6b6f77; margin-left: 2px; }
.tnk-kpi__lib { font-weight: 700; font-size: .95rem; }
.tnk-kpi__note { color: #9da1a8; font-size: .85rem; }
.tnk-jauge { display: block; height: 5px; margin: 4px 0 2px; background: #1d2026; border-radius: 999px; overflow: hidden; }
.tnk-jauge span { display: block; height: 100%; background: #daf37c; border-radius: inherit; }

.tnk-fiche__bloc { margin-top: 36px; }
.tnk-fiche__duo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.tnk-carte-stat { padding: 22px 24px; background: #0d0f13; border: 1px solid #1d2026; border-radius: 14px; }
.tnk-carte-stat h2 { margin: 0 0 18px; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.6rem; text-transform: uppercase; line-height: 1; color: #fff; }
.tnk-vnd { display: flex; height: 38px; border-radius: 8px; overflow: hidden; gap: 3px; }
.tnk-vnd span { display: grid; place-items: center; min-width: 30px; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.25rem; }
.tnk-vnd__v { background: #daf37c; color: #0a0c0f; }
.tnk-vnd__n { background: #3a3f48; color: #fff; }
.tnk-vnd__d { background: #c25151; color: #fff; }
.tnk-vnd__legende { display: flex; gap: 16px; margin: 10px 0 18px; color: #9da1a8; font-size: .85rem; }
.tnk-vnd__legende span::before { content: ''; display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; }
.tnk-vnd__legende .v::before { background: #daf37c; }
.tnk-vnd__legende .n::before { background: #3a3f48; }
.tnk-vnd__legende .d::before { background: #c25151; }
.tnk-lignes { margin: 0; }
.tnk-lignes div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid #1d2026; }
.tnk-lignes dt { color: #9da1a8; }
.tnk-lignes dd { margin: 0; font-weight: 700; }

.tnk-forme { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.tnk-forme__m { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 6px; border: 1px solid #1d2026; border-radius: 10px; background: #0a0c0f; color: #fff; text-decoration: none; transition: border-color .2s; }
.tnk-forme__m:hover { border-color: #daf37c; }
.tnk-forme__l { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; font-weight: 800; font-size: .9rem; }
.tnk-forme__m--win .tnk-forme__l { background: #daf37c; color: #0a0c0f; }
.tnk-forme__m--draw .tnk-forme__l { background: #3a3f48; }
.tnk-forme__m--loss .tnk-forme__l { background: #c25151; }
.tnk-forme__m img { width: 34px; height: 34px; object-fit: contain; }
.tnk-forme__s { font-weight: 700; font-size: .9rem; color: #d4d6da; white-space: nowrap; }
.tnk-fiche__aide { margin: 14px 0 0; color: #6b6f77; font-size: .85rem; }

/* Lignes de matchs */
.tnk-matchs { display: flex; flex-direction: column; gap: 10px; }
.tnk-ligne { display: grid; grid-template-columns: 130px 1fr 64px 36px; align-items: center; gap: 16px; padding: 12px 18px; background: #0d0f13; border: 1px solid #1d2026; border-radius: 10px; color: #fff; text-decoration: none; transition: border-color .2s; }
.tnk-ligne[hidden] { display: none; }
.tnk-ligne:hover { border-color: #daf37c; }
.tnk-ligne__date { display: flex; flex-direction: column; font-size: .9rem; }
.tnk-ligne__date span { color: #6b6f77; font-size: .82rem; }
.tnk-ligne__affiche { display: grid; grid-template-columns: 1fr 34px auto 34px 1fr; align-items: center; gap: 12px; min-width: 0; }
.tnk-ligne__affiche img { width: 34px; height: 34px; object-fit: contain; }
.tnk-ligne__equipe { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tnk-ligne__equipe--dom { text-align: right; }
.tnk-ligne__score { min-width: 76px; padding: 5px 10px; border-radius: 6px; background: #0a0c0f; border: 1px solid #1d2026; text-align: center; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.3rem; line-height: 1.1; }
.tnk-ligne__score i { font-style: normal; margin: 0 5px; color: #6b6f77; }
.tnk-ligne__buts { justify-self: end; color: #daf37c; font-weight: 700; white-space: nowrap; }
.tnk-ligne__buts--zero { color: #3a3f48; }
.tnk-ligne__res { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 6px; font-weight: 800; font-size: .85rem; justify-self: end; }
.tnk-ligne--win .tnk-ligne__res { background: #daf37c; color: #0a0c0f; }
.tnk-ligne--draw .tnk-ligne__res { background: #3a3f48; }
.tnk-ligne--loss .tnk-ligne__res { background: #c25151; }

.tnk-centre { display: flex; justify-content: center; margin-top: 22px; }
.tnk-btn-plus { height: 46px; padding: 0 28px; border-radius: 8px; background: transparent; border: 1px solid #3a3f48; color: #fff; font: 700 .95rem 'Barlow', system-ui, sans-serif; cursor: pointer; transition: border-color .2s, color .2s; }
.tnk-btn-plus:hover, .tnk-btn-plus:focus-visible { border-color: #daf37c; color: #daf37c; outline: 0; }
.tnk-vide { margin-top: 32px; padding: 32px; text-align: center; color: gray; border: 1px dashed #1d2026; border-radius: 10px; }

/* ---------- Graphiques de la fiche joueur ---------- */
.tnk-graph { position: relative; }
.tnk-graph__duo { margin-top: 20px; }
.tnk-graph__tete { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 14px; flex-wrap: wrap; margin-bottom: 18px; }
.tnk-graph__tete h3 { margin: 0; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight: 800; font-size: 1.45rem; text-transform: uppercase; line-height: 1; color: #fff; }
.tnk-graph__tete p { margin: 0; color: #9da1a8; font-size: .88rem; }
.tnk-graph__tete p strong { color: #fff; }
.tnk-graph__zone { position: relative; display: flex; gap: 10px; }
.tnk-graph__axe { display: flex; flex-direction: column; justify-content: space-between; height: 190px; color: #6b6f77; font-size: .75rem; font-variant-numeric: tabular-nums; text-align: right; min-width: 14px; }
.tnk-graph__barres { position: relative; flex: 1; display: flex; align-items: stretch; gap: 4px; height: 190px; padding-bottom: 24px; border-bottom: 0; background: linear-gradient(#1d2026, #1d2026) left calc(100% - 24px) / 100% 1px no-repeat, linear-gradient(#15181d, #15181d) left 0 / 100% 1px no-repeat, linear-gradient(#15181d, #15181d) left calc((100% - 24px) / 2) / 100% 1px no-repeat; box-sizing: content-box; }
.tnk-graph__axe { padding-bottom: 24px; box-sizing: content-box; }
.tnk-graph__moy { position: absolute; left: 0; right: 0; height: 0; margin-bottom: 24px; border-top: 2px dashed rgba(255, 255, 255, .35); pointer-events: none; z-index: 2; }
.tnk-graph__moy em { position: absolute; right: 0; bottom: 3px; padding: 1px 6px; border-radius: 4px; background: #0d0f13; color: #d4d6da; font-style: normal; font-size: .72rem; font-weight: 700; }
.tnk-graph__col { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; color: inherit; text-decoration: none; outline: none; }
.tnk-graph__col::before { content: ''; position: absolute; inset: 0 -2px; border-radius: 6px; background: transparent; transition: background .15s; }
.tnk-graph__col:hover::before, .tnk-graph__col.is-actif::before, .tnk-graph__col:focus-visible::before { background: rgba(255, 255, 255, .05); }
.tnk-graph__col:focus-visible { outline: 2px solid #daf37c; outline-offset: 2px; border-radius: 6px; }
.tnk-graph__barre { position: relative; width: 100%; max-width: 34px; min-height: 0; border-radius: 4px 4px 0 0; background: #daf37c; transition: filter .15s; }
.tnk-graph__barre.is-zero { height: 3px !important; background: #2a2e36; border-radius: 2px; }
.tnk-graph__barre b { position: absolute; left: 50%; bottom: 100%; transform: translateX(-50%); padding-bottom: 3px; color: #fff; font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.tnk-graph__col.is-actif .tnk-graph__barre:not(.is-zero) { filter: brightness(1.15); }
.tnk-graph__res { position: absolute; bottom: -22px; left: 0; right: 0; text-align: center; color: #6b6f77; font-size: .7rem; font-weight: 700; }
.tnk-graph__col--win .tnk-graph__res { color: #d4d6da; }
.tnk-graph__bulle { position: absolute; top: -8px; z-index: 5; transform: translate(-50%, -100%); display: flex; flex-direction: column; gap: 2px; min-width: 140px; padding: 8px 12px; background: #1d2026; border: 1px solid #2a2e36; border-radius: 10px; box-shadow: 0 10px 24px rgba(0, 0, 0, .5); pointer-events: none; white-space: nowrap; font-size: .8rem; color: #9da1a8; }
.tnk-graph__bulle strong { color: #fff; font-size: .95rem; }
.tnk-graph__bulle[hidden] { display: none; }

.tnk-saisons { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.tnk-saisons li { display: grid; grid-template-columns: 78px 1fr auto; align-items: center; gap: 4px 12px; }
.tnk-saisons__nom { color: #d4d6da; font-weight: 700; font-size: .9rem; font-variant-numeric: tabular-nums; }
.tnk-saisons__piste { height: 14px; border-radius: 4px; background: #15181d; overflow: hidden; }
.tnk-saisons__piste span { display: block; height: 100%; min-width: 3px; border-radius: 0 4px 4px 0; background: #daf37c; }
.tnk-saisons__val { color: #9da1a8; font-size: .85rem; white-space: nowrap; }
.tnk-saisons__val strong { color: #fff; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-size: 1.3rem; }
.tnk-saisons__detail { grid-column: 2 / -1; color: #6b6f77; font-size: .78rem; }

.tnk-minipitch { position: relative; width: 100%; max-width: 280px; margin: 0 auto; aspect-ratio: 400 / 560; border-radius: 12px; overflow: hidden; border: 1px solid #1d2026; background: repeating-linear-gradient(to bottom, #11151a 0, #11151a 10%, #0e1216 10%, #0e1216 20%); }
.tnk-minipitch svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(218, 243, 124, .18); stroke-width: 2; }
.tnk-minipitch__pt { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 3px; }
.tnk-minipitch__pt b { display: grid; place-items: center; width: var(--t); height: var(--t); border-radius: 50%; background: rgba(218, 243, 124, .22); border: 2px solid rgba(218, 243, 124, .7); color: #fff; font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif; font-size: 1.05rem; font-weight: 900; box-shadow: 0 0 0 2px #0e1216; }
.tnk-minipitch__pt.is-top b { background: #daf37c; border-color: #daf37c; color: #0a0c0f; }
.tnk-minipitch__pt small { padding: 1px 6px; border-radius: 4px; background: rgba(10, 12, 15, .88); color: #d4d6da; font-size: .68rem; font-weight: 700; white-space: nowrap; }
.tnk-graph__vide { margin: 10px 0 0; text-align: left; }

@media (max-width: 600px) {
    .tnk-graph__barres { gap: 2px; }
    .tnk-graph__barre b { font-size: .7rem; }
    .tnk-graph__moy em { font-size: .66rem; }
    .tnk-saisons li { grid-template-columns: 70px 1fr auto; }
}

@media (max-width: 900px) {
    .tnk-fiche__hero, .tnk-fiche__duo { grid-template-columns: 1fr; }
    .tnk-maillot { max-width: 420px; width: 100%; justify-self: center; }
}
@media (max-width: 680px) {
    .tnk-ligne { grid-template-columns: 1fr auto auto; gap: 8px 12px; padding: 12px 14px; }
    .tnk-ligne__date { grid-column: 1 / -1; flex-direction: row; gap: 8px; }
    .tnk-ligne__affiche { grid-template-columns: 28px auto 28px 1fr; gap: 8px; }
    .tnk-ligne__affiche img { width: 28px; height: 28px; }
    .tnk-ligne__equipe--dom { display: none; }
    .tnk-ligne__score { min-width: 64px; font-size: 1.15rem; }
}
@media (max-width: 600px) {
    .tnk-eff { padding: 28px 16px 44px; }
    .tnk-eff h1 { font-size: 2.6rem; }
    .tnk-eff__titre p { margin-left: 0; width: 100%; }
    .tnk-eff__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .tnk-joueur { min-height: 0; padding: 14px 14px 12px; gap: 10px; }
    .tnk-joueur__nom [role="heading"] { font-size: 1.35rem; overflow-wrap: normal; word-break: normal; hyphens: auto; }
    .tnk-joueur__num { font-size: 7rem; bottom: -24px; }
    .tnk-joueur__stats { gap: 10px; font-size: .82rem; }
    .tnk-joueur__fleche { display: none; }
    .tnk-fiche__identite { padding: 22px 18px; }
    .tnk-fiche__bgnum { font-size: 12rem; }
    .tnk-kpi { padding: 14px; }
    .tnk-kpi__val { font-size: 2.1rem; }
    .tnk-forme { gap: 6px; }
    .tnk-forme__m img { width: 28px; height: 28px; }
    .tnk-forme__s { font-size: .78rem; }
    .tnk-maillot { max-width: 280px; }
}
@media (prefers-reduced-motion: reduce) {
    .tnk-joueur, .tnk-joueur__fleche { transition: none; }
    .tnk-joueur:hover { transform: none; }
}

/* Badges du joueur */
.tnk-badges { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.tnk-badge-j { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: #0d0f13; border: 1px solid #1d2026; border-radius: 12px; opacity: .55; }
.tnk-badge-j.is-ok { opacity: 1; border-color: rgba(218, 243, 124, .35); }
.tnk-badge-j__icone { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%; background: #1d2026; color: #6b6f77; font-size: 1.35rem; }
.tnk-badge-j.is-ok .tnk-badge-j__icone { background: #daf37c; color: #0a0c0f; box-shadow: 0 0 18px rgba(218, 243, 124, .25); }
.tnk-badge-j__texte { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.tnk-badge-j__texte strong { font-size: .98rem; color: #fff; }
.tnk-badge-j__texte small { color: #9da1a8; font-size: .82rem; line-height: 1.35; }
.tnk-badge-j__texte em { font-style: normal; color: #6b6f77; font-size: .78rem; font-weight: 600; }
.tnk-badge-j.is-ok .tnk-badge-j__texte em { color: #daf37c; }
.tnk-badge-j__jauge { display: block; height: 4px; margin-top: 4px; background: #1d2026; border-radius: 999px; overflow: hidden; }
.tnk-badge-j__jauge span { display: block; height: 100%; background: #daf37c; border-radius: inherit; }

/* Lien vers le comparateur */
.tnk-eff__comparer { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 7px 14px; border: 1px solid rgba(218, 243, 124, .45); border-radius: 999px; color: #daf37c; font-weight: 700; font-size: .9rem; text-decoration: none; transition: background .2s, color .2s; }
.tnk-eff__comparer:hover, .tnk-eff__comparer:focus-visible { background: #daf37c; color: #0a0c0f; }
.tnk-eff__comparer i { font-size: 1.1rem; }
.tnk-fiche__infos .tnk-eff__comparer { margin-top: 0; padding: 4px 12px; font-size: .85rem; }

/* Trophées (fiche joueur) */
.tnk-trophees { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.tnk-trophee { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px 18px; text-align: center; border-radius: 14px; background: radial-gradient(120% 90% at 50% 0%, rgba(240, 196, 80, .16), transparent 70%), #0d0f13; border: 1px solid rgba(240, 196, 80, .45); overflow: hidden; }
.tnk-trophee__icone { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 4px; border-radius: 50%; font-size: 1.8rem; color: #1a1406; background: linear-gradient(145deg, #ffe28a, #d9a53a); box-shadow: 0 0 24px rgba(240, 196, 80, .35); }
.tnk-trophee strong { color: #fff; font-size: 1rem; line-height: 1.25; }
.tnk-trophee small { color: #c9b98b; font-size: .82rem; font-weight: 600; }
.tnk-trophee--argent { background: radial-gradient(120% 90% at 50% 0%, rgba(200, 206, 216, .14), transparent 70%), #0d0f13; border-color: rgba(200, 206, 216, .4); }
.tnk-trophee--argent .tnk-trophee__icone { background: linear-gradient(145deg, #f1f3f6, #a9b0bb); box-shadow: 0 0 24px rgba(200, 206, 216, .25); }
.tnk-trophee--argent small { color: #aab1bb; }
.tnk-trophee--en-cours { border-style: dashed; }

/* Maillot devant / dos (fiche joueur) */
.tnk-maillot__faces { display: grid; transition: transform .7s cubic-bezier(.2, .7, .2, 1); transform-style: preserve-3d; }
.tnk-maillot--2faces { perspective: 1400px; }
.tnk-maillot__face { position: relative; grid-area: 1 / 1; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.tnk-maillot__face--devant { transform: rotateY(180deg); display: grid; place-items: center; background: #0d0f13; }
.tnk-maillot__face--devant img { width: 100%; height: 100%; object-fit: contain; }
.tnk-maillot.is-devant .tnk-maillot__faces { transform: rotateY(180deg); }
.tnk-maillot__barre { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; padding: 0 10px; }
.tnk-maillot__btn { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; border: 1px solid #2a2e36; background: rgba(10, 12, 15, .8); color: #fff !important; font: 600 .82rem 'Barlow', system-ui, sans-serif; text-decoration: none; cursor: pointer; backdrop-filter: blur(4px); }
.tnk-maillot__btn:hover { border-color: #daf37c; color: #daf37c !important; }

/* Badge « compte vérifié » (joueur relié à un compte du site) */
.tnk-fiche__verifie { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; border: 1px solid rgba(218, 243, 124, .45); background: rgba(218, 243, 124, .1); color: #daf37c; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; line-height: 1.5; }

/* Ses buts en vidéo (fiche joueur) */
.tnk-clips { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); }
.tnk-clip { display: flex; flex-direction: column; padding: 0; border: 1px solid #1d2026; border-radius: 12px; background: #0d0f13; color: #fff; text-align: left; cursor: pointer; overflow: hidden; font: inherit; transition: border-color .2s; }
.tnk-clip[hidden] { display: none; }
.tnk-clip:hover, .tnk-clip:focus-visible { border-color: #daf37c; outline: none; }
.tnk-clip__video { position: relative; display: block; aspect-ratio: 16 / 9; background: #000; }
.tnk-clip__video video { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.tnk-clip__video i { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 44px; height: 44px; padding-left: 3px; border-radius: 50%; border: 2px solid #daf37c; background: rgba(10, 12, 15, .7); color: #daf37c; font-size: 1.7rem; }
.tnk-clip__texte { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px 11px; }
.tnk-clip__texte strong { color: #daf37c; font-size: .95rem; }
.tnk-clip__texte small { color: #9da1a8; font-size: .8rem; }
.tnk-clips__plus { margin-top: 14px; border: 1px solid rgba(218, 243, 124, .45); background: none; cursor: pointer; font-family: inherit; }
/* Club d'origine (occasionnels, renforts) */
.tnk-joueur .tnk-joueur__club.is-club { opacity: 1; }
.tnk-joueur__clubnom { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #9da1a8; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }

/* Notes des membres (même code couleur que la page du match) */
.tnk-notes__moy { display: inline-grid; place-items: center; min-width: 38px; height: 24px; padding: 0 6px; border-radius: 6px; background: #1d2026; color: #9da1a8; font: 900 .95rem/1 'Big Shoulders Display', 'Arial Narrow', sans-serif; vertical-align: middle; }
.tnk-notes__moy.is-top { background: #daf37c; color: #0a0c0f; }
.tnk-notes__moy.is-bien { background: #5fbf6a; color: #0a0c0f; }
.tnk-notes__moy.is-moyen { background: #e3b341; color: #0a0c0f; }
.tnk-notes__moy.is-faible { background: #c25151; color: #fff; }
