#vinyl-disc {
	width: 160px;
	height: 160px;
	background: radial-gradient(circle at 60px 60px, #222 60%, #111 100%);
	border-radius: 50%;
	border: 8px solid #333;
	box-shadow: 0 0 32px #000a;
	position: relative;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: box-shadow 0.3s;
	overflow: hidden;
}

.vinyl-grooves {
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	pointer-events: none;
	background:
		repeating-radial-gradient(circle, #222 0px, #222 2px, #191919 3px, #191919 6px);
	opacity: 0.25;
}

.vinyl-center {
	width: 32px;
	height: 32px;
	background: #fff;
	border-radius: 50%;
	border: 4px solid #222;
	box-shadow: 0 0 8px #fff2, 0 0 24px #fff1 inset;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.vinyl-disc::after {
	content: '';
	position: absolute;
	left: 30%;
	top: 20%;
	width: 40px;
	height: 20px;
	background: linear-gradient(120deg, #fff2 0%, #fff0 100%);
	border-radius: 50%;
	opacity: 0.15;
	pointer-events: none;
}

.progress-bar-container {
	width: 220px;
	margin: 0 auto 1.5rem auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

#progress-bar {
	width: 100%;
	accent-color: #fff;
	background: #222;
	border-radius: 4px;
	height: 4px;
	margin: 0;
}

#progress-bar::-webkit-slider-thumb {
	background: #fff;
	border: 2px solid #444;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	cursor: pointer;
}

#progress-bar::-moz-range-thumb {
	background: #fff;
	border: 2px solid #444;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	cursor: pointer;
}

#progress-bar::-ms-thumb {
	background: #fff;
	border: 2px solid #444;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	cursor: pointer;
}

#playlist-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background 0.2s, box-shadow 0.2s;
}

#playlist-list li:hover {
	background: #555;
	box-shadow: 0 2px 8px #0004;
}

.upload-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #333;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	cursor: pointer;
	margin-bottom: 1rem;
	transition: background 0.2s, box-shadow 0.2s;
	box-shadow: 0 2px 8px #0006;
}

.upload-btn .icon {
	color: #fff;
	font-size: 2rem;
	margin-right: 0.5rem;
	display: flex;
	align-items: center;
}
.time-info {
	color: #fff;
	font-size: 1rem;
	margin-bottom: 1.5rem;
	letter-spacing: 1px;
	text-align: center;
}

#playlist-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.track-length {
	color: #bbb;
	font-size: 0.95em;
	margin-left: 1rem;
}
#vinyl-disc {
	width: 160px;
	height: 160px;
	background: radial-gradient(circle at 60px 60px, #222 60%, #111 100%);
	border-radius: 50%;
	border: 8px solid #333;
	box-shadow: 0 0 32px #000a;
	position: relative;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: box-shadow 0.3s;
}

.vinyl-center {
	width: 32px;
	height: 32px;
	background: #fff;
	border-radius: 50%;
	border: 4px solid #222;
	box-shadow: 0 0 8px #fff2;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.vinyl-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.rotate {
	animation: spin 2s linear infinite;
}

@keyframes spin {
	100% { transform: rotate(360deg); }
}

.upload-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #333;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	cursor: pointer;
	margin-bottom: 1rem;
	transition: background 0.2s, box-shadow 0.2s;
	box-shadow: 0 2px 8px #0006;
}

.upload-btn:hover {
	background: #444;
	box-shadow: 0 4px 16px #0008;
}
body {
	background: #181818;
	color: #fff;
	font-family: 'Segoe UI', Arial, sans-serif;
	margin: 0;
	min-height: 100vh;
}

.container {
	display: flex;
	height: 100vh;
}

.playlist {
	background: #222;
	width: 30%;
	padding: 2rem 1rem;
	box-shadow: 2px 0 8px #000a;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.playlist h2 {
	color: #fff;
	margin-bottom: 1rem;
}

#playlist-list {
	list-style: none;
	padding: 0;
	width: 100%;
	margin-bottom: 1rem;
}

#playlist-list li {
	padding: 0.5rem 0.75rem;
	margin-bottom: 0.5rem;
	background: #333;
	color: #fff;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.2s;
}

#playlist-list li.active {
	background: #444;
	font-weight: bold;
}

#file-input {
	background: #222;
	color: #fff;
	border: 1px solid #444;
	padding: 0.5rem;
	border-radius: 4px;
}

.player {
	background: #181818;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.player-controls {
	display: flex;
	gap: 2rem;
	margin-bottom: 2rem;
}

.player-controls button {
	background: rgba(34,34,34,0.95);
	border: none;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s, box-shadow 0.2s;
	box-shadow: 0 2px 12px #0006;
	font-size: 2rem;
}

.player-controls button:hover {
	background: #444;
	box-shadow: 0 4px 24px #0008;
}

.icon {
	color: #fff;
	font-size: 2rem;
	pointer-events: none;
	text-shadow: 0 2px 8px #000a;
}

.track-info {
	color: #fff;
	font-size: 1.2rem;
	margin-bottom: 1rem;
}
