Spaces:
Running
Running
| /* 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; | |
| } |