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