/* ===========================================
   SYNTHEDGE v2 — LEADERBOARD CSS
   =========================================== */

.live-indicator { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-3); }
.live-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.65;transform:scale(1.3)} }

/* PODIUM */
.podium { display:flex; align-items:flex-end; justify-content:center; gap:12px; padding:32px 0 8px; flex-wrap:wrap; }
.podium-loading, .podium-empty { width:100%; text-align:center; color:var(--text-3); font-size:14px; padding:24px; }
.podium-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:20px 16px; text-align:center; position:relative;
  transition:transform .3s; flex:1; max-width:200px; min-width:160px;
}
.podium-card:hover { transform:translateY(-4px); }
.podium-1 { border-color:rgba(255,176,32,0.35); background:linear-gradient(135deg, rgba(255,176,32,0.06), var(--bg-card)); transform:translateY(-12px); }
.podium-1:hover { transform:translateY(-16px); }
.podium-2 { border-color:rgba(168,173,212,0.3); }
.podium-3 { border-color:rgba(205,127,50,0.3); }

.podium-crown { font-size:22px; margin-bottom:4px; }
.podium-rank { font-family:var(--font-display); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--text-3); margin-bottom:10px; }
.podium-avatar {
  width:48px; height:48px; border-radius:50%; margin:0 auto 10px;
  background:var(--bg-base); border:2px solid var(--border-soft);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:800; color:var(--text-2);
}
.podium-avatar-gold { background:rgba(255,176,32,0.12); border-color:var(--amber); color:var(--amber); box-shadow:0 0 16px rgba(255,176,32,0.25); }
.podium-name { font-size:14px; font-weight:700; margin-bottom:2px; }
.podium-country { font-size:12px; color:var(--text-3); margin-bottom:10px; }
.podium-gain { font-family:var(--font-display); font-size:1.4rem; font-weight:800; color:var(--green); margin-bottom:2px; }
.podium-pnl { font-size:12px; color:var(--green); margin-bottom:6px; }
.podium-instr { font-size:10px; color:var(--text-3); }

/* FILTERS */
.lb-filters { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.lb-tabs { display:flex; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-md); padding:3px; gap:2px; }
.lb-tab { padding:6px 16px; border-radius:var(--r-sm); font-size:13px; font-weight:600; color:var(--text-3); transition:all .2s; }
.lb-tab.active { background:var(--orange); color:#1A0E08; }
.lb-selects { display:flex; gap:8px; }

/* TABLE */
.lb-table { min-width:800px; }
.lb-table th, .lb-table td { padding:12px 16px; }
.lb-table thead th { background:var(--bg-raised); }
.lb-row-me td { background:rgba(255,107,53,0.08) !important; }
.lb-row-me:hover td { background:rgba(255,107,53,0.12) !important; }

.lb-rank { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; font-size:12px; font-weight:800; background:rgba(255,255,255,0.05); color:var(--text-3); }
.lb-rank-1 { background:rgba(255,176,32,0.15); color:var(--amber); }
.lb-rank-2 { background:rgba(168,173,212,0.15); color:#a8adc4; }
.lb-rank-3 { background:rgba(205,127,50,0.15); color:#cd7f32; }

.lb-trader { display:flex; align-items:center; gap:8px; }
.lb-avatar { width:30px; height:30px; border-radius:50%; flex-shrink:0; background:rgba(255,255,255,0.06); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:var(--text-2); }

.font-bold { font-weight:800; }
