.progress-bar-container{align-items:center;cursor:pointer;display:flex;height:16px;justify-content:center;padding:6px 0;width:100%}.progress-bar-container:hover .progress-bar-bg{transform:scaleY(1.5)}.progress-bar-container:hover .progress-bar-fill{background-color:var(--spotify-green)!important}.progress-bar-container:hover .progress-bar-knob{display:block!important;opacity:1}.progress-bar-container .progress-bar-bg{background-color:#ffffff26;border-radius:var(--radius-full);height:4px;overflow:visible;position:relative;transform-origin:center;transition:transform var(--transition-sm);width:100%}.progress-bar-container .progress-bar-fill{background-color:var(--text-primary);border-radius:var(--radius-full);height:100%;position:relative;transition:background-color var(--transition-sm)}.progress-bar-container .progress-bar-fill .progress-bar-knob{background-color:var(--text-primary);border-radius:50%;box-shadow:var(--shadow-sm);display:none;height:13px;position:absolute;right:-6px;top:50%;transform:translateY(-50%);transition:opacity var(--transition-sm);width:13px}.now-playing-panel{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#0a0a0af2;border-left:1px solid #ffffff0f;display:flex;flex-direction:column;height:100%;overflow-y:auto;width:320px;z-index:var(--z-sticky)}.now-playing-panel::-webkit-scrollbar{width:12px}.now-playing-panel::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#ffffff4d;border:3px solid #0000;border-radius:10px}.now-playing-panel::-webkit-scrollbar-track{background:#0000}@media(max-width:768px){.now-playing-panel{display:none}}.now-playing-panel .panel-header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0ae6;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:var(--spacing-md);position:-webkit-sticky;position:sticky;top:0;z-index:10}.now-playing-panel .panel-header h3{font-size:16px;font-weight:700;letter-spacing:-.2px}.now-playing-panel .panel-header .close-btn{color:var(--text-secondary);transition:color var(--transition-sm),transform var(--transition-xs)}.now-playing-panel .panel-header .close-btn:hover{color:var(--text-primary);transform:scale(1.1)}.now-playing-panel .panel-content{flex:1 1;padding:var(--spacing-md)}.now-playing-panel .panel-content .main-art{aspect-ratio:1/1;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-lg);object-fit:cover;transition:transform var(--transition-md),box-shadow var(--transition-md);width:100%}.now-playing-panel .panel-content .main-art:hover{box-shadow:var(--shadow-xl);transform:scale(1.01)}.now-playing-panel .panel-content .track-info{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.now-playing-panel .panel-content .track-info .text{flex:1 1;min-width:0}.now-playing-panel .panel-content .track-info .text h2{font-size:18px;font-weight:700;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-sm);white-space:nowrap}.now-playing-panel .panel-content .track-info .text h2:hover{cursor:pointer;text-decoration:underline}.now-playing-panel .panel-content .track-info .text p{color:var(--text-secondary);font-size:13px;font-weight:500;transition:color var(--transition-sm)}.now-playing-panel .panel-content .track-info .text p:hover{color:var(--text-primary);cursor:pointer;text-decoration:underline}.now-playing-panel .panel-content .track-info button{color:var(--text-secondary);flex-shrink:0;transition:color var(--transition-sm),transform var(--transition-bounce)}.now-playing-panel .panel-content .track-info button:hover{color:var(--text-primary);transform:scale(1.12)}.now-playing-panel .panel-content .track-info button .liked{color:var(--spotify-green)}.now-playing-panel .panel-content .artist-card{background:#ffffff0f;border:1px solid #ffffff0f;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);overflow:hidden}.now-playing-panel .panel-content .artist-card .banner{background-position:50%;background-size:cover;height:140px;padding:var(--spacing-md);position:relative}.now-playing-panel .panel-content .artist-card .banner:after{background:linear-gradient(#0000,#00000073);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.now-playing-panel .panel-content .artist-card .banner span{background:#00000059;border-radius:var(--radius-full);font-size:12px;font-weight:700;padding:2px 8px;position:relative;z-index:1}.now-playing-panel .panel-content .artist-card .content{padding:var(--spacing-md)}.now-playing-panel .panel-content .artist-card .content h3{font-size:15px;font-weight:700;letter-spacing:-.2px;margin-bottom:4px;transition:color var(--transition-sm)}.now-playing-panel .panel-content .artist-card .content h3:hover{cursor:pointer;text-decoration:underline}.now-playing-panel .panel-content .artist-card .content p{color:var(--text-secondary);font-size:13px;line-height:1.5;margin-bottom:var(--spacing-md)}.now-playing-panel .panel-content .artist-card .content .follow-btn{border:1px solid #ffffff73;border-radius:var(--radius-full);font-size:13px;font-weight:700;padding:5px 14px;transition:border-color var(--transition-sm),background-color var(--transition-sm)}.now-playing-panel .panel-content .artist-card .content .follow-btn:hover{background-color:#ffffff14;border-color:var(--text-primary)}.now-playing-panel .panel-content .panel-credits{background:#ffffff0f;border:1px solid #ffffff0f;border-radius:var(--radius-md);padding:var(--spacing-md)}.now-playing-panel .panel-content .panel-credits .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.now-playing-panel .panel-content .panel-credits .header h4{font-size:15px;font-weight:700;letter-spacing:-.2px}.now-playing-panel .panel-content .panel-credits .header .show-all{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.3px}.now-playing-panel .panel-content .panel-credits .header .show-all:hover{color:var(--text-primary);text-decoration:underline}.now-playing-panel .panel-content .panel-credits .credit-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.now-playing-panel .panel-content .panel-credits .credit-item{align-items:flex-start;display:flex;gap:var(--spacing-sm);justify-content:space-between}.now-playing-panel .panel-content .panel-credits .credit-item .name-role{display:flex;flex-direction:column;min-width:0}.now-playing-panel .panel-content .panel-credits .credit-item .name{font-size:14px;font-weight:600}.now-playing-panel .panel-content .panel-credits .credit-item .role{color:var(--text-secondary);font-size:12px;margin-top:2px}.now-playing-panel .panel-content .panel-credits .credit-item .follow-link{color:var(--text-primary);flex-shrink:0;font-size:13px;font-weight:700}.now-playing-panel .panel-content .panel-credits .credit-item .follow-link:hover{text-decoration:underline}.desktop-player{align-items:center;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);background:#121212eb;border-top:1px solid #ffffff0f;bottom:0;display:flex;height:var(--bottom-player-height);justify-content:space-between;left:0;padding:0 var(--spacing-md);position:fixed;right:0;transition:background var(--transition-lg);z-index:var(--z-sticky)}.desktop-player:before{background:inherit;content:"";inset:0;opacity:.4;pointer-events:none;position:absolute;z-index:0}.desktop-player>*{position:relative;z-index:1}@media(max-width:768px){.desktop-player{display:none}}.desktop-player .track-section{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-md);min-width:0;width:30%}.desktop-player .track-section img{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-shrink:0;height:56px;object-fit:cover;transition:transform var(--transition-md),box-shadow var(--transition-md);width:56px}.desktop-player .track-section:hover img{box-shadow:var(--shadow-lg);transform:scale(1.04)}.desktop-player .track-section .text{display:flex;flex-direction:column;min-width:0}.desktop-player .track-section .text .name{color:var(--text-primary);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-sm);white-space:nowrap}.desktop-player .track-section .text .name:hover{color:var(--text-primary);text-decoration:underline}.desktop-player .track-section .text .meta{align-items:center;display:flex;gap:6px;margin-top:2px;min-width:0}.desktop-player .track-section .text .meta .preview-tag{background-color:#ffffff1f;border-radius:var(--radius-xs);color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:.3px;padding:1px 5px;white-space:nowrap}.desktop-player .track-section .text .meta .artist{color:var(--text-secondary);font-size:11px;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-sm);white-space:nowrap}.desktop-player .track-section .text .meta .artist:hover{color:var(--text-primary);text-decoration:underline}.desktop-player .track-section .like-btn{color:var(--text-secondary);flex-shrink:0;transition:color var(--transition-sm),transform var(--transition-sm)}.desktop-player .track-section .like-btn:hover{color:var(--text-primary);transform:scale(1.12)}.desktop-player .track-section .like-btn .liked{color:var(--spotify-green)}.desktop-player .controls-section{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm);max-width:722px}.desktop-player .controls-section .buttons{align-items:center;display:flex;gap:var(--spacing-md)}.desktop-player .controls-section .buttons button{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;transition:color var(--transition-sm),transform var(--transition-xs)}.desktop-player .controls-section .buttons button:hover{color:var(--text-primary);transform:scale(1.08)}.desktop-player .controls-section .buttons button:active{transform:scale(.92)}.desktop-player .controls-section .buttons .repeat.active,.desktop-player .controls-section .buttons .shuffle.active{color:var(--spotify-green);position:relative}.desktop-player .controls-section .buttons .repeat.active:after,.desktop-player .controls-section .buttons .shuffle.active:after{background-color:var(--spotify-green);border-radius:50%;bottom:-6px;box-shadow:0 0 6px var(--spotify-green-glow);content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.desktop-player .controls-section .buttons .play-pause{align-items:center;background-color:var(--text-primary);border-radius:50%;box-shadow:var(--shadow-md);color:#000;display:flex;height:36px;justify-content:center;transition:transform var(--transition-bounce),box-shadow var(--transition-md);width:36px}.desktop-player .controls-section .buttons .play-pause:hover{box-shadow:var(--shadow-lg),0 0 20px #ffffff26;transform:scale(1.08)!important}.desktop-player .controls-section .buttons .play-pause:active{transform:scale(.93)!important}.desktop-player .controls-section .progress-area{font-feature-settings:"tnum";align-items:center;color:var(--text-secondary);display:flex;font-size:11px;font-variant-numeric:tabular-nums;font-weight:500;gap:var(--spacing-sm);width:100%}.desktop-player .extra-section{align-items:center;display:flex;gap:var(--spacing-md);justify-content:flex-end;width:30%}.desktop-player .extra-section button{color:var(--text-secondary);transition:color var(--transition-sm),transform var(--transition-xs)}.desktop-player .extra-section button:hover{color:var(--text-primary);transform:scale(1.08)}.desktop-player .extra-section button:active{transform:scale(.92)}.desktop-player .extra-section button.active{color:var(--spotify-green)}.desktop-player .extra-section .volume-control{align-items:center;display:flex;gap:var(--spacing-sm);width:125px}.desktop-player .extra-section .volume-control .volume-slider{-webkit-appearance:none;appearance:none;background:#fff3;border-radius:2px;cursor:pointer;flex:1 1;height:4px;outline:none;transition:background var(--transition-sm)}.desktop-player .extra-section .volume-control .volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--text-primary);border-radius:50%;cursor:pointer;height:12px;opacity:0;-webkit-transition:opacity var(--transition-sm);transition:opacity var(--transition-sm);width:12px}.desktop-player .extra-section .volume-control .volume-slider:hover::-webkit-slider-thumb{opacity:1}.desktop-player .extra-section .volume-control .volume-slider:hover{background:var(--spotify-green)}.create-sheet-content .options .option-item{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-lg);padding:var(--spacing-md) 0}.create-sheet-content .options .option-item:active{background-color:#ffffff0d}.create-sheet-content .options .option-item.disabled{cursor:default;opacity:.5}.create-sheet-content .options .option-item .icon-wrapper{align-items:center;background-color:var(--surface-grey);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;height:48px;justify-content:center;width:48px}.create-sheet-content .options .option-item .text{display:flex;flex-direction:column}.create-sheet-content .options .option-item .text .title{font-size:16px;font-weight:700}.create-sheet-content .options .option-item .text .desc{color:var(--text-secondary);font-size:12px}.create-sheet-content .naming-flow{padding:var(--spacing-md) 0}.create-sheet-content .naming-flow h3{font-size:24px;font-weight:800;margin-bottom:var(--spacing-xl);text-align:center}.create-sheet-content .naming-flow input{background:none;border:none;border-bottom:2px solid var(--text-secondary);color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:var(--spacing-xxl);outline:none;padding:var(--spacing-md) 0;text-align:center;width:100%}.create-sheet-content .naming-flow input:focus{border-color:var(--spotify-green)}.create-sheet-content .naming-flow .actions{display:flex;gap:var(--spacing-xl);justify-content:center}.create-sheet-content .naming-flow .actions button{border-radius:var(--radius-full);font-weight:700;padding:12px 32px}.create-sheet-content .naming-flow .actions button.create-btn{background-color:var(--spotify-green);color:var(--black)}.ai-dj-screen{background-color:var(--dark-grey);bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1000}.ai-dj-screen .ai-dj-header{align-items:center;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.ai-dj-screen .ai-dj-header .title{align-items:center;display:flex;gap:var(--spacing-sm)}.ai-dj-screen .ai-dj-header .title h1{font-size:24px;font-weight:800}.ai-dj-screen .ai-dj-header .title .sparkle-icon{color:var(--spotify-green)}.ai-dj-screen .ai-dj-content{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.ai-dj-screen .ai-dj-content .welcome{margin-top:100px;text-align:center}.ai-dj-screen .ai-dj-content .welcome h2{margin-bottom:var(--spacing-lg)}.ai-dj-screen .ai-dj-content .welcome .suggestions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center}.ai-dj-screen .ai-dj-content .welcome .suggestions button{background-color:#2a2a2a;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;padding:8px 16px}.ai-dj-screen .ai-dj-content .welcome .suggestions button:hover{background-color:#3e3e3e}.ai-dj-screen .ai-dj-content .vibe-explanation{margin-bottom:var(--spacing-lg)}.ai-dj-screen .ai-dj-content .vibe-explanation p{color:var(--spotify-green);font-size:18px;font-weight:600;margin-bottom:var(--spacing-md)}.ai-dj-screen .ai-dj-content .vibe-explanation .play-btn{background-color:var(--spotify-green);border:none;border-radius:var(--radius-full);cursor:pointer;font-weight:700;padding:10px 24px}.ai-dj-screen .ai-dj-input{background-color:#1a1a1a;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.ai-dj-screen .ai-dj-input input{background-color:#333;border:none;border-radius:var(--radius-sm);color:#fff;flex:1 1;outline:none;padding:12px var(--spacing-md)}.ai-dj-screen .ai-dj-input button{background-color:var(--spotify-green);border:none;border-radius:var(--radius-full);cursor:pointer;padding:8px 16px}.ai-dj-screen .close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px}.ai-dj-screen .close-btn:hover{background:#ffffff1a}.ai-dj-screen .loading{align-items:center;color:var(--text-secondary);display:flex;height:100px;justify-content:center}@media(min-width:769px){.app-shell .main-content .content-wrapper{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md)}.app-shell .main-content .content-bottom-spacing{height:calc(var(--bottom-player-height) + 16px)}.horizontal-shelf .shelf-content{gap:var(--spacing-lg)}.home-screen .home-greeting{font-size:28px;margin-bottom:var(--spacing-lg)}.home-screen .recent-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.playlist-screen{margin-left:calc(var(--spacing-md)*-1);margin-right:calc(var(--spacing-md)*-1);margin-top:calc((var(--spacing-md) + var(--header-height))*-1)}.playlist-screen .playlist-header{align-items:flex-start;background:linear-gradient(180deg,#5038a099 0,#121212);height:400px;padding:var(--spacing-md);padding-top:60px}.playlist-screen .playlist-header .header-content{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.library-screen .library-content,.playlist-screen .playlist-actions{padding:var(--spacing-md)}.library-screen .library-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}.artist-screen{margin-left:calc(var(--spacing-md)*-1);margin-right:calc(var(--spacing-md)*-1);margin-top:calc((var(--spacing-md) + var(--header-height))*-1)}.artist-screen .artist-actions,.artist-screen .artist-content,.artist-screen .artist-header{padding:var(--spacing-md)}}.music-dna-screen{padding:var(--spacing-lg)}.music-dna-screen .dna-header{margin-bottom:var(--spacing-xl)}.music-dna-screen .dna-header h1{font-size:32px;font-weight:800}.music-dna-screen .dna-header p{color:var(--text-secondary)}.music-dna-screen .dna-card-container{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.music-dna-screen .dna-card-container .dna-card{aspect-ratio:4/5;background:linear-gradient(135deg,#1db954,#121212);border-radius:var(--radius-lg);box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;max-width:400px;padding:var(--spacing-lg);width:100%}.music-dna-screen .dna-card-container .dna-card .card-header{align-items:center;display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:1px}.music-dna-screen .dna-card-container .dna-card .card-body{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-lg);justify-content:center}.music-dna-screen .dna-card-container .dna-card .card-body h2{font-size:36px;font-weight:900;line-height:1}.music-dna-screen .dna-card-container .dna-card .card-body .label{color:#ffffffb3;display:block;font-size:10px;font-weight:800;margin-bottom:4px}.music-dna-screen .dna-card-container .dna-card .card-body .artists-list{display:flex;flex-direction:column;gap:4px}.music-dna-screen .dna-card-container .dna-card .card-body .artists-list span{font-size:18px;font-weight:700}.music-dna-screen .dna-card-container .dna-card .card-body .tag{background:#fff3;border-radius:var(--radius-sm);font-size:12px;font-weight:600;padding:4px 12px}.music-dna-screen .dna-card-container .dna-card .card-footer{align-items:center;display:flex;justify-content:space-between}.music-dna-screen .dna-card-container .dna-card .card-footer .brand{font-size:14px;font-weight:900}.music-dna-screen .dna-card-container .dna-card .card-footer .share-btn{align-items:center;background-color:#fff;border:none;border-radius:var(--radius-full);color:#000;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:4px;padding:6px 12px}.music-dna-screen .recommendations h3{margin-bottom:var(--spacing-md)}.music-dna-screen .recommendations .rec-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.music-dna-screen .recommendations .rec-grid .rec-item img{aspect-ratio:1/1;border-radius:var(--radius-sm);margin-bottom:8px;width:100%}.music-dna-screen .recommendations .rec-grid .rec-item .info .name{display:block;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-dna-screen .recommendations .rec-grid .rec-item .info .artist{color:var(--text-secondary);font-size:12px}.music-dna-screen .recommendations .empty-state{background:var(--surface-grey);border-radius:var(--radius-md);color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}:root{--spotify-green:#1db954;--spotify-green-hover:#1ed760;--spotify-green-glow:#1db95440;--spotify-green-dim:#1db95426;--black:#000;--dark-grey:#121212;--surface-grey:#181818;--surface-grey-hover:#282828;--elevated-grey:#242424;--elevated-grey-2:#2a2a2a;--glass-bg:#181818d9;--glass-border:#ffffff14;--text-primary:#fff;--text-secondary:#b3b3b3;--text-muted:#6a6a6a;--border-subtle:#ffffff14;--border-strong:#ffffff26;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-xxl:32px;--radius-full:9999px;--shadow-xs:0 1px 4px #0000004d;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 24px #00000080;--shadow-lg:0 16px 48px #000000a6;--shadow-xl:0 24px 72px #000c;--shadow-green:0 4px 20px #1db95459;--shadow-green-lg:0 8px 40px #1db95440;--ease-snap:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.34,1.56,0.64,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--transition-xs:0.1s var(--ease-snap);--transition-sm:0.18s var(--ease-snap);--transition-md:0.28s var(--ease-snap);--transition-lg:0.4s var(--ease-snap);--transition-bounce:0.35s var(--ease-bounce);--sidebar-width:280px;--bottom-player-height:90px;--mini-player-height:68px;--bottom-nav-height:64px;--header-height:64px;--z-base:1;--z-sticky:100;--z-overlay:200;--z-drawer:300;--z-modal:400;--z-tooltip:500}.sidebar{background-color:#000;background-color:var(--black);border-right:1px solid #ffffff0a;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:16px 0;padding:var(--spacing-md) 0;width:280px;width:var(--sidebar-width)}@media(max-width:768px){.sidebar{display:none}}.sidebar .sidebar-nav{margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:0 8px;padding:0 var(--spacing-sm)}.sidebar .nav-item{align-items:center;border-radius:4px;border-radius:var(--radius-sm);color:#b3b3b3;color:var(--text-secondary);display:flex;font-size:14px;font-weight:700;gap:16px;gap:var(--spacing-md);letter-spacing:-.1px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:color .18s cubic-bezier(.4,0,.2,1),background-color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm),background-color var(--transition-sm)}.sidebar .nav-item svg{flex-shrink:0}.sidebar .nav-item:hover{background-color:#ffffff12}.sidebar .nav-item.active,.sidebar .nav-item:hover{color:#fff;color:var(--text-primary)}.sidebar .nav-item.active svg{stroke:#fff;stroke:var(--text-primary)}.sidebar .sidebar-empty-hint{color:#b3b3b3;color:var(--text-secondary);font-size:13px;font-style:italic;font-weight:500;padding:8px 0;padding:var(--spacing-sm) 0}.sidebar .sidebar-actions{margin-bottom:8px;margin-bottom:var(--spacing-sm);padding:0 8px;padding:0 var(--spacing-sm)}.sidebar .sidebar-actions .action-item{align-items:center;border-radius:4px;border-radius:var(--radius-sm);color:#b3b3b3;color:var(--text-secondary);display:flex;font-size:14px;font-weight:700;gap:16px;gap:var(--spacing-md);letter-spacing:-.1px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:color .18s cubic-bezier(.4,0,.2,1),background-color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm),background-color var(--transition-sm);width:100%}.sidebar .sidebar-actions .action-item:hover{background-color:#ffffff12;color:#fff;color:var(--text-primary)}.sidebar .sidebar-actions .action-item:hover .icon-box{opacity:1}.sidebar .sidebar-actions .action-item .icon-box{align-items:center;border-radius:2px;display:flex;flex-shrink:0;height:24px;justify-content:center;opacity:.8;transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-sm),transform var(--transition-sm);width:24px}.sidebar .sidebar-actions .action-item .icon-box.create-playlist{background-color:#b3b3b3;background-color:var(--text-secondary);color:#000;color:var(--black)}.sidebar .sidebar-actions .action-item .icon-box.liked-songs{background:linear-gradient(135deg,#450af5,#c4efd9);color:#fff;color:var(--text-primary)}.sidebar .sidebar-actions .action-item:hover .icon-box{transform:scale(1.06)}.sidebar .sidebar-divider{background-color:#ffffff0f;height:1px;margin:8px 16px;margin:var(--spacing-sm) var(--spacing-md)}.sidebar .sidebar-playlists{flex:1 1;overflow-y:auto;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.sidebar .sidebar-playlists::-webkit-scrollbar{width:12px}.sidebar .sidebar-playlists::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#ffffff4d;border:3px solid #0000;border-radius:10px}.sidebar .sidebar-playlists::-webkit-scrollbar-track{background:#0000}.sidebar .sidebar-playlists .playlist-item{border-radius:2px;border-radius:var(--radius-xs);color:#b3b3b3;color:var(--text-secondary);cursor:pointer;font-size:14px;overflow:hidden;padding:8px;padding:var(--spacing-sm) var(--spacing-sm);text-overflow:ellipsis;transition:color .18s cubic-bezier(.4,0,.2,1),background-color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm),background-color var(--transition-sm);white-space:nowrap}.sidebar .sidebar-playlists .playlist-item:hover{background-color:#ffffff0f;color:#fff;color:var(--text-primary)}.bottom-nav{align-items:flex-start;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);background:#0a0a0af2;border-top:1px solid #ffffff0d;bottom:0;display:flex;height:calc(64px + env(safe-area-inset-bottom));height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);padding-top:8px;padding-top:var(--spacing-sm);position:fixed;right:0;z-index:100;z-index:var(--z-sticky)}@media(min-width:769px){.bottom-nav{display:none}}.bottom-nav .nav-item{align-items:center;color:#6a6a6a;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;font-size:10px;font-weight:600;gap:3px;padding:4px 0;text-decoration:none;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm)}.bottom-nav .nav-item.active{color:#fff;color:var(--text-primary)}.bottom-nav .nav-item.active svg{stroke:#fff;stroke:var(--text-primary)}.bottom-nav .nav-item.active span{color:#fff;color:var(--text-primary)}.bottom-nav .nav-item:not(.active):hover{color:#ffffffb3}.bottom-nav .nav-item svg{height:24px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);transition:transform var(--transition-bounce);width:24px}.bottom-nav .nav-item:active svg{transform:scale(.86)}.bottom-nav .nav-item span{font-weight:600;letter-spacing:.1px}.drawer-overlay{background-color:#000000b3;right:0;z-index:200;z-index:var(--z-overlay)}.account-drawer,.drawer-overlay{bottom:0;left:0;position:fixed;top:0}.account-drawer{background-color:#121212;box-shadow:10px 0 30px #00000080;display:flex;flex-direction:column;max-width:280px;width:75%;z-index:300;z-index:var(--z-drawer)}.account-drawer .drawer-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:24px 16px;padding:var(--spacing-lg) var(--spacing-md)}.account-drawer .drawer-header .profile-section{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.account-drawer .drawer-header .profile-section .avatar.large{align-items:center;background-color:#f57c00;border-radius:9999px;border-radius:var(--radius-full);display:flex;font-size:20px;font-weight:700;height:48px;justify-content:center;width:48px}.account-drawer .drawer-header .profile-section .profile-info h3{font-size:18px;font-weight:700}.account-drawer .drawer-header .profile-section .profile-info .view-profile{color:#b3b3b3;color:var(--text-secondary);font-size:12px;margin-top:2px;padding:0}.account-drawer .drawer-header .close-btn{color:#b3b3b3;color:var(--text-secondary)}.account-drawer .drawer-content{flex:1 1}.account-drawer .drawer-content .drawer-section{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);padding:16px 0;padding:var(--spacing-md) 0}.account-drawer .drawer-content .drawer-section:last-child{border-bottom:none}.account-drawer .drawer-content .drawer-item{align-items:center;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:24px;gap:var(--spacing-lg);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);transition:background-color .2s ease}.account-drawer .drawer-content .drawer-item:active{background-color:#181818;background-color:var(--surface-grey)}.account-drawer .drawer-content .drawer-item svg{color:#fff;color:var(--text-primary)}.account-drawer .drawer-content .drawer-item .icon-dot-wrapper{position:relative}.account-drawer .drawer-content .drawer-item .icon-dot-wrapper .new-dot{background-color:#3d91f4;border:2px solid #121212;border:2px solid var(--dark-grey);border-radius:50%;height:8px;position:absolute;right:-2px;top:-2px;width:8px}.account-drawer .drawer-footer{padding:24px;padding:var(--spacing-lg)}.account-drawer .drawer-footer .logout-btn{align-items:center;color:#b3b3b3;color:var(--text-secondary);display:flex;font-weight:500;gap:8px;gap:var(--spacing-sm);justify-content:center;padding:16px;padding:var(--spacing-md);width:100%}.media-tile{align-items:center;background-color:#242424;background-color:var(--elevated-grey);border-radius:4px;border-radius:var(--radius-sm);cursor:pointer;display:flex;height:64px;overflow:hidden;position:relative;transition:background-color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-sm)}.media-tile:hover{background-color:#282828;background-color:var(--surface-grey-hover)}.media-tile:hover .tile-play{opacity:1;transform:translateX(0)}.media-tile img{flex-shrink:0;height:64px;object-fit:cover;width:64px}.media-tile .tile-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;font-size:13px;font-weight:700;letter-spacing:-.1px;overflow:hidden;padding:0 8px;padding:0 var(--spacing-sm)}.media-tile .tile-play{align-items:center;background-color:#1db954;background-color:var(--spotify-green);border-radius:50%;box-shadow:0 4px 20px #1db95459;box-shadow:var(--shadow-green);color:#000;display:flex;height:40px;justify-content:center;opacity:0;position:absolute;right:8px;right:var(--spacing-sm);top:50%;transform:translateY(-50%) translateX(4px);transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.34,1.56,.64,1);transition:opacity var(--transition-md),transform var(--transition-bounce);width:40px}.media-tile .tile-play:hover{background-color:#1ed760;background-color:var(--spotify-green-hover);transform:translateY(-50%) scale(1.06)!important}.media-tile .badge{background-color:#1db954;background-color:var(--spotify-green);border-radius:2px;color:#000;font-size:8px;font-weight:800;opacity:.9;padding:2px 4px;pointer-events:none;position:absolute;right:8px;text-transform:uppercase;top:50%;transform:translateY(-50%);white-space:nowrap}.media-card{background-color:#181818;background-color:var(--surface-grey);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;padding:16px;padding:var(--spacing-md);transition:background-color .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-md),transform var(--transition-md),box-shadow var(--transition-md);width:170px}.media-card:hover{background-color:#282828;background-color:var(--surface-grey-hover);box-shadow:0 16px 48px #000000a6;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.media-card:hover .play-button{opacity:1;transform:translateY(0) scale(1)}.media-card:hover .image-container img{transform:scale(1.03)}.media-card.circle{background-color:#0000;padding:0;width:140px}.media-card.circle:hover{transform:translateY(-4px)}.media-card.circle .image-container{border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 8px 32px #0009}.media-card.circle .card-info{margin-top:8px;margin-top:var(--spacing-sm);text-align:center}.media-card .image-container{aspect-ratio:1/1;border-radius:4px;border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000080;box-shadow:var(--shadow-md);margin-bottom:16px;margin-bottom:var(--spacing-md);overflow:hidden;position:relative;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-md);width:100%}.media-card .image-container img{height:100%;object-fit:cover;transition:transform .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-md);width:100%}.media-card .image-container:after{background:linear-gradient(180deg,#0000 40%,#0006);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .28s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-md)}.media-card .image-container .badge{border-radius:2px;border-radius:var(--radius-xs);font-size:10px;font-weight:700;left:8px;padding:2px 6px;position:absolute;text-transform:uppercase;top:8px;z-index:2}.media-card .image-container .badge.badge-full{background-color:#1db954;background-color:var(--spotify-green);color:#000}.media-card .image-container .badge.badge-preview{background-color:#3e3e3e;color:#fff}.media-card .image-container .badge.badge-unavailable{background-color:#f44336;color:#fff}.media-card .image-container .play-button{align-items:center;background-color:#1db954;background-color:var(--spotify-green);border-radius:50%;bottom:8px;box-shadow:0 4px 20px #1db95459;box-shadow:var(--shadow-green);color:#000;display:flex;height:44px;justify-content:center;opacity:0;position:absolute;right:8px;transform:translateY(8px) scale(.88);transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.34,1.56,.64,1),background-color .18s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-md),transform var(--transition-bounce),background-color var(--transition-sm),box-shadow var(--transition-md);width:44px;z-index:3}.media-card .image-container .play-button:hover{background-color:#1ed760;background-color:var(--spotify-green-hover);box-shadow:0 8px 40px #1db95440;box-shadow:var(--shadow-green-lg);transform:translateY(0) scale(1.07)!important}.media-card:hover .image-container:after{opacity:1}.media-card .card-info .item-name{display:block;font-size:14px;font-weight:700;letter-spacing:-.1px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-card .card-info .item-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#b3b3b3;color:var(--text-secondary);display:block;display:-webkit-box;font-size:12px;overflow:hidden}.media-card .card-info .find-full-cta{background:none;border:1px solid #1db954;border:1px solid var(--spotify-green);border-radius:9999px;border-radius:var(--radius-full);color:#1db954;color:var(--spotify-green);cursor:pointer;font-size:11px;font-weight:700;margin-top:8px;margin-top:var(--spacing-sm);padding:4px 10px;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-sm),color var(--transition-sm)}.media-card .card-info .find-full-cta:hover{background-color:#1db954;background-color:var(--spotify-green);color:#000}@media(max-width:768px){.media-card{background-color:#0000;width:150px}.media-card .item-name{font-size:13px}.media-card .item-desc{font-size:12px}}@keyframes equalizer{0%,to{height:3px}25%{height:12px}50%{height:8px}75%{height:14px}}.track-row{align-items:center;border-radius:4px;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:16px;gap:var(--spacing-md);justify-content:space-between;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:background-color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-sm)}.track-row:hover{background-color:#ffffff14}.track-row:hover .track-more{opacity:1}.track-row:hover .track-index{color:#fff;color:var(--text-primary)}.track-row.active .track-name{color:#1db954;color:var(--spotify-green)}.track-row .track-start{align-items:center;display:flex;flex:1 1;gap:16px;gap:var(--spacing-md);min-width:0}.track-row .track-start .track-index{align-items:center;color:#b3b3b3;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:13px;justify-content:center;text-align:center;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm);width:16px}.track-row .track-start .track-index .equalizer-bars{align-items:flex-end;display:flex;gap:2px;height:14px}.track-row .track-start .track-index .equalizer-bars span{animation:equalizer 1s ease-in-out infinite;background-color:#1db954;background-color:var(--spotify-green);border-radius:1px;width:3px}.track-row .track-start .track-index .equalizer-bars span:nth-child(2){animation-delay:.25s}.track-row .track-start .track-index .equalizer-bars span:nth-child(3){animation-delay:.5s}.track-row .track-start .track-img{border-radius:2px;border-radius:var(--radius-xs);box-shadow:0 1px 4px #0000004d;box-shadow:var(--shadow-xs);flex-shrink:0;height:40px;object-fit:cover;width:40px}.track-row .track-start .track-info{display:flex;flex-direction:column;min-width:0}.track-row .track-start .track-info .track-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm);white-space:nowrap}.track-row .track-start .track-info .track-meta{align-items:center;display:flex;gap:6px;margin-top:2px}.track-row .track-start .track-info .track-meta .preview-label{background:#ffffff1f;border-radius:2px;border-radius:var(--radius-xs);color:#b3b3b3;color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:.3px;padding:1px 5px;text-transform:uppercase}.track-row .track-start .track-info .track-meta .track-artist{color:#b3b3b3;color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm);white-space:nowrap}.track-row:hover .track-artist{color:#fff;color:var(--text-primary)}.track-row .track-album{color:#b3b3b3;color:var(--text-secondary);flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.track-row .track-album{display:none}}.track-row .track-end{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.track-row .track-end .track-duration{font-feature-settings:"tnum";color:#b3b3b3;color:var(--text-secondary);font-size:14px;font-variant-numeric:tabular-nums;text-align:right;width:40px}.track-row .track-end .track-more{border-radius:2px;border-radius:var(--radius-xs);color:#b3b3b3;color:var(--text-secondary);opacity:0;padding:4px;transition:opacity .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),background-color .18s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-sm),color var(--transition-sm),background-color var(--transition-sm)}.track-row .track-end .track-more:hover{background-color:#ffffff1a;color:#fff;color:var(--text-primary)}.horizontal-shelf{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.horizontal-shelf .shelf-header{align-items:center;align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md);padding:0 8px;padding:0 var(--spacing-sm)}.horizontal-shelf .shelf-header h2{font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1.2}@media(max-width:768px){.horizontal-shelf .shelf-header h2{font-size:20px}}.horizontal-shelf .shelf-header .see-all{color:#b3b3b3;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.5px;padding-bottom:2px;text-transform:uppercase;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm)}.horizontal-shelf .shelf-header .see-all:hover{color:#fff;color:var(--text-primary);text-decoration:underline}.horizontal-shelf .shelf-content{display:flex;gap:16px;gap:var(--spacing-md);mask-image:linear-gradient(90deg,#0000 0,#000 16px,#000 calc(100% - 32px),#0000);-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16px,#000 calc(100% - 32px),#0000);overflow-x:auto;padding-bottom:8px;padding-bottom:var(--spacing-sm);padding-left:16px;scroll-behavior:smooth}.horizontal-shelf .shelf-content::-webkit-scrollbar{display:none}.horizontal-shelf .shelf-content{scrollbar-width:none}@media(min-width:769px){.horizontal-shelf .shelf-content{gap:24px;gap:var(--spacing-lg)}}.mini-player-wrapper{bottom:calc(64px + env(safe-area-inset-bottom));left:8px;left:var(--spacing-sm);margin-bottom:8px;margin-bottom:var(--spacing-sm);position:fixed;right:8px;right:var(--spacing-sm);z-index:100;z-index:var(--z-sticky)}@media(min-width:769px){.mini-player-wrapper{display:none}}.mini-player{align-items:center;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);background:#282828eb;border:1px solid #ffffff0f;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 16px 48px #000000a6,inset 0 1px 0 #ffffff0f;box-shadow:var(--shadow-lg),inset 0 1px 0 #ffffff0f;display:flex;height:60px;justify-content:space-between;overflow:hidden;padding:0 16px;padding:0 var(--spacing-md);position:relative;transition:background .28s cubic-bezier(.4,0,.2,1);transition:background var(--transition-md)}.mini-player:active{transform:scale(.99)}.mini-player .track-info{align-items:center;display:flex;flex:1 1;gap:16px;gap:var(--spacing-md);min-width:0}.mini-player .track-info img{border-radius:4px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #0006;box-shadow:var(--shadow-sm);flex-shrink:0;height:40px;object-fit:cover;width:40px}.mini-player .track-info .text{display:flex;flex-direction:column;min-width:0}.mini-player .track-info .text .name{color:#fff;color:var(--text-primary);font-size:13px;font-weight:700;letter-spacing:-.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-player .track-info .text .meta{align-items:center;display:flex;gap:6px;margin-top:2px;min-width:0}.mini-player .track-info .text .meta .preview-tag{background-color:#ffffff1a;border-radius:2px;border-radius:var(--radius-xs);color:#b3b3b3;color:var(--text-secondary);font-size:9px;font-weight:700;padding:1px 5px;white-space:nowrap}.mini-player .track-info .text .meta .artist{color:#b3b3b3;color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-player .controls{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.mini-player .controls button{align-items:center;color:#fff;color:var(--text-primary);display:flex;justify-content:center;transition:transform .1s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-xs),opacity var(--transition-sm)}.mini-player .controls button:active{transform:scale(.88)}.mini-player .controls button .liked{color:#1db954;color:var(--spotify-green)}.mini-player .controls .device-icon{color:#b3b3b3;color:var(--text-secondary)}.mini-player .controls .device-icon.spotify-green{color:#1db954;color:var(--spotify-green)}.mini-player .progress-bar-mini{bottom:0;left:8px;left:var(--spacing-sm);pointer-events:none;position:absolute;right:8px;right:var(--spacing-sm)}.mini-player .progress-bar-mini .progress-bar-container{height:2px;padding:0}.mini-player .progress-bar-mini .progress-bar-container .progress-bar-bg{background-color:#ffffff14;border-radius:1px;height:2px}.mini-player .progress-bar-mini .progress-bar-container .progress-bar-fill{background-color:#fff;background-color:var(--text-primary);border-radius:1px}.full-player{bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;padding:16px;padding:var(--spacing-md);padding-top:max(env(safe-area-inset-top),16px);padding-top:max(env(safe-area-inset-top),var(--spacing-md));position:fixed;right:0;top:0;transition:background .4s cubic-bezier(.4,0,.2,1);transition:background var(--transition-lg);z-index:400;z-index:var(--z-modal)}.full-player:after{background:linear-gradient(180deg,#00000014,#0000008c 65%,#000c);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.full-player>*{position:relative;z-index:1}.full-player .player-header{align-items:center;display:flex;height:64px;height:var(--header-height);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.full-player .player-header>button{color:#ffffffb3;transition:color .18s cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm),transform var(--transition-xs)}.full-player .player-header>button:hover{color:#fff;color:var(--text-primary);transform:scale(1.08)}.full-player .player-header .playing-from{align-items:center;display:flex;flex-direction:column;gap:2px;text-align:center}.full-player .player-header .playing-from .label{color:#ffffff8c;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.full-player .player-header .playing-from .playlist-name{color:#fff;color:var(--text-primary);font-size:13px;font-weight:700;letter-spacing:-.1px}.full-player .player-content{flex:1 1;overflow-y:auto;scrollbar-width:none}.full-player .player-content::-webkit-scrollbar{display:none}.full-player .player-content .album-art-container{aspect-ratio:1/1;margin-bottom:32px;margin-bottom:var(--spacing-xl);padding:16px;padding:var(--spacing-md);width:100%}.full-player .player-content .album-art-container .album-art{border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 20px 60px #000000b3,0 8px 24px #00000080;height:100%;object-fit:cover;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-md),box-shadow var(--transition-md);width:100%}.full-player .player-content .album-art-container .album-art:hover{transform:scale(1.01)}.full-player .player-content .track-info-container{align-items:center;display:flex;gap:16px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:0 16px;padding:0 var(--spacing-md)}.full-player .player-content .track-info-container .track-text{flex:1 1;min-width:0}.full-player .player-content .track-info-container .track-text h1{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-player .player-content .track-info-container .track-text .meta{align-items:center;display:flex;gap:8px}.full-player .player-content .track-info-container .track-text .meta .preview-tag{background-color:#ffffff1f;border-radius:2px;border-radius:var(--radius-xs);color:#fff9;font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 6px;white-space:nowrap}.full-player .player-content .track-info-container .track-text .meta p{color:#ffffffa6;font-size:16px;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-player .player-content .track-info-container>button{color:#fff9;flex-shrink:0;transition:color .18s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.34,1.56,.64,1);transition:color var(--transition-sm),transform var(--transition-bounce)}.full-player .player-content .track-info-container>button:hover{color:#fff;color:var(--text-primary);transform:scale(1.15)}.full-player .player-content .track-info-container>button .liked{color:#1db954;color:var(--spotify-green)}.full-player .player-content .progress-container{margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:0 16px;padding:0 var(--spacing-md)}.full-player .player-content .progress-container .progress-bar-container{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.full-player .player-content .progress-container .time-info{font-feature-settings:"tnum";color:#ffffff80;display:flex;font-size:11px;font-variant-numeric:tabular-nums;font-weight:500;justify-content:space-between}.full-player .player-content .main-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:0 16px;padding:0 var(--spacing-md)}.full-player .player-content .main-controls button{color:#ffffffb3;position:relative;transition:color .18s cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm),transform var(--transition-xs)}.full-player .player-content .main-controls button:hover{color:#fff;color:var(--text-primary);transform:scale(1.1)}.full-player .player-content .main-controls button:active{transform:scale(.88)}.full-player .player-content .main-controls button.repeat.active,.full-player .player-content .main-controls button.shuffle.active{color:#1db954;color:var(--spotify-green)}.full-player .player-content .main-controls button.repeat.active:after,.full-player .player-content .main-controls button.shuffle.active:after{background-color:#1db954;background-color:var(--spotify-green);border-radius:50%;bottom:-6px;box-shadow:0 0 8px #1db95440;box-shadow:0 0 8px var(--spotify-green-glow);content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.full-player .player-content .main-controls button.play-pause{align-items:center;background-color:#fff;background-color:var(--text-primary);border-radius:50%;box-shadow:0 16px 48px #000000a6,0 0 30px #ffffff1a;box-shadow:var(--shadow-lg),0 0 30px #ffffff1a;color:#000;display:flex;height:64px;justify-content:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-bounce),box-shadow var(--transition-md);width:64px}.full-player .player-content .main-controls button.play-pause:hover{box-shadow:0 24px 72px #000c,0 0 40px #ffffff26;box-shadow:var(--shadow-xl),0 0 40px #ffffff26;transform:scale(1.06)!important}.full-player .player-content .main-controls button.play-pause:active{transform:scale(.92)!important}.full-player .player-content .main-controls button.skip{color:#ffffffd9}.full-player .player-content .main-controls button.skip:hover{color:#fff;color:var(--text-primary);transform:scale(1.08)}.full-player .player-content .main-controls button .repeat-one{align-items:center;background-color:#000;background-color:var(--black);border-radius:50%;color:#1db954;color:var(--spotify-green);display:flex;font-size:8px;font-weight:800;height:10px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.full-player .player-content .footer-controls{align-items:center;display:flex;gap:16px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:48px;margin-bottom:var(--spacing-xxl);padding:0 16px;padding:0 var(--spacing-md)}.full-player .player-content .footer-controls .device-info{align-items:center;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:8px;gap:var(--spacing-sm);transition:opacity .18s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-sm)}.full-player .player-content .footer-controls .device-info:hover{opacity:.8}.full-player .player-content .footer-controls .extra-actions{color:#fff9;display:flex;gap:24px;gap:var(--spacing-lg)}.full-player .player-content .footer-controls .extra-actions .icon-btn{transition:color .18s cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm),transform var(--transition-xs)}.full-player .player-content .footer-controls .extra-actions .icon-btn:hover{color:#fff;color:var(--text-primary);transform:scale(1.1)}.full-player .player-content .artist-card-section{margin-bottom:32px;margin-bottom:var(--spacing-xl);padding:0 16px;padding:0 var(--spacing-md)}.full-player .player-content .artist-card-section .artist-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff12;border:1px solid #ffffff12;border-radius:12px;border-radius:var(--radius-lg);overflow:hidden}.full-player .player-content .artist-card-section .artist-card .artist-banner{background-position:50%;background-size:cover;height:160px;padding:16px;padding:var(--spacing-md)}.full-player .player-content .artist-card-section .artist-card .artist-banner span{background:#0006;border-radius:9999px;border-radius:var(--radius-full);font-size:12px;font-weight:700;padding:2px 8px}.full-player .player-content .artist-card-section .artist-card .artist-card-content{padding:16px;padding:var(--spacing-md)}.full-player .player-content .artist-card-section .artist-card .artist-card-content h3{font-size:16px;font-weight:700;letter-spacing:-.2px;margin-bottom:4px}.full-player .player-content .artist-card-section .artist-card .artist-card-content p{color:#b3b3b3;color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:16px;margin-bottom:var(--spacing-md)}.full-player .player-content .artist-card-section .artist-card .artist-card-content p.bio{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.full-player .player-content .artist-card-section .artist-card .artist-card-content .follow-btn{border:1px solid #ffffff80;border-radius:9999px;border-radius:var(--radius-full);color:#fff;color:var(--text-primary);font-size:14px;font-weight:700;padding:6px 20px;transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-sm),border-color var(--transition-sm),color var(--transition-sm)}.full-player .player-content .artist-card-section .artist-card .artist-card-content .follow-btn:hover{background-color:#ffffff14;border-color:#fff;border-color:var(--text-primary)}.full-player .player-content .artist-card-section .artist-card .artist-card-content .follow-btn.following{background-color:#fff;background-color:var(--text-primary);border-color:#fff;border-color:var(--text-primary);color:#000;color:var(--black)}.full-player .player-content .credits-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff0f;border:1px solid #ffffff0f;border-radius:12px;border-radius:var(--radius-lg);margin:0 16px 48px;margin:0 var(--spacing-md) var(--spacing-xxl);padding:24px;padding:var(--spacing-lg)}.full-player .player-content .credits-card .credits-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md)}.full-player .player-content .credits-card .credits-header h3{font-size:16px;font-weight:700;letter-spacing:-.2px}.full-player .player-content .credits-card .credits-header .show-all{color:#b3b3b3;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.3px}.full-player .player-content .credits-card .credits-header .show-all:hover{color:#fff;color:var(--text-primary);text-decoration:underline}.full-player .player-content .credits-card .credits-list{display:flex;flex-direction:column;gap:16px;gap:var(--spacing-md)}.full-player .player-content .credits-card .credits-list .credit-item{display:flex;flex-direction:column}.full-player .player-content .credits-card .credits-list .credit-item .name{font-size:14px;font-weight:700}.full-player .player-content .credits-card .credits-list .credit-item .role{color:#ffffff80;font-size:12px;margin-top:2px}.bottom-sheet-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:#0009;top:0;z-index:200;z-index:var(--z-overlay)}.bottom-sheet,.bottom-sheet-overlay{bottom:0;left:0;position:fixed;right:0}.bottom-sheet{backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);background:#1e1e1ef7;border-top:1px solid #ffffff0f;border-top-left-radius:32px;border-top-left-radius:var(--radius-xxl);border-top-right-radius:32px;border-top-right-radius:var(--radius-xxl);box-shadow:0 -8px 40px #0009;display:flex;flex-direction:column;max-height:85vh;padding-bottom:env(safe-area-inset-bottom);z-index:400;z-index:var(--z-modal)}.bottom-sheet .sheet-handle{background-color:#ffffff40;border-radius:9999px;border-radius:var(--radius-full);flex-shrink:0;height:3px;margin:8px auto 4px;margin:var(--spacing-sm) auto var(--spacing-xs);width:32px}.bottom-sheet .sheet-header{border-bottom:1px solid #ffffff0f;padding:8px 24px 16px;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md);text-align:center}.bottom-sheet .sheet-header h3{font-size:16px;font-weight:700;letter-spacing:-.2px}.bottom-sheet .sheet-header p{color:#b3b3b3;color:var(--text-secondary);font-size:13px;margin-top:3px}.bottom-sheet .sheet-content{flex:1 1;overflow-y:auto;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.bottom-sheet .sheet-content::-webkit-scrollbar{width:12px}.bottom-sheet .sheet-content::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#ffffff4d;border:3px solid #0000;border-radius:10px}.bottom-sheet .sheet-content::-webkit-scrollbar-track{background:#0000}.credits-sheet-content .credits-section{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.credits-sheet-content .credits-section h4{font-size:16px;font-weight:700;margin-bottom:16px;margin-bottom:var(--spacing-md)}.credits-sheet-content .credits-section .credit-row{align-items:center;display:flex;justify-content:space-between}.credits-sheet-content .credits-section .credit-row .credit-info{display:flex;flex-direction:column}.credits-sheet-content .credits-section .credit-row .credit-info .name{font-size:15px;font-weight:700}.credits-sheet-content .credits-section .credit-row .credit-info .role{color:#b3b3b3;color:var(--text-secondary);font-size:13px}.credits-sheet-content .credits-section .credit-row .follow-btn-small{border:1px solid #b3b3b3;border:1px solid var(--text-secondary);border-radius:9999px;border-radius:var(--radius-full);font-size:12px;font-weight:700;padding:4px 12px}.credits-sheet-content .credits-section .source-text{color:#b3b3b3;color:var(--text-secondary);font-size:13px}.credits-sheet-content .report-btn{color:#b3b3b3;color:var(--text-secondary);font-size:14px;font-weight:700;padding:16px 0;padding:var(--spacing-md) 0;text-align:left;width:100%}.device-picker-content .device-item{align-items:center;display:flex;font-weight:700;gap:24px;gap:var(--spacing-lg);padding:16px 0;padding:var(--spacing-md) 0}.device-picker-content .device-item.active{color:#1db954;color:var(--spotify-green)}.device-picker-content .device-item span{font-size:16px}.app-shell{background-color:#121212;background-color:var(--dark-grey);display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.app-shell .app-layout{display:flex;flex:1 1;overflow:hidden}.app-shell .main-content{background:#121212;background:var(--dark-grey);flex:1 1;position:relative}.app-shell .main-content:before{background:linear-gradient(180deg,#282828cc,#0000);content:"";height:340px;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.app-shell .main-content .content-wrapper{padding:16px;padding:var(--spacing-md);position:relative;z-index:1}@media(min-width:769px){.app-shell .main-content .content-wrapper{padding:32px 32px 16px;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md)}}.app-shell .main-content .content-bottom-spacing{height:156px;height:calc(var(--bottom-nav-height) + var(--mini-player-height) + 24px)}@media(min-width:769px){.app-shell .main-content .content-bottom-spacing{height:106px;height:calc(var(--bottom-player-height) + 16px)}.app-shell .mini-player-container{display:none}}.app-shell .desktop-player-container{display:none}@media(min-width:769px){.app-shell .desktop-player-container{display:block}}.app-shell .mobile-header{align-items:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#121212d9;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);display:flex;gap:8px;gap:var(--spacing-sm);padding:12px 16px;padding:12px var(--spacing-md);position:-webkit-sticky;position:sticky;top:0;z-index:100;z-index:var(--z-sticky)}@media(min-width:769px){.app-shell .mobile-header{display:none}}.app-shell .mobile-header .avatar-btn .avatar{align-items:center;background:linear-gradient(135deg,#f57c00,#ff9800);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 2px 8px #0006;box-shadow:var(--shadow-sm);display:flex;font-size:13px;font-weight:700;height:32px;justify-content:center;letter-spacing:0;width:32px}.app-shell .mobile-header .header-chips{display:flex;flex:1 1;gap:8px;gap:var(--spacing-sm)}.app-shell .mobile-header .header-chips .chip{background-color:#2a2a2a;background-color:var(--elevated-grey-2);border:1px solid #0000;border-radius:9999px;border-radius:var(--radius-full);color:#fff;color:var(--text-primary);font-size:12px;font-weight:600;letter-spacing:0;padding:6px 16px;transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-sm),border-color var(--transition-sm)}.app-shell .mobile-header .header-chips .chip:hover{background-color:#282828;background-color:var(--surface-grey-hover)}.app-shell .mobile-header .header-chips .chip.active{background-color:#fff;background-color:var(--text-primary);color:#000;color:var(--black)}.home-screen{padding:16px;padding:var(--spacing-md)}.home-screen .home-greeting{color:#fff;color:var(--text-primary);font-size:22px;font-weight:800;letter-spacing:-.5px;margin-bottom:16px;margin-bottom:var(--spacing-md)}@media(min-width:769px){.home-screen .home-greeting{font-size:28px;margin-bottom:24px;margin-bottom:var(--spacing-lg)}}.home-screen .recent-grid{grid-gap:8px;grid-gap:var(--spacing-sm);display:grid;gap:8px;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);margin-bottom:32px;margin-bottom:var(--spacing-xl)}@media(min-width:769px){.home-screen .recent-grid{gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}}.search-screen .search-header{background-color:#000;background-color:var(--black);margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:16px 0;padding:var(--spacing-md) 0;position:-webkit-sticky;position:sticky;top:-var(--spacing-md);z-index:10}.search-screen .search-header .search-filters{display:flex;gap:8px;gap:var(--spacing-sm);margin-top:16px;margin-top:var(--spacing-md)}.search-screen .search-header .search-filters .filter-chip{background-color:#2a2a2a;border:none;border-radius:9999px;border-radius:var(--radius-full);color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.search-screen .search-header .search-filters .filter-chip:hover{background-color:#3e3e3e}.search-screen .search-header .search-filters .filter-chip.active{background-color:#fff;color:#000}.search-screen .search-header .search-input-wrapper{align-items:center;background-color:#fff;background-color:var(--text-primary);border-radius:4px;border-radius:var(--radius-sm);display:flex;height:48px;padding:0 16px;padding:0 var(--spacing-md)}.search-screen .search-header .search-input-wrapper .search-icon{color:#000;color:var(--black)}.search-screen .search-header .search-input-wrapper input{background:none;border:none;color:#000;color:var(--black);flex:1 1;font-size:14px;font-weight:500;outline:none;padding:0 16px;padding:0 var(--spacing-md)}.search-screen .search-header .search-input-wrapper input::placeholder{color:#757575}.search-screen .search-header .search-input-wrapper .clear-btn{color:#000;color:var(--black)}.search-screen .results-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}@media(max-width:768px){.search-screen .results-grid{grid-template-columns:repeat(2,1fr)}}.search-screen .browse-all h2{font-size:16px;margin-bottom:16px;margin-bottom:var(--spacing-md)}.search-screen .browse-all .category-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}@media(min-width:769px){.search-screen .browse-all .category-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.search-screen .browse-all .category-grid .category-card{border-radius:8px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0006;box-shadow:var(--shadow-sm);cursor:pointer;height:108px;overflow:hidden;padding:16px;padding:var(--spacing-md);position:relative;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),filter .18s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-md),box-shadow var(--transition-md),filter var(--transition-sm)}.search-screen .browse-all .category-grid .category-card:hover{box-shadow:0 8px 24px #00000080;box-shadow:var(--shadow-md);filter:brightness(1.1);transform:translateY(-3px)}.search-screen .browse-all .category-grid .category-card:active{transform:scale(.97)}.search-screen .browse-all .category-grid .category-card span{font-size:15px;font-weight:800;letter-spacing:-.2px;line-height:1.2;position:relative;text-shadow:0 1px 4px #0000004d;z-index:1}.playlist-screen{margin-left:-32px;margin-left:calc(var(--spacing-xl)*-1);margin-right:-32px;margin-right:calc(var(--spacing-xl)*-1);margin-top:-32px;margin-top:calc(var(--spacing-xl)*-1)}@media(max-width:768px){.playlist-screen{margin-left:-16px;margin-left:calc(var(--spacing-md)*-1);margin-right:-16px;margin-right:calc(var(--spacing-md)*-1);margin-top:-80px;margin-top:calc((var(--spacing-md) + var(--header-height))*-1)}}.playlist-screen .playlist-header{align-items:flex-end;background:linear-gradient(180deg,#5038a099 0,#121212);display:flex;height:340px;padding:32px;padding:var(--spacing-xl);position:relative}@media(max-width:768px){.playlist-screen .playlist-header{align-items:flex-start;background:linear-gradient(180deg,#5038a099 0,#121212);height:400px;padding:16px;padding:var(--spacing-md);padding-top:60px}}.playlist-screen .playlist-header .header-content{align-items:flex-end;display:flex;gap:24px;gap:var(--spacing-lg)}@media(max-width:768px){.playlist-screen .playlist-header .header-content{align-items:flex-start;flex-direction:column;gap:16px;gap:var(--spacing-md)}}.playlist-screen .playlist-header .header-content .album-art{box-shadow:0 8px 24px #00000080;height:232px;width:232px}@media(max-width:768px){.playlist-screen .playlist-header .header-content .album-art{height:200px;margin:0 auto;width:200px}}.playlist-screen .playlist-header .header-content .album-art .liked-heart-bg{align-items:center;background:linear-gradient(135deg,#450af5,#c4efd9);display:flex;height:100%;justify-content:center;width:100%}.playlist-screen .playlist-header .header-content .playlist-info .type{font-size:12px;font-weight:700;text-transform:uppercase}.playlist-screen .playlist-header .header-content .playlist-info h1{font-size:48px;font-weight:800;letter-spacing:-1px;margin:4px 0}@media(max-width:768px){.playlist-screen .playlist-header .header-content .playlist-info h1{font-size:24px}}.playlist-screen .playlist-header .header-content .playlist-info .meta{font-size:14px;font-weight:500}.playlist-screen .playlist-header .header-content .playlist-info .meta .owner{font-weight:700}.playlist-screen .playlist-actions{align-items:center;display:flex;justify-content:space-between;padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl)}@media(max-width:768px){.playlist-screen .playlist-actions{padding:16px;padding:var(--spacing-md)}}.playlist-screen .playlist-actions .left-actions,.playlist-screen .playlist-actions .right-actions{align-items:center;display:flex;gap:24px;gap:var(--spacing-lg)}.playlist-screen .playlist-actions .action-icon,.playlist-screen .playlist-actions .shuffle-icon{color:#b3b3b3;color:var(--text-secondary)}.playlist-screen .playlist-actions .play-button{align-items:center;background-color:#1db954;background-color:var(--spotify-green);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 12px #0000004d;display:flex;height:56px;justify-content:center;width:56px}@media(max-width:768px){.playlist-screen .playlist-actions .play-button{height:48px;width:48px}}.playlist-screen .track-list{padding:0 16px;padding:0 var(--spacing-md)}.playlist-screen .empty-playlist{padding:48px 16px;padding:var(--spacing-xxl) var(--spacing-md);text-align:center}.playlist-screen .empty-playlist p{color:#b3b3b3;color:var(--text-secondary);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.playlist-screen .empty-playlist button{background-color:#fff;background-color:var(--text-primary);border-radius:9999px;border-radius:var(--radius-full);color:#000;color:var(--black);font-weight:700;margin:0 auto;padding:10px 24px}.artist-screen{margin-left:-32px;margin-left:calc(var(--spacing-xl)*-1);margin-right:-32px;margin-right:calc(var(--spacing-xl)*-1);margin-top:-32px;margin-top:calc(var(--spacing-xl)*-1)}@media(max-width:768px){.artist-screen{margin-left:-16px;margin-left:calc(var(--spacing-md)*-1);margin-right:-16px;margin-right:calc(var(--spacing-md)*-1);margin-top:-80px;margin-top:calc((var(--spacing-md) + var(--header-height))*-1)}}.artist-screen .artist-header{align-items:flex-end;background-position:50%;background-size:cover;display:flex;height:40vh;min-height:260px;padding:32px;padding:var(--spacing-xl);position:relative}@media(max-width:768px){.artist-screen .artist-header{padding:16px;padding:var(--spacing-md)}}.artist-screen .artist-header .overlay{background:linear-gradient(180deg,#12121200 0,#121212cc);bottom:0;left:0;position:absolute;right:0;top:0}.artist-screen .artist-header .header-content{position:relative;z-index:1}.artist-screen .artist-header .header-content .verified{display:block;font-size:12px;font-weight:500;margin-bottom:8px}.artist-screen .artist-header .header-content h1{font-size:72px;font-weight:800;margin-bottom:16px}@media(max-width:768px){.artist-screen .artist-header .header-content h1{font-size:32px}}.artist-screen .artist-header .header-content .listeners{font-size:14px;font-weight:500}.artist-screen .artist-actions{align-items:center;display:flex;justify-content:space-between;padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl)}@media(max-width:768px){.artist-screen .artist-actions{padding:16px;padding:var(--spacing-md)}}.artist-screen .artist-actions .follow-btn{border:1px solid #b3b3b3;border:1px solid var(--text-secondary);border-radius:4px;border-radius:var(--radius-sm);color:#fff;color:var(--text-primary);font-size:12px;font-weight:700;padding:6px 16px}.artist-screen .artist-actions .action-icon{color:#b3b3b3;color:var(--text-secondary);margin-left:16px;margin-left:var(--spacing-md)}.artist-screen .artist-actions .right-actions{align-items:center;display:flex;gap:24px;gap:var(--spacing-lg);margin-left:auto}.artist-screen .artist-actions .shuffle-icon{color:#b3b3b3;color:var(--text-secondary)}.artist-screen .artist-actions .play-button{align-items:center;background-color:#1db954;background-color:var(--spotify-green);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 12px #0000004d;display:flex;height:56px;justify-content:center;width:56px}@media(max-width:768px){.artist-screen .artist-actions .play-button{height:48px;width:48px}}.artist-screen .artist-content{padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl)}@media(max-width:768px){.artist-screen .artist-content{padding:16px;padding:var(--spacing-md)}}.artist-screen .artist-content h2{font-size:20px;font-weight:700;margin-bottom:16px;margin-bottom:var(--spacing-md)}.settings-screen .settings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-xl)}.settings-screen .settings-header h1{font-size:16px;font-weight:700}.settings-screen .settings-section{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.settings-screen .settings-section h2{font-size:16px;font-weight:700;margin-bottom:16px;margin-bottom:var(--spacing-md)}.settings-screen .settings-section .settings-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 0;padding:var(--spacing-md) 0}.settings-screen .settings-section .settings-item .item-text{display:flex;flex-direction:column;gap:2px}.settings-screen .settings-section .settings-item .item-text .label{font-size:14px;font-weight:500}.settings-screen .settings-section .settings-item .item-text .subtitle{color:#b3b3b3;color:var(--text-secondary);font-size:12px}.settings-screen .settings-section .settings-item .status-text{color:#1db954;color:var(--spotify-green);font-size:14px;font-weight:700}.settings-screen .settings-section .settings-item .toggle-switch{background-color:#535353;border-radius:10px;height:20px;position:relative;transition:background-color .2s;width:40px}.settings-screen .settings-section .settings-item .toggle-switch.active{background-color:#1db954;background-color:var(--spotify-green)}.settings-screen .settings-section .settings-item .toggle-switch.active .toggle-thumb{left:22px}.settings-screen .settings-section .settings-item .toggle-switch .toggle-thumb{background-color:#fff;border-radius:50%;height:16px;left:2px;position:absolute;top:2px;transition:left .2s;width:16px}.settings-screen .logout-btn{align-items:center;border:1px solid #b3b3b3;border:1px solid var(--text-secondary);border-radius:9999px;border-radius:var(--radius-full);display:flex;font-weight:700;justify-content:center;margin-top:32px;margin-top:var(--spacing-xl);padding:16px;padding:var(--spacing-md);width:100%}.library-screen .library-content{padding:32px;padding:var(--spacing-xl)}@media(max-width:768px){.library-screen .library-content{padding:16px;padding:var(--spacing-md)}}.library-screen .library-grid{grid-gap:32px;grid-gap:var(--spacing-xl);display:grid;gap:32px;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}@media(max-width:768px){.library-screen .library-grid{gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}}.library-screen .liked-songs-card{aspect-ratio:1/1;background:linear-gradient(135deg,#450af5,#c4efd9);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;box-shadow:var(--shadow-md);cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;padding:var(--spacing-lg);transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),filter .18s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-md),box-shadow var(--transition-md),filter var(--transition-sm)}.library-screen .liked-songs-card:hover{box-shadow:0 16px 48px #000000a6;box-shadow:var(--shadow-lg);filter:brightness(1.08);transform:translateY(-4px)}.library-screen .liked-songs-card .liked-icon{align-items:center;display:flex;flex:1 1;justify-content:center}.library-screen .liked-songs-card .liked-info .liked-title{color:#fff;color:var(--text-primary);display:block;font-size:18px;font-weight:700;margin-bottom:4px}.library-screen .liked-songs-card .liked-info .liked-count{color:#fffc;font-size:13px}*{-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#121212;background-color:var(--dark-grey);color:#fff;color:var(--text-primary);font-family:Montserrat,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100vh;letter-spacing:-.1px;overflow:hidden;width:100vw}button{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-family:inherit;outline:none;transition:color .18s cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm),transform var(--transition-xs),opacity var(--transition-sm)}button:hover{opacity:.9}button:active{opacity:.8;transform:scale(.94)}button:focus-visible{border-radius:4px;border-radius:var(--radius-sm);outline:2px solid #1db954;outline:2px solid var(--spotify-green);outline-offset:2px}a{color:inherit;text-decoration:none;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color var(--transition-sm)}ul{list-style:none}img{color:#0000;display:block;max-width:100%}.spotify-green{color:#1db954!important;color:var(--spotify-green)!important}.text-secondary{color:#b3b3b3;color:var(--text-secondary)}.text-muted{color:#6a6a6a;color:var(--text-muted)}.scroll-container{overflow-x:hidden;overflow-y:auto}.scroll-container::-webkit-scrollbar{width:12px}.scroll-container::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#ffffff4d;border:3px solid #0000;border-radius:10px}.scroll-container::-webkit-scrollbar-track{background:#0000}.card-hover{transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),background-color .28s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-md),box-shadow var(--transition-md),background-color var(--transition-md)}.card-hover:hover{box-shadow:0 16px 48px #000000a6;box-shadow:var(--shadow-lg);transform:translateY(-4px)}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,#181818 25%,#242424 50%,#181818 75%);background:linear-gradient(90deg,var(--surface-grey) 25%,var(--elevated-grey) 50%,var(--surface-grey) 75%);background-size:200% 100%;border-radius:4px;border-radius:var(--radius-sm)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .4s cubic-bezier(0,0,.2,1) both;animation:fade-in .4s var(--ease-out) both}@keyframes green-pulse{0%,to{box-shadow:0 0 0 0 #1db95440;box-shadow:0 0 0 0 var(--spotify-green-glow)}50%{box-shadow:0 0 0 8px #0000}}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.stagger-9{animation-delay:.45s}.stagger-10{animation-delay:.5s}.stagger-11{animation-delay:.55s}.stagger-12{animation-delay:.6s}.stagger-13{animation-delay:.65s}.stagger-14{animation-delay:.7s}.stagger-15{animation-delay:.75s}.stagger-16{animation-delay:.8s}.stagger-17{animation-delay:.85s}.stagger-18{animation-delay:.9s}.stagger-19{animation-delay:.95s}.stagger-20{animation-delay:1s}
/*# sourceMappingURL=main.1914ed82.css.map*/