/* ===== 排行榜 ===== */
/* ===== 排行榜 ===== */
.menu-item-note { font-size: 0.65rem; opacity: 0.6; padding: 0 12px 6px; }
.lb-tabs { display: flex; gap: 8px; padding: 14px 20px 0; }
.lb-tab {
    flex: 1; padding: 8px; cursor: pointer; font-weight: 700;
    border: 1px solid var(--primary-color); border-radius: 8px;
    background: transparent; color: var(--text-color); opacity: 0.55;
}
.lb-tab.active { opacity: 1; background: var(--primary-color); color: #000; }
.lb-list { list-style: none; padding: 6px 0 0; margin: 0; }
.lb-row {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 6px; border-bottom: 1px solid rgba(128, 128, 128, 0.15);
}
.lb-row.lb-me { background: rgba(128, 128, 128, 0.15); border-radius: 8px; }
.lb-rank { width: 28px; text-align: center; font-weight: 800; flex-shrink: 0; }
.lb-avatar {
    width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.05rem;
}
.lb-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-score { font-variant-numeric: tabular-nums; font-weight: 700; }
.lb-empty, .lb-loading { text-align: center; opacity: 0.7; padding: 18px 0; font-size: 0.85rem; }
.lb-footer { text-align: center; font-size: 0.75rem; opacity: 0.7; padding: 10px 0 14px; }

