/**
 * Sports Live A3Q — board styles.
 * Themes: light / dark / auto (follows the visitor's system setting).
 */

.sla-board {
	--sla-bg: #ffffff;
	--sla-card: #ffffff;
	--sla-border: #e3e7ee;
	--sla-ink: #131722;
	--sla-muted: #68707f;
	--sla-accent: #0a7d43;
	--sla-live: #d92338;
	--sla-live-bg: #fdeef0;
	--sla-chip: #eef1f6;
	--sla-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);

	background: var(--sla-bg);
	color: var(--sla-ink);
	border: 1px solid var(--sla-border);
	border-radius: 14px;
	padding: 16px;
	margin: 0 0 24px;
	font-size: 15px;
	line-height: 1.4;
}

.sla-board[data-theme="dark"] {
	--sla-bg: #0b0e14;
	--sla-card: #131824;
	--sla-border: #232b3d;
	--sla-ink: #eef1f7;
	--sla-muted: #98a2b5;
	--sla-accent: #3ecf7a;
	--sla-live: #ff5468;
	--sla-live-bg: #2a1620;
	--sla-chip: #1c2333;
	--sla-shadow: none;
}

@media (prefers-color-scheme: dark) {
	.sla-board[data-theme="auto"] {
		--sla-bg: #0b0e14;
		--sla-card: #131824;
		--sla-border: #232b3d;
		--sla-ink: #eef1f7;
		--sla-muted: #98a2b5;
		--sla-accent: #3ecf7a;
		--sla-live: #ff5468;
		--sla-live-bg: #2a1620;
		--sla-chip: #1c2333;
		--sla-shadow: none;
	}
}

.sla-league + .sla-league {
	margin-top: 22px;
}

.sla-league-head {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--sla-ink);
}

.sla-league-name {
	margin: 0;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.sla-source {
	margin-left: auto;
	font-size: 11px;
	color: var(--sla-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.sla-group {
	margin: 14px 0 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--sla-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.sla-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 999px;
}

.sla-pill-live {
	background: var(--sla-live-bg);
	color: var(--sla-live);
}

.sla-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--sla-live);
	display: inline-block;
	animation: sla-pulse 1.6s ease-in-out infinite;
}

@keyframes sla-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.25; }
}

.sla-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 10px;
}

.sla-card {
	background: var(--sla-card);
	border: 1px solid var(--sla-border);
	border-radius: 12px;
	box-shadow: var(--sla-shadow);
	padding: 10px 12px;
}

.sla-card.is-live {
	border-color: var(--sla-live);
}

.sla-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
	font-size: 12px;
}

.sla-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--sla-chip);
	color: var(--sla-muted);
	white-space: nowrap;
}

.sla-status.is-live {
	background: var(--sla-live-bg);
	color: var(--sla-live);
}

.sla-status.is-final {
	color: var(--sla-muted);
}

.sla-status.is-scheduled {
	color: var(--sla-accent);
}

.sla-when {
	color: var(--sla-muted);
	white-space: nowrap;
}

.sla-note {
	font-size: 12px;
	color: var(--sla-muted);
	margin: -2px 0 6px;
}

.sla-team {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 3px 0;
	min-width: 0;
}

.sla-logo {
	width: 24px;
	height: 24px;
	object-fit: contain;
	flex: none;
}

.sla-logo-sm {
	width: 18px;
	height: 18px;
	vertical-align: -4px;
}

.sla-badge {
	width: 24px;
	height: 24px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--sla-chip);
	color: var(--sla-muted);
	font-size: 10px;
	font-weight: 800;
}

.sla-tname {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sla-team.is-winner .sla-tname,
.sla-team.is-winner .sla-score {
	font-weight: 800;
}

.sla-sets {
	color: var(--sla-muted);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.sla-score {
	font-size: 17px;
	font-weight: 700;
	min-width: 22px;
	text-align: right;
}

.sla-updated {
	margin: 14px 0 0;
	font-size: 12px;
	color: var(--sla-muted);
	text-align: right;
}

.sla-empty {
	margin: 0;
	padding: 14px;
	border: 1px dashed var(--sla-border);
	border-radius: 12px;
	color: var(--sla-muted);
	text-align: center;
}

/* Standings */

.sla-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.sla-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
}

.sla-table th,
.sla-table td {
	padding: 6px 8px;
	border-bottom: 1px solid var(--sla-border);
	text-align: left;
	white-space: nowrap;
}

.sla-table thead th {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--sla-muted);
}

.sla-table .sla-num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.sla-table th.sla-num {
	text-align: right;
}

.sla-table td.sla-team-col {
	font-weight: 600;
	white-space: normal;
	min-width: 130px;
}

.sla-table tbody tr:hover {
	background: var(--sla-chip);
}

@media (max-width: 480px) {
	.sla-board {
		padding: 12px;
	}
	.sla-grid {
		grid-template-columns: 1fr;
	}
	.sla-league-name {
		font-size: 15px;
	}
}
