:root{--spotify-green: #1DB954;--spotify-green-light: #1ed760;--spotify-green-dark: #1aa34a;--spotify-black: #000000;--spotify-dark-base: #121212;--spotify-dark-elevated: #181818;--spotify-dark-highlight: #282828;--spotify-dark-press: #3e3e3e;--spotify-white: #ffffff;--spotify-text-subdued: #a7a7a7;--spotify-text-base: #b3b3b3;--bg-primary: var(--spotify-dark-base);--bg-secondary: var(--spotify-dark-elevated);--bg-tertiary: var(--spotify-dark-highlight);--text-primary: var(--spotify-white);--text-secondary: var(--spotify-text-subdued);--accent: var(--spotify-green);--accent-hover: var(--spotify-green-light);--error: #dc2626;--warning: #f59e0b;--success: var(--spotify-green);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-3d: 0 10px 30px rgba(0, 0, 0, .4), 0 1px 2px rgba(255, 255, 255, .05) inset;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-family);background:var(--spotify-dark-base);color:var(--spotify-white);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff80;background-clip:content-box}:focus-visible{outline:2px solid var(--spotify-green);outline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}@media(max-width:768px){html{font-size:15px}}@media(max-width:375px){html{font-size:14px}:root{--font-size-3xl: 36px;--font-size-2xl: 28px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-lg);background:var(--bg-primary)}.error-content{text-align:center;max-width:400px}.error-content h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:var(--spacing-md)}.error-content p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.error-content details{text-align:left;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.error-content summary{cursor:pointer;color:var(--text-secondary);font-size:.875rem}.error-content pre{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--error);white-space:pre-wrap;word-break:break-word}.retry-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--spotify-green);color:var(--bg-primary);border:none;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast)}.retry-button:hover{transform:scale(1.02);opacity:.9}.stepper-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.stepper-label{font-size:var(--font-size-xs);color:var(--spotify-text-subdued);text-transform:uppercase;letter-spacing:.1em}.stepper-container{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(145deg,#1e1e1e,#151515);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000004d,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0d;-webkit-user-select:none;user-select:none;cursor:ns-resize;transition:transform .2s ease,box-shadow .2s ease;min-width:52px}.stepper-container:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0006,0 0 0 1px #ffffff14,inset 0 1px #ffffff14}.stepper-container.dragging{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #00000080,0 0 0 2px var(--spotify-green),inset 0 1px #ffffff1a}.stepper-btn{width:32px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--spotify-text-subdued);transition:all .15s ease;background:transparent}.stepper-btn:hover:not(:disabled){background:#ffffff1a;color:var(--spotify-white)}.stepper-btn:active:not(:disabled){transform:scale(.9);background:#ffffff26}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-btn svg{width:12px;height:12px}.stepper-display{display:flex;align-items:center;justify-content:center;padding:2px var(--spacing-xs);min-width:36px;width:36px}.stepper-value{font-size:var(--font-size-lg);font-weight:700;color:var(--spotify-white);font-variant-numeric:tabular-nums;text-align:center;min-width:2ch}.stepper-input{width:36px;background:transparent;border:none;border-bottom:2px solid var(--spotify-green);color:var(--spotify-white);font-size:var(--font-size-lg);font-weight:700;text-align:center;font-variant-numeric:tabular-nums;outline:none;padding:0}.stepper-input:focus{outline:none}@media(max-width:768px){.stepper-container{padding:var(--spacing-xs);min-width:48px}.stepper-value{font-size:var(--font-size-md)}.stepper-input{font-size:var(--font-size-md);width:32px}.stepper-display{min-width:32px;width:32px}.stepper-btn{width:28px;height:16px}.stepper-btn svg{width:10px;height:10px}}@media(max-width:375px){.stepper-value,.stepper-input{font-size:var(--font-size-sm)}.stepper-container{min-width:44px}}.wheel-picker-trigger{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:12px 20px;background:linear-gradient(145deg,#2a2a2a,#1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--spotify-white);font-size:18px;font-weight:600;min-width:80px;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.wheel-picker-trigger:hover{background:linear-gradient(145deg,#333,#222);border-color:#ffffff26}.wheel-picker-trigger:active{transform:scale(.98);background:linear-gradient(145deg,#252525,#181818)}.wheel-picker-value{font-variant-numeric:tabular-nums}.wheel-picker-suffix{color:var(--spotify-text-subdued);font-weight:500;font-size:14px}.wheel-picker-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.wheel-picker-modal{width:100%;max-width:400px;background:linear-gradient(180deg,#2c2c2e,#1c1c1e);border-radius:16px 16px 0 0;overflow:hidden;animation:slideUp .3s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom,0)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.wheel-picker-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.wheel-picker-label{font-size:15px;font-weight:600;color:var(--spotify-text-subdued);text-transform:uppercase;letter-spacing:.5px}.wheel-picker-cancel,.wheel-picker-done{font-size:17px;font-weight:500;padding:8px 4px;background:transparent;border:none;-webkit-tap-highlight-color:transparent}.wheel-picker-cancel{color:var(--spotify-text-subdued)}.wheel-picker-cancel:active{opacity:.6}.wheel-picker-done{color:var(--spotify-green);font-weight:600}.wheel-picker-done:active{opacity:.6}.wheel-picker-container{position:relative;overflow:hidden}.wheel-picker-highlight{position:absolute;left:16px;right:16px;top:50%;transform:translateY(-50%);height:44px;background:#ffffff14;border-radius:10px;pointer-events:none;z-index:1}.wheel-picker-scroll{overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.wheel-picker-scroll::-webkit-scrollbar{display:none}.wheel-picker-item{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:400;color:#fff6;scroll-snap-align:center;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.wheel-picker-item.selected{color:var(--spotify-white);font-weight:500}.wheel-picker-item:active{background:#ffffff0d}@media(min-width:769px){.wheel-picker-modal{margin-bottom:20px;border-radius:16px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}}@media(max-width:375px){.wheel-picker-trigger{padding:10px 16px;font-size:16px;min-width:70px}.wheel-picker-item{font-size:20px}}.home{min-height:100vh;display:flex;flex-direction:column}.home-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.home-left{display:flex;align-items:center;gap:var(--spacing-lg)}.home-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{width:36px;height:36px;color:var(--spotify-green)}.logo-text{font-size:var(--font-size-lg);font-weight:700;color:var(--spotify-white)}.home-nav{display:flex;align-items:center;gap:var(--spacing-lg)}.nav-link{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;color:var(--spotify-text-subdued);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast);cursor:pointer}.nav-link:hover{color:var(--spotify-white)}.nav-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--spotify-green);border:none;border-radius:var(--radius-full);color:var(--spotify-black);font-size:var(--font-size-sm);font-weight:600;transition:all var(--transition-fast)}.nav-btn:hover{background:var(--spotify-green-light);color:var(--spotify-black);transform:scale(1.02)}.user-menu{display:flex;align-items:center;gap:var(--spacing-md)}.user-name{font-size:var(--font-size-sm);color:var(--spotify-text-subdued)}.logout-btn{font-size:var(--font-size-sm);color:var(--spotify-text-subdued);transition:color var(--transition-fast)}.logout-btn:hover{color:var(--spotify-white);text-decoration:underline}.home-footer{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:auto}.footer-copyright{font-size:var(--font-size-xs);color:var(--spotify-text-subdued)}.home-main{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.settings-card{max-width:560px;width:100%;padding:var(--spacing-2xl) var(--spacing-3xl);background:linear-gradient(145deg,#1e1e1ee6,#141414f2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 80px #1db95414,0 0 120px #1db9540a;border:1px solid rgba(255,255,255,.08);text-align:center}.settings-title-row{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.settings-title-icon{width:44px;height:44px;color:var(--spotify-green)}.settings-title{font-size:var(--font-size-3xl);font-weight:700;background:linear-gradient(135deg,var(--spotify-white) 0%,var(--spotify-green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.settings-subtitle{font-size:var(--font-size-base);color:var(--spotify-text-base);margin-bottom:var(--spacing-md)}.settings-rhythm{font-size:var(--font-size-sm);color:var(--spotify-text-subdued);margin-bottom:var(--spacing-xl);opacity:.7}.settings-rows{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.settings-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--spacing-md)}.settings-row .row-text:first-child{text-align:right}.settings-row .row-text:last-child{text-align:left}.row-text{font-size:var(--font-size-base);color:var(--spotify-text-base)}.settings-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-3xl)}.settings-loading .loader{width:32px;height:32px;border:3px solid var(--spotify-dark-elevated);border-top-color:var(--spotify-green);border-radius:50%;animation:spin 1s linear infinite}.save-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-2xl);background:var(--spotify-green);color:var(--spotify-black);font-size:var(--font-size-base);font-weight:700;border-radius:var(--radius-full);margin-bottom:var(--spacing-lg);transition:all var(--transition-base);min-width:200px}.save-btn:hover{background:var(--spotify-green-light);transform:scale(1.02)}.save-btn:active{transform:scale(.98)}.save-btn.saved{background:#1a1a1a;color:var(--spotify-green);border:2px solid var(--spotify-green)}.check-icon{width:18px;height:18px}.spotify-btn-icon{width:24px;height:24px}.settings-summary{font-size:var(--font-size-xs);color:var(--spotify-text-subdued);line-height:1.6;margin-bottom:var(--spacing-lg);opacity:.7}.sync-status{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:#ffffff0f;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.sync-status-top{margin-bottom:var(--spacing-xl)}.sync-status-item{display:flex;flex-direction:column;align-items:center;gap:4px}.sync-status-label{font-size:var(--font-size-xs);color:var(--spotify-text-subdued);text-transform:uppercase;letter-spacing:.5px}.sync-status-value{font-size:var(--font-size-sm);color:var(--spotify-white);font-weight:500}.sync-status-value.countdown{color:var(--spotify-green);font-variant-numeric:tabular-nums;font-weight:600}.sync-status-divider{width:1px;height:32px;background:#ffffff1a}.mobile-hide{display:inline}.settings-skeleton{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-lg) 0}.skeleton-rhythm,.skeleton-text,.skeleton-text-short,.skeleton-stepper,.skeleton-stepper-small,.skeleton-button{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-rhythm{width:280px;height:16px;margin-bottom:var(--spacing-md)}.skeleton-rows{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.skeleton-row{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.skeleton-text{width:100px;height:18px}.skeleton-text-short{width:70px;height:18px}.skeleton-stepper{width:120px;height:44px;border-radius:var(--radius-lg)}.skeleton-stepper-small{width:80px;height:44px;border-radius:var(--radius-lg)}.skeleton-button{width:200px;height:48px;border-radius:var(--radius-full);margin-top:var(--spacing-md)}@media(max-width:768px){.home-header{padding:var(--spacing-sm) var(--spacing-md)}.home-nav{gap:var(--spacing-md)}.user-name{display:none}.home-main{padding:var(--spacing-md);align-items:center}.settings-card{padding:var(--spacing-xl) var(--spacing-lg)}.settings-title{font-size:var(--font-size-2xl)}.settings-subtitle{font-size:var(--font-size-sm)}.settings-rhythm{margin-bottom:var(--spacing-lg)}.settings-rows{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.settings-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--spacing-sm)}.row-text{font-size:var(--font-size-base);white-space:nowrap}.mobile-hide{display:none}.save-btn{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);min-width:200px}.sync-status{flex-direction:row;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.sync-status-divider{width:1px;height:32px}.sync-status-label{font-size:10px}.sync-status-value{font-size:var(--font-size-xs)}}@media(max-width:480px){.home-main{padding:var(--spacing-sm)}.settings-card{padding:var(--spacing-lg) var(--spacing-md)}.save-btn{width:100%}.nav-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.settings-subtitle{font-size:var(--font-size-sm)}.settings-rows{gap:var(--spacing-md)}.settings-row{gap:var(--spacing-xs)}.row-text{font-size:var(--font-size-sm)}.sync-status{flex-direction:column;gap:var(--spacing-sm)}.sync-status-divider{width:60%;height:1px}}@media(max-width:375px){.settings-card{padding:var(--spacing-md) var(--spacing-sm)}.settings-title{font-size:var(--font-size-xl)}.settings-title-icon{width:36px;height:36px}}.dashboard-new{min-height:100vh;display:flex;flex-direction:column;background:var(--spotify-dark-base)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.back-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#ffffff12;border-radius:var(--radius-full);color:var(--spotify-white);font-size:var(--font-size-sm);font-weight:600;transition:all var(--transition-fast)}.back-btn:hover{background:#ffffff1a}.back-btn svg{width:20px;height:20px}.dashboard-title{font-size:var(--font-size-2xl);font-weight:700;background:linear-gradient(135deg,var(--spotify-white) 0%,var(--spotify-green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-user{display:flex;align-items:center;gap:var(--spacing-md)}.dashboard-user .about-link{font-size:var(--font-size-sm);color:var(--spotify-text-subdued);transition:color var(--transition-fast)}.dashboard-user .about-link:hover{color:var(--spotify-white)}.dashboard-user .user-name{font-size:var(--font-size-sm);color:var(--spotify-text-subdued)}.dashboard-user .logout-btn{font-size:var(--font-size-sm);color:var(--spotify-text-subdued);transition:color var(--transition-fast)}.dashboard-user .logout-btn:hover{color:var(--spotify-white);text-decoration:underline}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);z-index:1001;animation:slideDown .3s ease-out;box-shadow:0 8px 32px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.toast-success{background:linear-gradient(135deg,var(--spotify-green),#1ed760);color:var(--spotify-black)}.toast-info{background:var(--spotify-dark-elevated);border:1px solid rgba(255,255,255,.1);color:var(--spotify-white)}.toast-warning{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:var(--spotify-black)}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-icon svg{width:20px;height:20px}.toast-message{font-size:var(--font-size-sm);font-weight:500}.toast-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);opacity:.7;transition:opacity var(--transition-fast)}.toast-close:hover{opacity:1}.toast-close svg{width:16px;height:16px}.dashboard-footer{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-xl);background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:auto}.dashboard-footer span{font-size:var(--font-size-xs);color:var(--spotify-text-subdued)}.dashboard-main{flex:1;display:flex;flex-direction:column;padding:var(--spacing-lg) var(--spacing-xl);max-width:900px;margin:0 auto;width:100%}.dashboard-loading{flex:1;display:flex;align-items:center;justify-content:center}.loader{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--spotify-green);border-radius:50%;animation:spin 1s linear infinite}.dashboard-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line,.skeleton-circle,.skeleton-button,.skeleton-album-art,.skeleton-index,.skeleton-arrow,.skeleton-playlist-chip,.skeleton-divider{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-status-bar{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:#ffffff08;border-radius:var(--radius-md)}.skeleton-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.skeleton-short{width:60px;height:12px}.skeleton-medium{width:100px;height:14px}.skeleton-circle{width:36px;height:36px;border-radius:var(--radius-full)}.skeleton-divider{width:1px;height:32px}.skeleton-toggle{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs);background:#ffffff08;border-radius:var(--radius-full);width:fit-content}.skeleton-button{width:80px;height:32px;border-radius:var(--radius-full)}.skeleton-tracks{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-track-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:#ffffff05;border-radius:var(--radius-md)}.skeleton-index{width:24px;height:16px}.skeleton-album-art{width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0}.skeleton-track-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.skeleton-title{width:60%;height:14px}.skeleton-subtitle{width:40%;height:12px}.skeleton-arrow{width:16px;height:16px}.skeleton-playlist-chip{width:100px;height:24px;border-radius:var(--radius-full)}} @keyframes spin{to{transform:rotate(360deg)}}.sync-status-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background:var(--spotify-dark-elevated);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.sync-info{display:flex;align-items:center;gap:var(--spacing-lg)}.sync-item{display:flex;flex-direction:column;gap:2px}.sync-label{font-size:var(--font-size-xs);color:var(--spotify-text-subdued);text-transform:uppercase;letter-spacing:.5px}.sync-value{font-size:var(--font-size-base);color:var(--spotify-white);font-weight:500}.sync-countdown{color:var(--spotify-green);font-variant-numeric:tabular-nums}.sync-divider{width:1px;height:32px;background:#ffffff1a}.sync-now-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--spotify-text-subdued);opacity:.6;transition:all var(--transition-fast);margin-left:var(--spacing-lg)}.sync-now-btn svg{width:16px;height:16px}.sync-now-btn:hover{opacity:1;color:var(--spotify-white);background:#ffffff1a}.sync-now-btn:active{transform:scale(.95)}.sync-now-btn.syncing{opacity:1;color:var(--spotify-green);animation:spin 1s linear infinite}.sync-now-btn:disabled{cursor:not-allowed}.sync-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--spotify-green);line-height:1}.stat-label{font-size:var(--font-size-xs);color:var(--spotify-text-subdued)}.sync-status-message{text-align:center;padding:var(--spacing-md);color:var(--spotify-text-subdued);font-size:var(--font-size-sm);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.view-toggle-container{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.view-toggle{display:flex;background:var(--spotify-dark-elevated);border-radius:var(--radius-full);padding:4px}.view-toggle-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:600;color:var(--spotify-text-subdued);border-radius:var(--radius-full);transition:all var(--transition-fast)}.view-toggle-btn:hover{color:var(--spotify-white)}.view-toggle-btn.active{background:var(--spotify-green);color:var(--spotify-black)}.matches-section{flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);color:var(--spotify-text-subdued);text-align:center}.empty-icon{width:48px;height:48px;opacity:.5;margin-bottom:var(--spacing-md)}.empty-state p{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.empty-hint{font-size:var(--font-size-sm);opacity:.7;max-width:300px}.sync-group{margin-bottom:var(--spacing-md)}.sync-group-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs)}.sync-group-date{font-size:var(--font-size-sm);font-weight:600;color:var(--spotify-white)}.sync-group-count{font-size:var(--font-size-xs);color:var(--spotify-text-subdued)}.sync-group-tracks{background:var(--spotify-dark-elevated);border-radius:var(--radius-lg);overflow:hidden}.sync-group-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);margin:var(--spacing-lg) var(--spacing-xl)}.tracks-list{display:flex;flex-direction:column}.track-row{display:grid;grid-template-columns:32px 40px 1fr 40px minmax(120px,180px) 32px;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-fast)}.track-row:hover{background:#ffffff0d}.track-index-container{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.track-index-container.small{width:24px;height:24px}.track-index{font-size:var(--font-size-sm);color:var(--spotify-text-subdued);text-align:center;font-variant-numeric:tabular-nums;transition:opacity var(--transition-fast)}.track-play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--spotify-white);opacity:0;transition:opacity var(--transition-fast)}.track-play-btn svg{width:16px;height:16px}.track-index-container.small .track-play-btn svg{width:12px;height:12px}.track-row:hover .track-index,.playlist-track-row:hover .track-index{opacity:0}.track-row:hover .track-play-btn,.playlist-track-row:hover .track-play-btn{opacity:1}.track-play-btn:hover{color:var(--spotify-green)}.track-image{width:40px;height:40px;border-radius:var(--radius-xs);background:var(--spotify-dark-highlight);display:flex;align-items:center;justify-content:center;color:var(--spotify-text-subdued);flex-shrink:0}.track-image.small{width:32px;height:32px}.track-image svg{width:20px;height:20px}.track-image.small svg{width:16px;height:16px}.track-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-xs)}.track-info{min-width:0;display:flex;flex-direction:column;gap:2px}.track-name-link{font-size:var(--font-size-base);font-weight:400;color:var(--spotify-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;transition:color var(--transition-fast)}.track-name-link:hover{color:var(--spotify-green);text-decoration:underline}.track-artist{font-size:var(--font-size-sm);color:var(--spotify-text-subdued);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-date{font-size:var(--font-size-xs);color:var(--spotify-text-subdued);white-space:nowrap}.match-arrow-container{display:flex;align-items:center;justify-content:center;width:40px}.match-arrow{width:20px;height:20px;color:var(--spotify-text-subdued);flex-shrink:0}.playlist-chip{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.playlist-chip:hover{background:#ffffff1a}.playlist-chip-image{width:32px;height:32px;border-radius:var(--radius-xs);overflow:hidden;flex-shrink:0;background:var(--spotify-dark-highlight);display:flex;align-items:center;justify-content:center;color:var(--spotify-text-subdued)}.playlist-chip-image img{width:100%;height:100%;object-fit:cover}.playlist-chip-image svg{width:16px;height:16px}.playlist-chip-name{font-size:var(--font-size-sm);color:var(--spotify-text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-chip:hover .playlist-chip-name{color:var(--spotify-white)}.match-checkbox{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--spotify-green);color:var(--spotify-black);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.match-checkbox svg{width:16px;height:16px}.match-checkbox:hover{background:var(--spotify-green-light);transform:scale(1.05)}.match-checkbox.small{width:28px;height:28px}.match-checkbox.small svg{width:14px;height:14px}.playlist-groups{display:flex;flex-direction:column;gap:var(--spacing-md)}.playlist-group{background:var(--spotify-dark-elevated);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-fast)}.playlist-group:hover{background:var(--spotify-dark-highlight)}.playlist-group-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);cursor:pointer;transition:background var(--transition-fast)}.playlist-group-image{width:64px;height:64px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--spotify-dark-base);display:flex;align-items:center;justify-content:center;color:var(--spotify-text-subdued);box-shadow:0 4px 12px #0000004d}.playlist-group-image img{width:100%;height:100%;object-fit:cover}.playlist-group-image svg{width:28px;height:28px}.playlist-group-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.playlist-group-name{font-size:var(--font-size-lg);font-weight:700;color:var(--spotify-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-fast)}.playlist-group:hover .playlist-group-name{color:var(--spotify-green)}.playlist-group-count{font-size:var(--font-size-sm);color:var(--spotify-text-subdued)}.playlist-open-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--spotify-text-subdued);transition:all var(--transition-fast);opacity:0}.playlist-group-header:hover .playlist-open-btn{opacity:1}.playlist-open-btn:hover{color:var(--spotify-white);background:#ffffff1a}.playlist-open-btn svg{width:18px;height:18px}.playlist-expand-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--spotify-text-subdued);transition:transform var(--transition-fast)}.playlist-expand-icon svg{width:24px;height:24px}.playlist-group.expanded .playlist-expand-icon{transform:rotate(180deg)}.playlist-group-tracks{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}.playlist-group.expanded .playlist-group-tracks{grid-template-rows:1fr}.playlist-tracks-inner{overflow:hidden}.playlist-tracks-inner>.playlist-track-row:first-child{border-top:1px solid rgba(255,255,255,.05)}.playlist-track-row{display:grid;grid-template-columns:28px 32px 1fr auto 28px;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:background var(--transition-fast)}.playlist-track-row:hover{background:#ffffff0d}.playlist-track-info{min-width:0;display:flex;flex-direction:column;gap:2px}.playlist-track-info .track-name-link{font-size:var(--font-size-sm)}.playlist-track-artist{font-size:var(--font-size-xs);color:var(--spotify-text-subdued);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-track-date{font-size:var(--font-size-xs);color:var(--spotify-text-subdued);white-space:nowrap}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(180deg,var(--spotify-dark-elevated) 0%,var(--spotify-dark-base) 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out;box-shadow:0 -8px 32px #0006}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid rgba(255,255,255,.08);position:relative}.modal-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#fff3;border-radius:2px}.modal-header h3{font-size:var(--font-size-xl);font-weight:700;color:var(--spotify-white)}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--spotify-text-subdued);border-radius:var(--radius-full);transition:all var(--transition-fast);background:#ffffff14}.modal-close:hover{background:#ffffff26;color:var(--spotify-white)}.modal-close svg{width:18px;height:18px}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg) var(--spacing-xl);-webkit-overflow-scrolling:touch}.modal-description{font-size:var(--font-size-base);color:var(--spotify-text-base);margin-bottom:var(--spacing-lg);line-height:1.5}.modal-description strong{color:var(--spotify-green);font-weight:600}.modal-playlist-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.modal-playlist-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#ffffff08;border:1px solid transparent}.modal-playlist-option:hover{background:#ffffff14}.modal-playlist-option:has(input:checked){background:#1db9541f;border-color:var(--spotify-green)}.modal-playlist-option input[type=checkbox]{appearance:none;-webkit-appearance:none;width:24px;height:24px;border:2px solid var(--spotify-text-subdued);border-radius:var(--radius-sm);background:transparent;cursor:pointer;position:relative;transition:all var(--transition-fast);flex-shrink:0}.modal-playlist-option input[type=checkbox]:checked{background:var(--spotify-green);border-color:var(--spotify-green)}.modal-playlist-option input[type=checkbox]:checked:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--spotify-black);border-width:0 2px 2px 0;transform:rotate(45deg)}.modal-playlist-image{width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--spotify-dark-highlight);display:flex;align-items:center;justify-content:center;color:var(--spotify-text-subdued);box-shadow:0 2px 8px #0003}.modal-playlist-image img{width:100%;height:100%;object-fit:cover}.modal-playlist-image svg{width:24px;height:24px}.modal-playlist-name{font-size:var(--font-size-base);font-weight:500;color:var(--spotify-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.08);background:#0003}.modal-btn{flex:1;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast);min-height:48px}.modal-btn.secondary{background:#ffffff1a;border:none;color:var(--spotify-white)}.modal-btn.secondary:hover{background:#ffffff26}.modal-btn.primary{background:var(--spotify-green);color:var(--spotify-black)}.modal-btn.primary:hover{background:var(--spotify-green-light);transform:scale(1.02)}.modal-btn.primary:active{transform:scale(.98)}.modal-btn.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:768px){.dashboard-header{padding:var(--spacing-sm) var(--spacing-md)}.back-text{display:none}.dashboard-title{font-size:var(--font-size-lg)}.dashboard-user .user-name{display:none}.dashboard-main{padding:var(--spacing-sm) var(--spacing-md)}.sync-status-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.sync-info{display:contents}.sync-item{display:flex;flex-direction:column;align-items:center;gap:2px}.sync-item:first-child{align-items:flex-start}.sync-item:last-of-type{align-items:flex-end}.sync-divider{display:none}.sync-label{font-size:10px;letter-spacing:.3px}.sync-value{font-size:var(--font-size-sm);font-weight:600}.sync-now-btn{width:36px;height:36px;background:#1db95426;border-radius:var(--radius-full)}.sync-now-btn svg{width:18px;height:18px;color:var(--spotify-green)}.sync-now-btn:hover{background:#1db95440}.sync-stats{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid rgba(255,255,255,.08);margin-top:var(--spacing-xs)}.stat-value{font-size:var(--font-size-xl)}.stat-label{font-size:var(--font-size-xs)}.track-row{grid-template-columns:24px 40px 1fr 20px auto 28px;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.track-image{width:40px;height:40px}.track-info{min-width:0}.track-name-link{font-size:var(--font-size-sm)}.track-artist{font-size:11px}.match-arrow-container{display:flex;width:20px}.match-arrow{width:14px;height:14px}.playlist-chip{padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs)}.playlist-chip-image{width:24px;height:24px}.playlist-chip-name{font-size:11px;max-width:70px}.match-checkbox{width:28px;height:28px}.match-checkbox svg{width:16px;height:16px}.playlist-group-header{padding:var(--spacing-sm) var(--spacing-md)}.playlist-group-image{width:48px;height:48px}.playlist-group-name{font-size:var(--font-size-base)}.playlist-group-count{font-size:var(--font-size-xs)}.playlist-track-row{grid-template-columns:24px 32px 1fr 24px;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md)}.playlist-track-info .track-name-link{font-size:var(--font-size-sm)}.playlist-track-artist{font-size:11px}.view-toggle{padding:3px}.view-toggle-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.sync-group-header{padding:var(--spacing-sm) var(--spacing-sm)}.sync-group-date{font-size:var(--font-size-xs)}.sync-group-count{font-size:10px}.toast{left:var(--spacing-md);right:var(--spacing-md);transform:none;top:70px}.toast-message{font-size:var(--font-size-xs)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{align-items:flex-end}.modal-content{max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-header{padding:var(--spacing-lg) var(--spacing-lg)}.modal-header h3{font-size:var(--font-size-lg)}.modal-body{padding:var(--spacing-md) var(--spacing-lg)}.modal-description{font-size:var(--font-size-sm)}.modal-playlist-option{padding:var(--spacing-sm) var(--spacing-md)}.modal-playlist-option input[type=checkbox]{width:22px;height:22px}.modal-playlist-option input[type=checkbox]:checked:after{left:6px;top:2px;width:5px;height:10px}.modal-playlist-image{width:44px;height:44px}.modal-playlist-name{font-size:var(--font-size-sm)}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px))}.modal-btn{min-height:44px;font-size:var(--font-size-sm)}}@media(max-width:480px){.dashboard-main{padding:var(--spacing-xs) var(--spacing-sm)}.track-row{grid-template-columns:20px 36px 1fr 16px auto 26px;gap:4px;padding:var(--spacing-xs)}.track-index-container{width:20px}.track-index{font-size:11px}.track-image{width:36px;height:36px}.match-arrow-container{width:16px}.match-arrow{width:12px;height:12px}.playlist-chip{padding:4px 6px;gap:4px}.playlist-chip-image{width:20px;height:20px}.playlist-chip-name{font-size:10px;max-width:60px}.match-checkbox{width:26px;height:26px}.match-checkbox svg{width:14px;height:14px}.view-toggle-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.playlist-track-row{grid-template-columns:20px 28px 1fr 26px;padding:var(--spacing-xs) var(--spacing-sm)}.playlist-track-date,.playlist-open-btn{display:none}.playlist-group-image{width:44px;height:44px}.playlist-group-header{padding:var(--spacing-sm)}}@media(max-width:375px){.dashboard-header{padding:var(--spacing-xs) var(--spacing-sm)}.dashboard-title{font-size:var(--font-size-base)}.back-btn{padding:var(--spacing-xs) var(--spacing-sm)}.back-btn svg{width:18px;height:18px}.track-row{grid-template-columns:18px 32px 1fr 14px auto 24px;gap:3px}.track-image{width:32px;height:32px}.track-name-link{font-size:13px}.track-artist{font-size:10px}.match-arrow-container{width:14px}.match-arrow{width:10px;height:10px}.playlist-chip-name{display:none}.playlist-chip{padding:4px}.playlist-chip-image{width:22px;height:22px}.match-checkbox{width:24px;height:24px}.match-checkbox svg{width:12px;height:12px}}.about-page{min-height:100vh;background:var(--spotify-dark-base);color:var(--spotify-white)}.about-header{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-xl);background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.about-header .back-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#ffffff12;border-radius:var(--radius-full);color:var(--spotify-white);font-size:var(--font-size-sm);font-weight:600;transition:all var(--transition-fast)}.about-header .back-btn:hover{background:#ffffff1a}.about-header .back-btn svg{width:20px;height:20px}.about-content{max-width:800px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.about-hero{text-align:center;padding:var(--spacing-3xl) 0;margin-bottom:var(--spacing-xl)}.about-title{font-size:4rem;font-weight:800;margin-bottom:var(--spacing-md);letter-spacing:-.02em}.title-gradient{background:linear-gradient(135deg,var(--spotify-green) 0%,#1ed760 50%,var(--spotify-white) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-tagline{font-size:var(--font-size-xl);color:var(--spotify-text-subdued);font-weight:400}.about-section{margin-bottom:var(--spacing-3xl)}.about-section h2{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-lg);color:var(--spotify-white)}.about-section>p{font-size:var(--font-size-lg);line-height:1.7;color:var(--spotify-text-subdued)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-lg)}.feature-card{background:var(--spotify-dark-elevated);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:transform var(--transition-fast),background var(--transition-fast)}.feature-card:hover{transform:translateY(-4px);background:var(--spotify-dark-highlight)}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--spotify-green) 0%,#1ed760 100%);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.feature-icon svg{width:24px;height:24px;color:var(--spotify-black)}.feature-card h3{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--spotify-white)}.feature-card p{font-size:var(--font-size-sm);line-height:1.6;color:var(--spotify-text-subdued)}.tips-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.tips-list li{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--spotify-dark-elevated);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--spotify-text-subdued);transition:background var(--transition-fast)}.tips-list li:hover{background:var(--spotify-dark-highlight)}.tip-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--spotify-green);color:var(--spotify-black);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;flex-shrink:0}.tips-list li strong{color:var(--spotify-white)}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.info-card{background:var(--spotify-dark-elevated);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;transition:transform var(--transition-fast)}.info-card:hover{transform:translateY(-2px)}.info-emoji{font-size:2rem;display:block;margin-bottom:var(--spacing-sm)}.info-card p{font-size:var(--font-size-sm);color:var(--spotify-text-subdued);line-height:1.5}.beta-section{text-align:center;padding:var(--spacing-2xl);background:linear-gradient(135deg,#1ed7601a,#1ed7600d);border-radius:var(--radius-lg);border:1px solid rgba(30,215,96,.2)}.beta-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--spotify-green);color:var(--spotify-black);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.1em;border-radius:var(--radius-full);margin-bottom:var(--spacing-md)}.beta-section h2{margin-bottom:var(--spacing-sm)}.beta-section>p{font-size:var(--font-size-base);color:var(--spotify-text-subdued);line-height:1.7}.reach-out-link{color:var(--spotify-green);font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.reach-out-link:hover{color:#1ed760;text-decoration:underline}.about-footer{text-align:center;padding:var(--spacing-2xl) 0;color:var(--spotify-text-subdued);font-size:var(--font-size-sm)}@media(max-width:768px){.about-header{padding:var(--spacing-md) var(--spacing-md)}.about-hero{padding:var(--spacing-2xl) 0}.about-section{margin-bottom:var(--spacing-2xl)}}@media(max-width:600px){.about-title{font-size:2.5rem}.about-tagline{font-size:var(--font-size-lg)}.about-content{padding:var(--spacing-lg) var(--spacing-md)}.about-section h2{font-size:var(--font-size-xl)}.about-section>p{font-size:var(--font-size-base)}.feature-grid{grid-template-columns:1fr}.feature-card{padding:var(--spacing-md)}.info-cards{grid-template-columns:1fr}.tips-list li{padding:var(--spacing-md);gap:var(--spacing-sm);font-size:var(--font-size-sm)}.beta-section{padding:var(--spacing-lg)}}@media(max-width:375px){.about-title{font-size:2rem}.about-tagline{font-size:var(--font-size-base)}.about-hero{padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-md)}.about-content{padding:var(--spacing-md) var(--spacing-sm)}.about-section h2{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.feature-icon{width:40px;height:40px}.feature-icon svg{width:20px;height:20px}.feature-card h3{font-size:var(--font-size-base)}.tips-list li{flex-direction:row;align-items:flex-start;line-height:1.5}.tip-icon{margin-top:2px}.info-emoji{font-size:1.5rem}.info-card{padding:var(--spacing-md)}.beta-badge{font-size:10px}}.beta-error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-lg)}.beta-error-container{max-width:600px;width:100%;text-align:center;padding:var(--spacing-3xl);background:linear-gradient(135deg,#1ed7601a,#1ed7600d);border-radius:var(--radius-lg);border:1px solid rgba(30,215,96,.2)}.beta-error-container .beta-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--spotify-green);color:var(--spotify-black);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.1em;border-radius:var(--radius-full);margin-bottom:var(--spacing-lg)}.beta-error-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.beta-error-message{font-size:var(--font-size-lg);line-height:1.7;color:var(--text-secondary);margin-bottom:var(--spacing-2xl)}.beta-link{color:var(--spotify-green);font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.beta-link:hover{color:#1ed760;text-decoration:underline}.beta-back-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-xl);background:#ffffff12;border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast);border:none;cursor:pointer}.beta-back-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.beta-back-btn svg{width:20px;height:20px}@media(max-width:600px){.beta-error-container{padding:var(--spacing-2xl) var(--spacing-lg)}.beta-error-title{font-size:var(--font-size-2xl)}.beta-error-message{font-size:var(--font-size-base)}}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--spotify-dark-base)}.loader{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--spotify-green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-error{position:fixed;top:var(--spacing-md);left:50%;transform:translate(-50%);z-index:1000;background:#dc2626e6;color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-lg)}.error-dismiss{background:none;border:none;color:#fff;font-size:var(--font-size-xl);cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity var(--transition-fast)}.error-dismiss:hover{opacity:1}
