.vlx-standalone-leaderboard {
	width: 100%;
}

.vlx-slb-table {
	--vlx-slb-text: #111827;
	--vlx-slb-muted-opacity: 0.72;
	--vlx-slb-row-bg: rgba(17, 24, 39, 0.06);
	--vlx-slb-rank-1-bg: rgba(245, 158, 11, 0.18);
	--vlx-slb-rank-2-bg: rgba(148, 163, 184, 0.22);
	--vlx-slb-rank-3-bg: rgba(180, 83, 9, 0.16);
	--vlx-slb-message-bg: rgba(17, 24, 39, 0.06);
	display: grid;
	gap: 8px;
	width: 100%;
	box-sizing: border-box;
	color: var(--vlx-slb-text);
	font-size: 16px;
}

.vlx-slb-table.is-skin-light {
	--vlx-slb-text: #f8fafc;
	--vlx-slb-muted-opacity: 0.78;
	--vlx-slb-row-bg: rgba(255, 255, 255, 0.12);
	--vlx-slb-rank-1-bg: rgba(251, 191, 36, 0.28);
	--vlx-slb-rank-2-bg: rgba(226, 232, 240, 0.18);
	--vlx-slb-rank-3-bg: rgba(251, 146, 60, 0.22);
	--vlx-slb-message-bg: rgba(255, 255, 255, 0.12);
}

.vlx-slb-heading {
	font-weight: 700;
	font-size: 1.25em;
	line-height: 1.2;
	margin: 0 0 12px;
}

.vlx-slb-grid {
	display: grid;
	gap: 6px;
}

.vlx-slb-header,
.vlx-slb-row {
	display: grid;
	grid-template-columns: var(--vlx-slb-columns, auto 1fr auto);
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
}

.vlx-slb-header {
	color: inherit;
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0;
	opacity: var(--vlx-slb-muted-opacity);
	text-transform: uppercase;
}

.vlx-slb-row {
	min-height: 44px;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--vlx-slb-row-bg);
}

.vlx-slb-row.is-rank-1,
.vlx-slb-row.is-rank-2,
.vlx-slb-row.is-rank-3 {
	font-weight: 700;
}

.vlx-slb-row.is-rank-1 {
	background: var(--vlx-slb-rank-1-bg);
}

.vlx-slb-row.is-rank-2 {
	background: var(--vlx-slb-rank-2-bg);
}

.vlx-slb-row.is-rank-3 {
	background: var(--vlx-slb-rank-3-bg);
}

.vlx-slb-row.is-user {
	outline: 2px solid currentColor;
	outline-offset: 0;
}

.vlx-slb-cell {
	min-width: 0;
	overflow-wrap: anywhere;
}

.vlx-slb-cell[data-field="position"],
.vlx-slb-cell[data-field="score"],
.vlx-slb-cell[data-field="formatted_score"],
.vlx-slb-cell[data-field="completion_percentage"],
.vlx-slb-cell[data-field="created_at"] {
	white-space: nowrap;
}

.vlx-slb-empty,
.vlx-slb-error,
.vlx-slb-loading {
	padding: 12px;
	border-radius: 6px;
	background: var(--vlx-slb-message-bg);
	color: inherit;
}
