*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{align-items:center;background:#000;display:flex;justify-content:center;margin:0;min-height:100vh;overflow:hidden;padding:0;position:relative}.background-gif{height:auto;left:30%;max-height:80vh;object-fit:contain;position:absolute;top:50%;transform:translate(-50%,-50%);width:65%;z-index:0}.overlay{background:#0000;height:100%;left:0;top:0;width:100%}.overlay,.sheet-music-gif{position:absolute;z-index:1}.sheet-music-gif{height:auto;left:50%;max-height:50vh;mix-blend-mode:screen;object-fit:contain;opacity:.8;top:50%;transform:translate(calc(-50% + 220px),calc(-50% + 35px));width:50%}.home-content{bottom:15%;max-width:600px;padding:40px 20px;position:absolute;right:10%;text-align:center;transform:translateY(0);width:100%;z-index:2}.home-title{animation:fadeInDown .8s ease-out;color:#fff;font-family:IM Fell French Canon,serif;font-size:4rem;font-weight:700;margin-bottom:15px}.home-subtitle{animation:fadeIn 1s ease-out;color:#fff;font-size:1.1rem;margin-bottom:30px}.home-hint{animation:fadeIn 1.4s ease-out;color:#ffffffbf;font-size:.95rem;margin-top:18px;text-align:center}.home-buttons-row{animation:fadeInUp 1s ease-out;flex-wrap:wrap;gap:20px;margin-top:40px}.home-button,.home-buttons-row{display:flex;justify-content:center}.home-button{align-items:center;background:#0000;border-radius:12px;color:#fff;flex:1 1;flex-direction:column;max-width:120px;min-width:80px;padding:15px 10px;text-decoration:none;transition:transform .3s}.home-button:hover{transform:translateY(-5px)}.home-button:active{transform:translateY(-2px)}.button-icon{flex-shrink:0;font-size:2.5rem}.button-text{flex:1 1;text-align:center}.button-title{font-size:.9rem;font-weight:700;margin-bottom:3px}.button-desc{color:#ffffffd9;font-size:.7rem}.login-button:hover,.player-button:hover,.signup-button:hover{background:#ffffff1a}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:968px){.home-container{flex-direction:column}.home-left,.home-right{width:100%}.home-left{padding:20px}.record-player-gif{max-height:50vh}.home-title{font-size:2rem}.home-subtitle{font-size:1rem}.home-buttons-horizontal{flex-direction:column;gap:15px}.home-button{max-width:100%;padding:20px 25px;width:100%}.button-title{font-size:1.1rem}.button-desc{font-size:.9rem}}.wav-player{align-items:flex-start;background:#000;display:flex;justify-content:center;min-height:100vh;padding:20px}.wav-container{background:#0000;border-radius:0;box-shadow:none;max-width:1400px;padding:80px 40px 40px;position:relative;width:100%}.header-row{align-items:center;display:flex;justify-content:center;left:0;position:fixed;right:0;top:20px;z-index:900}.back-button{background:#0000;border:none;border-radius:8px;color:#fff;font-weight:600;left:20px;padding:10px 20px;position:absolute;text-decoration:none;transition:all .3s}.back-button:hover{color:#ffffffd9;transform:translateX(-5px)}.wav-container h1{color:#fff;font-size:2.5rem;margin:0}.wav-player h2{border-bottom:2px solid #fff3;color:#fff;font-size:1.3rem;margin-bottom:20px;padding-bottom:10px}.wav-player .empty{color:#fffc}.single-column-layout{display:flex;flex-direction:column;gap:10px;margin:0 auto;max-width:1200px}.master-controls{background:#000;border-radius:15px;display:flex;flex-direction:column;justify-content:space-between;margin-bottom:0;min-height:140px;padding:25px 25px 15px}.master-controls h2{border-bottom:2px solid #fff3;color:#fff;margin-bottom:20px}.master-buttons{flex-wrap:wrap;gap:15px}.master-btn,.master-buttons{display:flex;justify-content:center}.master-btn{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;height:50px;padding:15px;transition:all .3s;width:50px}.master-btn.play-all{background:#0000}.master-btn.play-all:hover{background:#ffffff1a;transform:translateY(-2px)}.master-btn.pause-all{background:#0000}.master-btn.pause-all:hover{background:#ffffff1a;transform:translateY(-2px)}.master-btn.stop-all{background:#0000}.master-btn.stop-all:hover{background:#ffffff1a;transform:translateY(-2px)}.playback-slider-container{align-items:center;background:#ffffff0f;border-radius:10px;display:flex;gap:15px;margin-bottom:10px;padding:15px}.time-label{color:#fff;font-size:.9rem;font-weight:600;min-width:40px;text-align:center}.playback-slider{-webkit-appearance:none;appearance:none;background:#ffffff4d;border-radius:5px;cursor:pointer;flex:1 1;height:8px;outline:none}.playback-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000004d;cursor:pointer;height:20px;-webkit-transition:all .2s;transition:all .2s;width:20px}.playback-slider::-webkit-slider-thumb:hover{box-shadow:0 3px 12px #0006;transform:scale(1.2)}.playback-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0000004d;cursor:pointer;height:20px;-moz-transition:all .2s;transition:all .2s;width:20px}.playback-slider::-moz-range-thumb:hover{box-shadow:0 3px 12px #0006;transform:scale(1.2)}.playback-slider::-webkit-slider-runnable-track{background:#ffffff4d;border-radius:5px;height:8px}.playback-slider::-moz-range-track{background:#ffffff4d;border-radius:5px;height:8px}.master-btn:active{transform:translateY(0)}.tracks-section{margin-bottom:0}.tracks-table{border:1px solid #ffffff26;border-radius:8px;display:flex;flex-direction:column;gap:0;overflow:hidden}.track-row{align-items:stretch;background:#000;border-bottom:1px solid #ffffff1a;display:flex;min-height:48px;padding:0;transition:background .2s}.track-row:last-child{border-bottom:none}.track-row:hover{background:#ffffff0a}.track-controls{align-items:center;background:#000;border-right:1px solid #ffffff1a;display:flex;min-width:280px;padding:0 0 0 12px;width:280px}.track-name{color:#fff;flex-shrink:0;font-size:1rem;font-weight:700;min-width:70px}.track-waveform{align-items:center;background:#000;display:flex;flex:1 1;padding:0}.volume-icon{flex-shrink:0;font-size:1.2rem}.volume-slider{-webkit-appearance:none;appearance:none;background:#d1d5db;border-radius:3px;cursor:pointer;flex:1 1;height:6px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#667eea;border-radius:50%;cursor:pointer;height:16px;-webkit-transition:all .2s;transition:all .2s;width:16px}.volume-slider::-webkit-slider-thumb:hover{background:#5568d3;transform:scale(1.2)}.waveform-container{background:#000;border:none;height:48px;overflow:hidden;width:100%}.waveform-container wave{overflow:hidden!important}.volume-slider::-moz-range-thumb{background:#667eea;border:none;border-radius:50%;cursor:pointer;height:16px;-moz-transition:all .2s;transition:all .2s;width:16px}.volume-slider::-moz-range-thumb:hover{background:#5568d3;transform:scale(1.2)}.volume-value{color:#fff;flex-shrink:0;font-size:.85rem;font-weight:600;min-width:45px;text-align:right}.track-buttons{align-items:center;display:flex;gap:8px}.track-btn{background:#ffffff1f;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;min-width:90px;padding:10px 20px;transition:all .3s}.track-btn:hover{background:#fff3;transform:scale(1.05)}.track-btn.playing{background:#ffffff40;border-color:#ffffff80}.track-btn.playing:hover{background:#ffffff4d}.track-btn:active{transform:scale(.98)}.track-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.track-btn:disabled:hover{background:#ffffff1f;transform:none}.track-btn.pause-btn{background:#ffffff1f;border-color:#ffffff4d}.track-btn.pause-btn:hover:not(:disabled){background:#fff3}.track-btn.pause-btn:disabled:hover{background:#ffffff1f}.track-btn.restart-btn{background:#ffffff1f;border-color:#ffffff4d}.track-btn.restart-btn:hover{background:#fff3}.status-banner{animation:pulse 2s ease-in-out infinite;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:600;margin-top:30px;padding:15px;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.guess-section{background:#000;border-radius:15px;display:flex;flex-direction:column;justify-content:center;margin:0;min-height:0;padding:14px 32px}.guess-section h2{border-bottom:2px solid #fff3;color:#fff;margin-bottom:15px}.guess-instructions{color:#ffffffe6;font-size:.95rem;margin-bottom:20px}.guess-controls{align-items:center;display:flex;flex-wrap:nowrap;gap:15px;justify-content:center}.song-dropdown{background:#ffffff14;border:1px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;min-width:200px;padding:12px 15px;transition:all .3s}.song-dropdown:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff80}.song-dropdown:disabled{cursor:not-allowed;opacity:.5}.song-dropdown:focus{border-color:#fff9;box-shadow:0 0 0 2px #fff3;outline:none}.submit-guess-btn{background:#fff;border:none;border-radius:10px;color:#000;cursor:pointer;flex-shrink:0;font-size:.95rem;font-weight:600;padding:10px 20px;text-align:center;transition:all .3s;white-space:nowrap}.submit-guess-btn:hover:not(:disabled){background:#ffffffe6;transform:translateY(-2px)}.submit-guess-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.submit-guess-btn:active:not(:disabled){transform:translateY(0)}@media (max-width:1024px){.two-pane-layout{flex-direction:column}.left-pane,.right-pane{width:100%}}@media (max-width:600px){.wav-container{padding:20px}h1{font-size:2rem}.master-buttons{flex-direction:column}.master-btn{min-width:auto}.track-item{flex-direction:column;gap:10px}.track-content{align-items:stretch;flex-direction:column}.track-name{margin-right:0;text-align:center}.track-buttons{flex-direction:column;width:100%}.track-btn{width:100%}.guess-controls{flex-direction:column}.song-dropdown,.submit-guess-btn{width:100%}}.wavplayer-results-content,.wavplayer-results-content .results-section{color:#fff}.wavplayer-results-content .song-comparison{background:#ffffff14;border:1px solid #fff3}.wavplayer-results-content .comparison-item h3{color:#ffffffe6}.wavplayer-results-content .song-title{color:#fff}.wavplayer-results-content .song-artists{color:#ffffffd9}.wavplayer-results-content .comparison-arrow{color:#fff}.wavplayer-results-content .metadata-comparison{background:#ffffff14;border:1px solid #fff3}.wavplayer-results-content .metadata-comparison h3{color:#fff}.wavplayer-results-content .metadata-header,.wavplayer-results-content .metadata-header.actual-header,.wavplayer-results-content .metadata-header.guessed-header,.wavplayer-results-content .metadata-header.match-header{background:#333!important;color:#fff}.wavplayer-results-content .metadata-value.metadata-actual,.wavplayer-results-content .metadata-value.metadata-guessed,.wavplayer-results-content .metadata-value.metadata-match{background:#fff!important;border-left:none!important;color:#333}.wavplayer-results-content .metadata-value.metadata-match{color:#333;font-weight:600}.wavplayer-results-content .metadata-value{font-family:Courier Prime,monospace}.results-play-again-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:8px 0;transition:opacity .2s}.results-play-again-btn:hover{opacity:.85}.App{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:40px;width:100%}h1{color:#667eea;font-size:2.5rem;margin-bottom:30px;text-align:center}h2{color:#333;font-size:1.3rem;margin-bottom:15px}.download-section{border-bottom:2px solid #f0f0f0;margin-bottom:40px;padding-bottom:30px}.download-section form{display:flex;gap:10px;margin-bottom:10px}.download-section input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:1rem;padding:12px 16px;transition:border-color .3s}.download-section input:focus{border-color:#667eea;outline:none}.download-section button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .3s}.download-section button:hover:not(:disabled){background:#5568d3}.download-section button:disabled{background:#ccc;cursor:not-allowed}.message{color:#667eea;font-size:.9rem;margin-top:10px}.random-section{border-bottom:2px solid #f0f0f0;margin-bottom:30px;padding-bottom:30px}.random-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,opacity .3s}.random-btn:hover:not(:disabled){transform:scale(1.02)}.random-btn:disabled{cursor:not-allowed;opacity:.7}.random-song-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-top:20px;padding:20px}.random-song-info{margin-bottom:16px}.random-song-title{color:#333;font-size:1.25rem;font-weight:600}.random-song-artists{color:#666;font-size:.95rem;margin-top:4px}.stems-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.stems-label{color:#555;font-size:.9rem;font-weight:600}.stems-list{display:flex;flex-wrap:wrap;gap:8px}.stem-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;padding:8px 14px;transition:all .2s}.stem-btn:hover{border-color:#667eea;color:#667eea}.stem-btn.active{background:#667eea;border-color:#667eea;color:#fff}.stems-empty{color:#999;font-size:.9rem;margin:0}.songs-section{margin-bottom:30px}.empty{color:#999;font-style:italic;padding:40px 20px;text-align:center}.song-list{display:flex;flex-direction:column;gap:10px}.song-item{align-items:center;background:#f8f9fa;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:15px 20px;transition:all .3s}.song-item:hover{background:#e9ecef;transform:translateX(5px)}.song-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.song-name{flex:1 1;font-weight:500;margin-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-icon{font-size:1.2rem;opacity:.7}.download-btn{background:#0000;border:none;cursor:pointer;font-size:1.2rem;margin-left:10px;opacity:.6;padding:5px 10px;transition:opacity .3s,transform .2s}.download-btn:hover{opacity:1;transform:scale(1.2)}.player,.song-item.active .download-btn{color:#fff}.player{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;bottom:20px;padding:25px;position:-webkit-sticky;position:sticky}.player-info{margin-bottom:15px;text-align:center}.now-playing{font-size:.85rem;margin-bottom:5px;opacity:.9}.song-title{font-size:1.3rem}.player-controls{display:flex;justify-content:center}.play-button{background:#fff;border:none;border-radius:25px;color:#667eea;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 40px;transition:transform .2s}.play-button:hover{transform:scale(1.05)}.play-button:active{transform:scale(.95)}.results-section{margin-top:30px}.song-comparison{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px;padding:25px}.comparison-item{flex:1 1;text-align:center}.comparison-item h3{color:#667eea;font-size:1rem;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.song-title{color:#333;font-size:1.2rem;font-weight:600;margin-bottom:5px}.song-artists{color:#666;font-size:.9rem}.comparison-arrow{color:#667eea;font-size:2rem;font-weight:700}.similarity-score{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.similarity-score h2{color:#fff;font-size:1.5rem;margin-bottom:15px}.score-value{font-size:4rem;font-weight:700;margin-bottom:10px}.score-description{font-size:1.1rem;opacity:.9}.similarity-breakdown{background:#f8f9fa;border-radius:15px;padding:25px}.similarity-breakdown h3{color:#333;font-size:1.2rem;margin-bottom:20px}.breakdown-list{display:flex;flex-direction:column;gap:15px}.breakdown-item{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000000d;display:flex;justify-content:space-between;padding:15px}.breakdown-label{color:#333;font-weight:600;text-transform:capitalize}.breakdown-value{color:#667eea;font-size:1.1rem;font-weight:700}.metadata-comparison{background:#f8f9fa;border-radius:15px;margin-top:30px;padding:25px}.metadata-comparison h3{color:#333;font-size:1.2rem;margin-bottom:20px;text-align:center}.metadata-grid{grid-gap:2px;background:#dee2e6;border-radius:10px;display:grid;gap:2px;grid-template-columns:1fr 1fr 1fr;overflow:hidden}.metadata-grid-4col{grid-template-columns:1fr 1fr 1fr 1fr}.metadata-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;padding:15px;text-align:center}.metadata-header.actual-header{background:linear-gradient(135deg,#28a745,#20c997)}.metadata-header.guessed-header{background:linear-gradient(135deg,#f093fb,#f5576c)}.metadata-header.match-header{background:linear-gradient(135deg,#ffc107,#ff9800)}.metadata-row-label{color:#495057;font-weight:600}.metadata-row-label,.metadata-value{align-items:center;background:#fff;display:flex;padding:15px}.metadata-value{color:#333;font-size:1rem;justify-content:center;text-align:center}.metadata-value.metadata-actual{background:#28a7450d;border-left:3px solid #28a745}.metadata-value.metadata-guessed{background:#f5576c0d;border-left:3px solid #f5576c}.metadata-value.metadata-match{background:#ffc1070d;border-left:3px solid #ffc107;color:#ff9800;font-weight:600}@media (max-width:600px){.container{padding:20px}h1{font-size:2rem}.download-section form,.song-comparison{flex-direction:column}.song-comparison{gap:15px}.comparison-arrow{transform:rotate(90deg)}.score-value{font-size:3rem}.metadata-grid{gap:1px}.metadata-grid,.metadata-grid-4col{grid-template-columns:1fr}.metadata-header:first-child{display:none}.metadata-row-label{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}}
/*# sourceMappingURL=main.2b9ef1cb.css.map*/