Lofi-Radio / styles.css
Ivan000's picture
Upload 5 files
27630e2 verified
/* Global Styles */
:root {
--primary-bg: #1f036b;
--card-bg: rgba(37, 41, 66, 0.3);
--accent-color: rgba(108, 99, 255, 0.8);
--text-color: rgba(255, 255, 255, 0.9);
--shadow-color: rgba(0, 0, 0, 0.2);
--glass-border: rgba(255, 255, 255, 0.1);
--glass-highlight: rgba(255, 255, 255, 0.07);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: var(--primary-bg);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
color: var(--text-color);
transition: background-color 0.3s ease;
}
.player-container {
width: 100%;
max-width: 400px;
padding: 20px;
}
.player-card {
background: var(--card-bg);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: 30px;
padding: 25px;
box-shadow:
0 10px 30px var(--shadow-color),
inset 0 1px 1px var(--glass-highlight),
0 0 0 1px var(--glass-border);
position: relative;
overflow: hidden;
}
.player-card::before {
content: '';
position: absolute;
top: 0;
left: -50%;
width: 100%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
var(--glass-highlight),
transparent
);
transform: skewX(-15deg);
pointer-events: none;
}
.visualizer-container {
width: 100%;
height: 200px;
margin-bottom: 25px;
border-radius: 20px;
overflow: hidden;
background-color: rgba(0, 0, 0, 0.15);
box-shadow:
inset 0 2px 5px rgba(0, 0, 0, 0.2),
0 0 0 1px var(--glass-border);
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
canvas {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.controls {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 25px;
position: relative;
z-index: 1;
}
.play-button {
width: 65px;
height: 65px;
border-radius: 50%;
background: var(--accent-color);
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
box-shadow:
0 5px 15px rgba(108, 99, 255, 0.3),
inset 0 1px 1px rgba(255, 255, 255, 0.2);
border: 1px solid rgba(108, 99, 255, 0.4);
}
.play-button:hover {
transform: scale(1.05);
background: rgba(108, 99, 255, 0.9);
box-shadow:
0 8px 20px rgba(108, 99, 255, 0.4),
inset 0 1px 1px rgba(255, 255, 255, 0.3);
}
.play-button:active {
transform: scale(0.98);
}
.play-button svg {
width: 30px;
height: 30px;
fill: var(--text-color);
filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}
.pause-icon {
display: none;
}
.track-info {
text-align: center;
position: relative;
z-index: 1;
}
.station-name {
font-size: 1.2em;
font-weight: 600;
display: block;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
letter-spacing: 0.5px;
background: linear-gradient(to bottom,
rgba(255, 255, 255, 0.95),
rgba(255, 255, 255, 0.8)
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}