/* ---------- 排行榜（#/leaderboard） ---------- */
.page-leaderboard {
  max-width: 880px;
  margin: 0 auto;
  padding: 32px 24px 64px;
}
.lb-eyebrow {
  display: block;
  margin-bottom: 8px;
  font-size: 10px;
  letter-spacing: .3em;
  color: var(--accent-cyan);
}
.lb-head h1 { margin: 0 0 10px; font-size: 30px; letter-spacing: .1em; }
.lb-head p { margin: 0 0 26px; font-size: 12px; letter-spacing: .06em; color: var(--muted); }

/* 我的卡 */
.lb-me {
  padding: 22px 26px;
  border: 1px solid rgba(53, 224, 255, .3);
  border-radius: var(--radius-lg, 22px);
  background: linear-gradient(135deg, rgba(53, 224, 255, .06), transparent 55%), var(--glass-bg, #101827);
  box-shadow: inset 0 1px 0 var(--glass-hi, transparent);
}
.lb-me__id { display: flex; align-items: center; gap: 18px; }
.lb-me__text h2 { margin: 0; font-size: 20px; letter-spacing: .06em; }
.lb-me__text h2 small { font-size: 11px; font-weight: 400; color: var(--muted); letter-spacing: .08em; }
.lb-me__bio { margin: 6px 0 0; font-size: 12px; line-height: 1.7; color: var(--muted); }
.lb-me__bio--empty { opacity: .7; }
.lb-me__stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin: 20px 0 0;
}
.lb-me__stats > div {
  padding: 12px 10px;
  border: 1px solid var(--glass-brd, rgba(140, 170, 255, .14));
  border-radius: var(--radius-md, 14px);
  text-align: center;
}
.lb-me__stats dt { font-size: 9px; letter-spacing: .2em; color: var(--muted); margin-bottom: 6px; }
.lb-me__stats dd { margin: 0; font-size: 13px; letter-spacing: .04em; }
.lb-me__stats dd b { font-size: 22px; color: var(--accent-cyan); }
.lb-me__stats dd small { color: var(--muted); font-size: 10px; }
.lb-me__ranking { color: var(--muted); font-size: 11px !important; }

/* 头像 */
.lb-avatar { display: inline-flex; overflow: hidden; border-radius: 50%; border: 2px solid rgba(53, 224, 255, .4); background: rgba(42, 62, 104, .25); flex: none; }
.lb-avatar img { width: 100%; height: 100%; object-fit: cover; }
.lb-avatar--xl { width: 84px; height: 84px; }
.lb-avatar--md { width: 46px; height: 46px; }
.lb-avatar--letter { align-items: center; justify-content: center; font-size: 22px; color: var(--accent-cyan); }

/* 服务器榜单 */
.lb-server { margin-top: 34px; }
.lb-sec-title { margin: 0 0 14px; font-size: 17px; letter-spacing: .12em; }
.lb-sec-en { display: block; margin-top: 3px; font-size: 9px; font-weight: 400; letter-spacing: .3em; color: var(--muted); }
.lb-empty {
  padding: 26px 28px;
  border: 1px dashed var(--glass-brd, rgba(140, 170, 255, .3));
  border-radius: var(--radius-lg, 22px);
  text-align: center;
}
.lb-empty__code { font-size: 9px; letter-spacing: .3em; color: var(--accent-cyan); }
.lb-empty h3 { margin: 10px 0 8px; font-size: 17px; letter-spacing: .1em; }
.lb-empty p { margin: 0 auto; max-width: 520px; font-size: 12px; line-height: 1.8; color: var(--muted); }
.lb-empty code { color: var(--accent-cyan); font-size: 11px; }

/* 榜单行（后端就绪后渲染） */
.lb-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.lb-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border: 1px solid var(--glass-brd, rgba(140, 170, 255, .14));
  border-radius: var(--radius-md, 14px);
  background: var(--glass-bg, #101827);
}
.lb-row--top1 { border-color: rgba(255, 209, 102, .55); }
.lb-row--top2 { border-color: rgba(190, 200, 220, .45); }
.lb-row--top3 { border-color: rgba(255, 159, 110, .45); }
.lb-row__no { flex: none; width: 30px; font-size: 17px; font-weight: 700; color: var(--accent); text-align: center; }
.lb-row--top1 .lb-row__no { color: #ffd166; }
.lb-row__who { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.lb-row__who b { font-size: 14px; letter-spacing: .05em; }
.lb-row__who small { margin-top: 3px; font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-row__rank { flex: none; font-size: 11px; letter-spacing: .1em; color: var(--accent-cyan); }
.lb-row__pts { flex: none; text-align: right; }
.lb-row__pts b { font-size: 18px; color: var(--accent-cyan); }
.lb-row__pts small { display: block; font-size: 9px; color: var(--muted); letter-spacing: .2em; }

@media (max-width: 720px) {
  .lb-me__stats { grid-template-columns: repeat(2, 1fr); }
  .lb-row__who small { white-space: normal; }
}
