*, *::before, *::after {
box-sizing: border-box;
}
body {
font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
margin: 0;
background: #e0e5ec;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
}
.player-body {
width: 100%;
display: flex;
justify-content: center;
}
.neumorphic-player {
background: #e0e5ec;
width: 100%;
max-width: 380px;
padding: 40px;
border-radius: 30px;
box-shadow: 12px 12px 24px rgba(163, 177, 198, 0.7), -12px -12px 24px rgba(255, 255, 255, 0.6);
display: flex;
flex-direction: column;
align-items: center;
}
.vinyl-container {
position: relative;
width: 200px;
height: 200px;
border-radius: 50%;
box-shadow: 8px 8px 16px rgba(163, 177, 198, 0.6), -8px -8px 16px rgba(255, 255, 255, 0.5);
padding: 10px;
margin-bottom: 30px;
background: #e0e5ec;
}
.vinyl-record {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
animation: spin 4s linear infinite;
animation-play-state: paused;
border: 4px solid #111827;
}
.vinyl-center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 30px;
height: 30px;
background: #e0e5ec;
border-radius: 50%;
box-shadow: inset 4px 4px 8px rgba(163, 177, 198, 0.6), inset -4px -4px 8px rgba(255, 255, 255, 0.5);
border: 2px solid #9ca3af;
}
@keyframes spin {
100% { transform: rotate(360deg); }
}
.song-info {
text-align: center;
margin-bottom: 30px;
}
.song-info h2 {
margin: 0 0 6px 0;
color: #374151;
font-size: 1.5rem;
letter-spacing: 0.5px;
}
.song-info p {
margin: 0;
color: #9ca3af;
font-weight: 500;
font-size: 1rem;
}
.controls {
display: flex;
align-items: center;
gap: 24px;
}
.neu-btn {
background: #e0e5ec;
border: none;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
color: #6b7280;
cursor: pointer;
box-shadow: 6px 6px 12px rgba(163, 177, 198, 0.6), -6px -6px 12px rgba(255, 255, 255, 0.6);
transition: all 0.2s ease;
}
.neu-btn:active {
box-shadow: inset 4px 4px 8px rgba(163, 177, 198, 0.6), inset -4px -4px 8px rgba(255, 255, 255, 0.6);
color: #3b82f6;
}
.small-btn {
width: 60px;
height: 60px;
}
.play-btn {
width: 80px;
height: 80px;
color: #3b82f6;
}
.play-btn.playing {
box-shadow: inset 6px 6px 12px rgba(163, 177, 198, 0.6), inset -6px -6px 12px rgba(255, 255, 255, 0.6);
}