/*
 * Bestioles en Cavale — complément à classement.css partagé.
 * Trois classements cohabitent (explorateurs, défi du jour, arène) : la carte
 * partagée de 600 px est trop étroite pour leurs colonnes, et celles-ci
 * n'existent pas dans le partagé.
 */
.card {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.classement-intro {
  font-size: 0.82rem;
  color: #94a3b8;
  line-height: 1.5;
  margin: -12px 0 20px;
}

/* Onglets Explorateurs / Défi du jour / Arène */
.onglets {
  display: flex;
  gap: 8px;
  margin-bottom: 18px;
  justify-content: center;
  flex-wrap: wrap;
}

.onglet {
  padding: 9px 20px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: #e2e8f0;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.onglet:hover { background: rgba(255, 255, 255, 0.1); }
.onglet.actif {
  background: color-mix(in srgb, var(--color-mid) 22%, transparent);
  border-color: color-mix(in srgb, var(--color-mid) 55%, transparent);
  color: var(--color-accent);
}

.panneau { display: none; }
.panneau.actif { display: block; }

/* Filtres de palier, dans l'onglet Arène */
.filtres-niveau {
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.filtre-niveau {
  padding: 7px 15px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  color: #cbd5e1;
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.filtre-niveau:hover { background: rgba(255, 255, 255, 0.09); }
.filtre-niveau.actif {
  background: color-mix(in srgb, var(--color-mid) 26%, transparent);
  border-color: color-mix(in srgb, var(--color-mid) 55%, transparent);
  color: var(--color-accent);
}

/* Colonnes propres au jeu */
.lb-score { width: 88px; text-align: right; }
.lb-niveaux { width: 96px; text-align: right; }
.lb-coups { width: 78px; text-align: right; }
.lb-reussis { width: 88px; text-align: right; }
.lb-manches { width: 84px; text-align: right; }

.lb-row .lb-score { font-weight: 800; color: var(--color-accent); font-variant-numeric: tabular-nums; }
.lb-row .lb-niveaux,
.lb-row .lb-coups,
.lb-row .lb-reussis,
.lb-row .lb-manches { font-weight: 600; color: #94a3b8; font-variant-numeric: tabular-nums; }

/* Ligne du joueur connecté hors du top 50 */
.lb-row.moi {
  background: color-mix(in srgb, var(--color-mid) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-mid) 30%, transparent);
}
.lb-row .moi-tag { color: var(--color-accent); font-size: 0.75rem; font-weight: 700; }

/* Séparateur entre le top 50 et la ligne « moi » */
.lb-separateur {
  text-align: center;
  padding: 8px 0;
  color: #64748b;
  font-size: 0.8rem;
  letter-spacing: 1px;
}

.btn-defi-classement {
  display: inline-block;
  margin-top: 20px;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 10px 24px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, var(--color-btn1), var(--color-btn2));
  box-shadow: 0 4px 15px color-mix(in srgb, var(--color-btn2) 40%, transparent);
  text-decoration: none;
  transition: transform 0.2s;
}
.btn-defi-classement:hover { transform: translateY(-2px); }

.back-link { display: block; }

@media (max-width: 720px) {
  /* Les colonnes de contexte partent les premières : le rang, le pseudo et le
     score restent lisibles jusqu'au bout. */
  .lb-niveaux, .lb-manches { display: none; }
}
@media (max-width: 480px) {
  .lb-coups, .lb-reussis { display: none; }
  .lb-score { width: 72px; font-size: 0.85rem; }
  .classement-intro { font-size: 0.78rem; }
}
