/* ================ Leaderboard Page Styles ================ */
.leaderboard-main {
  padding-top: 32px;
  padding-bottom: 48px;
}
.leaderboard-top .top-players-list {
  display: flex;
  gap: 0px;
  flex-wrap: wrap;
      flex-direction: column;
  margin-bottom:0px;
  justify-content: space-between;
}
.top-player-card {
  display: flex;
  align-items: center;
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 20px 28px;
  gap: 20px;

  transition: box-shadow var(--transition);
  position: relative;
}
.top-player-card:hover {
  box-shadow: var(--shadow-md);
  background: #1f2130;
}
.player-rank {
  font-size: 1.8rem;
  font-family: var(--font-family-heading);
  font-weight: 800;
  min-width: 36px;
  min-height: 36px;
  background: var(--color-neutral-600);
  border-radius: 50%;
  color: var(--color-text);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
}
.player-rank.gold {background: linear-gradient(90deg,#ffe066 60%,#f5d243 100%);color:#ba9400;}
.player-rank.silver {background: linear-gradient(90deg,#dadada 60%,#bbb 100%);color:#676767;}
.player-rank.bronze {background: linear-gradient(90deg,#f2b473 60%,#d58536 100%);color:#92550d;}
.player-avatar {
  width: 52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary);
}
.player-info {display:flex; flex-direction:column;gap:2px;}
.player-name {font-weight:700;margin-bottom:2px;font-size:1.08rem;}
.player-achievement {color:var(--color-neutral-400);font-size:var(--font-size-xs);}
.player-points {margin-left:auto;font-weight:600;font-size:1.1rem;color:var(--color-primary);}
.leaderboard-cta {margin-top: 20px;gap:16px;}

/* Rules Section */
.leaderboard-rules .rules-list {
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 1rem;
  color: var(--color-text);
}

/* Player Spotlight */
.player-spotlight .spotlight-flex {display:flex;gap:32px;align-items:center;flex-wrap:wrap;}
.spotlight-avatar {border-radius:50%;width:110px;height:110px;object-fit:cover;border:3px solid var(--color-primary);}
.spotlight-story {max-width: 430px;}
.spotlight-name {color:var(--color-primary);}

/* Weekly Challenges */
.leaderboard-challenges .challenges-list {
  display:flex;flex-direction:column;gap:14px;
  font-size:1rem;
}

/* Hall of Fame */
.hall-of-fame .halloffame-list {
  list-style-type:star;
  display:flex;flex-direction:column;gap:10px;font-size:1rem;
}
.hof-player {color:var(--color-primary-hover);font-weight:600;}

/* Tips & Strategies */
.leaderboard-tips .tips-list {
  padding-left:16px;
  display:flex;flex-direction:column;gap:8px;
}

/* Leaderboard History */
.leaderboard-history p {
  margin-bottom: 12px;
  color: var(--color-neutral-200);
}

/* Testimonials */
.leaderboard-testimonials .testimonials-list {
  display: flex;
  flex-wrap: wrap;
  gap: 28px 24px;
}
.testimonial {
  background: #232637;
  color: var(--color-neutral-100);
  padding: 18px 26px 14px 22px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  font-style: italic;
  max-width: 320px;
  flex: 1 1 220px;
  margin: 0;
}
.testimonial footer {
  font-style: normal;
  color: var(--color-primary);
  margin-top: 8px;
  font-size: 1rem;
}

/* Responsive Styles */
@media (max-width: 920px) {
  .leaderboard-top .top-players-list {
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
  }
}
@media (max-width: 690px) {
  .player-spotlight .spotlight-flex {flex-direction:column;gap:16px;align-items:flex-start;}
  .card {padding: 20px 10px;}
}
@media (max-width: 500px) {
  .leaderboard-main {padding-left:6px;padding-right:6px;}
  h1 {font-size:1.5rem;}
}
