/**
 * StreamSera — listen page.
 *
 * Plain CSS, loaded as is (no build step).
 */

:root {
	--ss-listen-accent: #6366f1;
}

html,
body {
	margin: 0;
	min-height: 100%;
}
body.streamsera-listen {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	background: #0b0d14;
	color: #e7e9f2;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
body.streamsera-listen.is-light {
	background: #f5f6fb;
	color: #131627;
}
.ss-listen__bg {
	position: fixed;
	inset: 0;
	z-index: -1;
	background: radial-gradient(
			1200px 600px at 20% -10%,
			color-mix(in srgb, var(--ss-listen-accent) 45%, transparent),
			transparent 70%
		),
		radial-gradient(
			900px 500px at 100% 100%,
			color-mix(in srgb, var(--ss-listen-accent) 25%, transparent),
			transparent 70%
		);
}
.ss-listen__bg img {
	position: absolute;
	inset: -10%;
	width: 120%;
	height: 120%;
	object-fit: cover;
	filter: blur(60px) saturate(1.4);
	opacity: 0.25;
}
.ss-listen__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 24px;
}
.ss-listen__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
	font-weight: 600;
}
.ss-listen__brand img {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	object-fit: cover;
	background: #fff2;
}
.ss-listen__back {
	color: inherit;
	opacity: 0.7;
	text-decoration: none;
	font-size: 14px;
}
.ss-listen__back:hover {
	opacity: 1;
}
.ss-listen__main {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px;
	gap: 28px;
}
.ss-listen__player {
	width: 100%;
	max-width: 640px;
}
.ss-listen__share {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
}
.ss-listen__share a,
.ss-listen__share button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	line-height: 1;
	border: 1px solid #ffffff26;
	background: #ffffff12;
	color: inherit;
	border-radius: 999px;
	padding: 9px 14px 9px 11px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	font-family: inherit;
}
.ss-listen__share svg {
	width: 16px;
	height: 16px;
	flex: none;
	opacity: 0.9;
}
.is-light .ss-listen__share a,
.is-light .ss-listen__share button {
	background: #fff;
	border-color: #00000018;
}
.ss-listen__share a:hover,
.ss-listen__share button:hover {
	border-color: var(--ss-listen-accent);
}
.ss-listen__stations {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 720px;
}
.ss-listen__stations a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px 5px 5px;
	border-radius: 999px;
	border: 1px solid #ffffff26;
	background: #ffffff12;
	color: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1;
}
.ss-listen__stations img,
.ss-listen__stations-initial {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
	background: #fff;
}
.ss-listen__stations-initial {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ss-listen-accent);
	color: #fff;
	font-size: 12px;
}
.ss-listen__stations a:hover {
	border-color: var(--ss-listen-accent);
}
.ss-listen__stations a.is-current {
	border-color: var(--ss-listen-accent);
	background: color-mix(in srgb, var(--ss-listen-accent) 22%, transparent);
}
.is-light .ss-listen__stations a {
	background: #fff;
	border-color: #00000018;
}
.is-light .ss-listen__stations a.is-current {
	border-color: var(--ss-listen-accent);
	background: color-mix(in srgb, var(--ss-listen-accent) 12%, #fff);
}
.ss-listen__foot {
	padding: 16px 24px;
	text-align: center;
	font-size: 12px;
	opacity: 0.55;
}
.ss-listen__foot a {
	color: inherit;
}
@media (max-width: 600px) {
	.ss-listen__top {
		padding: 14px 16px;
	}
	.ss-listen__main {
		padding: 16px;
	}
}
