body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;text-align:center}.App-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #0000001a;color:#fff;padding:2rem}.App-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.App-header p{font-size:1.2rem;margin:0;opacity:.9}.App-main{margin:0 auto;max-width:1200px;padding:2rem 0}.error-message{background-color:#ff6b6b;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;margin:1rem;padding:1rem}.content-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:2rem;padding:0 1rem}.search-section,.voting-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.search-section h2{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.5rem;margin:0;padding:1.5rem}.search-section{min-height:400px}.vote-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin:1rem;padding:2rem}.vote-section h2{font-size:1.8rem;margin:0 0 1.5rem;text-align:center}.vote-section .search-bar{margin-bottom:1.5rem}.vote-section .search-form{align-items:center;display:flex;gap:1rem;justify-content:center}.vote-section .search-input{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;flex:1 1;font-size:1rem;max-width:400px;padding:.75rem}.vote-section .search-input::placeholder{color:#ffffffb3}.vote-section .search-input:focus{background:#ffffff26;border-color:#fff9;outline:none}.vote-section .search-button{background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.vote-section .search-button:hover{background:#ffffff4d;border-color:#ffffff80}.vote-section .search-button:disabled{cursor:not-allowed;opacity:.5}.vote-section .error-message{background:#ff6b6b4d;border:2px solid #ff6b6b80;border-radius:8px;color:#fff;margin:1rem 0;padding:1rem}.vote-section .song-list{margin-top:1.5rem}.vote-section .song-item{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;transition:transform .2s ease}.vote-section .song-item:hover{background:#ffffff26;transform:translateX(5px)}.vote-section .song-title{color:#fff;font-size:1.1rem;margin:0}.vote-section .song-artist{color:#fffc;font-size:.9rem;font-style:italic;margin:.25rem 0 0}.vote-section .vote-button{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.vote-section .vote-button:hover{background:#ffffff4d;border-color:#ffffff80}.vote-section .vote-button.voted{background:#4caf504d;border-color:#4caf5080}.vote-section .song-list-empty{background:#ffffff1a;border-radius:8px;color:#fff;font-style:italic;padding:2rem;text-align:center}@media (max-width:1024px){.content-container{gap:1rem;grid-template-columns:1fr}.App-main{padding:1rem 0}}@media (max-width:768px){.App-header{padding:1.5rem 1rem}.App-header h1{font-size:2rem}.App-header p{font-size:1rem}.content-container{gap:.5rem;padding:0 .5rem}}.search-bar{margin:2rem 0;padding:0 1rem}.search-form{align-items:center;display:flex;gap:1rem;margin:0 auto;max-width:600px}.search-input{border:2px solid #ddd;border-radius:8px;flex:1 1;font-size:1rem;outline:none;padding:.75rem 1rem;transition:border-color .3s ease}.search-input:focus{border-color:#667eea}.search-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.search-button{background-color:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .3s ease;white-space:nowrap}.search-button:hover:not(:disabled){background-color:#5a6fd8}.search-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.search-form{flex-direction:column;gap:.5rem}.search-button,.search-input{width:100%}}.song-list{display:flex;flex-direction:column;gap:1rem;padding:1rem}.song-list-empty{color:#666;font-style:italic;padding:2rem;text-align:center}.song-item{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.song-item:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.album-image{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:64px;margin-right:1rem;object-fit:cover;width:64px}.song-info{flex:1 1;margin-bottom:0}.song-title{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.song-artists{color:#667eea;font-weight:500;margin:0 0 .25rem}.song-album{color:#666;font-style:italic;margin:0 0 .5rem}.song-meta{color:#888;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem}.song-meta span{align-items:center;display:flex;gap:.25rem}.song-votes{background-color:#f8f9fa;border-radius:4px;color:#495057;font-weight:500;padding:.2rem .5rem}.song-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.spotify-link{align-items:center;background-color:#1db954;border-radius:6px;color:#fff;display:inline-flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s ease}.spotify-link:hover{background-color:#1ed760}.song-preview{height:32px;max-width:200px}.vote-button{background-color:#e8f5e8;border:2px solid #2e7d2e;border-radius:6px;color:#2e7d2e;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s ease}.vote-button:hover:not(:disabled){background-color:#2e7d2e;color:#fff}.vote-button:disabled{cursor:not-allowed;opacity:.6}.vote-button.voted{background-color:#2e7d2e;color:#fff}@media (max-width:768px){.song-item{padding:1rem}.song-meta{flex-direction:column;gap:.5rem}.song-actions{align-items:stretch;flex-direction:column}.song-actions>*{text-align:center;width:100%}.song-preview{max-width:100%}}.voting-results{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin:1rem;padding:2rem}.voting-results h2{font-size:1.8rem;margin:0 0 1.5rem;text-align:center}.leaderboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.refresh-button{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.refresh-button:hover{background:#ffffff4d;border-color:#ffffff80}.vote-summary{background:#ffffff1a;border-radius:8px;margin-bottom:1.5rem;padding:1rem;text-align:center}.vote-summary p{font-size:1.1rem;margin:.25rem 0}.no-votes{background:#ffffff1a;border-radius:8px;font-style:italic;padding:2rem;text-align:center}.rankings{display:flex;flex-direction:column;gap:1rem}.ranking-item{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:transform .2s ease}.ranking-item:hover{transform:translateX(5px)}.ranking-item.winner{background:#ffd70033;border:2px solid #ffd70080}.rank-badge{font-size:1.5rem;min-width:3rem;text-align:center}.song-details{flex:1 1}.song-details h4{font-size:1.1rem;margin:0 0 .25rem}.song-details p{font-size:.9rem;margin:0 0 .5rem;opacity:.9}.vote-count{align-items:center;display:flex;gap:.5rem}.votes{background:#fff3;border-radius:4px;font-size:.9rem;font-weight:700;padding:.25rem .5rem}.percentage{font-size:.8rem;opacity:.8}@media (max-width:768px){.voting-results{margin:1rem .5rem;padding:1.5rem}.ranking-item{flex-direction:column;gap:.5rem;text-align:center}.rank-badge{min-width:auto}.vote-count{justify-content:center}}
/*# sourceMappingURL=main.88618178.css.map*/