@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@300;400;600&display=swap);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;background-image:url(/static/media/deckadence_bg.75545a752b18637a0aae.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#1e1e1e;border-radius:6px}::-webkit-scrollbar-thumb{background:#444;border:2px solid #1e1e1e;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#555}::-webkit-scrollbar-thumb:active{background:#666}::-webkit-scrollbar-corner{background:#1e1e1e}*,.audio-uploader-modal,.auth-modal,.track-library-modal,.track-player-modal,.track-selection-modal{scrollbar-color:#444 #1e1e1e;scrollbar-width:thin}.audio-uploader-modal::-webkit-scrollbar,.auth-modal::-webkit-scrollbar,.track-library-modal::-webkit-scrollbar,.track-player-modal::-webkit-scrollbar,.track-selection-modal::-webkit-scrollbar{width:12px}.audio-uploader-modal::-webkit-scrollbar-track,.auth-modal::-webkit-scrollbar-track,.track-library-modal::-webkit-scrollbar-track,.track-player-modal::-webkit-scrollbar-track,.track-selection-modal::-webkit-scrollbar-track{background:#1e1e1e;border-radius:6px}.audio-uploader-modal::-webkit-scrollbar-thumb,.auth-modal::-webkit-scrollbar-thumb,.track-library-modal::-webkit-scrollbar-thumb,.track-player-modal::-webkit-scrollbar-thumb,.track-selection-modal::-webkit-scrollbar-thumb{background:#444;border:2px solid #1e1e1e;border-radius:6px}.audio-uploader-modal::-webkit-scrollbar-thumb:hover,.auth-modal::-webkit-scrollbar-thumb:hover,.track-library-modal::-webkit-scrollbar-thumb:hover,.track-player-modal::-webkit-scrollbar-thumb:hover,.track-selection-modal::-webkit-scrollbar-thumb:hover{background:#555}.audio-uploader-modal::-webkit-scrollbar-thumb:active,.auth-modal::-webkit-scrollbar-thumb:active,.track-library-modal::-webkit-scrollbar-thumb:active,.track-player-modal::-webkit-scrollbar-thumb:active,.track-selection-modal::-webkit-scrollbar-thumb:active{background:#666}[style*=overflow]{scrollbar-color:#444 #1e1e1e;scrollbar-width:thin}[style*=overflow]::-webkit-scrollbar{height:12px;width:12px}[style*=overflow]::-webkit-scrollbar-track{background:#1e1e1e;border-radius:6px}[style*=overflow]::-webkit-scrollbar-thumb{background:#444;border:2px solid #1e1e1e;border-radius:6px}[style*=overflow]::-webkit-scrollbar-thumb:hover{background:#555}[style*=overflow]::-webkit-scrollbar-thumb:active{background:#666}.auth-container{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#000c;border:2px solid #ffffff1a;border-radius:25px;box-shadow:0 25px 50px #0006;max-width:500px;padding:3rem;width:90%}.auth-header{margin-bottom:2rem}.auth-title{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-family:Orbitron,monospace;font-size:2.5rem;font-weight:700;letter-spacing:2px;margin:0 0 .5rem}.auth-subtitle{color:#fff;font-family:Rajdhani,sans-serif;font-size:1.1rem;font-weight:300;margin:0;opacity:.8}.auth-options{display:flex;flex-direction:column;gap:1.5rem}.guest-option{background:#ffffff1a;border:2px solid #fff3;border-radius:15px;color:#fff;cursor:pointer;padding:2rem;text-align:center;transition:all .3s ease}.guest-option:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.option-icon{font-size:3rem;margin-bottom:1rem}.guest-option h3{font-family:Rajdhani,sans-serif;font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.guest-option p{font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:300;margin:0;opacity:.8}.auth-divider{margin:1rem 0;position:relative;text-align:center}.auth-divider:before{background:#fff3;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.auth-divider span{background:#000c;color:#fff9;padding:0 1rem}.auth-divider span,.back-btn{font-family:Rajdhani,sans-serif;font-size:.9rem}.back-btn{background:#0000;border:2px solid #ffffff4d;border-radius:25px;color:#fffc;font-weight:400;margin-top:2rem;padding:.8rem 1.5rem;transition:all .3s ease}.back-btn:hover{background:#ffffff1a;border-color:#ffffff80}@media (max-width:768px){.auth-container{margin:0 1rem;padding:2rem}.auth-title{font-size:2rem}}@media (max-width:480px){.auth-container{padding:1.5rem}.auth-title{font-size:1.8rem}.guest-option{padding:1.5rem}.option-icon{font-size:2.5rem}}.error-message{background-color:#ff44441a;border:1px solid #ff44444d;border-radius:8px;color:#f44;margin:10px 0;text-align:center}.divider,.error-message{font-family:Rajdhani,sans-serif;font-size:14px}.divider{align-items:center;color:#fff9;display:flex;margin:20px 0}.divider:after,.divider:before{background-color:#fff3;content:"";flex:1 1;height:1px}.divider span{padding:0 15px}.google-signin-btn{align-items:center;background-color:#ffffff1a;border:2px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:500;justify-content:center;margin-top:10px;padding:12px;transition:all .3s ease;width:100%}.google-signin-btn:hover{background-color:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.google-signin-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.google-signin-btn img{height:18px;margin-right:10px;width:18px}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.track-selection-modal{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#000000e6;border:2px solid #ffffff1a;border-radius:20px;box-shadow:0 25px 50px #00000080;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:2rem 2rem 1rem}.modal-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-family:Orbitron,monospace;font-size:1.8rem;font-weight:700;letter-spacing:1px;margin:0}.close-btn{background:#0000;color:#ffffffb3;font-size:2rem;height:40px;transition:all .3s ease;width:40px}.close-btn:hover{background:#ffffff1a}.modal-content{padding:2rem}.selection-section{margin-bottom:2.5rem}.selection-section h3{color:#fff;font-family:Rajdhani,sans-serif;font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.selection-section p{color:#ffffffb3;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:300;margin:0 0 1.5rem}.track-count-options{display:flex;gap:1rem;justify-content:center}.track-count-btn{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:15px;cursor:pointer;display:flex;flex-direction:column;min-width:120px;padding:1.5rem 2rem;transition:all .3s ease}.track-count-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.track-count-btn.selected{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-color:#0000;box-shadow:0 10px 25px #0000004d}.count-number{color:#fff;font-family:Orbitron,monospace;font-size:2.5rem;font-weight:900;margin-bottom:.5rem}.count-label{color:#fffc;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.genre-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.genre-btn{background:#ffffff1a;border:2px solid #fff3;border-radius:10px;color:#fffc;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:500;padding:1rem;text-align:center;transition:all .3s ease}.genre-btn:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff}.genre-btn.selected{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-color:#0000;box-shadow:0 5px 15px #0003;color:#fff}.bpm-options{display:flex;flex-direction:column;gap:.8rem}.bpm-btn{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:10px;color:#fffc;cursor:pointer;display:flex;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:500;justify-content:space-between;padding:1rem 1.5rem;transition:all .3s ease}.bpm-btn:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff}.bpm-btn.selected{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-color:#0000;box-shadow:0 5px 15px #0003;color:#fff}.bpm-label{font-weight:600}.bpm-range{font-size:.9rem;font-weight:400;opacity:.8}.challenge-preview{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;margin-top:2rem;padding:1.5rem}.challenge-preview h3{color:#fff;font-family:Rajdhani,sans-serif;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.preview-content{display:flex;flex-direction:column;gap:.8rem}.preview-item{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:.5rem 0}.preview-item:last-child{border-bottom:none}.preview-label{color:#ffffffb3;font-weight:500}.preview-label,.preview-value{font-family:Rajdhani,sans-serif;font-size:.9rem}.preview-value{color:#4ecdc4;font-weight:600}.modal-footer{align-items:center;border-top:1px solid #ffffff1a;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem 2rem}.cancel-btn{background:#0000;border:2px solid #ffffff4d;border-radius:25px;color:#fffc;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:500;padding:.8rem 1.5rem;transition:all .3s ease}.cancel-btn:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff}.start-challenge-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:25px;box-shadow:0 5px 15px #0003;color:#fff;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:600;letter-spacing:1px;padding:.8rem 2rem;text-transform:uppercase;transition:all .3s ease}.start-challenge-btn:hover:not(:disabled){box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.start-challenge-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.track-selection-modal{margin:1rem;max-height:95vh}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-header h2{font-size:1.5rem}.modal-content{padding:1.5rem}.track-count-options{align-items:center;flex-direction:column}.track-count-btn{max-width:200px;width:100%}.genre-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.modal-footer{flex-direction:column;padding:1.5rem}.cancel-btn,.start-challenge-btn{width:100%}}@media (max-width:480px){.modal-header{padding:1rem 1rem .5rem}.modal-content{padding:1rem}.selection-section{margin-bottom:2rem}.genre-grid{grid-template-columns:1fr}.bpm-btn{flex-direction:column;gap:.5rem;text-align:center}}.rekordbox-deck{background:#1e1e1e;color:#fff;display:flex;flex-direction:column;font-family:Inter,Helvetica Neue,sans-serif;height:100%}.track-info-panel{background:#2a2a2a;border-bottom:1px solid #404040;flex-shrink:0;padding:12px 16px}.track-title{font-size:16px}.track-artist{font-size:14px;margin-bottom:8px}.track-meta{align-items:center;display:flex;gap:16px}.track-bpm{color:#00aeef;font-family:Courier New,monospace}.track-key{color:#fa0}.track-time{color:#999;font-family:Courier New,monospace;font-size:12px}.waveform-overview{background:#1e1e1e;border-bottom:1px solid #404040;flex-shrink:0;padding:8px 16px}.overview-canvas{background:#1e1e1e;border:1px solid #404040;border-radius:2px;height:40px;width:100%}.main-waveform{align-items:center;background:#1e1e1e;display:flex;flex:1 1;padding:8px 16px}.main-canvas{background:#1e1e1e;border:1px solid #404040;border-radius:2px;cursor:pointer;height:120px;width:100%}.main-canvas:hover{border-color:#00aeef}@media (max-width:768px){.track-meta{align-items:flex-start;flex-direction:column;gap:4px}.track-title{font-size:14px}.track-artist,.track-bpm,.track-key,.track-time{font-size:12px}.main-canvas{height:80px}.overview-canvas{height:30px}}.rekordbox-app{background:#1e1e1e;color:#fff;flex-direction:column;font-family:Inter,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh}.game-header,.rekordbox-app{align-items:center;display:flex}.game-header{background:#2a2a2a;border-bottom:1px solid #404040;flex-shrink:0;height:80px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:16px 24px;width:100%}.header-left h1{color:#00aeef;font-size:24px;font-weight:600;margin:0 0 8px}.challenge-info{display:flex;gap:16px}.info-item{background:#404040;border-radius:4px;color:#ccc;font-size:14px;padding:4px 12px}.header-right{align-items:center;display:flex;gap:24px}.game-score,.game-timer{align-items:center;display:flex;flex-direction:column}.score-label,.timer-label{color:#999;font-size:12px;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}.score-value,.timer-value{color:#00aeef;font-size:20px;font-weight:600}.back-btn{background:#404040;border:1px solid #666;border-radius:4px;color:#ccc;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.back-btn:hover{background:#505050;color:#fff}.loading-screen{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1400px;min-height:60vh;text-align:center;width:100%}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #404040;border-radius:50%;border-top-color:#00aeef;height:48px;margin-bottom:24px;width:48px}.loading-screen h2{color:#fff;font-size:24px;margin:0 0 12px}.loading-screen p{color:#ccc;font-size:16px;margin:0}.game-start-screen{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:1400px;min-height:60vh;padding:48px;width:100%}.start-content{background:#2a2a2a;border:1px solid #404040;border-radius:8px;max-width:600px;padding:48px;text-align:center;width:100%}.start-content h2{color:#fff;font-size:28px;margin:0 0 16px}.start-content p{color:#ccc;font-size:18px;margin:0 0 32px}.track-preview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.preview-track{background:#404040;border:1px solid #666;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:16px}.track-number{color:#00aeef;font-size:16px;font-weight:600}.track-bpm{color:#fff;font-size:14px}.track-key{color:#ccc;font-size:14px}.controller-notice{background:#404040;border:1px solid #666;border-radius:6px;margin-bottom:32px;padding:24px;text-align:center}.notice-icon{display:block;font-size:48px;margin-bottom:16px}.controller-notice h3{color:#fff;font-size:20px;margin:0 0 8px}.controller-notice p{color:#ccc;font-size:16px;margin:0}.start-game-btn{background:#00aeef;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;letter-spacing:1px;padding:16px 32px;text-transform:uppercase;transition:all .2s ease}.start-game-btn:hover{transform:translateY(-2px)}.game-interface{background:#1e1e1e;display:flex;flex:1 1;margin:0 auto;max-width:1400px;width:100%}.tracks-container{display:flex;flex:1 1;gap:16px;padding:16px}.track-section{background:#2a2a2a;border:1px solid #404040;border-radius:4px;display:flex;flex:1 1;flex-direction:column;max-width:350px;min-width:300px}.track-section.master{background:#00aeef1a;border-color:#00aeef}.track-info-section{align-items:center;background:#404040;border-bottom:1px solid #666;display:flex;gap:12px;padding:12px}.album-art{flex-shrink:0}.placeholder-art{background:#666;border:1px solid #888;border-radius:4px;height:48px;width:48px}.track-details{min-width:0}.track-title{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.track-artist{color:#ccc;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tall-waveform{background:#1e1e1e;flex:1 1;min-height:300px;padding:8px}.beatpad-section{background:#2a2a2a;border-top:1px solid #404040;padding:12px}.beatpad-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:12px}.beatpad-button{align-items:center;background:#404040;border:1px solid #666;border-radius:4px;color:#ccc;cursor:pointer;display:flex;font-size:12px;font-weight:600;justify-content:center;letter-spacing:1px;min-height:40px;padding:12px 8px;text-transform:uppercase;transition:all .2s ease}.beatpad-button:hover{background:#505050;border-color:#00aeef;color:#fff}.beatpad-button:active{background:#00aeef;color:#fff;transform:scale(.95)}.beatpad-mode{display:flex;justify-content:center}.mode-selector{background:#404040;border:1px solid #666;border-radius:4px;color:#ccc;cursor:pointer;font-size:12px;padding:6px 12px}.mode-selector:focus{border-color:#00aeef;outline:none}.center-mixer{background:#2a2a2a;border-left:2px solid #666;max-width:320px;min-width:280px}.center-mixer,.mixer-channels{display:flex;flex-direction:column}.mixer-channels{flex:1 1}.mixer-channel{border-bottom:1px solid #404040;display:flex;flex-direction:column;gap:16px;padding:16px}.mixer-channel:last-child{border-bottom:none}.channel-header{background:#404040;border-radius:4px;text-align:center}.channel-label{color:#fff;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.channel-controls{align-items:center;display:flex;flex-direction:column;gap:16px}.filter-knob,.hi-eq-knob,.low-eq-knob,.mid-eq-knob{align-items:center;display:flex;flex-direction:column;gap:8px}.knob-label{color:#ccc;font-size:10px;letter-spacing:1px;text-transform:uppercase}.knob{background:#404040;border:2px solid #666;border-radius:50%;cursor:pointer;height:32px;position:relative;transition:all .2s ease;width:32px}.knob:before{background:#fff;height:12px;top:50%;transform:translate(-50%,-50%) rotate(45deg);transform-origin:center bottom;width:2px}.knob:after,.knob:before{content:"";left:50%;position:absolute}.knob:after{background:#666;border-radius:50%;height:4px;top:4px;transform:translateX(-50%);width:4px}.knob.blue{background:#00aeef;border-color:#00aeef}.knob:hover{border-color:#00aeef;transform:scale(1.05)}.channel-fader{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:16px}.fader-track{background:linear-gradient(180deg,#404040,#666);border:1px solid #666;border-radius:6px;box-shadow:inset 0 2px 4px #0000004d;height:120px;width:12px}.fader-track.horizontal{height:12px;width:120px}.fader-handle{background:linear-gradient(145deg,#00aeef,#0098d1);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;cursor:pointer;height:20px;left:50%;position:absolute;transform:translateX(-50%);transition:all .2s ease;width:20px}.fader-track.horizontal .fader-handle{left:50%;top:50%;transform:translate(-50%,-50%)}.fader-handle:hover{box-shadow:0 4px 8px #0006;transform:translateX(-50%) scale(1.1)}.fader-track.horizontal .fader-handle:hover{transform:translate(-50%,-50%) scale(1.1)}.master-section{border-top:2px solid #666;padding:16px}.master-controls,.master-section{display:flex;flex-direction:column;gap:16px}.crossfader,.headphone-controls{display:flex;justify-content:center}.headphone-controls{gap:16px}.cue-mix-knob,.hp-knob{gap:4px}.cue-mix-knob,.hp-knob,.master-level{align-items:center;display:flex;flex-direction:column}.master-level{gap:8px}.master-meter{background:#404040;border:1px solid #666;border-radius:4px;height:80px;overflow:hidden;position:relative;width:12px}.meter-bar{bottom:0;position:absolute;transition:height .3s ease;width:100%}.meter-bar,.meter-bar.stereo{background:linear-gradient(0deg,#00aeef,#f44)}.results-screen{display:flex;flex-direction:column;gap:32px;margin:0 auto;max-width:800px;max-width:1400px;padding:48px;width:100%}.score-display{background:#2a2a2a;border:1px solid #404040;border-radius:8px;padding:48px;text-align:center}.score-display h2{color:#fff;font-size:24px;margin:0 0 16px}.score-number{color:#00aeef;font-size:64px;font-weight:700;margin-bottom:32px}.score-breakdown{display:flex;flex-direction:column;gap:8px}.score-item{align-items:center;border-bottom:1px solid #404040;display:flex;justify-content:space-between;padding:8px 0}.score-item:last-child{border-bottom:none}.score-item span:first-child{color:#ccc}.score-item span:last-child{color:#00aeef;font-weight:600}.challenge-summary{background:#2a2a2a;border:1px solid #404040;border-radius:8px;padding:32px}.challenge-summary h3{color:#fff;font-size:20px;margin:0 0 24px}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{align-items:center;background:#404040;border-radius:6px;display:flex;justify-content:space-between;padding:16px}.summary-label{color:#ccc}.summary-value{color:#00aeef;font-weight:600}@media (max-width:1200px){.game-interface,.tracks-container{flex-direction:column}.center-mixer,.track-section{max-width:none}.center-mixer{border-left:none;border-top:2px solid #666}.mixer-channels{flex-direction:row}.mixer-channel{border-bottom:none;border-right:1px solid #404040;flex:1 1}.mixer-channel:last-child{border-right:none}}@media (max-width:768px){.game-header{flex-direction:column;gap:16px;height:auto;padding:16px}.header-right{justify-content:space-between;width:100%}.tracks-container{padding:8px}.track-section{min-width:250px}.beatpad-grid{grid-template-columns:repeat(2,1fr)}.mixer-channels{flex-direction:column}.mixer-channel{border-bottom:1px solid #404040;border-right:none}}.audio-uploader-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.audio-uploader-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 20px 40px #00000080;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.uploader-header{align-items:flex-start;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:20px 24px}.header-left{flex:1 1}.backend-status{font-size:.9rem;margin-top:8px}.status-checking{color:orange}.status-available{color:#4caf50}.status-unavailable{color:#ff9800}.uploader-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.uploader-content{padding:24px}.drop-zone{background:#00aeef0d;border:2px dashed #00aeef;border-radius:8px;cursor:pointer;padding:40px 20px;text-align:center;transition:all .3s ease}.drop-zone:hover{background:#00aeef1a;border-color:#fff}.drop-zone-content{color:#fff}.upload-icon{font-size:48px;margin-bottom:16px}.drop-zone h3{font-size:1.2rem;font-weight:600;margin:0 0 8px}.drop-zone p{color:#ccc;margin:4px 0}.supported-formats{color:#888;font-size:.9rem;margin-top:12px}.selected-file{background:#2a2a2a;border:1px solid #444;border-radius:8px;margin-top:20px;padding:16px}.file-info{align-items:center;display:flex;margin-bottom:16px}.file-icon{font-size:24px;margin-right:12px}.file-details h4{color:#fff;font-size:1rem;margin:0 0 4px}.file-details p{color:#ccc;font-size:.9rem;margin:0}.analyze-btn{background:linear-gradient(135deg,#00aeef,#08c);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease;width:100%}.analyze-btn:hover{background:linear-gradient(135deg,#08c,#069);transform:translateY(-1px)}.analysis-progress{padding:40px 20px;text-align:center}.progress-icon{font-size:48px;margin-bottom:16px}.analysis-progress h3{color:#fff;font-size:1.2rem;margin:0 0 20px}.progress-bar{background:#333;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#00aeef,#08c);height:100%;transition:width .3s ease}.analysis-progress p{color:#ccc;margin:0}.analysis-results{color:#fff}.results-header{align-items:center;display:flex;margin-bottom:24px}.success-icon{font-size:32px;margin-right:12px}.results-header h3{color:#00aeef;font-size:1.3rem;margin:0}.track-info{background:#2a2a2a;border:1px solid #444;border-radius:8px;margin-bottom:24px;padding:20px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.info-item{display:flex;flex-direction:column}.info-item label{color:#888;font-size:.9rem;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.info-item span{color:#fff;font-size:1.1rem;font-weight:600}.confidence-scores h4{color:#fff;font-size:1rem;margin:0 0 12px}.confidence-bars{display:flex;flex-direction:column;gap:12px}.confidence-item{gap:12px}.confidence-item label{color:#ccc;font-size:.9rem;min-width:40px}.confidence-item span{color:#fff;font-size:.9rem;font-weight:600;min-width:40px}.action-buttons{display:flex;gap:12px}.save-track-btn{background:linear-gradient(135deg,#00aeef,#08c);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.save-track-btn:hover{background:linear-gradient(135deg,#08c,#069);transform:translateY(-1px)}.retry-btn{background:#444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.retry-btn:hover{background:#555}.error-message{background:#ff00001a;border:1px solid #f44;border-radius:6px;color:#f66;font-size:.9rem;margin-top:16px;padding:12px}.error-section{color:#fff;padding:40px 20px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-section h3{color:#f66;margin:0 0 12px}.error-section p{color:#ccc;margin:0 0 24px}@media (max-width:768px){.audio-uploader-modal{margin:20px;width:95%}.info-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}}.login-notice{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fffc;font-family:Rajdhani,sans-serif;margin:15px 0;padding:12px;text-align:center}.login-notice p{font-size:14px;margin:0}.waveform-component{width:100%}.waveform-container{margin-bottom:20px;position:relative;width:100%}.waveform-canvas{background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:1px solid #333;border-radius:8px;cursor:pointer;display:block;height:200px;width:100%}.dj-waveform-container{margin-bottom:20px;position:relative;width:100%}.dj-waveform-canvas{background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:1px solid #333;display:block;height:200px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:100%}.dj-waveform-canvas,.dj-waveform-overlay{border-radius:8px;transition:cursor .1s ease}.dj-waveform-overlay{bottom:0;cursor:grab;left:0;position:absolute;right:0;top:0;z-index:10}.dj-waveform-overlay:hover{background:#00aeef0d}.dj-waveform-overlay:active{background:#00aeef1a;cursor:grabbing}.waveform-placeholder{background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:1px solid #333;border-radius:8px;color:#666;font-style:italic;height:200px;width:100%}.track-player-overlay,.waveform-placeholder{align-items:center;display:flex;justify-content:center}.track-player-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.track-player-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 25px 50px #000000b3;max-height:90vh;max-width:900px;overflow-y:auto;width:95%}.player-header{border-bottom:1px solid #333;justify-content:space-between;padding:24px}.player-header,.track-header{align-items:flex-start;display:flex}.track-header{gap:16px;margin-bottom:12px}.album-cover{border:1px solid #333;border-radius:8px;height:80px;width:80px}.track-details{flex:1 1}.track-details h2{color:#fff;font-size:1.3rem;font-weight:600;line-height:1.2;margin:0 0 4px}.track-details .artist{color:#00aeef;font-size:1rem;font-weight:500;margin:0 0 2px}.track-details .album{color:#888;font-size:.9rem;margin:0}.track-details .no-metadata{color:#666;font-size:.8rem;font-style:italic;margin:0}.track-metadata{gap:16px}.track-metadata span{background:#2a2a2a;border-radius:4px;font-size:.9rem;font-weight:500;padding:4px 8px}.track-metadata .bpm{color:#00aeef}.track-metadata .duration{color:#ccc}.player-content{padding:24px}.view-mode-selector{background:#2a2a2a;border:1px solid #444;border-radius:8px;display:flex;gap:8px;margin-bottom:20px;padding:4px}.view-btn{background:#0000;border:none;border-radius:6px;color:#888;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.view-btn:hover{background:#ffffff1a;color:#ccc}.view-btn.active{background:linear-gradient(135deg,#00aeef,#08c);box-shadow:0 2px 8px #00aeef4d;color:#fff}.waveform-controls{align-items:center;background:#2a2a2a;border:1px solid #444;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px;padding:12px}.control-group{gap:10px}.control-label{align-items:center;color:#ccc;cursor:pointer;display:flex;font-size:.9rem;gap:6px}.control-label input[type=checkbox]{accent-color:#00aeef;height:16px;width:16px}.zoom-buttons{display:flex;gap:4px}.zoom-btn{background:#444;border:1px solid #555;border-radius:4px;color:#ccc;cursor:pointer;font-size:.8rem;font-weight:500;min-width:50px;padding:6px 12px;transition:all .2s ease}.zoom-btn:hover{background:#555;border-color:#00aeef;color:#fff}.zoom-btn.active{background:linear-gradient(135deg,#00aeef,#08c);border-color:#00aeef;box-shadow:0 2px 4px #00aeef4d;color:#fff}.playback-controls{background:#2a2a2a;border:1px solid #444;border-radius:8px;margin-bottom:24px;padding:20px}.main-controls{gap:20px;margin-bottom:16px}.main-controls,.play-btn{align-items:center;display:flex}.play-btn{background:linear-gradient(135deg,#00aeef,#08c);border-radius:50%;color:#fff;font-size:24px;height:60px;justify-content:center;width:60px}.play-btn:hover{background:linear-gradient(135deg,#08c,#069);transform:scale(1.05)}.time-display{align-items:center;color:#fff;display:flex;font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;gap:8px}.secondary-controls{display:flex;flex-wrap:wrap;gap:24px}.control-group{align-items:center;display:flex;gap:8px}.control-group label{color:#ccc;font-size:.9rem;min-width:60px}.rate-select{background:#444;border:1px solid #555;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;min-width:80px;padding:6px 8px}.rate-select:focus{border-color:#00aeef;outline:none}.mode-select{background:#444;border:1px solid #555;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;min-width:80px;padding:6px 8px}.mode-select:focus{border-color:#0ee;outline:none}.volume-slider{background:#555;border-radius:2px;cursor:pointer;height:4px;outline:none;width:100px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#00aeef;border-radius:50%;cursor:pointer;height:16px;width:16px}.volume-slider::-moz-range-thumb{background:#00aeef;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.volume-value{color:#ccc;font-size:.9rem;min-width:40px}.analysis-details{background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:20px}.analysis-details h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 16px}.details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-item label{color:#888;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#fff;font-weight:600}.confidence-bar{border-radius:3px;height:6px;width:100%}@media (max-width:768px){.track-player-modal{margin:20px;width:95%}.player-header{flex-direction:column;gap:16px}.track-header{align-items:center;flex-direction:column;text-align:center}.album-cover{height:120px;margin-bottom:12px;width:120px}.track-metadata{gap:8px}.track-metadata span{font-size:.8rem}.main-controls,.secondary-controls{flex-direction:column;gap:16px}.control-group{justify-content:space-between}.details-grid{grid-template-columns:1fr}}@media (max-width:480px){.playback-controls,.player-content{padding:16px}.play-btn{font-size:20px;height:50px;width:50px}.time-display{font-size:1rem}}.track-library-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.track-library-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 25px 50px #000000b3;max-height:90vh;max-width:1200px;overflow-y:auto;width:95%}.library-header{align-items:center;background:#1e1e1e;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:24px;position:sticky;top:0;z-index:10}.header-left h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0 0 4px}.track-count{color:#888}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#888;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-btn:hover{background:#333;color:#fff}.library-content{padding:24px}.filters-section{background:#2a2a2a;border:1px solid #444;border-radius:8px;margin-bottom:24px;padding:20px}.search-box{display:flex;justify-content:center;margin-bottom:16px}.search-input{background:#444;border:1px solid #555;border-radius:6px;color:#fff;font-size:1rem;max-width:1200px;padding:12px 16px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#00aeef;outline:none}.search-input::placeholder{color:#888}.filter-controls{flex-wrap:wrap;gap:16px}.filter-controls,.filter-group{align-items:center;display:flex}.filter-group{gap:8px}.filter-group label{color:#ccc;font-size:.9rem;white-space:nowrap}.filter-select{background:#444;border:1px solid #555;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;min-width:120px;padding:6px 8px}.filter-select:focus{border-color:#00aeef;outline:none}.sort-order-btn{background:#444;border:1px solid #555;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:6px 12px;transition:all .2s ease}.sort-order-btn:hover{background:#555;border-color:#00aeef}.tracks-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.track-card{background:#2a2a2a;border:1px solid #444;border-radius:8px;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .2s ease}.track-card:hover{border-color:#00aeef;box-shadow:0 8px 25px #00aeef33;transform:translateY(-2px)}.track-card-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.track-icon{color:#00aeef;font-size:24px}.track-title h4{color:#fff;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 4px;word-break:break-word}.track-duration{color:#888;font-size:.8rem}.track-metadata{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.metadata-item{align-items:center;display:flex}.bpm-badge{color:#000;text-shadow:0 1px 2px #0000004d}.bpm-badge,.key-badge{border-radius:4px;font-size:.8rem;font-weight:600;padding:4px 8px}.key-badge{background:#ffffff1a}.confidence-indicators{margin-bottom:16px}.confidence-item{align-items:center;display:flex;gap:8px;margin-bottom:8px}.confidence-label{color:#888;font-size:.8rem;min-width:30px}.confidence-bar{background:#333;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.confidence-fill{background:linear-gradient(90deg,#00aeef,#08c);height:100%;transition:width .3s ease}.track-footer{align-items:center;border-top:1px solid #444;display:flex;justify-content:space-between;padding-top:12px}.analysis-date{color:#888;font-size:.8rem}.play-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px;transition:all .2s ease}.play-btn:hover{background:#00aeef33;transform:scale(1.1)}.no-tracks{color:#888;grid-column:1/-1;padding:60px 20px;text-align:center}.no-tracks-icon{font-size:48px;margin-bottom:16px}.no-tracks h3{color:#ccc;font-size:1.2rem;margin:0 0 8px}.no-tracks p{font-size:.9rem;margin:0}@media (max-width:1024px){.tracks-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.track-library-modal{margin:20px;width:95%}.library-header{align-items:flex-start;flex-direction:column;gap:16px}.filter-controls{align-items:stretch;flex-direction:column;gap:12px}.filter-group{justify-content:space-between}.tracks-grid{grid-template-columns:1fr}.track-card{padding:16px}.track-metadata{flex-direction:column;gap:4px}}@media (max-width:480px){.filters-section,.library-content{padding:16px}.track-card-header{flex-direction:column;gap:8px}.track-title h4{font-size:.9rem}}.auth-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 25px 50px #000000b3;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.auth-modal-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:24px}.auth-modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-family:Orbitron,monospace;font-size:1.8rem;font-weight:700;letter-spacing:1px;margin:0}.auth-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#888;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.auth-close-btn:hover{background:#333;color:#fff}.auth-modal-content{padding:24px}.form-tabs{background:#ffffff1a;border-radius:10px;display:flex;margin-bottom:1.5rem;padding:.3rem}.tab{background:#0000;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;flex:1 1;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:500;padding:.8rem;transition:all .3s ease}.tab.active{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);color:#fff}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{position:relative}.form-input{background:#ffffff1a;border:2px solid #fff3;border-radius:10px;box-sizing:border-box;color:#fff;font-family:Rajdhani,sans-serif;font-size:1rem;padding:1rem 1.2rem;transition:all .3s ease;width:100%}.form-input::placeholder{color:#ffffff80}.form-input:focus{background:#ffffff26;border-color:#4ecdc4;outline:none}.auth-submit-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:1px;margin-top:.5rem;padding:1rem;text-transform:uppercase;transition:all .3s ease}.auth-submit-btn:hover{box-shadow:0 10px 20px #0003;transform:translateY(-2px)}@media (max-width:768px){.auth-modal{margin:20px;width:95%}.auth-modal-header{padding:20px}.auth-modal-title{font-size:1.5rem}.auth-modal-content{padding:20px}}@media (max-width:480px){.auth-modal{margin:10px;width:95%}.auth-modal-header{padding:16px}.auth-modal-title{font-size:1.3rem}.auth-modal-content{padding:16px}.form-tabs{flex-direction:column;gap:.5rem}.tab{font-size:.9rem;padding:.6rem}}.dashboard{background:linear-gradient(#000000b3,#000c),url(/static/media/deckadence_bg.75545a752b18637a0aae.jpg);background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100vh}.dashboard-header{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#000c;border-bottom:2px solid #ffffff1a;justify-content:space-between;padding:1.5rem 2rem}.dashboard-header,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.dashboard-title{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-family:Orbitron,monospace;font-size:2rem;font-weight:700;letter-spacing:2px;margin:0}.user-status{background:#ffffff1a;border:1px solid #fff3;border-radius:15px;color:#ffffffb3;font-weight:400;padding:.3rem .8rem}.logout-btn,.user-status{font-family:Rajdhani,sans-serif;font-size:.9rem}.logout-btn{background:#0000;border:2px solid #ffffff4d;border-radius:20px;color:#fffc;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:all .3s ease}.logout-btn:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff}.auth-buttons{display:flex;gap:.8rem}.login-btn,.signup-btn{background:#0000;border:2px solid #ffffff4d;border-radius:20px;color:#fffc;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:all .3s ease}.login-btn:hover,.signup-btn:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff}.signup-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-color:#0000;color:#fff}.signup-btn:hover{background:linear-gradient(45deg,#ff5252,#26a69a);box-shadow:0 5px 15px #0000004d;transform:translateY(-1px)}.dashboard-content{margin:0 auto;max-width:1200px;padding:2rem}.tab-navigation{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;display:flex;gap:1rem;margin-bottom:2rem;padding:.5rem}.tab-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:#ffffffb3;cursor:pointer;display:flex;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.active{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);box-shadow:0 5px 15px #0000004d;color:#fff}.tab-btn.restricted{color:#ffffff80;cursor:not-allowed;opacity:.6}.tab-btn.restricted:hover{background:#0000;color:#ffffff80;transform:none}.tab-icon{font-size:1.2rem}.tab-label{font-weight:600}.restricted-badge{font-size:.8rem;opacity:.8}.tab-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:2rem}.tab-content h2{color:#fff;font-family:Orbitron,monospace;font-size:2rem;font-weight:600;letter-spacing:1px;margin:0 0 1rem}.tab-content p{color:#fffc;font-family:Rajdhani,sans-serif;font-size:1.1rem;font-weight:300;line-height:1.6;margin:0 0 2rem}.feature-placeholder{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.placeholder-item{background:#ffffff1a;border:1px solid #fff3;border-radius:15px;padding:1.5rem;text-align:center;transition:all .3s ease}.placeholder-item:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.placeholder-item h3{color:#fff;font-family:Rajdhani,sans-serif;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.placeholder-item p{color:#ffffffb3;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:300;margin:0}.games-content{align-items:center;display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin-left:auto;margin-right:auto;margin-top:2rem;max-width:1200px}.game-section{grid-gap:1rem;aspect-ratio:1;background:#ffffff1a;border-radius:15px;display:grid;gap:1rem;grid-template-areas:"banner" "title" "content" "buttons";grid-template-columns:1fr;grid-template-rows:80px auto 1fr auto;height:300px;padding:1.2rem;width:280px}.game-section img{border-radius:8px;grid-area:banner;height:100%;object-fit:cover;width:100%}.game-section h3{color:#eee;font-size:1.1rem;font-weight:600;grid-area:title;margin:0;text-align:center}.game-section p,.game-section ul{grid-area:content;margin:0;text-align:center}.game-section .game-controls{display:flex;flex-direction:column;gap:.5rem;grid-area:buttons;justify-content:center}.challenge-info{background:#ffffff1a;border:1px solid #fff3;border-radius:15px;padding:1.5rem}.challenge-info h3{color:#fff;font-family:Rajdhani,sans-serif;font-size:1.3rem;font-weight:600;margin:0 0 1rem}.challenge-info ul{list-style:none;margin:0;padding:0}.challenge-info li{color:#fffc;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:400;margin:.5rem 0;padding-left:0}.game-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.practice-btn,.start-game-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:25px;box-shadow:0 5px 15px #0003;color:#fff;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:600;letter-spacing:1px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.practice-btn:hover,.start-game-btn:hover{box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.practice-btn{background:#0000;border:2px solid #ffffff4d;color:#fffc}.practice-btn:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff}.guest-notice{background:linear-gradient(45deg,#ff6b6b33,#4ecdc433);border:1px solid #fff3;border-radius:15px;padding:1.5rem;text-align:center}.guest-notice p{color:#ffffffe6;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:400;margin:0}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.header-left{flex-direction:column;gap:.5rem}.dashboard-title{font-size:1.5rem}.dashboard-content{padding:1rem}.tab-navigation{flex-direction:column;gap:.5rem}.tab-btn{justify-content:center}.tab-container{padding:1.5rem}.tab-content h2{font-size:1.5rem}.feature-placeholder{grid-template-columns:1fr}.game-controls{align-items:center;flex-direction:column}.practice-btn,.start-game-btn{max-width:300px;width:100%}}@media (max-width:480px){.dashboard-title{font-size:1.3rem}.tab-btn{font-size:.9rem;padding:.8rem 1rem}.tab-container{padding:1rem}}.create-content{display:flex;flex-direction:column;gap:1.5rem}.create-section{background:#ffffff1a;border:1px solid #fff3;border-radius:15px;padding:1.5rem;transition:all .3s ease}.create-section:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.create-section h3{color:#fff;font-family:Rajdhani,sans-serif;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.create-section p{color:#ffffffb3;font-weight:300;line-height:1.4;margin:0 0 1rem}.create-section p,.library-btn,.upload-btn{font-family:Rajdhani,sans-serif;font-size:.95rem}.library-btn,.upload-btn{align-items:center;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:25px;box-shadow:0 5px 15px #0003;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;letter-spacing:.5px;padding:.8rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.library-btn:hover,.upload-btn:hover{box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.track-count{color:#fff9;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:300;margin-left:.75rem}.placeholder-item h4{color:#fff;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:600;margin:0 0 .5rem}.terms-container{background:linear-gradient(135deg,#353535,#202020);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.terms-content{background:#202020;border-radius:15px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:800px;overflow:hidden}.terms-header{background:linear-gradient(135deg,#353535,#202020);color:#fff;padding:40px;position:relative;text-align:center}.terms-header h1{font-size:2.5rem;font-weight:700;margin:0 0 20px;text-shadow:0 2px 4px #0000004d}.terms-body{color:#333;line-height:1.6;padding:40px}.terms-section{border-bottom:1px solid #353535;margin-bottom:30px;padding-bottom:20px}.terms-section:last-child{border-bottom:none}.terms-section h2{color:#d8d8d8;font-size:1.5rem;font-weight:600;margin-bottom:15px}.terms-section p{color:#888;font-size:1rem;margin-bottom:15px}.terms-section ul{margin:15px 0;padding-left:20px}.terms-section li{color:#888;margin-bottom:8px}.terms-footer{border-top:2px solid #353535;color:#888;font-style:italic;margin-top:40px;padding-top:20px;text-align:center}@media (max-width:768px){.terms-container{padding:10px}.terms-content{border-radius:10px}.terms-header{padding:30px 20px}.terms-header h1{font-size:2rem}.back-link{display:inline-block;margin-bottom:20px;position:static}.terms-body{padding:20px}.terms-section h2{font-size:1.3rem}}.privacy-container{background:linear-gradient(135deg,#353535,#202020);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.privacy-content{background:#202020;border-radius:15px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:800px;overflow:hidden}.privacy-header{background:linear-gradient(135deg,#353535,#202020);color:#fff;padding:40px;position:relative;text-align:center}.privacy-header h1{font-size:2.5rem;font-weight:700;margin:0 0 20px;text-shadow:0 2px 4px #0000004d}.back-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:25px;color:#fff;font-weight:500;left:20px;padding:10px 15px;position:absolute;text-decoration:none;top:20px;transition:all .3s ease}.back-link:hover{background:#ffffff4d;transform:translateY(-2px)}.privacy-body{color:#333;line-height:1.6;padding:40px}.privacy-section{border-bottom:1px solid #353535;margin-bottom:30px;padding-bottom:20px}.privacy-section:last-child{border-bottom:none}.privacy-section h2{color:#d8d8d8;font-size:1.5rem;font-weight:600;margin-bottom:15px}.privacy-section h3{color:#d8d8d8;font-size:1.2rem;font-weight:600;margin:20px 0 10px}.privacy-section p{color:#888;font-size:1rem;margin-bottom:15px}.privacy-section ul{margin:15px 0;padding-left:20px}.privacy-section li{color:#888;margin-bottom:8px}.contact-info{background:#272727;border-left:4px solid #66eaea;border-radius:10px;margin-top:15px;padding:20px}.contact-info p{color:#b1b1b1;font-weight:500;margin:5px 0}.privacy-footer{border-top:2px solid #353535;color:#888;font-style:italic;margin-top:40px;padding-top:20px;text-align:center}@media (max-width:768px){.privacy-container{padding:10px}.privacy-content{border-radius:10px}.privacy-header{padding:30px 20px}.privacy-header h1{font-size:2rem}.back-link{display:inline-block;margin-bottom:20px;position:static}.privacy-body{padding:20px}.privacy-section h2{font-size:1.3rem}.privacy-section h3{font-size:1.1rem}.contact-info{padding:15px}}.footer{background:linear-gradient(135deg,#000,#202020);color:#fff;margin-top:auto;padding:40px 0 20px}.footer-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px;padding:0 20px}.footer-section h3{color:#eee;font-size:1.5rem;font-weight:700;margin-bottom:10px}.footer-section h4{color:#eee;font-size:1.1rem;font-weight:600;margin-bottom:15px}.footer-section p{color:#bdc3c7;line-height:1.6;margin-bottom:15px}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:#bdc3c7;text-decoration:none;transition:color .3s ease}.footer-section ul li a:hover{color:#66eaea}.social-links{display:flex;gap:15px}.social-links a{align-items:center;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-radius:50%;color:#202020;display:inline-flex;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.social-links a:hover{color:#fff;transform:translateY(-2px)}.social-links i{font-size:1.2rem}.footer-bottom{border-top:1px solid #bdc3c733;margin-top:30px;padding-top:20px;text-align:center}.footer-bottom p{color:#494949;font-size:.9rem;margin:0}@media (max-width:768px){.footer{padding:30px 0 15px}.footer-content{gap:20px;grid-template-columns:1fr;padding:0 15px}.footer-section{text-align:center}.social-links{justify-content:center}}.green-room{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden;padding-bottom:25vh}.green-room-tabs{align-items:center;background:#2a2a2a;border-bottom:1px solid #444;display:flex;flex-shrink:0;gap:2px;min-height:32px;padding:4px 8px}.dropdown-container,.green-room-tab{position:relative}.dropdown-btn{align-items:center;background:#0000;border:none;border-radius:3px;color:#ccc;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:12px;justify-content:center;min-height:20px;padding:4px 8px;transition:all .2s ease}.dropdown-btn.active,.dropdown-btn:focus,.dropdown-btn:hover{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);color:#fff}.dropdown-btn:focus{outline:none}.dropdown{background:#313131;border:1px solid #5f5f5f;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:4px;opacity:0;position:absolute;top:100%;transform:translateY(-10px);transition:all .2s ease;visibility:hidden;width:224px;z-index:1000}.dropdown.show{opacity:1;transform:translateY(0);visibility:visible}.dropdown-content{padding:4px 0}.dropdown-item{color:#888;display:block;font-size:14px;padding:8px 16px;text-decoration:none;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.dropdown-item:hover{background:#f3f4f6;color:#111827}.dropdown-item:active{background:#e5e7eb}.dropdown-divider{border:none;border-top:1px solid #e5e7eb;height:1px;margin:4px 0}.secondary-btn{background:#0000;border:2px solid #ffffff4d;border-radius:20px;color:#fffc;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:500;gap:.6rem .6rem;padding:.6rem 1.2rem;transition:all .3s ease}.secondary-btn:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff}.primary-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:25px;box-shadow:0 5px 15px #0003;color:#fff;cursor:pointer;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:600;letter-spacing:1px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.primary-btn:hover{box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.waveform-container{display:flex;flex:1 1;flex-direction:column;gap:8px;height:50vh;min-height:0;padding:8px}.fx-container,.options-container{display:none}.waveform-container>*{height:100%!important;max-height:60px!important;min-height:60px!important}.waveform-container .waveform-component{height:100%!important}.waveform-container .dj-waveform-container,.waveform-container .waveform-container{height:100%!important;margin-bottom:0!important}.waveform-container .dj-waveform-canvas,.waveform-container .waveform-canvas,.waveform-container .waveform-placeholder{height:100%!important;max-height:none!important;min-height:0!important;min-height:auto!important}.track-list{background:#1a1a1a;border-top:1px solid #333;bottom:0;box-shadow:0 -2px 10px #0000004d;display:flex;flex-direction:column;flex-shrink:0;left:0;max-height:25vh;min-height:150px;position:fixed;right:0;z-index:100}.track-list-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff1a;cursor:ns-resize;display:flex;height:30px;justify-content:space-between;padding:0 15px;-webkit-user-select:none;user-select:none}.track-list-header:before{color:#666;content:"⋮⋮";font-size:12px;letter-spacing:2px}.track-list-content{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:10px}.list-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:4px;cursor:pointer;display:flex;gap:12px;min-height:40px;outline:none;padding:8px 12px}.list-item:focus{box-shadow:none;outline:none;transform:none}.waveform-drop-zone{height:100%;position:relative;width:100%}.waveform-drop-zone.drag-over{background-color:#4ecdc433!important;border:2px dashed #4ecdc4cc!important;border-radius:8px}.list-item{cursor:grab}.list-item:active{cursor:grabbing}.channel-track-info{background:#000c;border-radius:4px;color:#fff;font-size:11px;left:5px;max-width:200px;padding:4px 8px;position:absolute;top:5px;z-index:10}.channel-track-info,.track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-title{color:#eee;flex:1 1;font-size:13px;font-weight:500}.track-duration{color:#aaa;flex-shrink:0;font-size:12px;text-align:center;width:50px}.track-bpm{color:#4ecdc4;width:60px}.track-bpm,.track-key{flex-shrink:0;font-size:12px;font-weight:600;text-align:center}.track-key{color:#ff6b6b;width:40px}@media (max-width:768px){.green-room-tabs{align-items:stretch;flex-direction:column}.dropdown{width:200px}.dropdown-btn{text-align:left;width:100%}.waveform-container{height:25vh}.waveform-container>*{height:calc(6.25vh - 10px)!important;max-height:60px!important;min-height:40px!important}}.dj-controls{background:#1a1a1a;border-bottom:1px solid #333;border-top:1px solid #333;display:flex;flex-shrink:0;height:25vh;position:relative;z-index:50}.dj-controls-left{background:#2a2a2a;border-right:1px solid #333;display:flex;flex-direction:column;overflow:hidden;width:300px}.dj-controls-center{background:#1a1a1a;flex:1 1;padding:16px}.dj-controls-center,.fader-eq-controls{display:flex;flex-direction:column;gap:20px}.fader-eq-controls{height:100%}.eq-section,.fader-section{display:flex;flex:1 1;flex-direction:column;gap:12px}.eq-section h3,.fader-section h3{color:#fff;font-size:14px;font-weight:600;margin:0;text-align:center}.fader-container{align-items:flex-end;display:flex;gap:20px;height:120px;justify-content:space-around}.fader-control{align-items:center;display:flex;flex-direction:column;gap:8px}.fader-track{align-items:flex-end;background:#333;border-radius:10px;display:flex;height:100px;justify-content:center;position:relative;width:20px}.fader-slider{background:#4ecdc4;border-radius:12px;bottom:20px;box-shadow:0 2px 4px #0000004d;cursor:pointer;height:40px;position:absolute;transition:all .2s ease;width:24px}.fader-slider:hover{background:#45b7af;transform:scale(1.05)}.fader-label{color:#ccc;font-size:11px;font-weight:600}.eq-container{gap:20px;height:80px;justify-content:space-around}.eq-container,.eq-control{align-items:center;display:flex}.eq-control{flex-direction:column;gap:8px}.eq-knobs{display:flex;gap:8px}.eq-knob{align-items:center;background:#333;border:2px solid #666;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:600;height:30px;justify-content:center;position:relative;transition:all .2s ease;width:30px}.eq-knob:before{background:#fff;content:"";height:12px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:bottom center;width:2px}.eq-knob:hover{background:#444;border-color:#4ecdc4}.eq-knob.low{background:#ff6b6b}.eq-knob.mid{background:#4ecdc4}.eq-knob.high{background:#45b7af}.eq-label{color:#ccc;font-size:11px;font-weight:600}.dj-controls-right{background:#2a2a2a;border-left:1px solid #333;width:200px}.channel-control{border-bottom:1px solid #333;display:flex;flex:1 1;flex-direction:column;min-height:0}.channel-control:last-child{border-bottom:none}.channel-header{align-items:center;background:#333;border-bottom:1px solid #444;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.channel-name{color:#fff;font-size:12px;font-weight:600}.play-button{align-items:center;background:#4ecdc4;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.play-button:hover{background:#45b7af;transform:scale(1.1)}.play-button.playing{background:#ff6b6b}.channel-content{display:flex;flex:1 1;gap:8px;min-height:0;padding:8px}.album-cover{align-items:center;background:#333;border-radius:4px;display:flex;flex-shrink:0;height:60px;justify-content:center;overflow:hidden;width:60px}.album-cover img{height:100%;object-fit:cover;width:100%}.album-placeholder{color:#666;font-size:24px}.vinyl-tempo{flex-shrink:0;height:60px;width:60px}.vinyl-disc,.vinyl-tempo{align-items:center;display:flex;justify-content:center}.vinyl-disc{animation:spin 2s linear infinite;background:linear-gradient(45deg,#000,#333);border:2px solid #666;border-radius:50%;height:50px;position:relative;width:50px}.vinyl-disc:before{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.tempo{color:#fff;font-size:10px;font-weight:600;line-height:1.2;text-align:center}.traditional-waveform{background:#1a1a1a;border-radius:4px;flex:1 1;min-height:0;overflow:hidden}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app{align-items:center;justify-content:center;text-align:center}.app,.app-with-footer{display:flex;min-height:100vh}.app-with-footer{flex-direction:column}.title-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:2px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 40px #0000004d;padding:3rem 4rem}.main-title{-webkit-text-fill-color:#0000;animation:gradientShift 3s ease-in-out infinite;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4);-webkit-background-clip:text;background-clip:text;background-size:300% 300%;font-family:Orbitron,monospace;font-size:4.5rem;font-weight:900;letter-spacing:4px;margin:0 0 1rem;text-shadow:0 0 30px #ff6b6b80}.subtitle{color:#fff;font-size:1.8rem;font-weight:300;letter-spacing:2px;margin:0 0 2rem;opacity:.9}.get-started-btn,.subtitle{font-family:Rajdhani,sans-serif;text-transform:uppercase}.get-started-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:50px;box-shadow:0 10px 20px #0003;color:#202020;cursor:pointer;font-size:1.2rem;font-weight:600;letter-spacing:1px;padding:1rem 2.5rem;transition:all .3s ease}.get-started-btn:hover{box-shadow:0 15px 30px #0000004d;color:#fff;transform:translateY(-2px)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@media (max-width:768px){.title-container{margin:0 1rem;padding:2rem 2.5rem}.main-title{font-size:3rem;letter-spacing:2px}.subtitle{font-size:1.4rem;letter-spacing:1px}}@media (max-width:480px){.main-title{font-size:2.5rem}.subtitle{font-size:1.2rem}}
/*# sourceMappingURL=main.36ddcffb.css.map*/