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{align-items:center;background-color:#191414;color:#fff;display:flex;font-family:Circular,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;justify-content:center;min-height:100vh;padding:20px}.container{max-width:900px;text-align:center;width:100%}h1{color:#1db954;font-size:2.5rem;font-weight:700;margin-bottom:10px}.subtitle{color:#b3b3b3;font-size:1.1rem;margin-bottom:20px}.app-header{margin-bottom:30px}.header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.header-left{text-align:left}.header-right,.user-info{align-items:center;display:flex}.user-info{background-color:#2a2a2acc;border:1px solid #535353;border-radius:25px;gap:12px;padding:12px 16px}.user-avatar{border-radius:50%;height:32px;object-fit:cover;width:32px}.user-name{color:#fff;font-size:.9rem;font-weight:600}.logout-btn{align-items:center;background:none;border:none;border-radius:50%;color:#b3b3b3;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:8px;transition:all .2s ease}.logout-btn:hover{background-color:#ff6b6b1a;color:#ff6b6b}.logout-btn svg{stroke:#b3b3b3;transition:stroke .2s ease}.logout-btn:hover svg{stroke:#ff6b6b}.refresh-section{background-color:#1db9541a;border:1px solid #1db9544d;border-radius:12px;margin:20px 0 30px;padding:20px}.refresh-btn{background-color:#1db954;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:10px;padding:12px 24px;transition:all .3s ease}.refresh-btn:hover:not(:disabled){background-color:#1ed760;transform:translateY(-2px)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.refresh-help{color:#b3b3b3;font-size:.9rem;line-height:1.4;margin:0}.step-indicator{background-color:#2a2a2acc;border:1px solid #535353;border-radius:15px;justify-content:center;margin-bottom:40px;padding:20px}.step,.step-indicator{align-items:center;display:flex}.step{flex-direction:column;padding:15px;transition:all .3s ease}.step.active{font-weight:700}.step.active,.step.completed{color:#1db954}.step.completed .step-number{background:#1db954;color:#fff}.step-number{align-items:center;background:#535353;border-radius:50%;color:#b3b3b3;display:flex;font-weight:700;height:30px;justify-content:center;margin-bottom:8px;transition:all .3s ease;width:30px}.step.active .step-number{background:#1db954;color:#fff;transform:scale(1.1)}.step-label{font-size:.9rem;text-align:center}.step-arrow{color:#535353;font-size:1.5rem;margin:0 20px}.selected-device-info{align-items:center;display:flex;gap:20px;justify-content:center;padding:20px}.selected-device-info,.selected-playlist-info{background-color:#2a2a2a;border:1px solid #535353;border-radius:12px;margin-bottom:30px}.selected-playlist-info{padding:30px}.selected-playlist-info h2{color:#1db954;margin-bottom:30px;text-align:center}.playlist-preview{align-items:center;background-color:#1db9541a;border:1px solid #1db9544d;border-radius:12px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.playlist-image-preview{border-radius:8px;height:80px;object-fit:cover;width:80px}.playlist-details h3{color:#fff;font-size:1.3rem;margin:0 0 8px}.playlist-details p{color:#b3b3b3;font-size:1rem;margin:0}.shuffle-actions{align-items:center;display:flex;flex-direction:column;gap:15px}.selected-device-info p{color:#fff;font-size:1.1rem;margin:0}.change-device-btn{background-color:initial;border:2px solid #535353;border-radius:20px;color:#b3b3b3;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.change-device-btn:hover{border-color:#1db954;color:#1db954}.loading{align-items:center;display:flex;flex-direction:column;gap:20px;padding:40px}.spinner{animation:spin 1s linear infinite;border:4px solid #535353;border-radius:50%;border-top-color:#1db954;height:40px;width:40px}.error-state{background-color:#2a2a2a;border:1px solid #535353;border-radius:12px;padding:30px}.error-state p{color:#ff6b6b;font-size:1.1rem;margin-bottom:20px}.retry-btn{background-color:#1db954;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.retry-btn:hover{background-color:#1ed760;transform:translateY(-1px)}.retry-btn:active{transform:translateY(0)}.btn{align-items:center;background-color:#1db954;border:none;border-radius:25px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:15px 30px;text-decoration:none;transition:all .2s ease}.btn:hover{background-color:#1ed760;transform:translateY(-1px)}.btn:disabled{background-color:#535353;cursor:not-allowed;transform:none}.btn:active{transform:translateY(0)}.btn-secondary{background-color:initial;border:2px solid #535353;color:#b3b3b3}.btn-secondary:hover{background-color:initial;border-color:#1db954;color:#1db954}.status{border-radius:8px;font-weight:500;margin-top:20px;padding:15px}.status.success{background-color:#1db9541a;border:1px solid #1db954;color:#1db954}.status.error{background-color:#ff6b6b1a;border:1px solid #ff6b6b;color:#ff6b6b}.status.loading{background-color:#5353531a;border:1px solid #535353;color:#b3b3b3}@media (max-width:768px){.header-top{align-items:center;flex-direction:column;gap:15px}.header-left{text-align:center}.step-indicator{flex-direction:column;gap:15px}.step-arrow{margin:0;transform:rotate(90deg)}.selected-device-info{flex-direction:column;gap:10px}h1{font-size:2rem}.container{max-width:500px}}.current-playback{background-color:#2a2a2a;border:1px solid #535353;border-radius:12px;padding:30px}.now-playing h2{color:#1db954;margin-bottom:30px;text-align:center}.not-playing-state,.not-playlist-state{padding:40px 20px;text-align:center}.not-playing-state h2,.not-playlist-state h2{color:#b3b3b3;margin-bottom:20px}.not-playing-state p,.not-playlist-state p{color:#888;font-size:1.1rem;margin-bottom:30px}.track-info{align-items:center;background-color:#2a2a2a80;border:1px solid #535353;border-radius:12px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.album-art{border-radius:8px;box-shadow:0 4px 12px #0000004d;height:100px;object-fit:cover;width:100px}.track-details{flex:1 1;text-align:left}.track-name{color:#fff;font-size:1.4rem;font-weight:600;margin:0 0 8px}.artist-name{color:#b3b3b3;font-size:1.1rem;margin:0 0 8px}.album-name{color:#888;font-size:.95rem;margin:0}.context-info,.device-info{background-color:#1db9541a;border:1px solid #1db9544d;border-radius:8px;margin-bottom:20px;padding:15px}.context-info h4,.device-info h4{color:#1db954;font-size:.9rem;font-weight:600;margin:0 0 8px}.context-info .playlist-name,.device-info .device-name{color:#fff;font-size:1rem;font-weight:500;margin:0}.actions{flex-direction:column;gap:15px;margin-top:30px}.actions,.queue-controls{align-items:center;display:flex}.queue-controls{background:#ffffff0d;border:1px solid #4a4a4a;border-radius:10px;gap:10px;padding:10px 14px}.queue-label{color:#b3b3b3;font-size:.95rem}.queue-select-wrapper{align-items:center;background:#1f1f1f;border:1px solid #3a3a3a;border-radius:8px;display:inline-flex;gap:6px;padding:2px 10px 2px 8px}.num-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#0000;border:none;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:600;min-width:64px;outline:none;padding:6px 8px 6px 2px;text-align-last:right}.queue-select-wrapper:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #b3b3b3;content:"";height:0;width:0}.queue-units{color:#b3b3b3;font-size:.95rem;margin-left:6px}.num-select option{color:#111}.shuffle-btn{font-size:18px;min-width:280px;padding:18px 36px;position:relative}.btn-spinner{animation:btn-spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:16px;margin-right:8px;width:16px}@keyframes btn-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.track-info{flex-direction:column}.track-details,.track-info{text-align:center}.actions{gap:10px}.queue-controls{justify-content:center;width:100%}.shuffle-btn{font-size:16px;min-width:100%;padding:15px 20px}}@media (max-width:480px){.current-playback{padding:20px}.album-art{height:80px;width:80px}.track-name{font-size:1.2rem}}.login-container{align-items:center;background:linear-gradient(135deg,#1c1d1d,#78cb95);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:40px;text-align:center;width:100%}.login-card h1{color:#333;font-size:2.5rem;margin:0 0 10px}.login-subtitle{color:#666;font-size:1.1rem;line-height:1.5;margin-bottom:30px}.login-content{text-align:center}.login-icon{margin-bottom:20px}.login-content h2{color:#333;font-size:1.5rem;margin-bottom:15px}.login-content p{color:#666;line-height:1.6;margin-bottom:30px}.login-btn{align-items:center;background:#1db954;border:none;border-radius:50px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;margin-bottom:20px;min-width:200px;padding:15px 30px;transition:all .3s ease}.login-btn:hover:not(:disabled){background:#1ed760;box-shadow:0 10px 20px #1db9544d;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner-small{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:10px;color:#dc3545;font-weight:500;margin-bottom:20px;padding:12px}.login-info{background:#f8f9fa;border-radius:10px;margin-top:30px;padding:20px;text-align:left}.login-info h3{color:#333;font-size:1.1rem;margin-bottom:15px}.login-info ul{list-style:none;margin-bottom:15px;padding:0}.login-info li{color:#555;padding:5px 0}.privacy-note{color:#666;font-size:.9rem;font-style:italic;margin:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:600px){.login-card{margin:10px;padding:30px 20px}.login-card h1{font-size:2rem}.login-btn{min-width:180px;padding:12px 25px}}
/*# sourceMappingURL=main.2a8d608c.css.map*/