Spaces:
Running
Running
| /* 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 ; | |
| height: 1rem ; | |
| } | |
| /* Featured set play buttons */ | |
| .featured-set-card .play-set-btn i, | |
| .featured-set-card .text-primary-400 i { | |
| width: 1rem ; | |
| height: 1rem ; | |
| } | |
| .set-item .play-set-btn i { | |
| width: 1.125rem ; | |
| height: 1.125rem ; | |
| } | |
| } | |
| /* Dark Mode Enhancements */ | |
| .dark .glass-effect { | |
| background: rgba(15, 23, 42, 0.7); | |
| backdrop-filter: blur(20px); | |
| } |