.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;text-decoration:none;transition:.2s ease;font-family:inherit;padding:.75rem 1rem;font-size:1rem;font-weight:500;border-radius:1000px;background:blue;color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn:hover:not(:disabled){background:#00c;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.btn-sm{padding:.5rem .75rem;font-size:.875rem;font-weight:500;border-radius:1000px}.btn.btn-sm svg{width:14px;height:14px}.btn.btn-md{padding:.75rem 1rem;font-size:1rem;font-weight:500;border-radius:1000px}.btn.btn-md svg{width:16px;height:16px}.btn.btn-lg{padding:.75rem 1.25rem;font-size:1.125rem;font-weight:600;border-radius:1000px}.btn.btn-lg svg{width:18px;height:18px}.btn.btn-xl{padding:1rem 1.5rem;font-size:1.25rem;font-weight:600;border-radius:1000px}.btn.btn-xl svg{width:20px;height:20px}.btn.btn-primary{background:blue;color:#fff}.btn.btn-primary:hover:not(:disabled){background:#00c;transform:translateY(-1px)}.btn.btn-primary:active:not(:disabled){transform:translateY(0)}.btn.btn-secondary{background:#f3f4f6;color:#1f2937}.btn.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.btn.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn.btn-spotify{background:#1db954;color:#fff}.btn.btn-spotify:hover:not(:disabled){background:#1ed760;transform:translateY(-1px)}.btn.btn-spotify:active:not(:disabled){transform:translateY(0)}.btn.btn-discogs{background:#333;color:#fff}.btn.btn-discogs:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px)}.btn.btn-discogs:active:not(:disabled){transform:translateY(0)}.btn.btn-full{width:100%}.btn.btn-pulse{animation:pulse 2s infinite}.btn.btn-pulse:hover{animation:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,0,255,.4)}50%{box-shadow:0 0 0 10px rgba(0,0,255,0)}to{box-shadow:0 0 0 0 rgba(0,0,255,0)}}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form h2{font-size:1.5rem;font-weight:600;text-align:center;margin-bottom:.5rem;color:var(--foreground)}.auth-error-message{padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.875rem}.auth-form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form-group label{font-size:.875rem;font-weight:500;color:var(--foreground)}.auth-form-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;color:var(--foreground);background-color:var(--background);transition:.2s ease}.auth-form-input:focus-visible{outline:none;border-color:blue;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.auth-form-input:disabled{opacity:.6;cursor:not-allowed}.auth-divider{height:1px;background-color:#e5e7eb;margin:.5rem 0}.auth-switch{text-align:center;font-size:.875rem;color:var(--foreground)}.auth-switch-btn{color:blue;background:none;border:none;cursor:pointer;font-size:.875rem;text-decoration:underline}.auth-switch-btn:hover{color:#00c}.auth-help-links{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.auth-help-links p{text-align:center;margin:0;color:var(--foreground);opacity:.8}.auth-help-link{color:blue;background:none;border:none;cursor:pointer;font-size:.875rem;text-decoration:underline}.auth-help-link:hover{color:#00c}