.login-container{align-items:center;background:linear-gradient(135deg,#1db954,#191414);display:flex;justify-content:center;min-height:100vh}.login-card{background:#000c;border-radius:12px;box-shadow:0 8px 32px #0006;max-width:400px;padding:3rem;text-align:center}.login-card h1{color:#1db954;font-size:2rem;margin-bottom:1rem}.login-card p{color:#b3b3b3;line-height:1.6;margin-bottom:2rem}.login-button{background-color:#1db954;border-radius:500px;color:#fff;display:inline-block;font-size:1rem;font-weight:700;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.login-button:hover{background-color:#1ed760;transform:scale(1.05)}.login-note{color:#888;font-size:.85rem;margin-top:1.5rem}.toast{align-items:center;animation:slideInRight .3s ease-out;background:#000000f2;border-radius:8px;box-shadow:0 4px 12px #0006;color:#fff;display:flex;gap:1rem;max-width:500px;min-width:300px;padding:1rem 1.5rem;position:fixed;right:2rem;top:2rem;z-index:2000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-error{border-left:4px solid #ff3b30}.toast-info{border-left:4px solid #1db954}.toast-content{align-items:center;display:flex;flex:1 1;gap:.75rem}.toast-icon{flex-shrink:0;font-size:1.5rem}.toast-message{font-size:.95rem;line-height:1.4}.toast-close{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:24px;justify-content:center;opacity:.7;padding:0;transition:opacity .2s ease;width:24px}.toast-close:hover{opacity:1}.player-container{margin:0 auto;max-width:1400px;padding:2rem}.player-loading{padding:4rem 2rem;text-align:center}.player-loading p{font-size:1.2rem;margin:.5rem 0}.player-note{color:#b3b3b3;font-size:.9rem!important}.playlist-header{margin-bottom:2rem}.playlist-header h2{color:#1db954;font-size:2rem;margin:0}.playlist-count{color:#b3b3b3;font-size:.95rem;margin:.5rem 0 0}.shift-hint{animation:fadeIn .3s ease-in;color:#1db954;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.playlist-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.playlist-card{background:#00000080;border:2px solid #0000;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .3s ease}.playlist-card:hover{background:#000000b3;box-shadow:0 8px 16px #0006;transform:translateY(-4px)}.playlist-card.active{border-color:#1db954;box-shadow:0 0 20px #1db95480}.playlist-card.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.playlist-image{display:block;height:200px;object-fit:cover;width:100%}.playlist-info{padding:1rem}.playlist-name{color:#fff;font-size:1rem;font-weight:700;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-tracks{color:#b3b3b3;font-size:.85rem;margin:0}.now-playing{background-color:#1db954;border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;margin-top:.5rem;padding:.25rem .75rem;text-transform:uppercase}.stop-control{margin-top:2rem;padding:2rem 0;text-align:center}.stop-button{background-color:#ff3b30e6;border:none;border-radius:500px;box-shadow:0 4px 12px #ff3b304d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem 2rem;transition:all .3s ease}.stop-button:hover:not(.disabled){background-color:#ff3b30;box-shadow:0 6px 16px #ff3b3066;transform:scale(1.05)}.stop-button.disabled{cursor:not-allowed;opacity:.5}.fade-indicator{animation:pulse 1.5s ease-in-out infinite;background:#1db954f2;border-radius:8px;bottom:2rem;box-shadow:0 4px 12px #0000004d;color:#fff;font-weight:700;padding:1rem 1.5rem;position:fixed;right:2rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.settings-overlay{align-items:center;animation:fadeIn .2s ease-in;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal{animation:slideUp .3s ease-out;background:#191414;border-radius:12px;box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;max-height:85vh;max-width:700px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1.5rem 2rem}.settings-header h2{color:#1db954;font-size:1.5rem;margin:0}.close-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:color .2s ease;width:32px}.close-button:hover{color:#1db954}.settings-controls{border-bottom:1px solid #ffffff1a;padding:1.5rem 2rem}.search-input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;width:100%}.search-input:focus{background:#ffffff26;border-color:#1db954;outline:none}.search-input::placeholder{color:#888}.bulk-actions{align-items:center;display:flex;gap:1rem}.bulk-button{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.bulk-button:hover{background:#fff3;border-color:#1db954}.selection-count{color:#b3b3b3;font-size:.9rem;margin-left:auto}.playlist-list{flex:1 1;overflow-y:auto;padding:1rem 2rem}.playlist-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:1rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease}.playlist-item:hover{background:#ffffff1a}.playlist-item.selected{background:#1db95433;border:1px solid #1db95480}.playlist-checkbox{accent-color:#1db954;cursor:pointer;height:20px;width:20px}.playlist-thumbnail{border-radius:4px;height:50px;object-fit:cover;width:50px}.playlist-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.playlist-item-name{color:#fff;font-weight:500}.playlist-item-tracks{color:#b3b3b3;font-size:.85rem}.settings-footer{border-top:1px solid #ffffff1a;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.cancel-button,.save-button{border:none;border-radius:500px;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-button{background:#ffffff1a;color:#fff}.cancel-button:hover{background:#fff3}.save-button{background:#1db954;color:#fff}.save-button:hover{background:#1ed760;transform:scale(1.05)}.dashboard-container{background:linear-gradient(135deg,#1db954,#191414);color:#fff;min-height:100vh}.dashboard-header{align-items:center;background:#0009;box-shadow:0 2px 8px #0000004d;display:flex;justify-content:space-between;padding:1.5rem 2rem}.header-content h1{color:#1db954;font-size:1.8rem;margin:0}.welcome-text{color:#b3b3b3;font-size:.9rem;margin:.5rem 0 0}.header-actions{align-items:center;display:flex;gap:1rem}.logout-button,.settings-button{background-color:#ffffff1a;border:1px solid #fff3;border-radius:500px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.5rem 1.5rem;transition:all .3s ease}.logout-button:hover,.settings-button:hover{background-color:#fff3;transform:scale(1.05)}.error,.loading{align-items:center;display:flex;flex-direction:column;font-size:1.2rem;gap:1rem;justify-content:center;min-height:100vh}.error p{color:#ff6b6b}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#191414;color:#fff;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{min-height:100vh}
/*# sourceMappingURL=main.af5f5743.css.map*/