/* ===== 玩家排行榜 ===== */
.lb-card{border-color:rgba(201,150,63,.18)}
.lb-tabs{
  display:flex;gap:.3rem;margin-bottom:.7rem;
  background:rgba(0,0,0,.25);border-radius:9px;padding:.22rem;
}
.lb-tab{
  flex:1;padding:.4rem .3rem;border:none;border-radius:7px;
  background:none;color:var(--sub,#7d8fa9);
  font-family:var(--sans);font-size:.66rem;font-weight:700;
  cursor:pointer;transition:.16s;
  white-space:nowrap;
}
.lb-tab:hover{color:var(--text,#e6edf7)}
.lb-tab.active{
  background:linear-gradient(135deg,rgba(201,150,63,.22),rgba(201,150,63,.08));
  color:var(--gold,#c9963f);
  box-shadow:0 2px 10px -4px rgba(201,150,63,.6);
}
.lb-list{display:flex;flex-direction:column;gap:.28rem;max-height:340px;overflow-y:auto}
.lb-list::-webkit-scrollbar{width:3px}
.lb-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:2px}

.lb-row{
  display:flex;align-items:center;gap:.55rem;
  padding:.5rem .6rem;border-radius:9px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.045);
  transition:.16s;
  animation:lbIn .35s cubic-bezier(.22,1,.36,1) both;
}
@keyframes lbIn{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:none}}
.lb-row:hover{background:rgba(255,255,255,.045)}
.lb-row.me{
  background:linear-gradient(90deg,rgba(201,150,63,.14),rgba(201,150,63,.03));
  border-color:rgba(201,150,63,.42);
}
.lb-row.top1{background:linear-gradient(90deg,rgba(255,215,0,.15),rgba(255,215,0,.02));border-color:rgba(255,215,0,.4)}
.lb-row.top2{background:linear-gradient(90deg,rgba(192,192,192,.12),rgba(192,192,192,.02));border-color:rgba(192,192,192,.32)}
.lb-row.top3{background:linear-gradient(90deg,rgba(205,127,50,.12),rgba(205,127,50,.02));border-color:rgba(205,127,50,.32)}

.lb-rank{
  width:26px;height:26px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.68rem;font-weight:900;
  background:rgba(255,255,255,.05);color:var(--sub,#7d8fa9);
}
.lb-row.top1 .lb-rank{background:linear-gradient(135deg,#ffd700,#c9963f);color:#1a1206}
.lb-row.top2 .lb-rank{background:linear-gradient(135deg,#d8d8d8,#9a9a9a);color:#1a1a1a}
.lb-row.top3 .lb-rank{background:linear-gradient(135deg,#cd7f32,#a0622a);color:#1a0e04}
.lb-row.me .lb-rank{background:linear-gradient(135deg,rgba(201,150,63,.5),rgba(201,150,63,.2));color:var(--gold,#c9963f)}

.lb-info{flex:1;min-width:0}
.lb-name{
  font-family:var(--mono);font-size:.72rem;color:var(--text,#e6edf7);
  display:flex;align-items:center;gap:.3rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lb-tag{
  font-size:.5rem;padding:.02rem .24rem;border-radius:4px;
  font-weight:800;letter-spacing:.02em;flex-shrink:0;
}
.lb-tag.human{background:linear-gradient(135deg,#3aa9d4,#1fb87d);color:#04121a}
.lb-tag.me{background:linear-gradient(135deg,#e8b23a,#c9963f);color:#1a1206}
.lb-sub{font-size:.58rem;color:var(--dim,#5d6f85);margin-top:.12rem;font-family:var(--mono)}
.lb-stats{
  display:flex;gap:.55rem;flex-shrink:0;
  font-family:var(--mono);font-size:.62rem;
}
.lb-stat{text-align:right}
.lb-stat b{display:block;font-size:.72rem;font-weight:800;color:var(--text,#e6edf7)}
.lb-stat span{font-size:.52rem;color:var(--dim,#5d6f85)}
.lb-stat.gold b{color:var(--gold,#c9963f)}
.lb-stat.red b{color:#e5484d}
.lb-stat.blue b{color:#3aa9d4}

.lb-empty{
  padding:1.2rem;text-align:center;color:var(--dim,#5d6f85);
  font-size:.72rem;
}
.lb-foot{
  margin-top:.6rem;padding-top:.55rem;
  border-top:1px solid rgba(255,255,255,.05);
  font-size:.6rem;color:var(--dim,#5d6f85);text-align:center;
}

/* ===== 前三名奖杯 ===== */
.lb-rank.cup svg{width:15px;height:15px}
.lb-row.top1 .lb-rank.cup svg{color:#1a1206}
.lb-row.top2 .lb-rank.cup svg{color:#1a1a1a}
.lb-row.top3 .lb-rank.cup svg{color:#1a0e04}
/* 奖杯微光 */
.lb-row.top1 .lb-rank.cup,
.lb-row.top2 .lb-rank.cup,
.lb-row.top3 .lb-rank.cup{
  animation:cupShine 2.4s ease-in-out infinite;
}
@keyframes cupShine{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.18)}
}
/* 冠军更醒目 */
.lb-row.top1{border-width:1.5px}
.lb-row.top1 .lb-rank.cup{
  box-shadow:0 0 14px -3px rgba(255,215,0,.7);
}

/* ===== 前三名文字标签（冠军/亚军/季军）===== */
.lb-rank.cup{
  width:auto;min-width:38px;padding:0 .4rem;
  font-size:.6rem;letter-spacing:.02em;
}
@media(max-width:360px){
  .lb-rank.cup{min-width:32px;padding:0 .3rem;font-size:.54rem}
}

/* ===== 累计获得 ===== */
.lb-earn{
  font-size:.56rem;color:var(--gold,#c9963f);
  font-family:var(--mono);margin-top:.08rem;
  opacity:.9;
}
/* 5 个标签时缩小 */
.lb-tab{font-size:.62rem;padding:.38rem .2rem}
@media(max-width:360px){.lb-tab{font-size:.56rem;padding:.35rem .15rem}}

/* ===== 前三名奖牌（emoji 版，与战况一致）===== */
.lb-rank.cup{
  width:26px;min-width:26px;padding:0;
  font-size:.95rem;line-height:1;
  letter-spacing:0;
}
.lb-row.top1 .lb-rank.cup,
.lb-row.top2 .lb-rank.cup,
.lb-row.top3 .lb-rank.cup{
  background:rgba(255,255,255,.05);   /* 透明底，让 emoji 本身出彩 */
}
.lb-row.top1 .lb-rank.cup{background:linear-gradient(135deg,rgba(255,215,0,.22),rgba(255,215,0,.06))}
.lb-row.top2 .lb-rank.cup{background:linear-gradient(135deg,rgba(192,192,192,.18),rgba(192,192,192,.05))}
.lb-row.top3 .lb-rank.cup{background:linear-gradient(135deg,rgba(205,127,50,.18),rgba(205,127,50,.05))}
@media(max-width:360px){.lb-rank.cup{font-size:.86rem;width:24px;min-width:24px}}
