/* leaderboard.css */
.lb-wrap {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 24px;
}
.lb-wrap h1 { font-size: 1.6rem; font-weight: 700; margin-bottom: 20px; }

.lb-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--green-card);
  border: 1px solid var(--green-border);
  border-radius: 10px;
  overflow: hidden;
}
.lb-table th {
  text-align: left;
  padding: 11px 16px;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .8px;
  color: var(--text-faint);
  border-bottom: 1px solid var(--green-border);
  background: var(--green-nav);
}
.lb-table td {
  padding: 11px 16px;
  font-size: 14px;
  border-bottom: 1px solid var(--green-border);
  color: var(--text-main);
}
.lb-table tr:last-child td { border-bottom: none; }
.lb-table tbody tr { cursor: pointer; }
.lb-table tbody tr:hover { background: var(--green-hover); }

.rank { font-weight: 700; color: var(--text-faint); }
.rank.gold   { color: #f5c518; }
.rank.silver { color: #a8a9ad; }
.rank.bronze { color: #cd7f32; }

.player-cell { display: flex; align-items: center; gap: 10px; }
.avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--green-hover);
  border: 1px solid var(--green-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; color: var(--text-muted);
  flex-shrink: 0;
}
.me-tag { font-size: 11px; color: var(--accent); margin-left: 4px; }

.rating-pill {
  display: inline-block;
  background: rgba(129,182,76,.15);
  color: var(--accent);
  border: 1px solid rgba(129,182,76,.3);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 13px; font-weight: 700;
}
.win  { color: #5b8a3c; font-weight: 600; }
.loss { color: #a04040; font-weight: 600; }
.draw { color: var(--text-muted); }
.winpct { color: var(--text-muted); font-size: 13px; }
.me-row td { background: rgba(129,182,76,.07) !important; }