/* 美化直播卡片与等待态 */
.player{ position: relative; min-height: 220px; }
.card.dark {
	background: linear-gradient(180deg, rgba(13,21,38,0.7), rgba(13,21,38,0.5));
	border: 1px solid #1b2740;
	box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.brand-badge {
	position: absolute;
	top: 10px;
	left: 12px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	z-index: 2;
}
.brand-badge img {
	width: 28px;
	height: 28px;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.35);
	object-fit: cover;
}
.brand-badge .brand-text {
	font-size: 13px;
	color: #d5def5;
	font-weight: 700;
	text-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.overlay {
	position: absolute;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, rgba(10,16,28,0.35), rgba(10,16,28,0.55));
	pointer-events: none; /* 防止遮罩影响页面滚动/点击 */
}
.overlay .panel {
	position: relative;
	width: 92%;
	max-width: 520px;
	min-height: 120px;
	border-radius: 14px;
	border: 1px solid rgba(71,97,140,0.35);
	background: linear-gradient(180deg, rgba(18,26,43,0.85), rgba(12,18,32,0.65));
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 10px 20px rgba(0,0,0,0.35);
	padding: 22px 20px;
}
.overlay .title {
	font-size: 26px;
	font-weight: 900;
	letter-spacing: 1px;
}
.overlay .subtext {
	margin-top: 6px;
	color: #94a3c5;
	font-size: 13px;
}
.pos {
	position: absolute;
	left: 16px;
	bottom: 12px;
	font-size: 12px;
	color: #8aa2d5;
}
.dots {
	position: absolute;
	bottom: 12px;
	right: 16px;
	display: inline-flex;
	gap: 6px;
}
.dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #3a4c74;
}
.dot.active { background: #7aa2ff; }
.spinner {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background:
		radial-gradient(closest-side, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 80% 100%),
		conic-gradient(#7aa2ff 10%, rgba(122,162,255,0.15) 0);
	animation: spin 2s linear infinite;
}
@keyframes spin {
	to { transform: rotate(1turn); }
}

/* Mobile tweaks */
@media (max-width: 600px) {
	.player { min-height: 180px; }
	.overlay .panel {
		max-width: 360px;
		min-height: 96px;
		padding: 16px 14px;
		border-radius: 12px;
	}
	.overlay .title { font-size: 20px; letter-spacing: 0.5px; }
	.overlay .subtext { font-size: 12px; }
	.spinner { width: 28px; height: 28px; top: 10px; right: 10px; }
	.pos { left: 12px; bottom: 10px; font-size: 11px; }
	.dots { bottom: 10px; right: 12px; gap: 5px; }
}