*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #8b5cf6;--primary-dark: #7c3aed;--primary-light: #a78bfa;--secondary: #ec4899;--background: #0f0f1a;--surface: #1a1a2e;--surface-hover: #252542;--text: #ffffff;--text-secondary: #a0a0b0;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--card-height: 80px}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);padding:16px;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #8b5cf64d}.header-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:12px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.header-nav{display:flex;gap:8px;justify-content:center}.nav-tab{background:#ffffff26;border:none;color:#fff;padding:10px 20px;border-radius:20px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;min-height:44px}.nav-tab:hover{background:#ffffff40}.nav-tab.active{background:#fff;color:var(--primary)}.badge{background:#fff;color:var(--primary);padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:700;min-width:24px;text-align:center}.nav-tab.active .badge{background:var(--primary);color:#fff}.fav-badge{background:var(--warning);color:#fff}.nav-tab.active .fav-badge{background:var(--warning)}.main-content{flex:1;display:flex;flex-direction:column}.search-view{display:flex;flex-direction:column;flex:1}.search-container{padding:16px;background:var(--surface);border-bottom:1px solid rgba(255,255,255,.1)}.search-input{width:100%;padding:14px 16px;font-size:1rem;border:2px solid transparent;border-radius:12px;background:var(--background);color:var(--text);outline:none;transition:border-color .2s ease}.search-input::placeholder{color:var(--text-secondary)}.search-input:focus{border-color:var(--primary)}.search-count{text-align:center;padding:8px 0 0;font-size:.85rem;color:var(--text-secondary)}.song-list{flex:1;padding:8px}.song-card{background:var(--surface);border-radius:12px;padding:12px 16px;margin:4px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background .2s ease}.song-card:hover{background:var(--surface-hover)}.song-info{flex:1;min-width:0}.song-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.song-artist{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-id{font-size:1.1rem;font-weight:700;color:#fff;font-family:monospace;padding:4px 10px;border-radius:6px;display:inline-block;margin-top:4px}.song-id-even{background:linear-gradient(135deg,#7c3aed,#db2777)}.song-id-odd{background:linear-gradient(135deg,#c026d3,#e879f9)}.song-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{width:44px;height:44px;border:none;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.favorite-btn{background:#f59e0b33;color:var(--warning)}.favorite-btn:hover{background:#f59e0b4d}.favorite-btn.active{background:var(--warning);color:#fff}.queue-btn{background:#8b5cf633;color:var(--primary-light)}.queue-btn:hover{background:#8b5cf64d}.queue-btn.in-queue{background:var(--success);color:#fff}.remove-btn{background:#ef444433;color:var(--danger)}.remove-btn:hover{background:#ef44444d}.queue-view,.favorites-view{padding:16px;flex:1}.queue-header,.favorites-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.queue-count,.favorites-count{font-size:1rem;font-weight:600;color:var(--text-secondary)}.clear-btn{background:#ef444433;color:var(--danger);border:none;padding:10px 16px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;min-height:44px;transition:background .2s ease}.clear-btn:hover{background:#ef44444d}.queue-list,.favorites-list{display:flex;flex-direction:column;gap:8px}.queue-item{background:var(--surface);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:grab;transition:all .2s ease}.queue-item:active{cursor:grabbing}.queue-item.dragging{opacity:.5;transform:scale(.98)}.queue-item.drag-over{border:2px dashed var(--primary);background:var(--surface-hover)}.drag-handle{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:grab;padding:4px;flex-shrink:0}.drag-handle:active{cursor:grabbing}.drag-icon{font-size:1rem;letter-spacing:-2px;opacity:.5}.reorder-buttons{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.reorder-btn{width:28px;height:22px;border:none;border-radius:4px;background:#8b5cf626;color:var(--primary-light);font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.reorder-btn:hover:not(:disabled){background:#8b5cf64d}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.queue-number{width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:16px}.empty-text{font-size:1.2rem;font-weight:600;margin-bottom:8px}.empty-hint{color:var(--text-secondary);font-size:.95rem}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f1ae6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200}.loading-spinner{width:48px;height:48px;border:4px solid var(--surface);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1rem;color:var(--text-secondary)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;text-align:center}.error-icon{font-size:4rem;margin-bottom:16px}.error-text{font-size:1.2rem;font-weight:600;margin-bottom:8px}.error-hint{color:var(--text-secondary);font-size:.95rem}@media(min-width:768px){.header{padding:20px}.header-title{font-size:1.75rem}.nav-tab{padding:12px 28px;font-size:1rem}.search-container{padding:20px;max-width:600px;margin:0 auto;width:100%}.song-list{padding:16px;max-width:800px;margin:0 auto;width:100%}.queue-view,.favorites-view{max-width:800px;margin:0 auto;width:100%}}
