/* =========================================================
   LUCKY SPACE X – LEADERBOARD (CONTENT + VIEW ONLY)
   Accessibility & Contrast Safe
   Scope:
   main#content .block-system-main-block .view-leaderboard
   ========================================================= */

/* ---------- VIEW VARIABLES ---------- */
main#content .view-leaderboard {
  --bg-page: #0b1020;
  --bg-table: #050914;
  --bg-row: #0f172a;
  --bg-row-hover: #16203a;

  --border-soft: rgba(255,255,255,0.18);

  --txt-main: #f1f5ff;
  --txt-muted: #9fb3c8;
  --txt-header: #e6f0ff;

  --c-primary: #9fe8ff;
  --c-secondary: #ff7ad9;
  --c-accent: #ffd36b;
  --c-xp: #d7e3ff;
  --c-coins: #8dffcf;

  --radius: 16px;
}

/* ---------- VIEW HEADER ---------- */
main#content .view-leaderboard .view-header {
  background: linear-gradient(
    135deg,
    rgba(124,243,255,0.18),
    rgba(255,122,217,0.18)
  );
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  padding: 1.75rem 2rem;
  margin-bottom: 2rem;
  color: var(--txt-muted);
}

main#content .view-leaderboard .view-header h1 {
  margin: 0 0 0.4rem 0;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: linear-gradient(
    90deg,
    #7cf3ff,
    #ff7ad9,
    #ffd36b
  );
  background-size: 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: leaderboardTitle 8s linear infinite;
}

@keyframes leaderboardTitle {
  from { background-position: 0%; }
  to   { background-position: 200%; }
}

/* ---------- TABLE WRAPPER ---------- */
main#content .view-leaderboard .table-responsive {
  background: var(--bg-table);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  padding: 1rem;
  margin-bottom: 2rem;
}

/* ---------- TABLE BASE ---------- */
main#content .view-leaderboard table {
  width: 100%;
  margin-bottom: 0;
  color: var(--txt-main);
  border-collapse: separate;
  border-spacing: 0 0.7rem;
}

/* Disable Bootstrap striping */
main#content .view-leaderboard
.table-striped > tbody > tr:nth-of-type(odd),
main#content .view-leaderboard
.table-striped > tbody > tr:nth-of-type(even) {
  background-color: var(--bg-row);
}

/* ---------- TABLE HEAD ---------- */
main#content .view-leaderboard thead th {
  border: none;
  padding: 0.75rem 1.25rem;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--txt-header);
  white-space: nowrap;
}

main#content .view-leaderboard thead a {
  color: var(--txt-header);
  text-decoration: none;
  font-weight: 600;
}

main#content .view-leaderboard thead a:hover {
  color: var(--c-primary);
  text-decoration: underline;
}

/* ---------- TABLE ROWS ---------- */
main#content .view-leaderboard tbody tr {
  background-color: var(--bg-row);
  border-radius: 14px;
  transition:
    background-color .18s ease,
    box-shadow .18s ease;
}

main#content .view-leaderboard tbody tr:hover {
  background-color: var(--bg-row-hover);
  box-shadow:
    inset 0 0 0 1px rgba(124,243,255,0.45),
    0 8px 20px rgba(0,0,0,0.55);
}

/* ---------- CELLS ---------- */
main#content .view-leaderboard tbody td {
  border: none;
  padding: 0.95rem 1.25rem;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}

main#content .view-leaderboard tbody td:first-child {
  border-radius: 14px 0 0 14px;
  font-weight: 700;
}

main#content .view-leaderboard tbody td:last-child {
  border-radius: 0 14px 14px 0;
}

/* ---------- USERNAME ---------- */
main#content .view-leaderboard .username {
  color: var(--c-primary);
  font-weight: 700;
  text-decoration: none;
}

main#content .view-leaderboard .username:hover {
  color: var(--c-secondary);
  text-decoration: underline;
}

/* ---------- NUMERIC COLUMNS ---------- */
main#content .view-leaderboard
.views-field-current-rank-index {
  color: var(--c-accent);
  font-weight: 900;
}

main#content .view-leaderboard
.views-field-total-xp {
  color: var(--c-xp);
  font-weight: 700;
}

main#content .view-leaderboard
.views-field-coins {
  color: var(--c-coins);
  font-weight: 700;
}

/* ---------- TOP 3 INDICATORS ---------- */
main#content .view-leaderboard tbody tr:nth-child(1) {
  border-left: 6px solid #ffd36b;
}

main#content .view-leaderboard tbody tr:nth-child(2) {
  border-left: 6px solid #7cf3ff;
}

main#content .view-leaderboard tbody tr:nth-child(3) {
  border-left: 6px solid #ff7ad9;
}

/* ---------- MOBILE ---------- */
@media (max-width: 768px) {
  main#content .view-leaderboard .view-header {
    padding: 1.25rem;
  }

  main#content .view-leaderboard table {
    font-size: 0.9rem;
  }
}