/* Global Styles for BeatVault Legacy */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', sans-serif; background: linear-gradient(135deg, #0f172a 0%, #000000 50%, #0f172a 100%); background-attachment: fixed; min-height: 100vh; position: relative; } body::before { content: ''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(ellipse at top left, rgba(14, 165, 233, 0.15) 0%, transparent 50%), radial-gradient(ellipse at bottom right, rgba(217, 70, 239, 0.15) 0%, transparent 50%), radial-gradient(ellipse at center, rgba(2, 132, 199, 0.08) 0%, transparent 70%); pointer-events: none; z-index: 1; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: rgba(15, 23, 42, 0.5); border-radius: 5px; } ::-webkit-scrollbar-thumb { background: linear-gradient(to bottom, #0ea5e9, #0284c7); border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(to bottom, #0284c7, #0369a1); } /* Player Control Button Styles */ .control-btn { @apply p-2.5 rounded-xl transition-all duration-300 ease-out; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.08); } .control-btn:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.2); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); } /* Featured Set Card */ .featured-set-card { @apply relative p-3 rounded-xl transition-all duration-500; background: rgba(30, 41, 59, 0.4); border: 1px solid rgba(255, 255, 255, 0.1); overflow: hidden; } .featured-set-card:hover { background: rgba(30, 41, 59, 0.6); border-color: rgba(14, 165, 233, 0.3); transform: translateY(-4px); box-shadow: 0 20px 40px rgba(14, 165, 233, 0.15); } /* Filter Button Styles */ .filter-btn { @apply px-3 py-1.5 rounded-lg text-xs font-medium transition-all duration-300; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.6); } .filter-btn:hover, .filter-btn.active { background: linear-gradient(135deg, rgba(14, 165, 233, 0.2), rgba(14, 165, 233, 0.3)); border-color: rgba(14, 165, 233, 0.4); color: white; box-shadow: 0 5px 15px rgba(14, 165, 233, 0.2); } /* Set Item Card */ .set-item { @apply p-3 rounded-xl transition-all duration-500 cursor-pointer; background: rgba(30, 41, 59, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); } .set-item:hover { background: rgba(30, 41, 59, 0.5); border-color: rgba(14, 165, 233, 0.3); transform: translateX(4px); } /* Audio Wave Animation */ .audio-wave { display: flex; align-items: center; justify-content: center; gap: 3px; height: 30px; } .audio-wave-bar { width: 4px; background: linear-gradient(to top, #0ea5e9, #0284c7); border-radius: 2px; animation: wave 1.2s ease-in-out infinite; } .audio-wave-bar:nth-child(2) { animation-delay: 0.1s; } .audio-wave-bar:nth-child(3) { animation-delay: 0.2s; } .audio-wave-bar:nth-child(4) { animation-delay: 0.3s; } .audio-wave-bar:nth-child(5) { animation-delay: 0.4s; } .audio-wave-bar:nth-child(6) { animation-delay: 0.5s; } .audio-wave-bar:nth-child(7) { animation-delay: 0.6s; } @keyframes wave { 0%, 100% { height: 10px; } 50% { height: 20px; } } /* Glow Effects */ .glow-primary { box-shadow: 0 0 30px rgba(14, 165, 233, 0.3); } .glow-secondary { box-shadow: 0 0 30px rgba(217, 70, 239, 0.3); } /* Gradient Border */ .gradient-border { position: relative; border-radius: 16px; } .gradient-border::before { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; background: linear-gradient(45deg, #0ea5e9, #0284c7, #0ea5e9); border-radius: 18px; z-index: -1; opacity: 0.5; } /* Loading Animation */ .loading-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } /* Responsive Adjustments */ @media (max-width: 768px) { .featured-set-card, .set-item { padding: 2rem 1.5rem; } .player-control-btn { padding: 0.75rem; } .player-control-btn i { width: 1.25rem; height: 1.25rem; } /* Main play button smaller on mobile */ .player-control-btn:nth-child(2) { padding: 0.875rem; } .player-control-btn:nth-child(2) i { width: 1.5rem; height: 1.5rem; } /* Volume and settings buttons */ .player-control-btn .w-4 { width: 1rem !important; height: 1rem !important; } /* Featured set play buttons */ .featured-set-card .play-set-btn i, .featured-set-card .text-primary-400 i { width: 1rem !important; height: 1rem !important; } .set-item .play-set-btn i { width: 1.125rem !important; height: 1.125rem !important; } } /* Dark Mode Enhancements */ .dark .glass-effect { background: rgba(15, 23, 42, 0.7); backdrop-filter: blur(20px); }