/* AIPL Dynamic Leaderboard - premium formatting */

/* Demo theme parity layer (scoped) */
.aipl-dyn-leaderboard{
  --bg: #070a0f;
  --panel: #0c1220;
  --panel2: #0f1722;
  --border: rgba(255,255,255,.08);
  --text: #e6edf6;
  --muted: rgba(230,237,246,.65);
  --red: #d11f2a;
  --gold: #f5c542;
  color: var(--text);
  font-family: ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
}

.aipl-dyn-leaderboard .aipl-leaderboard-card{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

.aipl-dyn-leaderboard .aipl-leaderboard-card:hover{
  border-color: rgba(245,197,66,.22);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}

.aipl-dyn-leaderboard .aipl-lb-title{
  font-size: 26px;
  letter-spacing: -0.02em;
}

/* Controls */
.aipl-dyn-leaderboard .aipl-lb-field > span{ color: var(--muted); opacity:1; }
.aipl-dyn-leaderboard .aipl-lb-field select{
  height: 38px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.03);
  color: var(--text);
  outline: none;
}
.aipl-dyn-leaderboard .aipl-lb-field select:focus{
  border-color: rgba(245,197,66,.35);
  box-shadow: 0 0 0 3px rgba(245,197,66,.12);
}

/* Browser renders options on light bg: force readable */
.aipl-dyn-leaderboard .aipl-lb-field select option{
  color:#111;
  background:#fff;
}

.aipl-dyn-leaderboard { max-width: 1100px; }
.aipl-lb-title { margin: 0 0 10px 0; font-size: 22px; font-weight: 700; }
.aipl-lb-filters { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; margin: 8px 0 14px 0; }
.aipl-lb-field { display:flex; flex-direction:column; font-size:12px; gap:6px; }
.aipl-lb-field > span { opacity:.85; }
.aipl-lb-field select { height:34px; padding: 6px 10px; border-radius:10px; border:1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.03); color: inherit; }
/* Browser renders option list on a light background; force dark option text for readability */
.aipl-lb-field select option { color:#111; background:#fff; }
.aipl-lb-field select option:disabled { color:#6b7280; }
.aipl-lb-checkbox { display:flex; align-items:center; gap:8px; font-size:12px; margin-left:auto; opacity:.9; }
.aipl-lb-btn { height:34px; padding: 0 14px; border-radius: 12px; border:1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.06); color: inherit; font-weight:700; cursor:pointer; }
.aipl-lb-btn:hover { background: rgba(255,255,255,0.10); }

.aipl-lb-card { background: rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.07); border-radius: 18px; overflow:hidden; }
.aipl-lb-sponsors { display:flex; gap:12px; align-items:center; padding: 10px 14px; margin: 0 0 10px 0; background: rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.07); border-radius: 14px; }
.aipl-lb-sponsor img{ height: 26px; width:auto; display:block; opacity: .95; }
.aipl-lb-sponsor:hover img{ opacity: 1; }
.aipl-leaderboard-table { width:100%; border-collapse: collapse; font-size: 15px; }
.aipl-leaderboard-table thead th { text-transform: uppercase; font-size: 12px; letter-spacing: .08em; color: rgba(255,255,255,0.65); padding: 12px 14px; text-align:left; border-bottom: 1px solid rgba(255,255,255,0.08); }
.aipl-leaderboard-table thead th.col-num { text-align:right; }
.aipl-leaderboard-table tbody td { padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,0.06); vertical-align: middle; }
.aipl-leaderboard-table tbody tr:hover { background: rgba(255,255,255,0.04); }
.aipl-leaderboard-table tbody tr.is-current { background: rgba(239,68,68,0.10); }
.aipl-leaderboard-table td.numeric { text-align:right; font-variant-numeric: tabular-nums; }
.aipl-leaderboard-table td.rank { width: 70px; }
.rank-badge { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius: 12px; background: rgba(239,68,68,0.15); border:1px solid rgba(239,68,68,0.25); font-weight:800; }
.aipl-leaderboard-table td.player { min-width: 240px; }
.avatar { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius: 12px; background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.10); font-weight:800; margin-right: 10px; }
.player .name { font-weight: 650; }
.move { font-weight: 800; font-size: 12px; }
.move.up { color: #34d399; }
.move.down { color: #f87171; }
.hot { filter: drop-shadow(0 0 6px rgba(255,140,0,0.25)); }
.aipl-lb-toggle { margin-top: 10px; font-size: 13px; }
.aipl-lb-toggle-link { text-decoration:none; font-weight:800; }

@media (max-width: 900px) {
  .aipl-leaderboard-table thead { display:none; }
  .aipl-leaderboard-table tbody tr { display:block; border-bottom:1px solid rgba(255,255,255,0.08); }
  .aipl-leaderboard-table tbody td { display:flex; justify-content:space-between; }
  .aipl-leaderboard-table tbody td::before { content: attr(data-label); font-weight:700; color: rgba(255,255,255,0.6); }
  .aipl-leaderboard-table td.player { min-width: 0; }
}


/* Podium + legend */

.aipl-dyn-leaderboard .aipl-podium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:12px 0 14px;
}
@media (max-width: 900px){
  .aipl-dyn-leaderboard .aipl-podium{ grid-template-columns:1fr; }
}
.aipl-dyn-leaderboard .aipl-podium-card{
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  background: radial-gradient(1200px 600px at 20% 0%, rgba(245,197,66,.10), rgba(255,255,255,.02));
}
.aipl-dyn-leaderboard .aipl-podium-card.is-1{ border-color: rgba(245,197,66,.35); }
.aipl-dyn-leaderboard .aipl-podium-card.is-2{ border-color: rgba(160,174,192,.28); }
.aipl-dyn-leaderboard .aipl-podium-card.is-3{ border-color: rgba(205,127,50,.28); }
.aipl-dyn-leaderboard .aipl-podium-head{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:10px;
}
.aipl-dyn-leaderboard .aipl-podium-rank{
  font-weight:800; color:var(--gold);
}
.aipl-dyn-leaderboard .aipl-podium-name{
  display:flex; align-items:center; gap:10px;
  font-weight:700;
}
.aipl-dyn-leaderboard .aipl-podium-stats{
  display:flex; gap:10px; margin-top:8px; color:var(--muted);
  font-variant-numeric: tabular-nums;
}
.aipl-dyn-leaderboard .aipl-podium-badges{ display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.aipl-dyn-leaderboard .aipl-podium-link{ display:inline-block; margin-top:10px; color:rgba(230,237,246,.85); font-weight:600; text-decoration:none; }
.aipl-dyn-leaderboard .aipl-podium-link:hover{ text-decoration:underline; }

.aipl-dyn-leaderboard .aipl-badges-legend{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 14px;
  background: rgba(255,255,255,.02);
  margin:10px 0 14px;
}
.aipl-dyn-leaderboard .aipl-badges-legend .legend-title{
  font-weight:800;
  margin-bottom:10px;
}
.aipl-dyn-leaderboard .aipl-badges-legend .legend-items{
  display:flex; gap:10px; flex-wrap:wrap;
}
.aipl-dyn-leaderboard .aipl-badges-legend .legend-item{
  display:flex; align-items:center; gap:8px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background: rgba(0,0,0,.18);
}
.aipl-dyn-leaderboard .aipl-badges-legend .legend-label{
  color: var(--muted);
  font-size:13px;
  font-weight:600;
}

/* Badges */
.aipl-dyn-leaderboard .aipl-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:22px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--text);
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}
.aipl-dyn-leaderboard .badges-col{ white-space:nowrap; }


/* Pagination */
.aipl-lb-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);}
.aipl-lb-page-meta{font-size:12px;color:rgba(255,255,255,.7);}
.aipl-lb-page-actions{display:flex;gap:8px;}
.aipl-lb-page-link{display:inline-block;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;font-weight:600;font-size:12px;}
.aipl-lb-page-link:hover{background:rgba(255,255,255,.10);}
.aipl-lb-page-link.is-disabled{opacity:.45;cursor:not-allowed;}

/* ── Sortable column headers ─────────────────────────────────────────────── */
.aipl-leaderboard-table thead th.aipl-th-sort { cursor: pointer; white-space: nowrap; }
.aipl-leaderboard-table thead th.aipl-th-sort:hover { background: rgba(255,255,255,.06); }
.aipl-leaderboard-table thead th.aipl-th-active { background: rgba(245,197,66,.08); color: var(--gold); }

.aipl-sort-link {
    color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    justify-content: flex-end;
}
.aipl-sort-link:hover { color: var(--gold); }

.aipl-sort-idle  { opacity: .28; font-size: 11px; }
.aipl-sort-active { color: var(--gold); font-size: 11px; }

/* ── PR Score column ─────────────────────────────────────────────────────── */
.col-pr { min-width: 80px; }
.aipl-pr-val {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #a78bfa;   /* soft purple — distinct from points/money */
}
.aipl-pr-na { color: rgba(255,255,255,.22); font-size: 12px; }
.aipl-sort-col { background: rgba(167,139,250,.06); }
