:root{color-scheme:light dark;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius: .75rem;--transition: .2s cubic-bezier(.2, 0, 0, 1);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--cover-filter: blur(60px) brightness(.4) saturate(1.2);--success: #22c55e;--warning: #f59e0b;--destructive: #ef4444;--header-height: 72px;--separator-border: 1px solid color-mix(in srgb, var(--border) 25%, transparent)}:root[data-theme=monochrome]{color-scheme:dark;--background: #000;--foreground: #fafafa;--card: #111;--card-foreground: #fafafa;--primary: #fafafa;--primary-foreground: #111;--secondary: #27272a;--secondary-foreground: #fafafa;--muted: #27272a;--muted-foreground: #a1a1aa;--border: #27272a;--input: #27272a;--ring: #fafafa;--highlight: #fff;--highlight-rgb: 255, 255, 255;--active-highlight: var(--highlight);--explicit-badge: #fafafa}:root[data-theme=dark]{color-scheme:dark;--background: #0a0a0a;--foreground: #ededed;--card: #1a1a1a;--card-foreground: #ededed;--primary: #3b82f6;--primary-foreground: #fff;--secondary: #2a2a2a;--secondary-foreground: #ededed;--muted: #2a2a2a;--muted-foreground: #a0a0a0;--border: #2a2a2a;--input: #2a2a2a;--ring: #3b82f6;--highlight: #3b82f6;--highlight-rgb: 59, 130, 246;--active-highlight: #3b82f6;--explicit-badge: #750a0a}:root[data-theme=ocean]{color-scheme:dark;--background: #0c1821;--foreground: #e0f4ff;--card: #1b2838;--card-foreground: #e0f4ff;--primary: #06b6d4;--primary-foreground: #0c1821;--secondary: #1e3a52;--secondary-foreground: #e0f4ff;--muted: #1e3a52;--muted-foreground: #94c5e0;--border: #1e3a52;--input: #1e3a52;--ring: #06b6d4;--highlight: #06b6d4;--highlight-rgb: 6, 182, 212;--active-highlight: #06b6d4;--explicit-badge: #f43f5e}:root[data-theme=purple]{color-scheme:dark;--background: #0f0514;--foreground: #f3e8ff;--card: #1e0a2e;--card-foreground: #f3e8ff;--primary: #a855f7;--primary-foreground: #fff;--secondary: #2d1545;--secondary-foreground: #f3e8ff;--muted: #2d1545;--muted-foreground: #c4b5fd;--border: #2d1545;--input: #2d1545;--ring: #a855f7;--highlight: #a855f7;--highlight-rgb: 168, 85, 247;--active-highlight: #a855f7;--explicit-badge: #ec4899}:root[data-theme=forest]{color-scheme:dark;--background: #0a1409;--foreground: #e8f5e9;--card: #1a2e1a;--card-foreground: #e8f5e9;--primary: #22c55e;--primary-foreground: #0a1409;--secondary: #2d4a2d;--secondary-foreground: #e8f5e9;--muted: #2d4a2d;--muted-foreground: #86efac;--border: #2d4a2d;--input: #2d4a2d;--ring: #22c55e;--highlight: #22c55e;--highlight-rgb: 34, 197, 94;--active-highlight: #22c55e;--explicit-badge: #f59e0b}:root[data-theme=mocha]{color-scheme:dark;--background: #1e1e2e;--foreground: #cdd6f4;--card: #313244;--card-foreground: #9399b2;--primary: #89b4fa;--primary-foreground: #313244;--secondary: #45475a;--secondary-foreground: #9399b2;--muted: #313244;--muted-foreground: #a6adc8;--border: #313244;--input: #45475a;--ring: #89b4fa;--highlight: #89b4fa;--highlight-rgb: #b4befe;--active-highlight: #b4befe;--explicit-badge: #f9e2af}:root[data-theme=machiatto]{color-scheme:dark;--background: #24273a;--foreground: #cad3f5;--card: #363a4f;--card-foreground: #939ab7;--primary: #8aadf4;--primary-foreground: #363a4f;--secondary: #494d64;--secondary-foreground: #6e738d;--muted: #363a4f;--muted-foreground: #a5adcb;--border: #363a4f;--input: #494d64;--ring: #8aadf4;--highlight: #8aadf4;--highlight-rgb: #b7bdf8;--active-highlight: #b7bdf8;--explicit-badge: #eed49f}:root[data-theme=frappe]{color-scheme:dark;--background: #303446;--foreground: #c6d0f5;--card: #414559;--card-foreground: #949cbb;--primary: #8caaee;--primary-foreground: #313244;--secondary: #51576d;--secondary-foreground: #a5adce;--muted: #414559;--muted-foreground: #a5adce;--border: #414559;--input: #45475a;--ring: #8caaee;--highlight: #8caaee;--highlight-rgb: #babbf1;--active-highlight: #babbf1;--explicit-badge: #e5c890}:root[data-theme=latte]{color-scheme:light;--background: #eff1f5;--foreground: #4c4f69;--card: #ccd0da;--card-foreground: #7c7f93;--primary: #1e66f5;--primary-foreground: #ccd0da;--secondary: #bcc0cc;--secondary-foreground: #9ca0b0;--muted: #ccd0da;--muted-foreground: #6c6f85;--border: #ccd0da;--input: #bcc0cc;--ring: #1e66f5;--highlight: #1e66f5;--highlight-rgb: #7287fd;--active-highlight: #7287fd;--explicit-badge: #df8e1d}:root[data-theme=light]{color-scheme:light;--background: #fff;--foreground: #000;--card: #f4f4f5;--card-foreground: #000;--primary: #2563eb;--primary-foreground: #fff;--secondary: #e4e4e7;--secondary-foreground: #000;--muted: #e4e4e7;--muted-foreground: #71717a;--border: #e4e4e7;--input: #e4e4e7;--ring: #2563eb;--highlight: #2563eb;--highlight-rgb: 37, 99, 235;--active-highlight: var(--highlight);--explicit-badge: #f58a8a;--cover-filter: blur(50px) brightness(1.6) opacity(.35)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:10px;-webkit-transition:background var(--transition);transition:background var(--transition)}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}*{scrollbar-width:thin;scrollbar-color:var(--secondary) transparent}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;overflow:hidden}body{background-color:var(--background);color:var(--foreground);font-family:Inter,sans-serif;overflow:hidden;transition:background-color .3s ease,color .3s ease;height:100%;position:fixed;width:100%;max-width:100vw;line-height:1.6;letter-spacing:-.01em}img{max-width:100%;display:block;background-color:var(--muted);border:none}a{color:inherit;text-decoration:none}.text-link{color:var(--primary);text-decoration:underline;cursor:pointer}.text-link:hover{color:var(--highlight)}kbd{background-color:var(--secondary);border:1px solid var(--border);border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-family:Courier New,monospace;box-shadow:0 2px 4px #0000001a}.app-container{display:grid;height:100vh;height:100dvh;width:100%;max-width:100vw;overflow:hidden;grid-template:"header header" auto "sidebar main" 1fr "player player" auto / 190px 1fr}.sidebar{grid-area:sidebar;background-color:var(--background);border-right:1px solid color-mix(in srgb,var(--border) 30%,transparent);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-content{display:flex;flex-direction:column;height:100%;gap:1rem}.sidebar-nav.main{flex:1}.main-content{grid-area:main;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-xl);scroll-behavior:smooth;position:relative;max-width:100%}.main-header,.page{position:relative;z-index:1}#page-background{position:absolute;top:0;left:0;width:100%;height:60vh;min-height:400px;z-index:0;background-size:cover;background-position:center 20%;background-repeat:no-repeat;opacity:0;transition:opacity .5s ease-in-out;-webkit-mask-image:linear-gradient(to bottom,rgb(0,0,0,1) 0%,rgb(0,0,0,.8) 40%,rgb(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000,#000c 40%,#0000);filter:var(--cover-filter);pointer-events:none}#page-background.active{opacity:1}:root[data-theme=light] #page-background{-webkit-mask-image:linear-gradient(to bottom,rgb(0,0,0,1) 0%,rgb(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000,#0000)}.now-playing-bar{grid-area:player;background-color:var(--card);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);padding:var(--spacing-sm) var(--spacing-md);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:var(--spacing-xl);position:relative;z-index:2200;height:var(--player-bar-height-desktop)}.now-playing-bar.loading .progress-container{position:relative}.now-playing-bar.loading .progress-bar{position:relative;overflow:hidden;background:#ffffff1f}.now-playing-bar.loading .progress-bar:before{content:"";position:absolute;top:0;left:-150%;width:150%;height:100%;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--primary) 60%,transparent) 45%,var(--primary) 50%,color-mix(in srgb,var(--primary) 60%,transparent) 55%,transparent 100%);animation:progress-shimmer 2s cubic-bezier(.4,0,.2,1) infinite;box-shadow:0 0 15px var(--primary)}.now-playing-bar.loading .progress-fill{background:var(--primary);opacity:.7}.now-playing-bar.loading #current-time,.now-playing-bar.loading #total-duration{color:var(--muted-foreground)}@keyframes progress-shimmer{0%{left:-100%}to{left:100%}}.header-logo{display:flex;align-items:center;gap:.65rem;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;flex-shrink:0;min-width:140px}.header-logo img{width:28px;height:28px;border-radius:50%}.sidebar-nav ul{list-style:none}.sidebar-nav .nav-item a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);color:var(--muted-foreground);font-weight:500;transition:all var(--transition);cursor:pointer;margin-bottom:.25rem}.sidebar-nav .nav-item a:hover{background-color:var(--secondary);color:var(--foreground)}.sidebar-nav .nav-item a.active{background-color:var(--primary);color:var(--primary-foreground)}.sidebar-nav .nav-item a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.sidebar-nav .nav-item a svg{width:20px;height:20px}#sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:1999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-header{grid-area:header;display:flex;justify-content:flex-start;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background);border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent);z-index:100;position:relative}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto}.header-btn{width:38px;height:38px;border-radius:50%;background-color:var(--secondary);border:1px solid var(--border);color:var(--foreground);display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden;flex-shrink:0}.header-btn:hover{background-color:var(--card);border-color:var(--highlight);transform:scale(1.05)}.header-btn svg{width:20px;height:20px}.header-btn.active{background-color:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.navigation-controls{display:flex;gap:.4rem;align-items:center;flex-shrink:0}.nav-btn{width:36px;height:36px;border-radius:50%;background-color:var(--card);border:none;color:var(--foreground);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;min-width:36px;min-height:36px}.nav-btn:hover{background-color:var(--secondary);transform:scale(1.08)}.nav-btn:active{transform:scale(.95)}.nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.nav-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.hamburger-menu{display:none;background:transparent;border:none;color:var(--foreground);cursor:pointer;padding:.625rem;border-radius:var(--radius);transition:all var(--transition);min-width:44px;min-height:44px;align-items:center;justify-content:center}.hamburger-menu:hover{background-color:var(--secondary);transform:scale(1.05)}.search-bar{position:relative;width:100%;max-width:600px;flex:1 1 auto;margin:0 auto}.search-bar .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);width:18px;height:18px;pointer-events:none;transition:color .2s ease}.search-bar input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background-color:var(--secondary);border:1px solid transparent;border-radius:9999px;color:var(--foreground);font-size:.95rem;transition:all .2s cubic-bezier(.2,0,0,1);line-height:1.5;box-shadow:var(--shadow-sm)}.search-bar input::-moz-placeholder{opacity:.6}.search-bar input::placeholder{opacity:.6}.search-bar input:focus{outline:none;background-color:var(--background);border-color:var(--ring);box-shadow:0 0 0 3px rgb(var(--highlight-rgb),.15);transform:translateY(-1px)}.search-bar:focus-within svg{color:var(--highlight)}body.has-page-background .search-bar input{background-color:var(--background)}.search-history-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:color-mix(in srgb,var(--card) 85%,transparent);border-radius:14px;border:1px solid var(--border);box-shadow:0 18px 40px #0000008c;max-height:260px;overflow-y:auto;padding:.25rem 0;z-index:110;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.search-history-item{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.5rem .9rem;cursor:pointer;font-size:.9rem;color:var(--muted-foreground)}.search-history-item span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.search-history-item>svg{display:none!important}.search-history-item:hover{background:#ffffff0f;color:var(--foreground)}.search-history-empty{padding:.5rem .9rem;font-size:.85rem;color:var(--muted-foreground)}.search-history-delete{display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:.35rem;border-radius:50%;cursor:pointer;color:var(--muted-foreground);opacity:.5;transition:opacity .15s ease,background-color .15s ease,color .15s ease;flex-shrink:0;margin-left:auto;min-width:24px!important;min-height:24px!important;width:24px;height:24px}.search-history-delete svg{display:block!important;position:static!important;left:auto!important;top:auto!important;transform:none!important;pointer-events:auto!important;width:14px;height:14px}.search-history-item:hover .search-history-delete{opacity:1}.search-history-delete:hover{background-color:#ffffff26;color:var(--foreground)}@media(min-width:1024px){.search-bar{max-width:500px}.search-bar input{padding:.65rem .9rem .65rem 2.5rem;font-size:.9rem}}@media(min-width:1440px){.search-bar{max-width:600px}}body.has-page-background .track-item:hover{background-color:var(--track-hover-bg, var(--secondary))}.page{display:none}.page.active{display:block;animation:fadeIn .25s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-spin{animation:spin 1s linear infinite}.yt-chips,.search-tabs,.explore-pill-group,.explore-toggle-group{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:.75rem;scrollbar-width:none;-ms-overflow-style:none;padding:.5rem 0;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}.yt-chips::-webkit-scrollbar,.search-tabs::-webkit-scrollbar,.explore-pill-group::-webkit-scrollbar,.explore-toggle-group::-webkit-scrollbar{display:none}.yt-filter-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.yt-chip,.search-tab,.explore-pill,.explore-toggle{flex:0 0 auto;padding:.45rem .9rem;background:#94a3b82e;border:1px solid transparent;border-radius:8px;color:var(--muted-foreground);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.yt-chip:hover,.search-tab:hover,.explore-pill:hover,.explore-toggle:hover{background:#ffffff29}.yt-chip.active,.search-tab.active,.explore-pill.active,.explore-toggle.active{background:var(--primary);color:var(--primary-foreground)}.library-liked-filter-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;justify-content:flex-end}.library-liked-filter-label{font-size:.85rem;color:var(--muted-foreground);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.liked-select-wrapper{position:relative;display:inline-flex;align-items:center}.liked-custom-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--secondary);color:var(--foreground);border:1px solid var(--border);border-radius:8px;padding:.45rem 2rem .45rem .85rem;font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s}.liked-custom-select:hover{border-color:var(--muted-foreground);background:color-mix(in srgb,var(--secondary) 85%,var(--foreground))}.liked-custom-select:focus{border-color:var(--highlight);box-shadow:0 0 0 2px rgba(var(--highlight-rgb),.15)}.liked-custom-select option{background:var(--card);color:var(--foreground)}.liked-select-icon{position:absolute;right:.6rem;pointer-events:none;color:var(--muted-foreground);transition:color .2s}.liked-select-wrapper:hover .liked-select-icon{color:var(--foreground)}.library-liked-section{display:flex;flex-direction:column;gap:1.5rem}.library-subgroup{margin-bottom:2.5rem}.library-subgroup-title{font-size:1.35rem;font-weight:700;margin-bottom:1.5rem;color:var(--foreground);letter-spacing:-.01em}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.content-section{margin-bottom:var(--spacing-2xl);scroll-margin-top:2rem}.section-title{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-lg);letter-spacing:-.02em;line-height:1.2}.search-tabs{display:flex;gap:.5rem;margin-bottom:var(--spacing-xl);border-bottom:none;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.search-tabs::-webkit-scrollbar{display:none}.search-tab{flex:0 0 auto;padding:.45rem .9rem;background:#94a3b82e;border:1px solid transparent;border-radius:8px;color:var(--muted-foreground);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.search-tab:hover{background:#ffffff29;color:var(--foreground)}.search-tab.active{color:var(--foreground);border-bottom-color:var(--highlight);font-weight:600}.search-tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius) var(--radius) 0 0}.search-tab-content{display:none}.search-tab-content.active{display:block;animation:fadeIn .25s cubic-bezier(.4,0,.2,1)}.card-grid-wrapper{position:relative;display:flex;align-items:center}.card-grid{display:flex;flex-direction:row;gap:var(--spacing-lg);overflow-x:auto;overflow-y:hidden;padding-bottom:1rem;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.card-grid::-webkit-scrollbar{display:none}.card-grid.wrapping{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-xl);overflow-x:visible;overflow-y:visible;width:100%}.card-grid.wrapping .card{min-width:0;max-width:none;width:100%}.card-grid .card{flex:0 0 auto;min-width:180px;max-width:180px}.card-grid-nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--card);border:1px solid var(--border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:all .2s ease;z-index:10;box-shadow:var(--shadow-md)}.card-grid-nav:hover{background:var(--secondary);transform:translateY(-50%) scale(1.1)}.card-grid-nav.visible{opacity:1;pointer-events:auto}.card-grid-nav.prev{left:-20px}.card-grid-nav.next{right:-20px}.card-grid-nav svg{width:20px;height:20px;color:var(--foreground)}.card-grid-nav:disabled{opacity:.3;cursor:not-allowed}.card-grid-nav:disabled:hover{transform:translateY(-50%);background:var(--card)}.card{background-color:var(--card);border:1px solid transparent;border-radius:var(--radius);padding:1rem;transition:all var(--transition);cursor:pointer;position:relative;overflow:hidden}.card:hover{background-color:var(--secondary);border-color:var(--border);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-image-wrapper{position:relative;width:100%;margin-bottom:1rem;overflow:hidden;border-radius:calc(var(--radius) - 2px);box-shadow:var(--shadow-sm)}.card:hover .card-image-wrapper{box-shadow:var(--shadow-md)}.card-like-btn{position:absolute;top:.5rem;right:.5rem;background:#0006!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:50%!important;width:36px!important;height:36px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;opacity:0;transform:scale(.9);transition:all .2s cubic-bezier(.4,0,.2,1)!important;z-index:10;color:#fff!important;border:1px solid rgba(255,255,255,.1)!important}.card:hover .card-like-btn,.card-like-btn.active{opacity:1;transform:scale(1)}.card-like-btn:hover{background:#000000b3!important;transform:scale(1.1)!important;border-color:#ffffff4d!important}.card-like-btn.active{color:#ef4444!important;background:#0009!important}.edit-playlist-btn,.delete-playlist-btn{position:absolute;top:.5rem;background:#0006!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:50%!important;width:36px!important;height:36px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;opacity:0;transform:scale(.9);transition:all .2s cubic-bezier(.4,0,.2,1)!important;z-index:10;color:#fff!important;border:1px solid rgba(255,255,255,.1)!important;cursor:pointer}.edit-playlist-btn{right:.5rem}.delete-playlist-btn{left:.5rem}.card:hover .edit-playlist-btn,.card:hover .delete-playlist-btn{opacity:1;transform:scale(1)}.edit-playlist-btn:hover,.delete-playlist-btn:hover{background:#000000b3!important;transform:scale(1.1)!important}.delete-playlist-btn:hover{color:#ef4444!important;background:#ef444433!important;border-color:#ef444480!important}.card-image{width:100%;aspect-ratio:1/1;background-color:var(--muted);border-radius:calc(var(--radius) - 2px);-o-object-fit:cover;object-fit:cover;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.card:hover .card-image{transform:scale(1.05)}.card-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;overflow:hidden;padding:0}.card-collage img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:0;margin:0}.card-collage.items-3 img:first-child{grid-row:span 2;height:100%}.card-collage.items-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.card.artist .card-image{border-radius:50%}.card-image-wrapper .explicit-badge{position:absolute;top:.5rem;right:.5rem}.card-title{font-weight:600;margin-bottom:.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;letter-spacing:-.01em}.card-subtitle{font-size:.875rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.heart-icon{transition:transform .2s ease,color .2s ease}.like-btn:hover .heart-icon{color:#ef4444}.heart-icon.filled{color:#ef4444;fill:#ef4444}.track-item:hover .like-btn{opacity:1}.like-btn.active .heart-icon{color:#ef4444;fill:#ef4444}.explicit-badge{background-color:var(--secondary);color:var(--muted-foreground);font-size:.6rem;font-weight:700;padding:.15rem .3rem;border-radius:3px;margin-left:.5rem;vertical-align:middle;line-height:1}.track-list{display:flex;flex-direction:column;gap:.125rem;padding-bottom:.5rem}.track-list.grid{display:block;gap:0}.track-list.grid .track-chunk-wrapper{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem 2rem}.track-list.grid .track-item{margin-bottom:0;padding:.5rem;grid-template-columns:48px 1fr auto auto;gap:1rem}.track-list.grid .track-number{width:48px;height:48px}.track-list.grid .track-item-cover{width:48px;height:48px;border-radius:4px}.track-list.grid .track-item-details .title{font-size:1rem;font-weight:600}.track-list.grid .track-item-details .artist{font-size:.85rem}@media(max-width:1100px){.track-list.grid .track-chunk-wrapper{gap:.25rem 1rem}}@media(max-width:850px){.track-list.grid .track-chunk-wrapper{grid-template-columns:1fr;gap:.125rem}.track-list.grid .track-item{grid-template-columns:40px 1fr auto auto;gap:var(--spacing-md)}.track-list.grid .track-number,.track-list.grid .track-item-cover{width:40px;height:40px}}.track-list-header{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);color:var(--muted-foreground);font-size:.9rem;border-bottom:1px solid color-mix(in srgb,var(--border) 20%,transparent);margin-bottom:var(--spacing-xs)}.track-list-header .duration-header{justify-self:flex-end}.track-item{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:var(--spacing-md);padding:.75rem 1rem;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:0;border:1px solid transparent}.track-item:hover{background-color:var(--secondary);transform:scale(1.01);border-color:#ffffff0d;z-index:1;box-shadow:var(--shadow-sm)}.track-item.playing{background-color:color-mix(in srgb,var(--highlight) 15%,transparent);border-left:none;border:1px solid color-mix(in srgb,var(--highlight) 30%,transparent);padding-left:1rem}.track-item:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:var(--radius)}.track-item.playing .track-number,.track-item.playing .track-item-details .title{color:var(--highlight);font-weight:600}.track-item.dragging{opacity:.5;z-index:1000}.track-number{color:var(--muted-foreground);text-align:center;font-size:.9rem;font-variant-numeric:tabular-nums;width:24px;justify-self:center;display:flex;align-items:center;justify-content:center}.track-number.has-cover{width:auto}.track-item:hover .track-number{color:var(--foreground)}.track-item-info{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.track-item-cover{width:40px;height:40px;background-color:var(--muted);border-radius:6px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;transition:transform var(--transition)}.track-item:hover .track-item-cover{transform:scale(1.05)}.track-item-details{min-width:0}.track-item-details .title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;line-height:1.4;margin-bottom:.125rem}.track-item-details .artist{font-size:.875rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.track-item-duration{color:var(--muted-foreground);justify-self:flex-end;font-variant-numeric:tabular-nums}.track-item-actions{justify-self:flex-end;display:flex;align-items:center;min-width:40px;justify-content:flex-end}.track-menu-btn{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:all var(--transition);display:none;align-items:center;justify-content:center;opacity:0;z-index:10;min-width:32px;min-height:32px}.track-menu-btn:hover{transform:scale(1.1)}.track-menu-btn:active{transform:scale(.95)}[data-track-actions-mode=dropdown] .track-menu-btn{display:flex}.track-item:hover .track-menu-btn{opacity:1}.track-menu-btn:hover{background-color:rgb(var(--highlight-rgb),.2);color:var(--foreground)}.track-actions-inline{display:none;gap:.25rem;opacity:.2;transition:opacity var(--transition)}.track-action-btn.active{opacity:1}[data-track-actions-mode=inline] .track-actions-inline{display:flex}.track-item:hover .track-actions-inline{opacity:1}.track-action-btn{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:all var(--transition);display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:32px;min-height:32px}.track-action-btn:hover{background-color:rgb(var(--highlight-rgb),.2);color:var(--foreground);transform:scale(1.1)}.track-action-btn:active{transform:scale(.95)}.detail-header{display:flex;align-items:flex-start;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.detail-header-image{width:200px;height:200px;flex-shrink:0;background-color:var(--muted);border-radius:var(--radius);box-shadow:var(--shadow-lg);transition:all .3s ease-in-out;cursor:pointer;overflow:hidden}.detail-header-image:hover{transform:scale(1.02);box-shadow:var(--shadow-xl)}.detail-header-image.loading{opacity:.3}.detail-header-image.artist{border-radius:50%}.detail-header-info .type{font-weight:600;margin-bottom:.5rem}.detail-header-info .title{font-size:4rem;font-weight:800;line-height:1.1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;word-break:break-word;letter-spacing:-.03em;margin-bottom:.5rem}.detail-header-info .title.long-title{font-size:2.5rem}.detail-header-info .title.very-long-title{font-size:1.75rem}.artist-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:1rem}.artist-tag{background-color:var(--secondary);color:var(--muted-foreground);padding:.15rem .6rem;border-radius:1rem;font-size:.75rem;font-weight:500;text-transform:capitalize}.detail-header-info .meta{color:var(--muted-foreground);margin-top:.75rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;line-height:1.6;font-size:.95rem}.detail-header-info .meta a{color:var(--foreground);text-decoration:none;transition:color var(--transition)}.detail-header-info .meta a:hover{color:var(--highlight)}.detail-header-actions{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap;align-items:center}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.75rem;background-color:var(--primary);color:var(--primary-foreground);border:none;border-radius:9999px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;min-height:44px;letter-spacing:-.01em}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.1)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn-primary svg{flex-shrink:0}.btn-secondary{padding:.75rem 1.75rem;background-color:transparent;border:1px solid var(--border);color:var(--foreground);border-radius:9999px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all var(--transition);min-height:44px;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-secondary:hover{background-color:var(--secondary);border-color:var(--muted-foreground);transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn-secondary.danger{background:#ef4444;color:#fff}.btn-secondary.danger:hover{background:#dc2626}.detail-header-actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:2rem;font-weight:600;font-size:.95rem}.detail-header-actions .btn-secondary:hover{transform:scale(1.05)}.modal-actions .btn-secondary{padding:.875rem 1.75rem;border-radius:2rem;font-weight:600;font-size:.95rem}.settings-layout{display:flex;gap:var(--spacing-2xl);padding-top:var(--spacing-md);animation:fadeIn .4s cubic-bezier(.2,0,0,1)}.settings-nav{display:flex;flex-direction:column;gap:.25rem;width:220px;flex-shrink:0;position:sticky;top:var(--spacing-md);height:-moz-fit-content;height:fit-content}.settings-nav-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.125rem;border-radius:var(--radius);background:transparent;border:none;color:var(--muted-foreground);font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);text-align:left;width:100%;position:relative;overflow:hidden}.settings-nav-item svg{width:18px;height:18px;opacity:.6;transition:transform .2s ease}.settings-nav-item:hover{background-color:var(--secondary);color:var(--foreground);transform:translate(4px)}.settings-nav-item:hover svg{opacity:1;transform:scale(1.1)}.settings-nav-item.active{background-color:var(--primary);color:var(--primary-foreground);font-weight:600;box-shadow:0 4px 15px rgb(var(--highlight-rgb),.25)}.settings-nav-item.active svg{opacity:1}.settings-content{flex:1;max-width:800px;padding-bottom:5rem}.settings-section{display:none;animation:sectionIn .35s cubic-bezier(.16,1,.3,1)}@keyframes sectionIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.settings-section.active{display:block}.settings-group{background-color:color-mix(in srgb,var(--card) 40%,transparent);border:1px solid color-mix(in srgb,var(--border) 40%,transparent);border-radius:var(--radius);padding:0 1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.setting-item{display:flex;justify-content:space-between;padding:1.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 25%,transparent);gap:2rem;align-items:center}.setting-item:last-child{border-bottom:none}.setting-item .info{flex:1;min-width:0}.setting-item .label{display:block;font-weight:600;font-size:1.05rem;margin-bottom:.25rem;color:var(--foreground)}.setting-item .description{display:block;font-size:.9rem;color:var(--muted-foreground);line-height:1.5}.setting-item select,.setting-item input[type=text],.setting-item input[type=number]{background-color:var(--secondary);border:1px solid var(--border);color:var(--foreground);padding:.6rem 1rem;border-radius:calc(var(--radius) / 1.5);font-family:inherit;font-size:.9rem;transition:all .2s ease;min-width:140px}.setting-item select:focus,.setting-item input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgb(var(--highlight-rgb),.1)}@media(max-width:768px){.settings-layout{flex-direction:column;gap:0;margin:0;width:100%;position:relative}.settings-nav{display:flex;flex-direction:column;width:100%;gap:.75rem;padding:1.5rem var(--spacing-md);background:transparent;position:static;border-bottom:none;box-shadow:none;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease}.settings-layout.section-open .settings-nav{display:none}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-item{white-space:nowrap;width:100%;padding:1.125rem 1.25rem;font-size:1rem;border-radius:var(--radius);background-color:var(--secondary);color:var(--foreground);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;transform:none!important;box-shadow:var(--shadow-sm)}.settings-nav-item:after{content:"";width:7px;height:7px;border-top:2px solid var(--muted-foreground);border-right:2px solid var(--muted-foreground);transform:rotate(45deg);opacity:.5}.settings-nav-item.active{background-color:var(--secondary);color:var(--foreground);border-color:var(--border);box-shadow:var(--shadow-sm)}.settings-nav-item svg{width:20px;height:20px;opacity:1;color:var(--primary)}.settings-content{padding:0;display:none;animation:slideInFromRight .35s cubic-bezier(.16,1,.3,1)}.settings-layout.section-open .settings-content{display:block;padding:1.5rem var(--spacing-md) 6rem}@keyframes slideInFromRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.settings-mobile-header{display:flex!important;align-items:center;gap:1rem;margin-bottom:2rem;padding:.5rem 0 1rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--background);z-index:10;margin-top:-.5rem}.settings-back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem .5rem .5rem;border-radius:100px;background-color:var(--secondary);border:1px solid var(--border);color:var(--foreground);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.settings-back-btn:active{transform:scale(.95);background-color:var(--muted)}.settings-mobile-title{font-size:1.25rem;font-weight:700;margin:0}.settings-content h3:not(.settings-mobile-title){display:none}.settings-group{background:transparent;border:none;padding:0;box-shadow:none;margin-bottom:3rem}.setting-item{padding:1.5rem 0;flex-direction:column;align-items:stretch;gap:1.25rem;border-bottom:1px solid var(--border)}.setting-item:last-child{border-bottom:1px solid var(--border)}.setting-item .info{display:flex;flex-direction:column;gap:.25rem}.setting-item .label{font-size:1.1rem;font-weight:600;margin-bottom:0}.setting-item .description{font-size:.85rem;color:var(--muted-foreground);line-height:1.4}.setting-item select,.setting-item input[type=text],.setting-item input[type=number],.setting-item input[type=color]{width:100%!important;max-width:none!important;height:52px;background-color:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);padding:0 1.25rem;font-size:16px;color:var(--foreground)}.setting-item .btn-secondary{width:100%!important;max-width:none!important;height:52px;padding:0 1.25rem}.setting-item .toggle-switch{align-self:flex-start;margin-top:.25rem}.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;width:100%}.theme-option{width:100%!important;margin:0!important}}.setting-item .info{display:flex;flex-direction:column}.setting-item .label{font-weight:600;margin-bottom:.25rem;letter-spacing:-.01em}.setting-item .description{font-size:.875rem;color:var(--muted-foreground);line-height:1.5}.setting-item select,.setting-item input[type=number]{background-color:var(--input);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem}.setting-item input[type=number]{width:100px}.template-input{width:100%;max-width:400px;padding:.75rem;background-color:var(--input);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);font-size:.9rem;font-family:inherit;transition:all var(--transition);line-height:1.5}.template-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px rgb(var(--highlight-rgb, 59, 130, 246),.1);transform:translateY(-1px)}.template-input::-moz-placeholder{opacity:.6}.template-input::placeholder{opacity:.6}.toggle-switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.toggle-switch:focus-within .slider{outline:2px solid var(--ring);outline-offset:2px;border-radius:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--secondary);transition:.3s cubic-bezier(.4,0,.2,1);border-radius:26px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:var(--foreground);transition:.3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translate(18px);background-color:var(--primary-foreground)}.track-info{display:flex;align-items:center;gap:1rem;min-width:0}.track-info .cover{width:64px;height:64px;border-radius:8px;background-color:var(--muted);-o-object-fit:cover;object-fit:cover;flex-shrink:0;transition:transform var(--transition);box-shadow:var(--shadow-sm)}.track-info .cover:hover{transform:scale(1.05)}.track-info .details{min-width:0}.track-info .details .title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color var(--transition);line-height:1.4;margin-bottom:.125rem}.track-info .details .title:hover{color:var(--highlight);text-decoration:underline}.track-info .details .artist{font-size:.8rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition);line-height:1.5}.track-info .details .artist:hover{color:var(--muted-foreground)}.track-info .details .album-link{cursor:pointer;font-size:.75rem;color:var(--muted-foreground);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .1s ease,-webkit-text-decoration .1s ease;transition:color .1s ease,text-decoration .1s ease;transition:color .1s ease,text-decoration .1s ease,-webkit-text-decoration .1s ease}.track-info .details .album-link:hover{color:var(--highlight);text-decoration:underline}.artist-link{cursor:pointer;transition:color .1s ease}.artist-link:hover{color:var(--highlight);text-decoration:underline}.player-controls{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.player-controls.waveform-loaded{gap:.1rem;margin-bottom:-.4rem}.player-controls .buttons{display:flex;align-items:center;gap:var(--spacing-md)}.player-controls .buttons button{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;position:relative;-webkit-tap-highlight-color:transparent;min-width:36px;min-height:36px}@media(hover:hover){.player-controls .buttons button:hover{color:var(--foreground);background-color:var(--secondary)}}.player-controls .buttons button:active{color:var(--foreground);background-color:var(--secondary)}.player-controls .buttons button.active{color:var(--active-highlight)}.player-controls .buttons button#repeat-btn.repeat-one:after{content:"1";position:absolute;font-size:.5rem;font-weight:700}.player-controls .buttons .play-pause-btn{background-color:var(--primary);color:var(--primary-foreground);width:44px;height:44px;min-width:44px;min-height:44px;box-shadow:0 4px 12px rgb(var(--highlight-rgb),.3),0 2px 4px #0003;transition:all .2s cubic-bezier(.4,0,.2,1)}@media(hover:hover){.player-controls .buttons .play-pause-btn:hover{transform:scale(1.05);background-color:var(--primary);color:var(--primary-foreground)}}.player-controls .buttons .play-pause-btn:active{transform:scale(.95);background-color:var(--primary);color:var(--primary-foreground)}.player-controls .progress-container{width:100%;max-width:500px;display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--muted-foreground)}.player-controls .progress-container span{min-width:40px;font-variant-numeric:tabular-nums;flex-shrink:0}#current-time{text-align:right}.progress-bar,.volume-bar{position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.progress-bar{flex-grow:1;height:6px;background-color:var(--secondary);border-radius:3px;transition:height var(--transition)}.progress-bar:hover{height:10px}.progress-bar .buffer-fill{position:absolute;width:0;height:100%;background-color:#fff3;border-radius:3px;pointer-events:none;z-index:1}.progress-bar .progress-fill{width:0;height:100%;background-color:var(--muted-foreground);border-radius:3px;transition:background-color .2s ease;position:relative;pointer-events:none;z-index:2}.progress-bar:hover .progress-fill{background-color:var(--highlight)}.progress-bar:hover .progress-fill:after,.progress-bar:active .progress-fill:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background-color:var(--highlight);border-radius:50%;box-shadow:0 2px 4px #0000004d}.progress-bar.has-waveform.waveform-loaded{height:28px}.progress-bar.has-waveform.waveform-loaded .progress-fill{background-color:var(--primary)}.progress-bar.has-waveform.waveform-loaded .progress-fill:after{display:none}#waveform-canvas{display:none}.volume-controls{display:flex;justify-content:flex-end;align-items:center;gap:.75rem}.volume-controls button{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;transition:all var(--transition);padding:.375rem;width:32px;height:32px;min-width:32px;min-height:32px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.volume-controls button:hover{transform:scale(1.1)}.volume-controls button:active{transform:scale(.95)}@media(hover:hover){.volume-controls button:hover{color:var(--foreground);background-color:var(--secondary)}}.volume-controls button:active{color:var(--foreground);background-color:var(--secondary)}.volume-controls .volume-bar{width:100px;height:4px;background-color:var(--secondary);border-radius:2px;transition:height var(--transition)}.volume-controls .volume-bar:hover{height:8px}.volume-controls .volume-bar .volume-fill{width:var(--volume-level, 70%);height:100%;background-color:var(--muted-foreground);border-radius:2px;transition:background-color .2s ease;position:relative;pointer-events:none}.volume-controls .volume-bar:hover .volume-fill{background-color:var(--highlight)}.volume-controls .volume-bar:hover .volume-fill:after,.volume-controls .volume-bar:active .volume-fill:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background-color:var(--highlight);border-radius:50%;box-shadow:0 2px 4px #0000004d}#sleep-timer-btn{position:relative;font-size:.8rem;font-weight:700;transition:all var(--transition)}#sleep-timer-btn:hover{color:var(--highlight)}#sleep-timer-btn.active{color:var(--primary);text-shadow:0 0 8px rgb(var(--highlight-rgb),.5)}#sleep-timer-btn svg{width:20px;height:20px}#sleep-timer-btn span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}#context-menu{display:none;position:fixed;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;box-shadow:var(--shadow-lg);z-index:3000;min-width:160px}#context-menu ul{list-style:none}#context-menu li{padding:.5rem .75rem;cursor:pointer;border-radius:4px;transition:background-color var(--transition);font-size:.9rem}#context-menu li:hover{background-color:var(--secondary)}#queue-modal-overlay{display:none;position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3000;justify-content:center;align-items:center;animation:fadeIn .2s cubic-bezier(.4,0,.2,1)}#queue-modal{background-color:var(--card);width:90%;max-width:500px;max-height:80vh;border-radius:var(--radius);display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:scaleIn .2s cubic-bezier(.4,0,.2,1)}#queue-modal-header{padding:1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}#queue-modal-header h3{margin:0}#queue-modal-header #close-queue-btn{background:transparent;border:none;color:var(--muted-foreground);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all var(--transition)}#queue-modal-header #clear-queue-btn{background-color:transparent}#queue-modal-header #clear-queue-btn:hover,#queue-modal-header #close-queue-btn:hover{background-color:var(--secondary);color:var(--foreground)}#queue-list{overflow-y:auto;padding:.5rem}.queue-track-item{display:grid;grid-template-columns:32px 1fr auto auto auto;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius);cursor:grab;transition:all var(--transition);margin-bottom:2px}.queue-track-item .queue-like-btn{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:all var(--transition);display:flex;align-items:center;justify-content:center;opacity:.2}.queue-track-item:hover .queue-like-btn{opacity:1}.queue-track-item .queue-like-btn:hover{background-color:rgb(var(--highlight-rgb),.2);color:var(--foreground)}.queue-track-item .queue-like-btn.active{color:#ef4444}.queue-track-item .queue-like-btn.active svg{fill:#ef4444;color:#ef4444}.queue-track-item:active{cursor:grabbing}.queue-track-item:hover{background-color:var(--secondary)}.queue-track-item.playing{background-color:rgb(var(--highlight-rgb),.15);border-left:3px solid var(--highlight);padding-left:calc(var(--spacing-sm) - 3px)}.queue-track-item .drag-handle{color:var(--muted-foreground);display:flex;align-items:center;justify-content:center;cursor:grab}.queue-track-item .queue-remove-btn{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:all var(--transition);display:flex;align-items:center;color:var(--foreground);justify-content:center;flex-shrink:0;opacity:.2}.queue-track-item:hover .queue-remove-btn{opacity:1}.queue-track-item .queue-remove-btn:hover{background-color:var(--background);color:var(--foreground)}.queue-track-item .queue-remove-btn svg{width:20px;height:20px}.queue-lazy-notice{padding:.75rem 1rem;font-size:.85rem;color:var(--muted-foreground);text-align:center;background-color:var(--secondary);border-radius:var(--radius);margin-bottom:.5rem}.queue-load-more{padding:1rem;text-align:center}.queue-load-more button{width:100%;padding:.75rem;font-size:.9rem}.queue-info{padding:.5rem 1rem;font-size:.85rem;color:var(--muted-foreground);border-bottom:1px solid var(--border);margin-bottom:.5rem}.queue-count{font-weight:500}.placeholder-text{padding:3rem 1rem;color:var(--muted-foreground);text-align:center;line-height:1.6;font-size:1rem}.placeholder-text.loading{animation:pulse 1.5s infinite ease-in-out}.skeleton{position:relative;overflow:hidden;background-color:var(--secondary);border-radius:var(--radius)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0 0,#ffffff08 20%,#ffffff14,#ffffff08 80%,#fff0);animation:skeleton-shimmer 1.5s infinite}.skeleton-track{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);margin-bottom:2px}.skeleton-track-number{width:24px;height:20px;margin:0 auto}.skeleton-track-info{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.skeleton-track-cover{width:40px;height:40px;flex-shrink:0;border-radius:4px}.skeleton-track-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.skeleton-track-title{height:16px;width:60%;max-width:200px}.skeleton-track-artist{height:14px;width:40%;max-width:150px}.skeleton-track-duration{width:40px;height:14px}.skeleton-card{background-color:var(--card);border-radius:var(--radius);padding:var(--spacing-md);flex:0 0 auto;min-width:180px;max-width:180px}.skeleton-card-image{width:100%;aspect-ratio:1/1;margin-bottom:var(--spacing-md);border-radius:calc(var(--radius) - 4px)}.skeleton-card.artist .skeleton-card-image{border-radius:50%}.skeleton-card-title{height:18px;width:80%;margin-bottom:var(--spacing-xs)}.skeleton-card-subtitle{height:14px;width:60%}.skeleton-container{width:100%}#api-instance-list{list-style:none;margin-top:1rem;padding:0;display:flex;flex-direction:column;gap:2px}#api-instance-list .group-header{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);padding:1rem 0 .5rem .5rem;pointer-events:none}#api-instance-list li.server-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:color-mix(in srgb,var(--secondary) 40%,transparent);border-radius:calc(var(--radius) / 2);transition:all .2s ease;border:1px solid transparent}#api-instance-list li.server-item:hover{background-color:var(--secondary);border-color:var(--border)}#api-instance-list .server-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}#api-instance-list .instance-url{font-weight:500;font-size:.9rem;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#api-instance-list .speed-status{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:4px;background-color:var(--muted)}#api-instance-list .speed-status.good{color:var(--success);background-color:color-mix(in srgb,var(--success) 10%,transparent)}#api-instance-list .speed-status.warning{color:var(--warning);background-color:color-mix(in srgb,var(--warning) 10%,transparent)}#api-instance-list .speed-status.poor{color:var(--destructive);background-color:color-mix(in srgb,var(--destructive) 10%,transparent)}#api-instance-list .speed-status.error{color:var(--destructive)}#api-instance-list .speed-status.missing{color:var(--muted-foreground)}#api-instance-list .controls{display:flex;gap:.25rem}#api-instance-list .controls button{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}#api-instance-list .controls button:hover:not(:disabled){color:var(--foreground);background-color:var(--muted)}#api-instance-list .controls button:disabled{opacity:.2;cursor:not-allowed}.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}.theme-option{padding:1rem;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);text-align:center;font-weight:500}.theme-option:hover{border-color:var(--highlight);background-color:var(--secondary)}.theme-option.active{border-color:var(--primary);background-color:var(--primary);color:var(--primary-foreground)}.custom-theme-editor{margin-top:1rem;padding:1rem;background-color:var(--secondary);border-radius:var(--radius);display:none}.custom-theme-editor.show{display:block}.theme-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.theme-color-input{display:flex;flex-direction:column;gap:.5rem}.theme-color-input label{font-size:.9rem;color:var(--muted-foreground)}.theme-color-input input[type=color]{width:100%;height:40px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.theme-actions{display:flex;gap:1rem;margin-top:1rem}.about-content{padding:1rem 0;max-width:800px;line-height:1.7}.about-description{color:var(--foreground);line-height:1.7;margin-bottom:2rem;font-size:1.05rem}.about-features,.about-tech{margin-bottom:1.5rem}.about-features h4,.about-tech h4{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--foreground)}.about-features ul{list-style:none;padding:0}.about-features li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--foreground);line-height:1.5}.about-features li:before{content:"✓";position:absolute;left:0;color:var(--highlight);font-weight:700}.about-tech p{color:var(--muted-foreground);font-family:inherit;font-size:.9rem}.about-links{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.github-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);font-weight:500;transition:all var(--transition)}.github-link:hover{background-color:var(--secondary);border-color:var(--highlight);transform:translateY(-2px)}.github-link svg{flex-shrink:0}.about-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.about-footer p{margin:.5rem 0;font-size:.9rem}.about-footer .version{color:var(--foreground);font-weight:600}.about-footer .license{color:var(--muted-foreground)}.about-footer .disclaimer{color:var(--muted-foreground);font-size:.8rem;font-style:italic;margin-top:1rem;padding:.75rem;background-color:var(--secondary);border-radius:var(--radius);border-left:3px solid var(--muted-foreground)}#download-notifications{display:flex;flex-direction:column;gap:.5rem}#downloads-sidebar-btn{position:relative}#downloads-sidebar-btn.downloading{color:var(--highlight)}#downloads-sidebar-btn.downloading:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;background-color:var(--highlight);border-radius:50%;animation:pulse 2s infinite}.download-task{background:color-mix(in srgb,var(--secondary) 60%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem;animation:slideIn .25s ease;transition:opacity .25s ease,transform .25s ease}.download-status-msg{background:color-mix(in srgb,var(--secondary) 40%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.download-cancel:hover{background:var(--secondary)!important;color:var(--foreground)!important}#lastfm-controls{display:flex;align-items:center;gap:.5rem}.desktop-only{display:flex}#cast-btn{position:relative}#cast-btn.available{color:var(--highlight)}#cast-btn.available:before{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;background-color:var(--highlight);border-radius:50%;animation:pulse 2s infinite}#cast-btn.connected{color:#10b981}#cast-btn.connected:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;background-color:#10b981;border-radius:50%}#download-current-btn:disabled{opacity:.5;cursor:not-allowed}.template-guide{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}.template-guide th,.template-guide td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.template-guide th{font-weight:600;background-color:var(--secondary)}.template-guide code{background-color:var(--secondary);padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.85em}.offline-notification,.update-notification,.install-prompt{position:fixed;bottom:130px;right:20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-lg);z-index:10000;display:flex;align-items:center;gap:1rem;max-width:350px;animation:slideIn .3s ease}.offline-notification svg{flex-shrink:0;color:#f59e0b}.update-notification,.install-prompt{flex-direction:column;align-items:stretch}.update-notification button:disabled{opacity:.7;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.close-shortcuts{background:transparent;border:none;color:var(--muted-foreground);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all var(--transition)}.shortcuts-content{padding:1rem}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid var(--border);gap:1rem}.shortcut-item kbd{flex-shrink:0}.shortcut-item span{text-align:right}#playlist-detail-description,#mix-detail-description{color:var(--foreground);font-size:.9rem}#playlist-detail-tracklist{display:flex;flex-direction:column;gap:2px}#playlist-detail-tracklist .track-list-header{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);color:var(--muted-foreground);font-size:.9rem;border-bottom:1px solid color-mix(in srgb,var(--border) 20%,transparent);margin-bottom:var(--spacing-xs)}#playlist-detail-tracklist .track-list-header .duration-header{justify-self:flex-end}@supports (padding-top: env(safe-area-inset-top)){.now-playing-bar{padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom))}.main-content,.sidebar{padding-top:max(var(--spacing-md),env(safe-area-inset-top))}@media(max-width:768px){.main-header{padding-top:max(.75rem,env(safe-area-inset-top));padding-left:max(var(--spacing-md),env(safe-area-inset-left));padding-right:max(var(--spacing-md),env(safe-area-inset-right))}.now-playing-bar{padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom));padding-left:max(var(--spacing-md),env(safe-area-inset-left));padding-right:max(var(--spacing-md),env(safe-area-inset-right))}.sidebar{padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}.main-content{padding-left:max(var(--spacing-md),env(safe-area-inset-left));padding-right:max(var(--spacing-md),env(safe-area-inset-right))}}}:root{--player-bar-height-desktop: 90px;--player-bar-height-mobile: 84px}.side-panel{position:fixed;right:0;top:0;bottom:var(--player-bar-height-desktop);width:600px;max-width:50vw;z-index:2600;display:flex;flex-direction:column;transform:translate(100%);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;box-shadow:none;backdrop-filter:blur(50px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);background-color:color-mix(in srgb,var(--card) 65%,transparent);border-left:1px solid color-mix(in srgb,var(--white-rgb, 255, 255, 255) 8%,transparent)}.side-panel.active{transform:translate(0);box-shadow:var(--shadow-xl)}.panel-header{padding:1.25rem 1.5rem;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:transparent}.panel-header h3{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.panel-controls{display:flex;gap:.75rem;align-items:center}.panel-content{flex:1;overflow-y:auto;padding:2rem 1.5rem;scroll-behavior:smooth;scroll-padding-top:2rem;scroll-padding-bottom:2rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.lyrics-panel .panel-content{padding:2.5rem 2rem;max-width:800px;margin:0 auto;width:100%;font-size:1.3rem;line-height:1.85}.lyrics-panel .panel-content>*{max-width:100%}.panel-content::-webkit-scrollbar{width:8px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background-color:var(--muted);border-radius:4px}.panel-content::-webkit-scrollbar-thumb:hover{background-color:var(--secondary)}.btn-icon{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:.625rem;border-radius:var(--radius);transition:all var(--transition);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px}.btn-icon:hover{background:var(--secondary);color:var(--foreground);transform:scale(1.05)}.btn-icon:active{transform:scale(.95)}.btn-icon:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.lyrics-panel,.queue-panel{display:flex}.lyrics-panel{--lyrics-line-spacing: .75rem}.lyrics-panel am-lyrics{padding:0;margin:0;display:block;width:100%;min-height:400px}.synced-line{font-size:1.4rem;line-height:1.9;color:var(--muted-foreground);opacity:.4;transform:scale(.96);filter:blur(.5px);transition:all .5s cubic-bezier(.4,0,.2,1);cursor:pointer;border-radius:var(--radius);padding:.75rem .5rem;margin:.25rem -.5rem}.synced-line:hover{background-color:color-mix(in srgb,var(--secondary) 50%,transparent);opacity:.7}.synced-line.active{color:var(--highlight);font-weight:700;font-size:1.375rem;opacity:1;transform:scale(1);filter:blur(0);text-shadow:0 0 24px rgb(var(--highlight-rgb, 59, 130, 246),.4);background-color:color-mix(in srgb,var(--highlight) 15%,transparent);padding-left:1rem;padding-right:1rem;margin-left:-1rem;margin-right:-1rem}.synced-line.upcoming{opacity:.65;transform:scale(.98);filter:blur(.2px)}.synced-line.past{opacity:.25;transform:scale(.94);filter:blur(.8px)}.lyrics-loading,.lyrics-error{text-align:center;padding:4rem 2rem;color:var(--muted-foreground);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.lyrics-loading{font-size:1.1rem;font-weight:500}.lyrics-loading:before{content:"";width:40px;height:40px;border:3px solid var(--secondary);border-top-color:var(--highlight);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:.5rem}.lyrics-error{font-size:1rem;line-height:1.6}.lyrics-error:before{content:"⚠";font-size:3rem;opacity:.5;margin-bottom:.5rem}.card.compact{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.5rem;min-height:60px}.card.compact .card-image-wrapper{width:48px;height:48px;margin-bottom:0;flex-shrink:0}.card.artist.compact .card-image-wrapper{width:40px;height:40px}.card.compact .card-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.card.compact .card-title{margin:0;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card.compact .card-subtitle{margin:0;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted-foreground)}.card.compact .card-play-btn{right:.5rem;top:25%;width:36px!important;height:36px!important;background-color:var(--primary)!important;color:var(--primary-foreground)!important;box-shadow:var(--shadow-md);transition:opacity .2s ease}.card.compact .card-like-btn{width:24px!important;height:24px!important;top:0;right:0}.card.compact:hover .card-like-btn{opacity:1}.card.compact.user-playlist .edit-playlist-btn,.card.compact.user-playlist .delete-playlist-btn{display:none!important}.now-playing-bar .cover{cursor:pointer;transition:all var(--transition);position:relative}.now-playing-bar .cover:hover{transform:scale(1.05)}.now-playing-bar .cover:after{content:"🎵";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;opacity:0;transition:opacity var(--transition);font-size:1.5rem}.now-playing-bar .cover:hover:after{opacity:1}.now-playing-bar .artist .artist-link{cursor:pointer;transition:color var(--transition)}.now-playing-bar .artist .artist-link:hover{color:var(--highlight);text-decoration:underline}.volume-controls{flex-direction:column!important;align-items:flex-end!important;gap:.5rem!important;justify-content:center!important}.player-actions-row,.volume-slider-row{display:flex;align-items:center;gap:.75rem}.player-actions-row button,.volume-slider-row button{display:flex;align-items:center;justify-content:center}img:not([src]),img[src=""]{content:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);background-color:var(--muted)}.card-play-btn{position:absolute;bottom:2%;right:2%;background:var(--highlight)!important;border-radius:50%!important;width:42px!important;height:42px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:all .2s cubic-bezier(.4,0,.2,1)!important;z-index:20;color:var(--background)!important;border:none!important;box-shadow:var(--shadow-md)}.card:hover .card-play-btn{opacity:1;transform:translateY(0)}.card:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius)}.card-play-btn:hover{transform:scale(1.1) translateY(0)!important;box-shadow:var(--shadow-lg);filter:brightness(1.1)}.firebase-settings-wrapper{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:400px}.custom-firebase-config{display:none;flex-direction:column;gap:.5rem;margin-top:.5rem;width:100%}.custom-firebase-config.visible{display:flex}.config-help-text{font-size:.8rem;opacity:.7;margin-bottom:.25rem}.firebase-controls-container{display:flex;gap:.5rem;width:100%}#toggle-firebase-config-btn{width:-moz-fit-content;width:fit-content}.account-content{padding:1rem 0}.account-content .search-bar{display:flex;align-items:center;width:80%;max-width:100%}.fullscreen-lyrics-toggle{position:absolute;top:1rem;right:4rem;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;padding:.875rem;border-radius:50%;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:44px;min-height:44px;width:44px;height:44px;box-shadow:0 4px 12px #0000004d}.fullscreen-lyrics-toggle:hover{background:#000c;transform:scale(1.1);box-shadow:0 6px 16px #0006}.fullscreen-lyrics-toggle:active{transform:scale(.95)}.fullscreen-lyrics-toggle.active{background:var(--primary);box-shadow:0 0 20px rgb(var(--highlight-rgb, 59, 130, 246),.5)}.fullscreen-lyrics-toggle:focus-visible{outline:2px solid white;outline-offset:2px}.modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center}.modal.active{display:flex}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:-1}.modal-content{background:var(--card);padding:2rem;border:1px solid var(--border);border-radius:calc(var(--radius) + .25rem);max-width:400px;width:90%;box-shadow:var(--shadow-xl);animation:scaleIn .2s ease;max-height:90vh;overflow-y:auto;line-height:1.6}.modal-content.wide{max-width:600px}.modal-content.medium{max-width:500px}.modal-list{margin:1rem 0;max-height:200px;overflow-y:auto}.modal-option{padding:.75rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .2s ease;display:flex;justify-content:space-between;align-items:center}.modal-option:hover{background:var(--secondary)}.modal-option.already-contains{opacity:.6;cursor:default}.modal-option.already-contains:hover{background:transparent}.modal-option .checkmark{color:var(--highlight);flex-shrink:0}.modal-option:last-child{border-bottom:none}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap}.timer-options{display:flex;flex-direction:column;gap:.5rem}.timer-option{text-align:center}.shortcuts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.shortcuts-header h3{margin:0;font-size:1.5rem;font-weight:700}.close-shortcuts{background:transparent;border:none;color:var(--muted-foreground);font-size:1.75rem;cursor:pointer;line-height:1;padding:.25rem;border-radius:var(--radius);transition:all .2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.close-shortcuts:hover{background:var(--secondary);color:var(--foreground)}.shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.95rem}.shortcut-item:last-child{border-bottom:none}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}#playlist-modal{opacity:1;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:.1s}@keyframes fadeInOpacity{0%{opacity:0}to{opacity:1}}.csv-import-progress{position:fixed;bottom:20px;right:20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-xl);z-index:10001;max-width:400px;min-width:350px;animation:slideIn .3s ease}.csv-import-progress .progress-header{margin-bottom:1rem}.csv-import-progress .progress-header h4{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--foreground)}.csv-import-progress .progress-warning{font-size:.85rem;color:var(--muted-foreground);line-height:1.4}.csv-import-progress .progress-content{display:flex;flex-direction:column;gap:.75rem}.csv-import-progress .current-track{font-size:.9rem;color:var(--foreground);font-weight:500;min-height:1.2rem}.csv-import-progress .progress-bar{width:100%;height:8px;background:var(--secondary);border-radius:4px;overflow:hidden;position:relative}.csv-import-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--highlight));border-radius:4px;width:0%;transition:width .3s ease;position:relative}.csv-import-progress .progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgb(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.csv-import-progress .progress-text{font-size:.85rem;color:var(--muted-foreground);text-align:center}.csv-import-progress .progress-text span{font-weight:600;color:var(--foreground)}.missing-tracks-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--border)}.missing-tracks-header h3{margin:0;font-size:1.5rem;font-weight:700;color:var(--foreground);letter-spacing:-.025em}.close-missing-tracks{background:transparent;border:none;color:var(--muted-foreground);font-size:1.5rem;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all var(--transition)}.close-missing-tracks:hover{background:var(--secondary);color:var(--foreground)}.missing-tracks-content{padding:2rem}.missing-tracks-content p{margin-bottom:2rem;line-height:1.7;color:var(--foreground);font-size:1rem;font-weight:400}.missing-tracks-list h4{margin-bottom:1rem;font-size:1.1rem;font-weight:600;color:var(--foreground);letter-spacing:-.01em}.missing-tracks-list ul{list-style:none;padding:0;max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--secondary)}.missing-tracks-list li{padding:.75rem 1.25rem;border-bottom:1px solid var(--border);color:var(--foreground);font-family:Inter,sans-serif;font-size:.95rem;font-weight:400;line-height:1.4}.missing-tracks-list li:last-child{border-bottom:none}.missing-tracks-list li:nth-child(2n){background:#ffffff05}.missing-tracks-actions{padding:1.5rem 2rem 2rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.missing-tracks-actions .btn-secondary{min-width:100px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500}.mobile-only{display:none!important}@media(max-width:768px){.mobile-only{display:flex!important}.desktop-only{display:none!important}#cast-btn{position:absolute!important;bottom:10px!important;right:10px!important;z-index:10!important;background:transparent!important;border:none!important;border-radius:0!important;width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;padding:0!important}#cast-btn:hover{background:transparent!important;transform:none!important}#cast-btn svg{width:20px!important;height:20px!important}.now-playing-bar .player-controls{position:relative!important;padding-bottom:50px!important}.player-controls.waveform-loaded{gap:0}button,a,.track-item,.card{-webkit-tap-highlight-color:rgba(var(--highlight-rgb),.1)}.player-controls,.now-playing-bar,.sidebar-nav{-webkit-user-select:none;-moz-user-select:none;user-select:none}}@media(min-width:1440px){.card-grid .card{min-width:200px;max-width:200px}.card-grid{gap:var(--spacing-xl)}.card-grid-nav{width:44px;height:44px}.card-grid-nav.prev{left:-22px}.card-grid-nav.next{right:-22px}.section-title{font-size:2rem}}@media(min-width:1920px){.card-grid .card{min-width:220px;max-width:220px}.card-grid{gap:var(--spacing-xl)}.main-content{padding:var(--spacing-2xl);max-width:1920px;overflow-x:auto;margin:0 auto}.section-title{font-size:2.25rem}.detail-header-info .title{font-size:4.5rem}.app-container{max-width:2560px;margin:0 auto}}@media(min-width:769px)and (max-width:1024px){.now-playing-bar{grid-template-columns:1fr 2fr auto;padding:var(--spacing-md);gap:var(--spacing-lg)}.volume-controls,.desktop-only{display:flex}.card-grid{gap:var(--spacing-md)}.card-grid .card{min-width:180px;max-width:180px}.main-content{padding:var(--spacing-lg)}.detail-header{gap:var(--spacing-lg)}.detail-header-image{width:180px;height:180px}.section-title{font-size:1.5rem}.btn-primary,.btn-secondary{min-height:44px}.track-item{min-height:60px;padding:.875rem var(--spacing-md)}.track-item-cover{width:44px;height:44px}.sidebar{width:200px}.sidebar-nav .nav-item a{padding:.875rem 1rem}}@media(min-width:1025px){.header-logo,.navigation-controls{margin-right:var(--spacing-sm)}.hamburger-menu{display:none!important}}@media(max-width:1024px){.app-container{grid-template:"header" auto "main" 1fr "player" auto / 1fr}.card-grid{gap:var(--spacing-md)}.card-grid .card{min-width:160px;max-width:160px}.detail-header-info .title{font-size:3rem;line-height:1.1}.detail-header-info .title.long-title{font-size:2rem}.detail-header-info .title.very-long-title{font-size:1.35rem}.main-content{padding:var(--spacing-lg)}.btn-primary,.btn-secondary{min-height:44px}.nav-btn{width:40px;height:40px;min-width:40px;min-height:40px}}@media(max-width:768px){.player-controls .progress-container{order:-1}.fullscreen-cover-content{padding-bottom:env(safe-area-inset-bottom,0px)}.fullscreen-art-wrapper{padding:0 .5rem}.fullscreen-track-info-container,.fullscreen-progress-container,.fullscreen-controls,.fullscreen-bottom-actions{padding-left:1.25rem;padding-right:1.25rem}.app-container{grid-template:"header" auto "main" 1fr "player" auto / 1fr;height:100vh;height:100dvh;max-width:100vw;overflow:hidden}.main-header{padding:var(--spacing-md);gap:var(--spacing-md);flex-wrap:nowrap}.header-logo{display:flex;min-width:auto}.header-logo span{display:none}.header-logo img{width:32px;height:32px}.navigation-controls{display:none!important}.hamburger-menu{display:flex}.search-bar{flex:1;max-width:none}.header-actions{gap:.5rem}.main-content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.card-grid{padding-bottom:1rem}.card-play-btn,.card-like-btn,.edit-playlist-btn,.delete-playlist-btn,.play-btn-overlay{display:none!important}.card-grid-nav{display:none}.modal-content{max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.main-content{padding:var(--spacing-md);padding-bottom:130px;grid-area:main;overflow-x:hidden;max-width:100%}.main-header{grid-area:header;margin-bottom:var(--spacing-md);padding:.75rem var(--spacing-md);margin-left:0;margin-right:0;margin-top:0;max-width:100%}.search-bar{max-width:100%;flex:1}.search-bar input{padding:.875rem .875rem .875rem 2.75rem;font-size:1rem;font-size:max(16px,1rem)}.search-bar .search-icon{width:18px;height:18px}.sidebar{position:fixed;top:0;left:0;height:100%;padding-bottom:130px;transform:translate(-100%);z-index:2000;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.sidebar.is-open{transform:translate(0);box-shadow:0 0 20px #00000080}.hamburger-menu,#sidebar-overlay.is-visible{display:block}.search-bar{max-width:none}.content-section{margin-bottom:var(--spacing-xl)}.section-title{font-size:1.5rem;margin-bottom:var(--spacing-md)}.card-grid{gap:var(--spacing-md)}.card-grid .card{min-width:160px;max-width:160px;display:inline-block}.detail-header{flex-direction:row;gap:var(--spacing-md);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.detail-header-image{width:120px;height:120px}.detail-header-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.detail-header-info .title{font-size:1.5rem;line-height:1.2}.detail-header-info .title.long-title{font-size:1.35rem}.detail-header-info .title.very-long-title{font-size:1.25rem}.detail-header-info .meta{font-size:.85rem;gap:.35rem;margin-top:.25em}.detail-header-actions{width:auto;margin-top:.5em;display:flex;align-items:center;gap:.5rem}.detail-header-actions .btn-primary,.detail-header-actions .btn-secondary{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-header-actions .btn-primary span,.detail-header-actions .btn-secondary span{display:none}.now-playing-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 16px 0 0!important;height:var(--player-bar-height-mobile);position:fixed;bottom:0;left:0;right:0;width:100%;grid-template:none!important;gap:0!important;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:color-mix(in srgb,var(--card) 98%,black);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.now-playing-bar .track-info{flex:1;min-width:0;display:flex;align-items:center;gap:14px;margin-right:8px;padding:10px 0 10px 12px}.track-info .cover{width:52px;height:52px;border-radius:8px;cursor:pointer;flex-shrink:0;box-shadow:0 4px 12px #00000040}.track-info .details{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:2px}.track-info .details .title{font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.track-info .details .artist{font-size:.85rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-info .details .album-link{display:none!important}.now-playing-bar .player-controls{width:auto!important;flex:0 0 auto;padding:0!important;position:static!important}.player-controls .buttons{gap:4px!important;display:flex;align-items:center}#shuffle-btn,#prev-btn,#repeat-btn{display:none!important}.player-controls .buttons button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:transparent;color:var(--foreground);display:flex;align-items:center;justify-content:center}.player-controls .buttons button svg{width:20px;height:20px}.player-controls .buttons .play-pause-btn{width:50px!important;height:50px!important;min-width:50px;min-height:50px;background:var(--foreground);color:var(--background);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 2px}.player-controls .buttons .play-pause-btn svg{width:26px;height:26px;fill:currentColor}.player-controls .buttons #next-btn svg{width:30px;height:30px}.player-controls .progress-container,.now-playing-bar.loading .progress-container{position:absolute;top:-1px;left:0;right:0;width:100%!important;height:3px;z-index:100;padding:0!important;margin:0!important;background:transparent;border-radius:0;pointer-events:none}.progress-container .progress-bar{height:100%!important;border-radius:0!important;background:#80808033}.progress-container .progress-fill{border-radius:0!important}.progress-container .progress-fill:after{display:none!important}#current-time,#total-duration,.now-playing-bar .volume-controls{display:none!important}.track-menu-btn{opacity:1}.about-links{flex-direction:column}.github-link{width:100%;justify-content:center}.setting-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.setting-item .info{width:100%}.template-input{max-width:none;font-size:.85rem}.track-item{grid-template-columns:40px 1fr auto auto;gap:var(--spacing-md);padding:.75rem var(--spacing-sm);min-height:56px}.track-item-info{gap:var(--spacing-sm);min-width:0;overflow:hidden}.track-item-cover{width:40px;height:40px}.track-item-details{min-width:0;overflow:hidden}.track-item-duration{text-align:right;white-space:nowrap}.track-menu-btn{padding:.5rem;margin:0;min-width:40px;min-height:40px}.track-menu-btn svg{width:20px;height:20px}.track-action-btn{padding:.5rem;min-width:44px;min-height:44px}.queue-track-item{grid-template-columns:28px 1fr 40px 40px 40px;gap:var(--spacing-sm);padding:.75rem var(--spacing-sm);min-height:56px}.queue-track-item .drag-handle{width:24px}.queue-track-item .drag-handle svg{width:14px;height:14px}.queue-track-item .track-item-cover{width:36px;height:36px}.queue-track-item .queue-like-btn,.queue-track-item .queue-remove-btn{padding:.5rem;width:40px;height:40px;min-width:40px;min-height:40px}.sidebar-nav .nav-item a{padding:1rem .75rem;min-height:44px}.offline-notification,.update-notification,.install-prompt{left:10px;right:10px;max-width:none;bottom:10px}.side-panel{width:100vw;max-width:100vw;bottom:var(--player-bar-height-mobile)}.synced-line{font-size:1rem;padding:.625rem 0;margin:.125rem 0}.synced-line.active{font-size:1.25rem;padding:.875rem 1rem}.karaoke-title{font-size:1.5rem;line-height:1.3;margin-bottom:.5rem}.karaoke-artist{font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.karaoke-line{font-size:1.25rem;line-height:1.9;padding:.625rem 0}.karaoke-line.active{font-size:1.75rem;line-height:1.8}.panel-content{padding:1.5rem 1rem}.panel-header{padding:1rem 1.25rem}.panel-header h3{font-size:1.1rem}.fullscreen-cover-content{flex-direction:column}.csv-import-progress{bottom:10px;right:10px;left:10px;max-width:none;min-width:0}.missing-tracks-modal{width:95%;max-height:90vh;margin:1rem}.missing-tracks-header,.missing-tracks-content,.missing-tracks-actions{padding-left:1.5rem;padding-right:1.5rem}.missing-tracks-header{padding-top:1.5rem;padding-bottom:1rem}.missing-tracks-content{padding-top:1.5rem;padding-bottom:1.5rem}.missing-tracks-actions{padding-top:1rem;padding-bottom:1.5rem}.missing-tracks-list ul{max-height:250px}.missing-tracks-header h3{font-size:1.25rem}.missing-tracks-content p{font-size:.95rem}.missing-tracks-list li{padding:.625rem 1rem;font-size:.9rem}.mobile-only{display:flex!important}.desktop-only{display:none!important}}@media(max-width:480px){.card-grid{gap:var(--spacing-md);overflow-x:auto;white-space:nowrap}.card-grid .card{min-width:140px;max-width:140px;display:inline-block}.section-title{font-size:1.25rem;margin-bottom:var(--spacing-md)}.detail-header-info .title{font-size:1.25rem}.detail-header-info .title.long-title{font-size:1.1rem}.detail-header-info .title.very-long-title{font-size:.9rem}.search-tab{padding:.75rem var(--spacing-md);font-size:.9rem;min-height:44px}.player-controls .buttons{gap:.5rem}.player-controls .buttons button{width:40px;height:40px;min-width:40px;min-height:40px}.player-controls .buttons button svg{width:20px;height:20px}.player-controls .buttons .play-pause-btn{width:46px;height:46px;min-width:46px;min-height:46px}.player-controls .buttons .play-pause-btn svg{width:24px;height:24px}.volume-controls button{padding:.5rem;min-width:44px;min-height:44px;width:44px;height:44px}.volume-controls button svg{width:20px;height:20px}.track-item{grid-template-columns:36px 1fr 44px auto;gap:.5rem;padding:.75rem var(--spacing-sm);min-height:56px}.track-number{width:36px;font-size:.875rem}.track-item-cover{width:40px;height:40px}.track-item-details .title{font-size:.9rem;line-height:1.4}.track-item-details .artist{font-size:.8rem;line-height:1.5}.track-item-duration{font-size:.8rem}.track-menu-btn{padding:.5rem;min-width:44px;min-height:44px;width:44px;height:44px}.track-menu-btn svg{width:20px;height:20px}.queue-track-item{grid-template-columns:24px 1fr 40px 44px 44px;gap:.5rem;padding:.75rem;min-height:56px}.queue-track-item .drag-handle{width:24px;min-width:24px}.queue-track-item .track-item-cover{width:40px;height:40px}.queue-track-item .queue-like-btn,.queue-track-item .queue-remove-btn{width:44px;height:44px;min-width:44px;min-height:44px;padding:.5rem}[data-track-actions-mode=inline] .track-actions-inline .track-action-btn:not([data-action=play-next]){display:none}.player-actions-row{gap:.5rem}.player-actions-row button{min-width:44px;min-height:44px;width:44px;height:44px}.btn-primary,.btn-secondary{min-height:44px;padding:.75rem 1.5rem}.nav-btn{width:44px;height:44px;min-width:44px;min-height:44px}.hamburger-menu{min-width:44px;min-height:44px;width:44px;height:44px}.card{padding:.875rem}.card-title{font-size:.95rem}.card-subtitle{font-size:.8rem}.modal-content{padding:1.5rem;width:95%}.modal-actions{flex-direction:column-reverse}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%}}@media(max-width:360px){.player-controls .buttons{justify-content:space-between;width:100%;gap:.5rem}#shuffle-btn,#repeat-btn{display:none}.card-grid{gap:var(--spacing-sm);overflow-x:auto;white-space:nowrap}.card-grid .card{min-width:120px;max-width:120px;display:inline-block}.section-title{font-size:1.1rem}.main-content{padding:var(--spacing-sm);padding-bottom:130px;grid-area:main}.modal-content{padding:1.25rem;width:98%}}@media(max-width:768px)and (orientation:landscape){.detail-header{flex-direction:row;gap:var(--spacing-lg)}.detail-header-image{width:140px;height:140px}.detail-header-info .title{font-size:1.75rem}.fullscreen-cover-content{padding-bottom:env(safe-area-inset-bottom,0px)}.fullscreen-main-view{flex-direction:row;align-items:center;gap:1.5rem;padding:0 1rem}.fullscreen-art-wrapper{flex:0 0 40%;max-width:40%;padding:0}#fullscreen-cover-image{max-height:65vh;border-radius:10px}.fullscreen-right-column{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0}.fullscreen-track-info-container{margin-top:0;margin-bottom:.5rem}#fullscreen-track-title{font-size:1.1rem}#fullscreen-track-artist{font-size:.85rem}.fullscreen-progress-container,.fullscreen-controls{margin-bottom:.25rem}.fullscreen-controls .play-pause-btn-large{width:48px;height:48px;min-width:48px;min-height:48px}.fullscreen-controls .play-pause-btn-large svg{width:20px;height:20px}.fullscreen-controls .btn-icon{min-width:36px;min-height:36px;padding:4px}.fullscreen-bottom-actions{padding:0 0 .25rem}.fullscreen-header{min-height:32px;padding-top:.25rem}.now-playing-bar{height:auto;min-height:80px}.card-grid{gap:var(--spacing-md);overflow-x:auto;white-space:nowrap}.card-grid .card{min-width:140px;max-width:140px;display:inline-block}}@media(max-height:450px)and (orientation:landscape){.main-header{padding:.5rem var(--spacing-md)}.section-title{font-size:1.25rem;margin-bottom:var(--spacing-sm)}.detail-header-image{width:100px;height:100px}.now-playing-bar{padding:.5rem var(--spacing-md)}.player-controls .buttons button{width:36px;height:36px;min-width:36px;min-height:36px}.player-controls .buttons .play-pause-btn{width:42px;height:42px;min-width:42px;min-height:42px}}@media(display-mode:window-controls-overlay){.app-container{margin-top:env(titlebar-area-height,0)}.main-header{-webkit-app-region:drag}.main-header *{-webkit-app-region:no-drag}.sidebar{padding-top:max(1.5rem,env(titlebar-area-height,0))}}@media(hover:hover){.card.compact .card-play-btn{opacity:0}.card.compact:hover .card-play-btn{opacity:1}}@media(hover:none){.track-menu-btn,.track-actions-inline,.queue-track-item .queue-remove-btn{opacity:1}.card.compact .card-like-btn{display:none!important}}@media(hover:none)and (pointer:coarse){.main-content{padding:var(--spacing-sm);padding-bottom:130px;grid-area:main}.progress-bar:not(.waveform-loaded),.volume-bar{height:8px}.progress-bar .progress-fill:after,.volume-bar .volume-fill:after{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:20px;height:20px;background-color:var(--highlight);border-radius:50%;box-shadow:0 2px 6px #0000004d}button{min-height:44px;min-width:44px}.track-item{grid-template-columns:36px 1fr 44px auto;padding:.75rem var(--spacing-sm);min-height:56px}.player-controls .buttons button{min-height:44px;min-width:44px}.player-controls .buttons .play-pause-btn{min-height:48px;min-width:48px}.card:hover{transform:none!important}.card-like-btn,.card-play-btn,.edit-playlist-btn,.delete-playlist-btn{display:none!important}.btn-primary,.btn-secondary{min-height:44px}*{-webkit-tap-highlight-color:transparent}.main-content,.panel-content,#queue-list{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}input,select,textarea{font-size:16px!important}button:active,.track-item:active,.card:active{opacity:.7}}@media(max-width:1024px){.player-controls .progress-container{order:-1}}am-lyrics{--footer-display: none;display:block;width:100%;height:100%;font-family:Inter,sans-serif;line-height:1.8}am-lyrics::part(footer),am-lyrics::part(credit){display:none!important}am-lyrics footer,am-lyrics [class*=footer],am-lyrics [class*=credit],am-lyrics [class*=source],am-lyrics a[href*=github],am-lyrics a[target=_blank],am-lyrics .lyrics-footer,am-lyrics .footer-content,am-lyrics .source-info,am-lyrics .version-info{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}am-lyrics [class*=lyric],am-lyrics [class*=line]{transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;padding:.5rem .75rem;margin:.25rem 0;border-radius:.5rem;position:relative;transform-origin:left center;line-height:1.9}am-lyrics [class*=lyric]:hover,am-lyrics [class*=line]:hover{background-color:color-mix(in srgb,var(--secondary) 40%,transparent);transform:translate(4px) scale(1.02)}am-lyrics [class*=active],am-lyrics [class*=highlight]{font-weight:700!important;background:linear-gradient(135deg,color-mix(in srgb,var(--highlight) 40%,transparent),color-mix(in srgb,var(--highlight) 25%,transparent))!important;padding-left:2rem!important;padding-right:1.5rem!important;margin:.75rem .5rem!important;border-radius:1rem!important;transform:translate(16px) scale(1.12)!important;box-shadow:0 8px 32px color-mix(in srgb,var(--highlight) 50%,transparent),0 4px 16px color-mix(in srgb,var(--highlight) 40%,transparent),0 2px 8px color-mix(in srgb,var(--highlight) 30%,transparent),inset 0 2px 4px color-mix(in srgb,var(--highlight) 60%,transparent)!important;position:relative!important;overflow:hidden!important;border:2px solid color-mix(in srgb,var(--highlight) 30%,transparent)!important}am-lyrics [class*=active]:before,am-lyrics [class*=highlight]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--highlight) 80%,transparent) 30%,color-mix(in srgb,var(--highlight) 100%,transparent) 50%,color-mix(in srgb,var(--highlight) 80%,transparent) 70%,transparent 100%);animation:lyricsGlow 1s ease-in-out infinite;border-radius:inherit;z-index:1}am-lyrics [class*=active]:after,am-lyrics [class*=highlight]:after{content:"";position:absolute;inset:-4px;background:linear-gradient(45deg,color-mix(in srgb,var(--highlight) 20%,transparent),color-mix(in srgb,var(--highlight) 40%,transparent),color-mix(in srgb,var(--highlight) 20%,transparent));border-radius:inherit;animation:lyricsPulse 1.5s ease-in-out infinite;z-index:0}am-lyrics [class*=lyric]:not([class*=active]):not([class*=highlight]){opacity:.5;transform:translate(-8px) scale(.95)!important;filter:blur(.5px)}am-lyrics [class*=lyric]:not([class*=active]):not([class*=highlight]):has(+[class*=active]),am-lyrics [class*=line]:not([class*=active]):not([class*=highlight]):has(+[class*=active]){opacity:.9;transform:translate(4px) scale(1.03)!important;filter:blur(.2px)}@keyframes lyricsGlow{0%,to{left:-100%;opacity:0}50%{left:100%;opacity:1}}@keyframes lyricsPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.02)}}.lyrics-panel{scroll-behavior:smooth;scroll-padding:50vh}.lyrics-panel am-lyrics{scroll-behavior:smooth;scroll-padding:50vh;overflow-y:auto;overflow-x:hidden}.lyrics-panel am-lyrics [class*=active],.lyrics-panel am-lyrics [class*=highlight]{scroll-margin-top:50vh;scroll-margin-bottom:50vh}@keyframes smoothScroll{0%{scroll-behavior:auto}to{scroll-behavior:smooth}}.lyrics-panel{position:relative}.lyrics-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,var(--background),transparent);pointer-events:none;z-index:10;opacity:.8}.lyrics-panel:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--background),transparent);pointer-events:none;z-index:10;opacity:.8}am-lyrics [class*=lyric],am-lyrics [class*=line]{transition:all .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94),box-shadow .6s cubic-bezier(.25,.46,.45,.94),filter .6s cubic-bezier(.25,.46,.45,.94)}am-lyrics [class*=active],am-lyrics [class*=highlight]{transition:all .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94),box-shadow .8s cubic-bezier(.25,.46,.45,.94),filter .8s cubic-bezier(.25,.46,.45,.94)}.mobile-more-actions{position:relative;display:none}.mobile-more-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;border-radius:var(--radius);transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.mobile-more-btn:hover{background-color:var(--secondary)}.mobile-more-dropdown{display:none;position:absolute;bottom:100%;right:0;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;min-width:180px;z-index:9999;margin-bottom:8px}.mobile-more-dropdown.show{display:block}#desktop-download-dropdown{display:none;position:fixed;z-index:10000;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000040;min-width:210px}#desktop-download-dropdown.show{display:block}#desktop-download-dropdown ul{list-style:none;margin:0;padding:4px}#desktop-download-dropdown li{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-radius:var(--radius);font-size:.9rem;color:var(--text-primary);transition:background-color .2s ease}#desktop-download-dropdown li:hover{background-color:var(--secondary)}#desktop-download-dropdown li svg{flex-shrink:0;opacity:.8}.mobile-more-dropdown ul{list-style:none;margin:0;padding:0}.mobile-more-dropdown li{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-radius:var(--radius);font-size:.9rem;color:var(--text-primary);transition:background-color .2s ease}.mobile-more-dropdown li:hover{background-color:var(--secondary)}.mobile-more-dropdown li svg{flex-shrink:0;opacity:.8}@media(max-width:768px){.mobile-more-actions{display:block}#cast-btn,#sleep-timer-btn-desktop,#sleep-timer-btn{display:none!important}}.ai-panel-tabs{display:flex;gap:.25rem;background:var(--secondary);border-radius:var(--radius);padding:.25rem}.ai-tab{display:flex;align-items:center;justify-content:center;padding:.5rem;border:none;background:transparent;color:var(--muted-foreground);border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .2s ease}.ai-tab:hover{color:var(--foreground);background:var(--card)}.ai-tab.active{color:var(--primary-foreground);background:var(--primary)}.ai-tab svg{width:16px;height:16px}.ai-panel-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--background)}.ai-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;scroll-behavior:smooth}.ai-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;height:100%;color:var(--muted-foreground)}.ai-welcome-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--highlight));border-radius:50%;margin-bottom:1rem;color:var(--primary-foreground)}.ai-welcome-icon svg{width:24px;height:24px}.ai-welcome h3{font-size:1.1rem;font-weight:600;color:var(--foreground);margin-bottom:.5rem}.ai-welcome p{font-size:.9rem;max-width:250px;line-height:1.5}.ai-message{display:flex;max-width:85%;animation:messageIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes messageIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-message.user{align-self:flex-end}.ai-message.assistant{align-self:flex-start}.ai-message-content{padding:.85rem 1.1rem;border-radius:1.25rem;font-size:.95rem;line-height:1.55;word-break:break-word;position:relative;box-shadow:0 4px 15px #0000001a}.ai-message.user .ai-message-content{background:var(--primary);color:var(--primary-foreground);border-bottom-right-radius:.25rem}.ai-message.assistant .ai-message-content{background:color-mix(in srgb,var(--card) 60%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--border) 30%,transparent);color:var(--foreground);border-bottom-left-radius:.25rem}.ai-message-content strong{font-weight:600}.ai-message-content em{font-style:italic;opacity:.9}.ai-message-content ul{margin:.5rem 0;padding-left:1.25rem}.ai-message-content li{margin-bottom:.25rem}.ai-message.typing .ai-typing-indicator{display:flex;gap:4px;padding:.75rem 1rem;background:var(--secondary);border-radius:1rem 1rem 1rem .25rem}.ai-typing-indicator{display:flex;gap:4px;padding:4px 0}.ai-typing-indicator span{width:6px;height:6px;background:var(--primary);border-radius:50%;animation:typing-dots 1.4s infinite;opacity:.4}.ai-typing-indicator span:nth-child(2){animation-delay:.2s}.ai-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-dots{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.ai-quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem;margin-bottom:.5rem}.ai-quick-action{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--secondary);border:1px solid var(--border);border-radius:9999px;font-size:.8rem;color:var(--foreground);cursor:pointer;transition:all .2s ease;white-space:nowrap}.ai-quick-action:hover{background:var(--card);border-color:var(--primary);color:var(--primary)}.ai-action-icon{font-size:.9rem}.ai-input-wrapper{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1.5rem;background:var(--background);border-top:1px solid var(--border)}#ai-input{flex:1;height:44px;padding:0 1.25rem;background:var(--secondary);border:1px solid transparent;border-radius:22px;color:var(--foreground);font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1)}#ai-input:focus{outline:none;border-color:var(--primary);background:var(--card);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}#ai-input::-moz-placeholder{color:var(--muted-foreground)}#ai-input::placeholder{color:var(--muted-foreground)}.ai-send-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:50%;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);flex-shrink:0}.ai-send-btn:hover{transform:scale(1.05) translateY(-1px);background:var(--highlight);box-shadow:0 5px 15px color-mix(in srgb,var(--primary) 30%,transparent)}.ai-send-btn svg{width:18px;height:18px}#ai-assistant-btn{position:relative;display:none!important}#ai-assistant-btn.active{color:var(--primary)}#ai-assistant-btn:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--primary);border-radius:50%;opacity:0;transform:scale(0);transition:all .2s ease}#ai-assistant-btn.has-response:after{opacity:1;transform:scale(1)}@media(max-width:768px){.ai-quick-actions{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.ai-quick-action{flex-shrink:0}.ai-message{max-width:95%}}.ai-music-card{background:color-mix(in srgb,var(--card) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);margin-top:.5rem;overflow:hidden;max-width:95%;align-self:flex-start;box-shadow:0 10px 30px #0003;animation:cardIn .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes cardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-music-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:color-mix(in srgb,var(--primary) 10%,var(--secondary));border-bottom:1px solid var(--border)}.ai-music-title{font-size:.9rem;font-weight:700;color:var(--foreground);letter-spacing:-.01em}.ai-music-actions{display:flex;gap:.5rem}.ai-action-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.ai-action-btn:hover{transform:scale(1.1);border-color:var(--primary);color:var(--primary);box-shadow:0 0 15px color-mix(in srgb,var(--primary) 30%,transparent)}.ai-action-btn.play-all{background:var(--primary);color:var(--primary-foreground);border:none}.ai-action-btn.play-all:hover{background:var(--highlight);color:#fff}.ai-tracklist{padding:.5rem}.ai-track-item{display:flex;align-items:center;gap:12px;padding:.65rem .85rem;border-radius:calc(var(--radius) - 4px);cursor:pointer;transition:all .2s ease;border:1px solid transparent}.ai-track-item:hover{background:color-mix(in srgb,var(--primary) 5%,var(--secondary));border-color:color-mix(in srgb,var(--primary) 10%,transparent)}.ai-t-cover{width:40px;height:40px;border-radius:4px;background:var(--secondary);flex-shrink:0;-o-object-fit:cover;object-fit:cover;box-shadow:0 2px 8px #0003}.ai-track-info{display:flex;flex-direction:column;overflow:hidden}.ai-t-name{font-size:.875rem;font-weight:600;color:var(--foreground);line-height:1.25}.ai-t-artist{font-size:.75rem;color:var(--muted-foreground);margin-top:1px}.ai-more-tracks{font-size:.75rem;color:var(--muted-foreground);padding:.5rem .75rem;text-align:center;opacity:.7}.ai-panel-header-actions{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--background)}.ai-status-indicator{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--muted-foreground);padding:4px 10px;background:var(--secondary);border-radius:9999px}.ai-status-indicator:before{content:"";width:6px;height:6px;background:var(--success);border-radius:50%;box-shadow:0 0 10px var(--success);animation:status-pulse 1.5s infinite}@keyframes status-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}to{transform:scale(1);opacity:1}}.ai-clear-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--muted-foreground);border-radius:50%;cursor:pointer;transition:all .2s ease}.ai-clear-btn:hover{background:var(--secondary);color:var(--destructive)}.ai-messages::-webkit-scrollbar-track{background:transparent}.ai-messages::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:10px}.ai-messages::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}#home-welcome{animation:fadeInUp .8s cubic-bezier(.2,.8,.2,1) forwards}.welcome-title{margin-bottom:1rem;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--highlight));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:gradientFlow 5s ease infinite alternate}.welcome-subtitle{color:var(--foreground);font-size:1.5rem;margin-bottom:2rem;line-height:1.4;font-weight:500;opacity:0;animation:fadeInUp .8s cubic-bezier(.2,.8,.2,1) .3s forwards}.welcome-hint{color:var(--muted-foreground);margin-top:2rem;font-size:1rem;opacity:0;animation:fadeInUp .8s cubic-bezier(.2,.8,.2,1) .6s forwards}#fullscreen-cover-overlay{position:fixed;inset:0;height:100vh;height:100dvh;z-index:2500;background-color:var(--background);color:var(--foreground);display:flex;flex-direction:column;overflow:hidden;padding:0;--bg-image: none;transform:translateY(100%);opacity:0;will-change:transform,opacity,border-radius}#fullscreen-cover-overlay:not(.fullscreen-opening):not(.fullscreen-closing){transform:translateY(0);opacity:1}#fullscreen-cover-overlay.fullscreen-opening{animation:fullscreenSlideUp .35s cubic-bezier(.2,0,0,1) forwards}#fullscreen-cover-overlay.fullscreen-closing{animation:fullscreenSlideDown .3s cubic-bezier(.2,0,0,1) forwards;pointer-events:none}@keyframes fullscreenSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fullscreenSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.fullscreen-opening .fullscreen-art-wrapper{animation:fsFadeInUp .6s .1s cubic-bezier(.2,0,0,1) backwards}.fullscreen-opening .fullscreen-track-info-container,.fullscreen-opening .fullscreen-bottom-actions{animation:fsFadeInUp .6s .2s cubic-bezier(.2,0,0,1) backwards}.fullscreen-opening .fullscreen-controls{animation:fsFadeInUp .6s .3s cubic-bezier(.2,0,0,1) backwards}@keyframes fsFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#fullscreen-cover-overlay:before{content:"";position:absolute;inset:-40px;z-index:-1;background-color:#000;background-image:var(--bg-image);background-size:cover;background-position:center;filter:blur(50px) brightness(.4) saturate(1.8);transform:scale(1.1);opacity:1;transition:background-image .8s ease-in-out;will-change:transform,filter}#fullscreen-cover-overlay:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,transparent 20%,transparent 60%,rgba(0,0,0,.7) 100%);pointer-events:none}.fullscreen-swipe-indicator{width:36px;height:5px;background:#ffffff59;border-radius:3px;margin:8px auto 0;flex-shrink:0;display:none}.fullscreen-cover-content{width:100%;flex:1;display:flex;flex-direction:column;padding:0;position:relative;max-width:none;margin:0;min-height:0}.fullscreen-header{display:flex;justify-content:space-between;align-items:center;height:auto;min-height:44px;flex-shrink:0;padding:env(safe-area-inset-top,.25rem) .75rem 0 .75rem}.fullscreen-header .btn-icon{color:#ffffffb3;transition:color .2s ease,transform .15s ease}.fullscreen-header .btn-icon:hover{color:#fff;transform:scale(1.05)}.fullscreen-header-spacer{width:44px;min-width:44px}.fullscreen-header-title{text-align:center;flex:1}.now-playing-text{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;opacity:.85;text-shadow:0 2px 4px rgba(0,0,0,.3)}.fullscreen-main-view{flex:1;display:flex;flex-direction:column;width:100%;padding-bottom:0;min-height:0;overflow:visible;gap:0}.fullscreen-art-wrapper{flex:1;display:flex;justify-content:center;align-items:center;width:100%;margin-bottom:0;padding:.5rem 1.5rem;min-height:0;overflow:hidden}#fullscreen-cover-image{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:clamp(12px,2vw,24px);box-shadow:0 20px 80px #0009,0 8px 32px #0006;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}#fullscreen-cover-image.fs-art-animate{animation:fsArtPop .5s cubic-bezier(.2,0,0,1)}@keyframes fsArtPop{0%{transform:scale(.92);opacity:.7}to{transform:scale(1);opacity:1}}.fullscreen-right-column{display:contents}@media(min-width:900px){.fullscreen-cover-content{justify-content:center}.fullscreen-main-view{display:flex;flex-direction:row;flex:1;align-items:center;justify-content:center;gap:clamp(2rem,4vw,5rem);padding:0 clamp(2rem,4vw,6rem);max-width:1200px;margin:0 auto;width:100%;min-height:0;overflow:visible}.fullscreen-art-wrapper{flex:0 1 45%;max-width:460px;padding:0;display:flex;align-items:center;justify-content:center;overflow:visible}#fullscreen-cover-image{width:100%;height:auto;max-height:calc(100dvh - 180px);aspect-ratio:1 / 1;border-radius:12px;box-shadow:0 20px 80px #00000080,0 8px 30px #0000004d}#fullscreen-cover-image:hover{transform:scale(1.01);box-shadow:0 24px 90px #0000008c,0 10px 35px #00000059}.fullscreen-right-column{display:flex;flex-direction:column;justify-content:center;flex:1 1 45%;min-width:280px;max-width:480px}.fullscreen-track-info-container{margin-bottom:1.25rem;padding:0}.fullscreen-progress-container{margin-bottom:.5rem;padding:0}.fullscreen-controls{justify-content:center;margin:0 0 .5rem;max-width:none;padding:0;gap:.5rem}.fullscreen-bottom-actions{margin:0;padding:0}}.fullscreen-bottom-section{flex-shrink:0;width:100%;padding:0 1.5rem clamp(.75rem,2vh,1.25rem);background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.55),rgba(0,0,0,.25),transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -24px 80px #000000d9}.fullscreen-track-info-container{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:1.5rem;padding:0 1.5rem;gap:1rem;flex-shrink:0}.fullscreen-track-text{flex:1;overflow:hidden;text-align:left;display:flex;flex-direction:column;justify-content:center;min-width:0}#fullscreen-track-title{font-size:clamp(1.6rem,3.5vw,2.75rem);font-weight:850;color:#fff;margin:0 0 .5rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 4px 12px rgba(0,0,0,.3)}#fullscreen-track-title.fs-marquee{display:block;-webkit-line-clamp:unset;line-clamp:unset;white-space:nowrap;animation:fsMarquee 12s linear infinite;animation-delay:2s}@keyframes fsMarquee{0%,15%{transform:translate(0)}45%,55%{transform:translate(calc(-100% + 100cqw))}85%,to{transform:translate(0)}}#fullscreen-track-artist{font-size:clamp(1rem,2vw,1.25rem);font-weight:600;color:#fffc;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;cursor:pointer;transition:color .2s ease;text-shadow:0 2px 8px rgba(0,0,0,.2)}#fullscreen-track-artist:hover{color:#fffffff2;text-decoration:underline}#fullscreen-like-btn{width:56px;height:56px;min-width:56px;min-height:56px;color:#fff;flex-shrink:0;opacity:.7;transition:opacity .2s ease,transform .2s ease}#fullscreen-like-btn:hover{opacity:1;transform:scale(1.1)}#fullscreen-like-btn svg{width:28px;height:28px}#fullscreen-like-btn.liked{opacity:1}#fullscreen-like-btn.liked svg{fill:var(--primary);stroke:var(--primary)}@keyframes fsLikePop{0%{transform:scale(1)}30%{transform:scale(1.3)}60%{transform:scale(.9)}to{transform:scale(1)}}#fullscreen-like-btn.fs-like-animate{animation:fsLikePop .4s cubic-bezier(.2,0,0,1)}.fullscreen-progress-container{width:100%;margin-bottom:.5rem;padding:0 1.5rem;flex-shrink:0}.fullscreen-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;position:relative;cursor:pointer;margin-bottom:.5rem;transition:height .15s ease}.fullscreen-progress-bar:hover{height:6px}#fullscreen-progress-fill{height:100%;background:var(--primary);border-radius:2px;width:0%;position:relative;transition:width .1s linear}#fullscreen-progress-fill:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%) scale(0);width:12px;height:12px;background:#fff;border-radius:50%;transition:transform .15s cubic-bezier(.2,0,0,1);box-shadow:0 2px 6px #0006;opacity:1}.fullscreen-progress-bar:hover #fullscreen-progress-fill:after,.fullscreen-progress-bar.fs-seeking #fullscreen-progress-fill:after{transform:translateY(-50%) scale(1)}.fullscreen-progress-bar .fs-seek-tooltip{position:absolute;top:-28px;transform:translate(-50%);background:#000c;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .15s ease;font-variant-numeric:tabular-nums;white-space:nowrap}.fullscreen-progress-bar:hover .fs-seek-tooltip{opacity:1}.fullscreen-time-labels{display:flex;justify-content:space-between;font-size:.8rem;color:#fff9;font-variant-numeric:tabular-nums;font-weight:500}.fullscreen-controls{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem;padding:0 1.5rem;gap:0;flex-shrink:0}.fullscreen-controls .btn-icon{background:none;border:none;cursor:pointer;color:#ffffffb3;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:8px;min-width:48px;min-height:48px}.fullscreen-controls .btn-icon svg{width:24px;height:24px}.fullscreen-controls .btn-icon:hover{color:#fff;transform:scale(1.1)}.fullscreen-controls .btn-icon:active{transform:scale(.92)}.fullscreen-controls .btn-icon.active{color:var(--primary);position:relative}.fullscreen-controls .btn-icon.active:after{content:"•";position:absolute;bottom:5px;font-size:20px;color:var(--primary);line-height:0}.fullscreen-controls .play-pause-btn-large{padding:0;width:72px;height:72px;min-width:72px;min-height:72px;border-radius:50%;background:#fff;color:#000;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 32px #0006;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease}.fullscreen-controls .play-pause-btn-large:hover{transform:scale(1.06);background:#fff;color:#000;box-shadow:0 10px 32px #0006}.fullscreen-controls .play-pause-btn-large:active{transform:scale(.92)}.fullscreen-controls .play-pause-btn-large svg{width:28px;height:28px;fill:currentColor;filter:none}.fullscreen-bottom-actions{display:flex;flex-direction:column;width:100%;padding:0 1.5rem .5rem;flex-shrink:0;gap:.5rem}.fullscreen-action-buttons{display:flex;align-items:center;justify-content:space-between;width:100%;gap:0}.fullscreen-action-buttons>.btn-icon{background:none;border:none;cursor:pointer;color:#fff9;display:flex;align-items:center;justify-content:center;padding:8px;min-width:44px;min-height:44px;border-radius:50%;transition:color .2s ease,background .2s ease,transform .15s ease}.fullscreen-action-buttons>.btn-icon:hover{color:#fffffff2;background:#ffffff14}.fullscreen-action-buttons>.btn-icon:active{transform:scale(.92)}.fullscreen-action-buttons>.btn-icon svg{width:20px;height:20px}#toggle-fullscreen-lyrics-btn.active{color:var(--primary);background:#ffffff1a}.fullscreen-volume-control{display:flex;align-items:center;gap:4px;position:relative}.fullscreen-volume-control .btn-icon{background:none;border:none;cursor:pointer;color:#fff9;display:flex;align-items:center;justify-content:center;padding:8px;min-width:44px;min-height:44px;border-radius:50%;transition:color .2s ease,background .2s ease}.fullscreen-volume-control .btn-icon:hover{color:#fffffff2;background:#ffffff14}.fullscreen-volume-slider-wrapper{width:0;overflow:hidden;transition:width .25s cubic-bezier(.2,0,0,1)}.fullscreen-volume-control:hover .fullscreen-volume-slider-wrapper,.fullscreen-volume-control.active .fullscreen-volume-slider-wrapper{width:110px}.fullscreen-volume-bar{width:80px;height:4px;background:#fff3;border-radius:2px;cursor:pointer;position:relative}.fullscreen-volume-fill{height:100%;background:#fffc;border-radius:2px;width:100%;position:relative;transition:width .05s linear}.fullscreen-volume-fill:after{content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);width:10px;height:10px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0000004d;opacity:0;transition:opacity .15s ease}.fullscreen-volume-control:hover .fullscreen-volume-fill:after{opacity:1}.fullscreen-more-actions{position:relative}.fullscreen-more-actions .btn-icon{background:none;border:none;cursor:pointer;color:#fff9;display:flex;align-items:center;justify-content:center;padding:8px;min-width:44px;min-height:44px;border-radius:50%;transition:color .2s ease,background .2s ease}.fullscreen-more-actions .btn-icon:hover{color:#fffffff2;background:#ffffff14}.fullscreen-more-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:210px;max-height:70vh;overflow-y:auto;background:#181818f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 16px 48px #0009,0 4px 16px #0000004d;z-index:100;animation:fsDropdownIn .2s ease}@keyframes fsDropdownIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fullscreen-more-dropdown.show{display:block}.fullscreen-more-dropdown ul{list-style:none;margin:0;padding:6px 0}.fullscreen-more-dropdown li{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#ffffffd9;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease;white-space:nowrap}.fullscreen-more-dropdown li:hover{background:#ffffff1a}.fullscreen-more-dropdown li:active{background:#ffffff26}.fullscreen-more-dropdown li svg{flex-shrink:0;color:#fff9}.fullscreen-more-dropdown li.fs-dropdown-separator{height:1px;padding:0;margin:4px 12px;background:#ffffff14;cursor:default}.fullscreen-more-dropdown li.fs-dropdown-separator:hover{background:#ffffff14}#fullscreen-next-track{display:none!important;justify-content:flex-end;width:100%;margin-top:1rem;opacity:0}#fullscreen-next-track.animate-in{animation:fadeIn .8s cubic-bezier(.2,0,0,1) .4s forwards}.next-track-content{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffff14;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1);max-width:-moz-fit-content;max-width:fit-content;cursor:pointer;transition:transform .2s ease,background .2s ease}.next-track-content:hover{background:#ffffff1f;transform:translateY(-2px)}.next-track-thumb{width:40px;height:40px;border-radius:6px;-o-object-fit:cover;object-fit:cover;box-shadow:0 4px 12px #0000004d;background-color:#ffffff1a}.next-track-info{display:flex;flex-direction:column;overflow:hidden;text-align:left}#fullscreen-next-track .label{font-size:.65rem;text-transform:uppercase;color:#ffffff80;font-weight:700;letter-spacing:.05em;margin-bottom:2px}#fullscreen-next-track .value{color:#fffffff2;font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}#close-fullscreen-cover-btn,#toggle-fullscreen-lyrics-btn.fullscreen-lyrics-toggle{display:none}@media(max-width:768px){#fullscreen-cover-overlay{padding-bottom:0}.fullscreen-swipe-indicator{display:block}.fullscreen-header{padding:env(safe-area-inset-top,.25rem) .5rem 0 .5rem;min-height:40px}.fullscreen-main-view{flex:1;display:flex;flex-direction:column;gap:0;padding:0 1.25rem;min-height:0}.fullscreen-art-wrapper{flex:1;padding:0;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}#fullscreen-cover-image{width:100%;height:auto;aspect-ratio:1/1;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;box-shadow:0 16px 60px #0009,0 4px 20px #0000004d;border-radius:14px}.fullscreen-track-info-container{padding:0;margin-top:1rem;margin-bottom:.5rem;justify-content:space-between;align-items:center;flex-shrink:0}.fullscreen-track-text{text-align:left;min-width:0;flex:1;container-type:inline-size}#fullscreen-track-title{font-size:1.5rem;margin-bottom:.25rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}#fullscreen-track-artist{font-size:.9rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#fullscreen-like-btn{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}#fullscreen-like-btn svg{width:22px;height:22px}.fullscreen-progress-container{margin-bottom:.5rem;padding:0;flex-shrink:0}.fullscreen-progress-bar{height:4px}.fullscreen-controls{margin-bottom:.25rem;padding:0;width:100%;max-width:none;justify-content:space-between;flex-shrink:0}.fullscreen-controls .play-pause-btn-large{width:60px;height:60px;min-width:60px;min-height:60px}.fullscreen-controls .play-pause-btn-large svg{width:26px;height:26px}.fullscreen-controls .btn-icon{min-width:44px;min-height:44px}.fullscreen-bottom-actions{padding:0 0 .5rem;min-height:auto;margin-top:0;flex-shrink:0;padding-bottom:max(.5rem,env(safe-area-inset-bottom,0))}.fullscreen-volume-control{display:none!important}}@media(max-width:380px){#fullscreen-cover-overlay .fullscreen-main-view{padding:0 .75rem}#fullscreen-track-title{font-size:1.15rem}#fullscreen-track-artist{font-size:.8rem}.fullscreen-controls .play-pause-btn-large{width:54px;height:54px;min-width:54px;min-height:54px}.fullscreen-controls .play-pause-btn-large svg{width:22px;height:22px}.fullscreen-controls .btn-icon{min-width:38px;min-height:38px}.fullscreen-action-buttons>.btn-icon{min-width:38px;min-height:38px;padding:6px}}#toast-container{position:fixed;bottom:2rem;right:2rem;z-index:20000;display:flex;flex-direction:column;gap:1rem;pointer-events:none}.toast{background:color-mix(in srgb,var(--card) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--foreground);padding:1rem 1.25rem;border-radius:var(--radius);box-shadow:0 8px 32px #0003;display:flex;align-items:flex-start;gap:1rem;min-width:300px;max-width:400px;pointer-events:auto;opacity:0;transform:translateY(20px) scale(.95);transition:all .4s cubic-bezier(.16,1,.3,1)}.toast.show{opacity:1;transform:translateY(0) scale(1)}.toast.hiding{opacity:0;transform:scale(.95) translateY(10px);pointer-events:none}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.toast-icon svg{width:20px;height:20px}.toast-message{font-size:.9rem;line-height:1.5;flex:1;font-weight:500;padding-top:1px}.toast-close{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:4px;margin:-4px -4px -4px 0;font-size:1.5rem;line-height:1;opacity:.7;transition:opacity .2s;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px}.toast-close:hover{opacity:1;background:var(--secondary);color:var(--foreground)}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-info .toast-icon{color:var(--primary)}@media(max-width:768px){#toast-container{bottom:80px;left:1rem;right:1rem;align-items:stretch}.toast{width:100%;min-width:0;max-width:100%}}#mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background-color:color-mix(in srgb,var(--card) 95%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:2200;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 20px #0003}#mobile-bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted-foreground);text-decoration:none;font-size:.7rem;font-weight:500;width:100%;height:100%;transition:all .2s ease;position:relative;overflow:hidden}#mobile-bottom-nav .nav-item svg{width:24px;height:24px;transition:all .2s cubic-bezier(.4,0,.2,1)}#mobile-bottom-nav .nav-item.active{color:var(--primary)}#mobile-bottom-nav .nav-item.active svg{transform:translateY(-2px);filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--primary) 40%,transparent))}#mobile-bottom-nav .nav-item.active span{font-weight:600}#mobile-bottom-nav .nav-item:after{content:"";position:absolute;width:100%;height:100%;background:var(--primary);opacity:0;transform:scale(.5);border-radius:50%;transition:all .4s ease}#mobile-bottom-nav .nav-item:active:after{opacity:.1;transform:scale(1.5);transition:0s}@media(max-width:768px){#mobile-bottom-nav{display:flex}.hamburger-menu,.sidebar{display:none!important}.main-header{padding-left:var(--spacing-md);gap:var(--spacing-sm)}.search-bar{margin-left:0}.now-playing-bar{bottom:64px!important;padding-bottom:0!important;border-bottom:1px solid var(--border);box-shadow:0 -2px 10px #0000001a;z-index:2160}.main-content{padding-bottom:calc(var(--player-bar-height-mobile) + 80px)!important}#fullscreen-cover-overlay{z-index:2500!important;padding-bottom:0!important}.side-panel{bottom:calc(var(--player-bar-height-mobile) + 64px)!important}}.lyrics-timing-controls{display:flex;align-items:center;gap:.5rem;margin-right:.5rem}.lyrics-timing-display{font-size:.875rem;font-weight:600;min-width:50px;text-align:center;color:var(--foreground);font-variant-numeric:tabular-nums}.lyrics-timing-controls .btn-icon{padding:.4rem;width:28px;height:28px}.lyrics-timing-controls .btn-icon:hover{background:var(--secondary);color:var(--primary)}.genius-annotation-modal{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease}.genius-annotation-modal .genius-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #ffff64}.genius-annotation-modal .genius-line{font-style:italic;color:#ffff64;font-weight:600;margin-right:1rem}.genius-annotation-modal .close-genius{background:none;border:none;color:var(--foreground);font-size:1.5rem;cursor:pointer;line-height:1}.genius-modal-content{background:var(--card);padding:1.5rem;border-radius:var(--radius);max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);border:1px solid var(--border)}.genius-annotation-modal .genius-body{overflow-y:auto}.annotation-item{margin-bottom:1.5rem}.annotation-fragment{font-size:.8rem;color:var(--muted-foreground);margin-bottom:.5rem}.annotation-text{line-height:1.6}.active-genius svg path:first-child{fill:#ffff64}.genius-annotated{background-color:#ffff641a;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s}.genius-annotated:hover{background-color:#ffff6433}.genius-multi-start{border-bottom-left-radius:0;border-bottom-right-radius:0}.genius-multi-mid{border-radius:0}.genius-multi-end{border-top-left-radius:0;border-top-right-radius:0}.genius-indicator{color:#ffff64;margin-left:.5em;font-size:.9em}body:has(.side-panel.active) #fullscreen-cover-overlay{transition:padding-right .3s ease;padding-right:600px}body:has(.side-panel.active) .fullscreen-main-view{transition:flex .3s ease,padding-right .3s ease,margin-right .3s ease}body:has(.side-panel.active) .fullscreen-lyrics-toggle{right:calc(600px + 4.5rem)}body:has(.side-panel.active) #close-fullscreen-cover-btn{right:calc(600px + 1rem)}@media(max-width:1200px){body:has(.side-panel.active) #fullscreen-cover-overlay{padding-right:50vw}body:has(.side-panel.active) .fullscreen-lyrics-toggle{right:calc(50vw + 4.5rem)}body:has(.side-panel.active) #close-fullscreen-cover-btn{right:calc(50vw + 1rem)}}@media(max-width:768px){body:has(.side-panel.active) #fullscreen-cover-overlay{padding-right:0!important}body:has(.side-panel.active) .fullscreen-main-view{padding-right:0!important}body:has(.side-panel.active) .fullscreen-lyrics-toggle{right:4.5rem!important}body:has(.side-panel.active) #close-fullscreen-cover-btn{right:1rem!important}body:has(.side-panel.active) .fullscreen-lyrics-toggle,body:has(.side-panel.active) #close-fullscreen-cover-btn{display:none}}.track-item .offline-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb,var(--highlight) 15%,transparent);color:var(--highlight);flex-shrink:0;line-height:1;vertical-align:middle;margin-left:4px}.track-item .offline-badge svg{width:10px;height:10px}.offline-search-badge{padding:.5rem 1rem;margin-bottom:.75rem;background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b;border-radius:var(--radius);font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.5rem}#context-menu li[data-action=save-offline],#context-menu li[data-action=remove-offline]{position:relative}#context-menu li[data-action=save-offline]:before{content:"⬇";margin-right:6px;font-size:.85em}#context-menu li[data-action=remove-offline]:before{content:"✕";margin-right:6px;font-size:.85em;color:var(--destructive)}.offline-library-section{margin-bottom:2rem}.offline-library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.offline-library-header h3{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.offline-library-header .offline-count{font-size:.8rem;font-weight:500;color:var(--muted-foreground);padding:2px 8px;background:var(--secondary);border-radius:999px}.offline-library-stats{font-size:.8rem;color:var(--muted-foreground)}.offline-library-actions{display:flex;gap:.5rem;align-items:center}.offline-library-actions button{background:var(--secondary);border:1px solid var(--border);color:var(--foreground);padding:.4rem .8rem;border-radius:var(--radius);font-size:.8rem;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:.35rem}.offline-library-actions button:hover{background:var(--muted);border-color:var(--highlight)}.offline-library-actions button.danger:hover{border-color:var(--destructive);color:var(--destructive)}.offline-notification{cursor:pointer}.offline-notification:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.now-playing-bar .offline-indicator{font-size:.65rem;color:var(--highlight);text-transform:uppercase;letter-spacing:.04em;font-weight:600;opacity:.8}.explore-hub{padding:0 2rem 4rem;width:100%}.explore-hub-header{padding:1rem 0 2rem}.explore-hub-title{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.explore-browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:2rem}.explore-browse-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:1.5rem .75rem;min-height:100px;border-radius:14px;cursor:pointer;font-weight:600;font-size:.88rem;letter-spacing:-.01em;background:#ffffff0a;color:#fff;border:1px solid rgba(255,255,255,.08);transition:all .25s ease;position:relative;overflow:hidden}.explore-browse-card:before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff0f;pointer-events:none}.explore-browse-card svg{width:28px;height:28px;opacity:.9;transition:transform .25s ease}.explore-browse-card:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d;border-color:#ffffff26}.explore-browse-card:hover svg{transform:scale(1.15)}.explore-subpage{padding:0 2rem 4rem;width:100%}.explore-subpage-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.5rem 0}.explore-subpage-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.explore-back-btn{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;color:var(--foreground);cursor:pointer;padding:.4rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.7}.explore-back-btn:hover{background:#ffffff14;transform:translate(-1px);opacity:.9}.explore-shelf{margin-bottom:2rem}.explore-shelf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.explore-shelf-title{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.explore-shelf-link{font-size:.85rem;color:var(--muted-foreground);cursor:pointer;transition:color .2s ease;text-decoration:none;background:none;border:none;padding:0}.explore-shelf-link:hover{color:var(--foreground)}.explore-filter-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1.25rem}.explore-filter-chips{display:flex;gap:.6rem;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none;-ms-overflow-style:none;padding:.5rem 0;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x proximity}.explore-filter-chips::-webkit-scrollbar{display:none}.explore-chip{flex:0 0 auto;padding:.5rem 1.1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:99px;color:var(--muted-foreground);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);white-space:nowrap;scroll-snap-align:start}.explore-chip:hover{background:#ffffff29;color:var(--foreground)}.explore-chip.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);box-shadow:0 4px 12px rgba(var(--highlight-rgb),.25)}@media(min-width:1024px){#page-explore #songs-era-pills.explore-filter-chips{flex-wrap:wrap;overflow-x:visible;justify-content:flex-start}}@media(max-width:768px){.explore-subpage .card-grid.wrapping{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.explore-subpage .card-grid.wrapping .card{min-width:0;max-width:none;width:100%}}.explore-select{background:var(--secondary);border:1px solid var(--border);border-radius:8px;padding:.45rem .75rem;color:var(--foreground);font-size:.82rem;cursor:pointer;min-width:140px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.explore-select:hover,.explore-select:focus{border-color:var(--ring);outline:none}.explore-content-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.01em}.explore-track-resolving{opacity:.6;filter:grayscale(.2);transition:all .5s ease}.explore-track-failed{opacity:.4;filter:grayscale(1)}.explore-card-resolving{opacity:.6;filter:grayscale(.2);transition:all .5s ease}.explore-card-failed{opacity:.4;filter:grayscale(1);cursor:help}.explore-loading{padding:0}.explore-skeleton-list{display:flex;flex-direction:column;gap:0;border-radius:12px;border:1px solid var(--border);background:var(--card);overflow:hidden}.explore-skeleton-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.explore-skeleton-row:last-child{border-bottom:none}.skeleton-rank{width:28px;height:28px;border-radius:6px;background:var(--secondary);animation:skeleton-pulse 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-text{height:14px;border-radius:7px;background:var(--secondary);animation:skeleton-pulse 1.5s ease-in-out infinite;animation-delay:.1s;flex:1;max-width:320px}.skeleton-value{width:70px;height:14px;border-radius:7px;background:var(--secondary);animation:skeleton-pulse 1.5s ease-in-out infinite;animation-delay:.2s;flex-shrink:0;margin-left:auto}.explore-skeleton-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.explore-skeleton-card{display:flex;flex-direction:column;gap:.5rem}.explore-skeleton-img{aspect-ratio:1 / 1;border-radius:8px;background:var(--secondary);animation:skeleton-pulse 1.5s ease-in-out infinite}.explore-skeleton-text-short{height:12px;width:60%;border-radius:6px;background:var(--secondary);animation:skeleton-pulse 1.5s ease-in-out infinite;animation-delay:.15s}.explore-skeleton-text-long{height:10px;width:80%;border-radius:5px;background:var(--secondary);animation:skeleton-pulse 1.5s ease-in-out infinite;animation-delay:.3s}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.explore-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--muted-foreground);gap:1rem}.explore-error svg{opacity:.4}.explore-error p{font-size:.95rem}.explore-retry-btn{margin-top:.5rem}.explore-empty{padding:3rem 2rem;text-align:center;color:var(--muted-foreground);font-size:.95rem}@media(max-width:768px){.explore-hub,.explore-subpage{padding:0 1rem 4rem}.explore-hub-title{font-size:1.5rem}.explore-browse-grid{grid-template-columns:repeat(2,1fr)}.explore-browse-card{padding:1.2rem .75rem;min-height:80px;font-size:.82rem}.explore-subpage-header h1{font-size:1.4rem}.explore-filter-bar{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:.5rem}.explore-select{min-width:120px;width:auto}.explore-skeleton-card-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media(max-width:480px){.explore-hub-header{padding:.25rem 0 1rem}.explore-hub-title{font-size:1.3rem}.explore-browse-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.explore-browse-card{padding:1rem .5rem;min-height:70px;border-radius:10px;font-size:.78rem}.explore-browse-card svg{width:22px;height:22px}}:root{--ai-accent-gradient: linear-gradient(135deg, var(--primary) 0%, var(--highlight) 100%);--ai-bg-glass: rgba(20, 20, 20, .6);--ai-border-glass: rgba(255, 255, 255, .08);--ai-shadow-elevation: 0 4px 24px -1px rgba(0, 0, 0, .2);--ai-font-family: "Inter", -apple-system, sans-serif}.ai-panel-wrapper{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden;background:var(--background);font-family:var(--ai-font-family)}.ai-panel-header-actions{display:flex;align-items:center;gap:12px}.ai-status-indicator{font-size:.7rem;font-weight:500;color:var(--muted-foreground);display:flex;align-items:center;gap:6px;background:var(--secondary);padding:4px 10px;border-radius:20px;border:1px solid var(--border)}.ai-status-indicator:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background-color:var(--success);box-shadow:0 0 8px var(--success)}.ai-clear-btn{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:6px;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:.7}.ai-clear-btn:hover{color:var(--destructive);background-color:#ef44441a;opacity:1;transform:scale(1.05)}.ai-close-btn{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:6px;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:.7}.ai-close-btn:hover{color:var(--foreground);background-color:var(--secondary);opacity:1;transform:scale(1.05)}.ai-messages{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:24px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--secondary) transparent}.ai-messages::-webkit-scrollbar{width:6px}.ai-messages::-webkit-scrollbar-thumb{background-color:var(--secondary);border-radius:10px}.ai-messages::-webkit-scrollbar-thumb:hover{background-color:var(--muted-foreground)}.ai-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;color:var(--muted-foreground);padding:40px;animation:fadeIn .6s cubic-bezier(.2,0,0,1)}.ai-welcome-icon{color:var(--primary);margin-bottom:24px;padding:20px;background:linear-gradient(180deg,rgba(var(--highlight-rgb),.1),rgba(var(--highlight-rgb),0));border-radius:50%;filter:drop-shadow(0 0 15px rgba(var(--highlight-rgb),.3));animation:gentle-float 6s ease-in-out infinite;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.ai-welcome-icon svg{width:32px;height:32px}.ai-welcome h3{color:var(--foreground);margin-bottom:8px;font-weight:700;font-size:1.5rem;letter-spacing:-.02em;background:linear-gradient(180deg,var(--foreground) 0%,var(--muted-foreground) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.ai-welcome p{font-size:.95rem;line-height:1.6;max-width:280px;margin:0 auto}@keyframes gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.ai-message{display:flex;flex-direction:column;max-width:90%;animation:slideUpFade .4s cubic-bezier(.2,0,0,1)}.ai-message.user{align-self:flex-end;align-items:flex-end}.ai-message.assistant{align-self:flex-start;align-items:flex-start}.ai-message-content{padding:12px 18px;border-radius:18px;line-height:1.6;font-size:.95rem;position:relative;word-wrap:break-word;box-shadow:0 2px 4px #00000005}.ai-message.user .ai-message-content{background:var(--primary);color:var(--primary-foreground);border-bottom-right-radius:4px;font-weight:500}.ai-message.assistant .ai-message-content{background:var(--secondary);background:color-mix(in srgb,var(--card) 40%,var(--background));color:var(--foreground);border-bottom-left-radius:4px;border:1px solid var(--border)}.ai-message-content strong{font-weight:700;color:var(--foreground)}.ai-message.user .ai-message-content strong{color:#fff}.ai-message-content ul{margin:8px 0;padding-left:20px}.ai-message-content li{margin-bottom:4px}.ai-typing-indicator{display:flex;gap:4px;padding:6px 8px;height:24px;align-items:center}.ai-typing-indicator span{width:5px;height:5px;background-color:var(--muted-foreground);border-radius:50%;opacity:.6;animation:typing-bounce 1.4s infinite ease-in-out both}.ai-typing-indicator span:nth-child(1){animation-delay:-.32s}.ai-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1}}.ai-music-card{margin-top:12px;background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--ai-shadow-elevation);transition:transform .2s cubic-bezier(.2,0,0,1),box-shadow .2s;width:100%;max-width:380px;position:relative}.ai-music-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--ai-accent-gradient);opacity:.8}.ai-music-header{padding:16px;background:linear-gradient(180deg,var(--secondary) 0%,transparent 100%);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.ai-music-title{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;color:var(--foreground);letter-spacing:-.01em}.ai-music-actions{display:flex;gap:8px}.ai-action-btn{background:#ffffff0d;border:1px solid var(--border);color:var(--foreground);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.ai-action-btn:hover{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);transform:scale(1.05);box-shadow:0 4px 12px rgba(var(--highlight-rgb),.3)}.ai-tracklist{max-height:280px;overflow-y:auto;padding:4px 0}.ai-track-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background-color .2s;border-left:3px solid transparent}.ai-track-item:hover{background-color:var(--secondary);border-left-color:var(--primary)}.ai-t-cover{width:40px;height:40px;border-radius:6px;-o-object-fit:cover;object-fit:cover;background-color:var(--muted);box-shadow:0 2px 4px #0000001a}.ai-track-info{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:2px}.ai-t-name{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--foreground)}.ai-t-artist{font-size:.8rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-t-reason{font-size:.75rem;color:var(--highlight);opacity:.9;margin-top:4px;font-style:italic;display:flex;align-items:center;gap:4px}.ai-t-reason:before{content:"•";font-size:1.2em;line-height:0}.ai-more-tracks{padding:12px;text-align:center;font-size:.8rem;font-weight:500;color:var(--muted-foreground);background:var(--secondary);border-top:1px solid var(--border);cursor:default}.ai-no-results{padding:24px;text-align:center;color:var(--muted-foreground);font-size:.9rem;font-style:italic}.ai-quick-actions{padding:0 20px 16px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(to right,transparent,black 20px,black calc(100% - 20px),transparent);mask-image:linear-gradient(to right,transparent,black 20px,black calc(100% - 20px),transparent)}.ai-quick-actions::-webkit-scrollbar{display:none}.ai-quick-action{flex-shrink:0;background:var(--card);border:1px solid var(--border);color:var(--foreground);padding:8px 16px;border-radius:999px;font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.2,0,0,1);white-space:nowrap;box-shadow:0 2px 8px #0000000d}.ai-quick-action .ai-action-icon{font-size:1.1em}.ai-quick-action:hover{background:var(--foreground);color:var(--background);border-color:var(--foreground);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.ai-input-wrapper{padding:20px;background:var(--background);border-top:1px solid var(--border);display:flex;gap:12px;position:relative;z-index:10;align-items:flex-end}#ai-input{flex:1;background:var(--secondary);border:1px solid transparent;color:var(--foreground);padding:12px 16px;border-radius:12px;font-size:.95rem;outline:none;transition:all .2s ease;font-family:inherit}#ai-input::-moz-placeholder{color:var(--muted-foreground);opacity:.7}#ai-input::placeholder{color:var(--muted-foreground);opacity:.7}#ai-input:focus{background:var(--card);border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--highlight-rgb),.15)}.ai-send-btn{width:44px;height:44px;border-radius:12px;background:var(--primary);color:var(--primary-foreground);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);box-shadow:0 4px 12px rgba(var(--highlight-rgb),.3);flex-shrink:0}.ai-send-btn:hover{transform:scale(1.05);background:var(--highlight)}.ai-send-btn:active{transform:scale(.95)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-missing-tracks{padding:12px;margin:12px;background:#ef44440d;border:1px dashed rgba(239,68,68,.3);border-radius:8px}.ai-missing-header{font-size:.75rem;font-weight:700;color:var(--destructive);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.ai-missing-item{font-size:.75rem;color:var(--muted-foreground);padding:2px 0;display:flex;align-items:center;gap:6px}.ai-missing-item:before{content:"×";color:var(--destructive);font-weight:700}.ai-missing-more{font-size:.7rem;color:var(--muted-foreground);margin-top:6px;opacity:.8}
