#scoreboard-table tbody tr {
  border-bottom: 1px solid #262626;
  transition: background 0.15s ease;
}

#scoreboard-table tbody tr:last-child {
  border-bottom: none;
}

.scoreboard-row:hover {
  background-color: rgba(255, 255, 255, 0.04);
}

.scoreboard-row.top20 {
  background-color: rgba(52, 211, 153, 0.04);
}

.scoreboard-row.top3 {
  background-color: rgba(52, 211, 153, 0.09);
}

/* Divider before total column */
.total-col {
  border-left: 1px solid #404040;
}

.problem-col {
  min-width: 90px;
}

.rank-medal {
  font-weight: 700;
  font-size: 0.95rem;
}

.rank-plain {
  color: #737373;
  font-size: 0.875rem;
}

.top3-score {
  color: #6ee7b7;
}

/* Score bars */
.score-bar-track {
  width: 64px;
  height: 4px;
  background: #404040;
  border-radius: 9999px;
  overflow: hidden;
}

.score-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #34d399, #059669);
  border-radius: 9999px;
}

.total-bar {
  background: linear-gradient(90deg, #60a5fa, #3b82f6);
}

.top3 .total-bar {
  background: linear-gradient(90deg, #fbbf24, #f59e0b);
}