	body {
	margin: 0;
	padding: 0;
	font-family: 'Helvetica Neue', Arial, sans-serif;
	background-color: #000;
	color: #fff;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

html {
	height: 100%;
}

.container {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	overflow: hidden;
	padding-bottom: env(safe-area-inset-bottom, 20px);
	box-sizing: border-box;
}

.cover-container {
	position: relative;
	width: 100vh;
	height: 100vh;
	aspect-ratio: 2/3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: 30px;
	margin: 0 auto;
}

.cover-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 30px;
	display: block;
	z-index: 1;
}

/* For portrait phones, ensure image is fully visible */
@media (max-aspect-ratio: 3/4) {
	.cover-container {
		width: 100%;
		height: auto;
	}
	
	.cover-image {
		height: auto;
		width: 100%;
	}
}

/* For landscape, prioritize showing the complete height */
@media (min-aspect-ratio: 4/3) {
	.cover-container {
		height: 100vh;
		width: auto;
	}
	
	.cover-image {
		width: auto;
		height: 100%;
		max-width: none;
	}
}

.player-container {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 12px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: 30px;
	transition: all 0.3s ease;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.player-container:hover {
	background: rgba(0, 0, 0, 0.1);
}

/* Media queries */
@media (max-width: 480px) {
	.cover-container {
		max-width: 100%;
		height: auto;
		aspect-ratio: 2/3;
		margin: 10px;
	}

	.desktop-only {
		display: none;
	}

	.mobile-only {
		display: block;
	}
}

/* Audio player styles */
audio {
	width: 100%;
	margin-bottom: 0;
	border-radius: 20px;
}

.stream-info {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: -2px 0 10px;
	padding: 0 12px;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	gap: 10px;
}

#stream-title {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	letter-spacing: 0.5px;
}

.stream-info .listeners,
.stream-info .join-chat {
	flex-shrink: 0;
	padding-left: 10px;
	font-size: 12px;
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	color: rgba(255, 255, 255, 0.7);
}

.stream-info .listeners {
	margin: 0;
}

.stream-info .join-chat {
	display: flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	transition: color 0.2s ease;
}

.stream-info .join-chat:hover {
	color: rgba(255, 255, 255, 0.9);
}

.stream-info .join-chat img {
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.stream-info .join-chat:hover img {
	opacity: 0.9;
}

.waveform-container {
	width: 100%;
	height: 60px;
	background-color: rgba(0, 0, 0, 0.3);
	border-radius: 10px 10px 20px 20px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
}

#waveform {
	width: 100%;
	height: 100%;
}

.player-controls {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

.hmsu-logo {
	width: 80px;
	height: 80px;
	max-width: 100%;
	border-radius: 50%;
	transition: all 0.3s ease;
}

.hmsu-logo:hover {
	transform: scale(1.05);
}

/* Desktop/Mobile visibility classes */
.desktop-only {
	display: block;
}

.mobile-only {
	display: none;
}

/* No stream styles */
.no-stream .offline-status {
	flex-shrink: 0;
	padding-left: 10px;
	font-size: 12px;
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	color: rgba(255, 128, 128, 0.8);
}

.no-stream .offline-message {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.3);
	border-radius: 10px 10px 20px 20px;
	margin-top: 10px;
	height: 60px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.no-stream .offline-message p {
	margin: 5px 0;
	font-size: 16px;
}

.no-stream .check-back {
	font-size: 12px !important;
	color: rgba(255, 255, 255, 0.7);
	font-style: italic;
}

.no-stream .stream-info {
	margin-bottom: 0;
}

/* Clock Easter Egg Styles */
.clock-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	pointer-events: none;
	opacity: 1; /* Visible for debugging */
	transition: opacity 0.5s ease;
	border-radius: 30px;
	overflow: hidden;
}

.clock-overlay.active {
	opacity: 1;
}

/* Debug marker to show click position */
.clock-debug-marker {
	position: absolute;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	/* border: 3px solid red; */
	background-color: rgba(0, 255, 0, 0.7);
	pointer-events: auto;
	cursor: pointer;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 15px red;
	z-index: 100; /* Ensure it's on top */
	display: block !important; /* Force display */
}

.clock-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.5s ease;
	/* Don't use initial clipping - let JS handle it */
	clip-path: none;
	-webkit-clip-path: none;
	/* Make sure it's displayed properly */
	display: block;
	/* border: 1px solid rgba(255, 0, 0, 0.5); */
}
