body { background: linear-gradient(135deg, #0f2027, #203a43, #2c5364); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .glass-effect { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.15); } .player-controls { background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); } .track-item { transition: all 0.3s ease; } .track-item:hover { background: rgba(255, 255, 255, 0.08); transform: translateX(5px); } .upload-area { border: 2px dashed rgba(255, 255, 255, 0.3); transition: all 0.3s ease; } .upload-area:hover { border-color: rgba(255, 255, 255, 0.6); background: rgba(255, 255, 255, 0.05); } .progress-fill { background: linear-gradient(270deg, #00d4ff, #7a00ff, #00d4ff); background-size: 400% 400%; animation: progressGlow 6s ease infinite; } @keyframes progressGlow { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } .btn-primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); transition: all 0.3s ease; } .btn-primary:hover { transform: scale(1.05); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); } .music-wave { display: inline-block; width: 20px; height: 20px; margin-right: 10px; } .music-wave span { display: inline-block; width: 3px; height: 100%; background: #00d4ff; margin-right: 2px; animation: wave 1s ease-in-out infinite; } .music-wave span:nth-child(2) { animation-delay: 0.1s; } .music-wave span:nth-child(3) { animation-delay: 0.2s; } .music-wave span:nth-child(4) { animation-delay: 0.3s; } @keyframes wave { 0%, 100% { transform: scaleY(0.4); } 50% { transform: scaleY(1); } }