.player {
	position: relative;
	width: 100%;
	background: #000;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.65), inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.playerScreen {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.playerVideo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #000;
	display: block;
}
.playerVideo::-webkit-media-controls { display: none !important; }

.liveBadge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 11px;
	border-radius: 4px;
	background: rgba(8, 8, 10, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.liveDot { width: 9px; height: 9px; border-radius: 50%; background: var(--red); animation: livePulse 1.8s infinite; }
@keyframes livePulse {
	0% { box-shadow: 0 0 0 0 var(--red-glow); }
	70% { box-shadow: 0 0 0 9px rgba(212, 32, 47, 0); }
	100% { box-shadow: 0 0 0 0 rgba(212, 32, 47, 0); }
}

.nowOverlay {
	position: absolute;
	left: 16px;
	bottom: 74px;
	z-index: 3;
	min-width: 220px;
	padding: 13px 16px;
	background: linear-gradient(180deg, rgba(10, 10, 12, 0.74), rgba(10, 10, 12, 0.56));
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-left: 3px solid var(--red);
	border-radius: 5px;
	backdrop-filter: blur(6px);
	transition: opacity 0.25s, transform 0.25s;
}
.nowOverlay.isHidden { opacity: 0; transform: translateY(8px); pointer-events: none; }
.nowTitle { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--red); margin-bottom: 6px; }
.nowBand { font-size: 18px; font-weight: 700; color: var(--silver-1); line-height: 1.2; }
.nowSong { font-size: 14px; color: var(--fg); margin-top: 3px; }
.nowMeta { font-size: 12px; color: var(--fg-dim); margin-top: 7px; letter-spacing: 0.5px; }

.loader {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	color: var(--fg-dim);
	font-size: 13px;
	letter-spacing: 3px;
	text-transform: uppercase;
}
.loader.isHidden { display: none; }

.controlBar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 26px 16px 13px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.85));
}

.ctrl {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--fg-dim);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 6px;
	transition: color 0.15s;
}
.ctrl:hover { color: var(--fg); }
.ctrl svg { width: 20px; height: 20px; display: block; fill: currentColor; }
.ctrlIcon { padding: 6px 4px; }

.ctrlSpacer { flex: 1; }

.iconPause { display: none; }
.player.isPlaying .iconPlay { display: none; }
.player.isPlaying .iconPause { display: block; }

.iconMute { display: none; }
.player.isMuted .iconVol { display: none; }
.player.isMuted .iconMute { display: block; }

.volSlider {
	-webkit-appearance: none;
	appearance: none;
	width: 92px;
	height: 4px;
	border-radius: 3px;
	background: #3a3a42;
	cursor: pointer;
	outline: none;
}
.volSlider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--red);
	box-shadow: 0 0 6px var(--red-glow);
	border: none;
}
.volSlider::-moz-range-thumb {
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--red);
	border: none;
}

.ctrlLive { color: var(--red); }
.ctrlLive .liveTinyDot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--red);
	animation: livePulse 1.8s infinite;
}

.ctrl.isActive { color: var(--fg); }

@media (max-width: 640px) {
	.ctrlLabel { display: none; }
	.nowOverlay { min-width: 0; bottom: 64px; }
}
