body{margin:0;background:#121212;color:#fff}main.svelte-1uha8ag{max-width:1100px;margin:0 auto;padding:1.5rem;font-family:system-ui,sans-serif}header.svelte-1uha8ag{text-align:center;margin-bottom:1.5rem}h1.svelte-1uha8ag{font-size:2rem;margin:0;background:linear-gradient(135deg,#1db954,#1ed760);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle.svelte-1uha8ag{color:#888;margin:.25rem 0 0;font-size:.9rem}.auth-section.svelte-1uha8ag{display:flex;justify-content:center;margin-top:3rem}.auth-card.svelte-1uha8ag{background:#282828;padding:2rem;border-radius:12px;width:100%;max-width:360px}.auth-tabs.svelte-1uha8ag{display:flex;gap:.5rem;margin-bottom:1.5rem}.auth-tabs.svelte-1uha8ag button:where(.svelte-1uha8ag){flex:1;padding:.75rem;background:#181818;border:none;color:#888;cursor:pointer;border-radius:6px}.auth-tabs.svelte-1uha8ag button.active:where(.svelte-1uha8ag){background:#1db954;color:#000}.auth-card.svelte-1uha8ag form:where(.svelte-1uha8ag){display:flex;flex-direction:column;gap:.75rem}.auth-card.svelte-1uha8ag input:where(.svelte-1uha8ag){padding:.75rem;border:1px solid #404040;border-radius:6px;background:#181818;color:#fff}.primary-btn.svelte-1uha8ag{background:#1db954;color:#000;border:none;padding:.75rem;border-radius:20px;font-weight:600;cursor:pointer}.primary-btn.svelte-1uha8ag:hover:not(:disabled){background:#1ed760}.primary-btn.svelte-1uha8ag:disabled{opacity:.6;cursor:not-allowed}.error.svelte-1uha8ag{color:#f44336;font-size:.85rem;margin:0}.hint.svelte-1uha8ag{color:#666;font-size:.75rem;margin:.5rem 0 0;text-align:center}.user-bar.svelte-1uha8ag{display:flex;align-items:center;gap:1rem;background:#282828;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;flex-wrap:wrap}.stored-counts.svelte-1uha8ag{color:#888;font-size:.85rem;flex:1}.logout-btn.svelte-1uha8ag{background:none;border:1px solid #666;color:#888;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem}.logout-btn.svelte-1uha8ag:hover{border-color:#f44336;color:#f44336}.main-tabs.svelte-1uha8ag{display:flex;gap:.5rem;margin-bottom:1.5rem}.main-tabs.svelte-1uha8ag button:where(.svelte-1uha8ag){flex:1;padding:1rem;background:#282828;border:none;color:#888;cursor:pointer;border-radius:8px;font-weight:500}.main-tabs.svelte-1uha8ag button.active:where(.svelte-1uha8ag){background:#1db954;color:#000}.connect-card.svelte-1uha8ag{background:#282828;padding:2rem;border-radius:12px;max-width:400px;margin:0 auto;text-align:center}.connect-card.svelte-1uha8ag .icon:where(.svelte-1uha8ag){font-size:3rem}.connect-card.svelte-1uha8ag h3:where(.svelte-1uha8ag){margin:.5rem 0 1rem}.connect-card.svelte-1uha8ag form:where(.svelte-1uha8ag){display:flex;flex-direction:column;gap:.75rem}.connect-card.svelte-1uha8ag input:where(.svelte-1uha8ag){padding:.75rem;border:1px solid #404040;border-radius:6px;background:#181818;color:#fff;text-align:center}.connected-source.svelte-1uha8ag{background:#282828;border-radius:12px;padding:1.5rem}.source-header.svelte-1uha8ag{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.source-header.svelte-1uha8ag img:where(.svelte-1uha8ag){width:60px;height:60px;border-radius:50%}.source-header.svelte-1uha8ag h3:where(.svelte-1uha8ag){margin:0}.source-header.svelte-1uha8ag p:where(.svelte-1uha8ag){margin:.25rem 0 0;color:#888;font-size:.85rem}.source-header.svelte-1uha8ag>div:where(.svelte-1uha8ag){flex:1}.disconnect-btn.svelte-1uha8ag{background:none;border:1px solid #666;color:#888;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.disconnect-btn.svelte-1uha8ag:hover{border-color:#f44336;color:#f44336}.transfer-status.svelte-1uha8ag{background:#1db95433;color:#1db954;padding:.75rem;border-radius:6px;text-align:center;margin-bottom:1rem}.transfer-section.svelte-1uha8ag{margin-bottom:1.5rem}.transfer-section.svelte-1uha8ag h4:where(.svelte-1uha8ag){margin:0 0 .75rem;color:#888;font-size:.9rem}.transfer-buttons.svelte-1uha8ag{display:flex;gap:.75rem;flex-wrap:wrap}.transfer-btn.svelte-1uha8ag{background:#1db954;color:#000;border:none;padding:.75rem 1.25rem;border-radius:20px;font-weight:600;cursor:pointer}.transfer-btn.svelte-1uha8ag:hover{background:#1ed760}.playlists-section.svelte-1uha8ag h4:where(.svelte-1uha8ag){margin:0 0 .75rem;color:#888;font-size:.9rem}.playlists-header.svelte-1uha8ag{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.small-btn.svelte-1uha8ag{background:#404040;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem}.small-btn.svelte-1uha8ag:hover{background:#505050}.small-btn.svelte-1uha8ag:disabled{opacity:.5;cursor:not-allowed}.playlists-grid.svelte-1uha8ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.playlist-select.svelte-1uha8ag{display:flex;flex-direction:column;background:#181818;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.playlist-select.selected.svelte-1uha8ag{border-color:#1db954}.playlist-select.svelte-1uha8ag input:where(.svelte-1uha8ag){display:none}.playlist-select.svelte-1uha8ag img:where(.svelte-1uha8ag){width:100%;aspect-ratio:1;object-fit:cover}.playlist-select.svelte-1uha8ag .playlist-info:where(.svelte-1uha8ag){padding:.75rem}.playlist-select.svelte-1uha8ag .title:where(.svelte-1uha8ag){display:block;font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-select.svelte-1uha8ag .meta:where(.svelte-1uha8ag){font-size:.75rem;color:#888}.library-tabs.svelte-1uha8ag{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #282828;padding-bottom:.5rem}.library-tabs.svelte-1uha8ag button:where(.svelte-1uha8ag){background:none;border:none;color:#888;padding:.5rem 1rem;cursor:pointer;border-radius:4px}.library-tabs.svelte-1uha8ag button:where(.svelte-1uha8ag):hover{color:#fff}.library-tabs.svelte-1uha8ag button.active:where(.svelte-1uha8ag){color:#fff;background:#282828}.empty.svelte-1uha8ag{color:#666;text-align:center;padding:3rem}.tracks-list.svelte-1uha8ag{display:flex;flex-direction:column}.track-row.svelte-1uha8ag{display:grid;grid-template-columns:35px 45px 1fr 70px 50px;gap:.75rem;align-items:center;padding:.5rem;border-radius:4px;text-decoration:none;color:inherit}.track-row.svelte-1uha8ag:hover{background:#282828}.track-num.svelte-1uha8ag{color:#888;text-align:right;font-size:.85rem}.track-cover.svelte-1uha8ag{width:45px;height:45px;border-radius:4px}.track-info.svelte-1uha8ag{display:flex;flex-direction:column;min-width:0}.track-title.svelte-1uha8ag{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist.svelte-1uha8ag{font-size:.85rem;color:#888}.track-source.svelte-1uha8ag{font-size:.7rem;color:#1db954;text-transform:uppercase}.track-duration.svelte-1uha8ag{color:#888;font-size:.85rem;text-align:right}.artists-grid.svelte-1uha8ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1.25rem}.artist-card.svelte-1uha8ag{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;padding:1rem;border-radius:8px}.artist-card.svelte-1uha8ag:hover{background:#282828}.artist-card.svelte-1uha8ag img:where(.svelte-1uha8ag){width:100px;height:100px;border-radius:50%;margin-bottom:.5rem}.artist-name.svelte-1uha8ag{font-weight:600;font-size:.9rem}.artist-source.svelte-1uha8ag{font-size:.7rem;color:#1db954;text-transform:uppercase;margin-top:.25rem}.playlists-grid.stored.svelte-1uha8ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.playlist-card.svelte-1uha8ag{background:#181818;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit}.playlist-card.svelte-1uha8ag:hover{background:#282828}.playlist-card.svelte-1uha8ag img:where(.svelte-1uha8ag){width:100%;aspect-ratio:1;object-fit:cover}.playlist-card.svelte-1uha8ag .playlist-info:where(.svelte-1uha8ag){padding:.75rem}.playlist-card.svelte-1uha8ag .title:where(.svelte-1uha8ag){display:block;font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-card.svelte-1uha8ag .meta:where(.svelte-1uha8ag){font-size:.75rem;color:#888}@media(max-width:600px){.track-row.svelte-1uha8ag{grid-template-columns:30px 40px 1fr 40px}.track-source.svelte-1uha8ag{display:none}}
