:root{color-scheme:dark;--bg-page: #070b14;--bg-side: #0a0f1d;--bg-player: #0a0f1d;--bg-card: #111827;--bg-card-hover: #162032;--bg-input: #111827;--border: #1d293b;--border-strong: #30415d;--text: #eef4ff;--text-muted: #a2b0c3;--text-faint: #75849a;--accent: #3b82f6;--accent-hover: #60a5fa;--on-accent: #ffffff;--accent-soft: rgba(37, 99, 235, .16);--danger: #ef4444;--danger-soft: #2a1717;--warning: #f59e0b;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-8: 48px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-xs: 4px;--r-full: 999px;--font-sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--fw-regular: 400;--fw-medium: 500;--lh-base: 1.5;--fs-badge: 11px;--fs-meta: 12px;--fs-body-sm: 13px;--fs-body: 14px;--fs-heading-sm: 16px;--fs-card-title: 16px;--fs-page-title: 20px;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-20: 20px;--side-w: 68px;--header-h: 56px;--player-h: 84px;--mini-player-h: 56px;--content-max: 1320px;--content-pad: 24px;--motion-ui: .18s cubic-bezier(.2, .65, .3, 1);--bg-primary: var(--bg-page);--bg-surface: var(--bg-card);--bg-elevated: var(--bg-card-hover);--text-primary: var(--text);--text-secondary: var(--text-muted);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--space-md: var(--sp-4);--info: #3b82f6;--info-soft: rgba(37, 99, 235, .14);--danger-hover: #f87171;--warning-soft: rgba(245, 158, 11, .14);--shadow-float: 0 18px 48px rgba(0, 0, 0, .28);--shadow-card: 0 10px 28px rgba(0, 0, 0, .16);--transition-fast: .15s ease;--transition-base: .2s ease;--trans-fast: .15s ease;--trans-base: .2s ease}:root[data-theme=light]{color-scheme:light;--bg-page: #f3f6fb;--bg-side: #e9eef6;--bg-player: #f8faff;--bg-card: #ffffff;--bg-card-hover: #f1f5fb;--bg-input: #ffffff;--border: #d8e0eb;--border-strong: #bdc9d8;--text: #172231;--text-muted: #526174;--text-faint: #718096;--accent: #2563eb;--accent-hover: #1d4ed8;--on-accent: #ffffff;--accent-soft: #dce9fb;--danger-soft: #ffebeb;--shadow-float: 0 18px 48px rgba(24, 47, 78, .14);--shadow-card: 0 10px 28px rgba(24, 47, 78, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background-color:var(--bg-page);color-scheme:dark}body{background-color:var(--bg-page);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:1.5;min-height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent);color:var(--on-accent)}img,svg{display:block}a,button,input,select,textarea{touch-action:manipulation;font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:var(--sp-4);z-index:9999;display:inline-flex;min-height:44px;align-items:center;padding:var(--sp-2) var(--sp-4);background-color:var(--accent);color:var(--on-accent);font-size:var(--fs-body);font-weight:var(--fw-medium);border-radius:var(--r-sm);text-decoration:none;transition:top var(--trans-fast)}.skip-link:focus,.skip-link:focus-visible{top:var(--sp-3)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background-color:var(--text-faint)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}#app,.app-shell{display:grid;grid-template-columns:var(--side-w, 56px) minmax(0,1fr);grid-template-rows:var(--header-h, 56px) minmax(0,1fr) var(--player-h, 84px);grid-template-areas:"sidebar header" "sidebar main" "player  player";height:100dvh;width:100%;overflow:hidden;position:relative;background-color:var(--bg-page, #0e0e10);color:var(--text, #f2f2f2)}#sidebar,.sidebar,aside.sidebar{grid-area:sidebar;grid-column:1;grid-row:1 / 3;width:var(--side-w, 56px);background-color:var(--bg-side, #0a0a0c);border-right:1px solid var(--border, #26262b);display:flex;flex-direction:column;align-items:center;padding:var(--sp-2, 8px) 0;position:relative;z-index:20;-webkit-user-select:none;user-select:none;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}#sidebar::-webkit-scrollbar,.sidebar::-webkit-scrollbar{display:none}.sidebar__nav,.sidebar-nav{display:flex;flex-direction:column;align-items:center;width:100%;list-style:none;margin:0;padding:0}.sidebar__item,.sidebar-item,.sidebar__nav-item,.sidebar-nav-item,.sidebar__btn,.sidebar-btn,.sidebar a,.sidebar button{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:var(--r-md, 8px);margin-bottom:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #9a9aa2);cursor:pointer;position:relative;border:none;background:transparent;padding:0;text-decoration:none;font:inherit;transition:background-color var(--trans-fast, .15s ease),color var(--trans-fast, .15s ease),transform var(--trans-fast, .15s ease)}.sidebar__item svg,.sidebar-item svg,.sidebar a svg,.sidebar button svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.75}.sidebar__item:hover:not(.active):not([aria-current=page]),.sidebar-item:hover:not(.active):not([aria-current=page]),.sidebar a:hover:not(.active):not([aria-current=page]),.sidebar button:hover:not(.active):not([aria-current=page]){background-color:var(--bg-card, #17171a);color:var(--text, #f2f2f2)}.sidebar__item.active,.sidebar__item[aria-current=page],.sidebar-item.active,.sidebar-item[aria-current=page],.sidebar a.active,.sidebar a[aria-current=page],.sidebar button.active,.sidebar button[aria-current=page]{background-color:var(--accent-soft, #1c2a20);color:var(--accent, #78aaff)}.sidebar__item:focus-visible,.sidebar-item:focus-visible,.sidebar a:focus-visible,.sidebar button:focus-visible{outline:2px solid var(--accent, #78aaff);outline-offset:2px}.sidebar__badge,.sidebar-badge,.badge-queue,.queue-badge,.sidebar__item .badge,.sidebar-item .badge{width:16px;height:16px;border-radius:var(--r-full, 999px);background-color:var(--accent, #78aaff);color:var(--on-accent, #052e16);font-size:var(--fs-badge, 11px);font-weight:var(--fw-medium, 500);line-height:1;position:absolute;top:-2px;right:-2px;display:flex;align-items:center;justify-content:center;pointer-events:none;box-shadow:0 0 0 2px var(--bg-side, #0a0a0c);z-index:2}.sidebar__footer,.sidebar-footer,.sidebar__settings,.sidebar-settings,.sidebar__bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;width:100%;padding-top:var(--sp-2, 8px)}#header,.header,header.header,header#header,header{grid-area:header;grid-column:2;grid-row:1;height:var(--header-h, 56px);background-color:var(--bg-page, #0e0e10);border-bottom:1px solid var(--border, #26262b);display:flex;align-items:center;padding:0 var(--content-pad, 24px);gap:var(--sp-4, 16px);position:relative;z-index:10;width:100%;flex-wrap:wrap}.header__logo,.header-logo,.header-brand,.brand-logo,.logo{font-size:var(--fs-16, 16px);font-weight:var(--fw-medium, 500);display:flex;align-items:center;min-height:44px;gap:var(--sp-1, 4px);text-decoration:none;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none;letter-spacing:-.01em}.header__logo-accent,.header-logo__accent,.logo__accent,.logo-accent,.logo-w3nn,.header__logo span:first-child:not(:last-child),.header-logo span:first-child:not(:last-child),.header-brand span:first-child:not(:last-child),.brand-logo span:first-child:not(:last-child),.logo span:first-child:not(:last-child){color:var(--accent, #78aaff)}.header__logo-text,.header-logo__text,.logo__text,.logo-text,.logo-deezer,.header__logo span:last-child,.header-logo span:last-child,.header-brand span:last-child,.brand-logo span:last-child,.logo span:last-child{color:var(--text, #f2f2f2)}.header__search,.header-search,.search-container,.search__container,.search-form{max-width:560px;width:100%;height:44px;position:relative;display:flex;align-items:center;margin:0 auto}.header__search input,.header-search input,.search-container input,.search__container input,.search-form input[type=search],.search-form input[type=text],.search-input,.search__input{background-color:var(--bg-input, #17171a);border:1px solid var(--border, #26262b);border-radius:var(--r-full, 999px);color:var(--text, #f2f2f2);padding:0 36px;font-size:var(--fs-13, 13px);width:100%;height:100%;font-family:inherit;transition:border-color var(--trans-fast, .15s ease),background-color var(--trans-fast, .15s ease),box-shadow var(--trans-fast, .15s ease)}.header__search input::placeholder,.header-search input::placeholder,.search-container input::placeholder,.search__container input::placeholder,.search-form input::placeholder,.search-input::placeholder,.search__input::placeholder{color:var(--text-muted, #9a9aa2);opacity:.8}.header__search input:hover,.header-search input:hover,.search-container input:hover,.search__container input:hover,.search-form input:hover,.search-input:hover,.search__input:hover{border-color:var(--border-strong, #3a3a42)}.header__search input:focus,.header-search input:focus,.search-container input:focus,.search__container input:focus,.search-form input:focus,.search-input:focus,.search__input:focus{border-color:var(--accent, #78aaff);box-shadow:0 0 0 1px var(--accent, #78aaff)}.search__icon-left,.search__magnifier,.search-icon,.search-icon--magnifier,.search-container .search-icon,.search__container .search-icon,.search-form .search-icon,.header__search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted, #9a9aa2);pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:1}.search__icon-left svg,.search__magnifier svg,.search-icon svg{width:16px;height:16px;stroke-width:2}.search__clear,.search-clear,.search-clear-btn,.btn-clear-search,.search-container .btn-clear,.search__container .btn-clear{position:absolute;right:0;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:var(--r-full, 999px);display:none;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted, #9a9aa2);cursor:pointer;padding:0;transition:color var(--trans-fast, .15s ease),background-color var(--trans-fast, .15s ease);z-index:1}.search__clear svg,.search-clear svg,.search-clear-btn svg{width:14px;height:14px}.search__clear:hover,.search-clear:hover,.search-clear-btn:hover{color:var(--text, #f2f2f2);background-color:var(--bg-card, #17171a)}.header__search input:not(:placeholder-shown)~.search__clear,.header-search input:not(:placeholder-shown)~.search-clear,.search-container input:not(:placeholder-shown)~.search-clear,.search-container input:not(:placeholder-shown)~.search__clear,.search__container input:not(:placeholder-shown)~.search__clear,.search-form input:not(:placeholder-shown)~.search-clear,.search-input:not(:placeholder-shown)~.search-clear,.search__input:not(:placeholder-shown)~.search__clear,.search-container.has-value .search-clear,.search-container.has-value .search__clear,.search__container.has-value .search__clear,.search-clear.visible,.search-clear.is-visible,.search__clear.visible,.search__clear.is-visible{display:flex}.header__search-toggle,.header-search-toggle,.search-toggle-btn,.btn-search-mobile,.search-overlay__close,.search-close-btn,.search__back-btn{display:none}#view,main#view,.main-view,#main,main#main,main{grid-area:main;grid-column:2;grid-row:2;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--content-pad, 24px) var(--content-pad, 24px) calc(var(--sp-6, 32px) + var(--sp-4, 16px)) var(--content-pad, 24px);max-width:var(--content-max, 1200px);margin:0 auto;width:100%;min-height:0;min-width:0}.view-content,.main-content,.content-container{width:100%;max-width:var(--content-max, 1200px);margin:0 auto}#player,.player,.player-bar,footer.player,footer#player{grid-area:player;grid-column:1 / -1;grid-row:3;height:var(--player-h, 84px);background-color:var(--bg-player, var(--bg-side, #0a0a0c));border-top:1px solid var(--border, #26262b);display:flex;align-items:center;padding:0 var(--content-pad, 24px);position:relative;z-index:30;width:100%;-webkit-user-select:none;user-select:none}#bottom-tabs,#mobile-tab-bar,.bottom-tabs,.bottom-tab-bar,.bottom-nav,nav.bottom-nav,nav#bottom-tabs,nav#mobile-tab-bar{display:none}@media(min-width:640px)and (max-width:1023.98px){#app,.app-shell{grid-template-columns:var(--side-w, 56px) minmax(0,1fr);grid-template-rows:var(--header-h, 56px) minmax(0,1fr) var(--player-h, 84px)}#header,.header,header{padding:0 var(--sp-4, 16px);gap:var(--sp-3, 12px);flex-wrap:wrap}.header__search,.header-search,.search-container,.search-form{max-width:480px}#view,main#view,.main-view,#main,main{padding:var(--sp-4, 16px) var(--sp-4, 16px) calc(var(--sp-6, 32px) + var(--sp-4, 16px)) var(--sp-4, 16px)}#player,.player,.player-bar,footer.player{padding:0 var(--sp-4, 16px)}.cards-grid,.results-grid,#results,.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:var(--sp-3, 12px)}}@media(max-width:639.98px){#app,.app-shell{grid-template-columns:1fr;grid-template-rows:var(--header-h, 56px) 1fr;grid-template-areas:"header" "main";height:100dvh;overflow:hidden;position:relative}#sidebar,.sidebar,aside.sidebar{display:none}#header,.header,header{grid-column:1;grid-row:1;padding:0 var(--sp-4, 16px);padding-left:calc(var(--sp-4, 16px) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-4, 16px) + env(safe-area-inset-right,0px));justify-content:space-between;gap:var(--sp-2, 8px);flex-wrap:wrap}.header__search-toggle,.header-search-toggle,.search-toggle-btn,.btn-search-mobile{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:var(--r-full, 999px);border:none;background:transparent;color:var(--text, #f2f2f2);cursor:pointer;margin-left:auto;flex-shrink:0;transition:background-color var(--trans-fast, .15s ease),color var(--trans-fast, .15s ease);-webkit-tap-highlight-color:transparent}.header__search-toggle:hover,.header-search-toggle:hover,.search-toggle-btn:hover{background-color:var(--bg-card, #17171a)}.header__search-toggle svg,.header-search-toggle svg,.search-toggle-btn svg{width:20px;height:20px}.header__search,.header-search,.search-container,.search-form{display:none;margin:0}.header.search-open .header__search,.header.is-search-open .header__search,.header--search-open .header__search,.header.search-open .search-container,.header.is-search-open .search-container,.header--search-open .search-container,.header-search-open .header-search,.search-container.is-open,.search-container.active,.search-overlay.is-open,.search-overlay.active{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;z-index:50;background-color:var(--bg-page, #0e0e10);padding:0 var(--sp-3, 12px);padding-left:calc(var(--sp-3, 12px) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-3, 12px) + env(safe-area-inset-right,0px));margin:0;align-items:center;gap:var(--sp-2, 8px);overflow-x:hidden;box-sizing:border-box}.search-overlay__close,.search-close-btn,.search__back-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:var(--r-full, 999px);border:none;background:transparent;color:var(--text-muted, #9a9aa2);cursor:pointer;flex-shrink:0;padding:0;-webkit-tap-highlight-color:transparent}.search-overlay__close svg,.search-close-btn svg,.search__back-btn svg{width:20px;height:20px}#view,main#view,.main-view,#main,main#main,main{grid-column:1;grid-row:2;padding:var(--sp-4, 16px) var(--sp-4, 16px) calc(var(--player-h, 84px) + 56px + var(--sp-4, 16px) + env(safe-area-inset-bottom,0px)) var(--sp-4, 16px);padding-left:calc(var(--sp-4, 16px) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-4, 16px) + env(safe-area-inset-right,0px))}#player,.player,.player-bar,footer.player,footer#player{position:fixed;bottom:calc(56px + env(safe-area-inset-bottom,0px));left:0;right:0;height:var(--player-h, 84px);background-color:var(--bg-player, var(--bg-side, #0a0a0c));border-top:1px solid var(--border, #26262b);z-index:90;padding:0 var(--sp-4, 16px);padding-left:calc(var(--sp-4, 16px) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-4, 16px) + env(safe-area-inset-right,0px))}#bottom-tabs,#mobile-tab-bar,.bottom-tabs,.bottom-tab-bar,.bottom-nav,nav.bottom-nav,nav#bottom-tabs,nav#mobile-tab-bar{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background-color:var(--bg-side, #0a0a0c);border-top:1px solid var(--border, #26262b);z-index:100;-webkit-user-select:none;user-select:none}.tab-item,.bottom-tab-item,.bottom-tabs__item,.bottom-tabs a,.bottom-tabs button,.bottom-tab-bar a,.bottom-tab-bar button{min-width:44px;min-height:44px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:var(--fs-badge, 11px);color:var(--text-muted, #9a9aa2);text-decoration:none;border:none;background:transparent;cursor:pointer;position:relative;padding:4px var(--sp-2, 8px);transition:color var(--trans-fast, .15s ease);-webkit-tap-highlight-color:transparent}.tab-item svg,.bottom-tab-item svg,.bottom-tabs__item svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.75}.tab-item.active,.tab-item[aria-current=page],.bottom-tab-item.active,.bottom-tab-item[aria-current=page],.bottom-tabs__item.active,.bottom-tabs__item[aria-current=page],.bottom-tabs a.active,.bottom-tabs a[aria-current=page],.bottom-tabs button.active{color:var(--accent, #78aaff)}.tab-item:hover,.bottom-tab-item:hover,.bottom-tabs__item:hover{color:var(--text, #f2f2f2)}.tab-item .badge,.bottom-tab-item .badge,.bottom-tabs__item .badge{position:absolute;top:4px;right:calc(50% - 16px);width:14px;height:14px;border-radius:var(--r-full, 999px);background-color:var(--accent, #78aaff);color:var(--on-accent, #052e16);font-size:10px;font-weight:var(--fw-medium, 500);display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.cards-grid,.results-grid,#results,.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));gap:var(--sp-2, 8px)}}@media(min-width:1024px){.cards-grid,.results-grid,#results,.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-4, 16px)}}#app,.app-shell{grid-template-columns:var(--side-w) minmax(0,1fr)}#sidebar,.sidebar,aside.sidebar{width:var(--side-w);padding:12px 0;background:var(--bg-side)}.sidebar__item,.sidebar-item,.sidebar__nav-item,.sidebar-nav-item,.sidebar__btn,.sidebar-btn,.sidebar a,.sidebar button{width:44px;height:44px;min-width:44px;min-height:44px;margin-bottom:8px;border-radius:var(--r-md)}.sidebar__item:before,.sidebar-item:before,.sidebar a:before,.sidebar button:before{content:"";position:absolute;left:-1px;width:3px;height:18px;border-radius:0 var(--r-full) var(--r-full) 0;background:var(--accent);opacity:0;transform:scaleY(.5);transition:opacity var(--transition-fast),transform var(--transition-fast)}.sidebar__item.active:before,.sidebar__item[aria-current=page]:before,.sidebar-item.active:before,.sidebar-item[aria-current=page]:before,.sidebar a.active:before,.sidebar a[aria-current=page]:before,.sidebar button.active:before,.sidebar button[aria-current=page]:before{opacity:1;transform:scaleY(1)}#header,.header,header.header,header#header,header{padding-inline:clamp(16px,3vw,32px)}.header__search,.header-search,.search-container,.search__container,.search-form{height:44px;max-width:600px}#view,main#view,.main-view,#main,main{min-width:0;overflow-x:clip}@media(max-width:1023.98px)and (min-width:640px){#view,main#view,.main-view,main{padding-inline:20px}}@media(max-width:639.98px){#app,.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--header-h) minmax(0,1fr)}#app #header,.app-shell #header{grid-area:1 / 1;grid-column:1;grid-row:1;width:100%}#app #view,.app-shell #view{grid-area:2 / 1;grid-column:1;grid-row:2;width:100%;max-width:none}#view,main#view,.main-view,main{overflow-x:clip;max-width:100%;padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}.bottom-tab-bar,.bottom-tabs{padding-inline:max(4px,env(safe-area-inset-left)) max(4px,env(safe-area-inset-right))}.tab-item,.bottom-tab-item{min-width:44px;min-height:44px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:36px;padding:0 16px;border-radius:var(--r-md);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--text);transition:.15s ease;-webkit-user-select:none;user-select:none}.btn--primary{background:var(--accent);color:var(--on-accent, #052e16)}.btn--primary:hover{background:var(--accent-hover)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn--ghost:hover{background:var(--bg-card);color:var(--text);border-color:var(--border-strong)}.btn--sm{height:28px;padding:0 10px;font-size:12px;border-radius:var(--r-sm)}.btn--reroll,.btn--shuffle-home{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2, 8px);min-height:44px;min-width:44px;padding:0 16px;border-radius:var(--r-full, 9999px);font-family:inherit;font-size:13px;font-weight:500;line-height:1;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn--reroll:hover,.btn--shuffle-home:hover{background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text);transform:scale(1.04)}.btn--reroll:active,.btn--shuffle-home:active{transform:scale(.97)}.btn--reroll:focus-visible,.btn--shuffle-home:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn--reroll svg,.btn--shuffle-home svg{width:18px;height:18px;flex-shrink:0;transition:transform .15s ease}.btn--reroll.is-spinning svg,.btn--shuffle-home.is-spinning svg,.btn--reroll .is-spinning,.btn--shuffle-home .is-spinning{animation:spin .8s linear infinite;transform-origin:center}.btn--reroll.is-spinning,.btn--shuffle-home.is-spinning{pointer-events:none;opacity:.85}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chip-bar,.chip-filter-bar,.filter-chips{display:flex;gap:8px;margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;width:100%}.chip-bar__list{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chip,.chip-btn,button.chip{min-height:44px;padding:0 14px;border-radius:var(--r-full);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-family:inherit;font-size:13px;font-weight:400;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;-webkit-user-select:none;user-select:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}.chip:hover,.chip-btn:hover{background:var(--bg-card-hover);color:var(--text);border-color:var(--border-strong)}.chip:focus-visible,.chip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.is-active,.chip.active,.chip--active,.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:500}.chip.is-active:hover,.chip.active:hover,.chip--active:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.chip-select,.quality-select-chip,.chip-quality,.chip-select-wrapper select{min-height:44px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text);padding:0 28px 0 12px;font-family:inherit;font-size:12px;font-weight:500;line-height:1;cursor:pointer;margin-left:auto;display:inline-flex;align-items:center;transition:border-color .15s ease,background-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;white-space:nowrap}.chip-select:hover,.quality-select-chip:hover,.chip-quality:hover{border-color:var(--border-strong);background-color:var(--bg-card-hover)}.chip-select:focus-visible,.quality-select-chip:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.chip-select-wrapper{margin-left:auto;display:inline-flex;align-items:center}.results-grid,.result-card-grid,.card-grid,.recommendations-grid,.recommendation-grid,.recommendations__grid,.grid--recommendations,.skeleton-grid,#results{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:16px;width:100%;min-width:0;box-sizing:border-box}.recommendations__header,.recommendation-header,.section-header--recommendations{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3, 12px);margin-bottom:var(--sp-4, 16px);flex-wrap:wrap}.recommendations__title-group,.recommendation-header__left{display:flex;align-items:center;gap:var(--sp-2, 8px);flex-wrap:wrap}@media(max-width:640px){.results-grid,.result-card-grid,.card-grid,.recommendations-grid,.recommendation-grid,.recommendations__grid,.grid--recommendations,.skeleton-grid,#results{grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:12px}}@media(max-width:380px){.results-grid,.result-card-grid,.card-grid,.recommendations-grid,.recommendation-grid,.recommendations__grid,.grid--recommendations,.skeleton-grid,#results{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.result-card,.card-track,.track-card,.media-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column;gap:8px;position:relative;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease;min-width:0;max-width:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;box-sizing:border-box}.result-card:hover,.card-track:hover,.track-card:hover,.media-card:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translateY(-2px)}.result-card:focus-visible,.card-track:focus-visible,.track-card:focus-visible,.media-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--border-strong)}.result-card.is-playing,.result-card--playing,.card-track.is-playing,.track-card--playing{border-color:var(--accent);background:var(--bg-card-hover)}.result-card--featured,.result-card--recommendation{border-color:#22c55e40;background:linear-gradient(180deg,rgba(28,42,32,.35) 0%,var(--bg-card) 60%)}.result-card--featured:hover,.result-card--recommendation:hover{border-color:var(--accent);background:linear-gradient(180deg,rgba(28,42,32,.5) 0%,var(--bg-card-hover) 60%)}.result-card__cover,.result-card__art,.card-cover,.track-card__cover-wrap,.media-card__cover-wrap{aspect-ratio:1 / 1;width:100%;height:auto;min-height:0;border-radius:var(--r-md);object-fit:cover;position:relative;overflow:hidden;background:var(--bg-elevated);display:block;flex-shrink:0}.result-card__cover img,.result-card__art img,.card-cover img,.track-card__cover,.media-card__image{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;transition:transform .2s ease}.result-card:hover .result-card__cover img,.result-card:hover .result-card__art img,.result-card:hover .track-card__cover,.media-card:hover .media-card__image{transform:scale(1.02)}.result-card__art--placeholder,.card-cover--placeholder,.track-card__cover-placeholder,.media-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bg-elevated);color:var(--text-faint);border-radius:inherit}.result-card__art--placeholder svg,.card-cover--placeholder svg,.track-card__cover-placeholder svg,.media-card__placeholder svg{width:36px;height:36px;opacity:.5}.card-play-btn,.btn--preview,.result-card__play,.track-card__play-btn,.media-card__play-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:var(--accent);color:var(--on-accent);border:none;position:absolute;bottom:8px;right:8px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,background-color .15s ease;cursor:pointer;z-index:3;box-shadow:0 4px 12px #00000073;padding:0}.card-play-btn svg,.btn--preview svg,.result-card__play svg,.track-card__play-btn svg,.media-card__play-btn svg{width:20px;height:20px;fill:currentColor;margin-left:2px}.result-card:hover .card-play-btn,.result-card:hover .btn--preview,.result-card:hover .result-card__play,.result-card:hover .track-card__play-btn,.result-card:hover .media-card__play-btn,.track-card:hover .btn--preview,.track-card:hover .track-card__play-btn,.media-card:hover .media-card__play-btn,.result-card:focus-within .card-play-btn,.result-card:focus-within .btn--preview,.result-card:focus-within .result-card__play,.result-card:focus-within .track-card__play-btn,.result-card:focus-within .media-card__play-btn,.track-card:focus-within .track-card__play-btn,.media-card:focus-within .media-card__play-btn,.result-card:focus .card-play-btn,.result-card:focus .btn--preview,.result-card.is-playing .card-play-btn,.result-card--playing .card-play-btn,.result-card.is-playing .btn--preview,.result-card--playing .btn--preview,.result-card.is-playing .result-card__play,.result-card--playing .result-card__play,.result-card.is-playing .track-card__play-btn,.result-card--playing .track-card__play-btn,.track-card--playing .track-card__play-btn,.track-card__play-btn--active{opacity:1;transform:translateY(0)}.card-play-btn:hover,.btn--preview:hover,.result-card__play:hover,.track-card__play-btn:hover,.media-card__play-btn:hover{background:var(--accent-hover);transform:translateY(-1px) scale(1.05)}.card-play-btn:active,.btn--preview:active,.track-card__play-btn:active,.media-card__play-btn:active{transform:translateY(0) scale(.96)}@media(hover:none){.card-play-btn,.btn--preview,.result-card__play,.track-card__play-btn,.media-card__play-btn{opacity:1;transform:translateY(0)}}.equalizer-bars,.eq-bars,.result-card__eq,.track-card__equalizer{position:absolute;top:8px;left:8px;display:none;align-items:flex-end;gap:2px;height:12px;z-index:2;padding:3px 4px;background:#000000a6;border-radius:var(--r-sm);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none}.result-card.is-playing .equalizer-bars,.result-card--playing .equalizer-bars,.result-card.is-playing .eq-bars,.result-card--playing .eq-bars,.result-card.is-playing .result-card__eq,.result-card--playing .result-card__eq,.result-card.is-playing .track-card__equalizer,.result-card--playing .track-card__equalizer,.track-card--playing .track-card__equalizer,.track-card__equalizer.is-active{display:flex}.eq-bar,.track-card__eq-bar,.equalizer-bars span,.eq-bars span{width:3px;height:100%;background:var(--accent);border-radius:1px;transform-origin:bottom;animation:eq-bounce .8s ease-in-out infinite alternate}.eq-bar:nth-child(1),.track-card__eq-bar:nth-child(1),.equalizer-bars span:nth-child(1),.eq-bars span:nth-child(1){height:40%;animation-delay:0s}.eq-bar:nth-child(2),.track-card__eq-bar:nth-child(2),.equalizer-bars span:nth-child(2),.eq-bars span:nth-child(2){height:100%;animation-delay:.25s}.eq-bar:nth-child(3),.track-card__eq-bar:nth-child(3),.equalizer-bars span:nth-child(3),.eq-bars span:nth-child(3){height:65%;animation-delay:.12s}.track-card__eq-bar:nth-child(4),.eq-bar:nth-child(4){height:80%;animation-delay:.18s}@keyframes eq-bounce{0%{transform:scaleY(.25)}50%{transform:scaleY(1)}to{transform:scaleY(.45)}}.result-card--paused .eq-bar,.result-card--paused .track-card__eq-bar,.result-card--paused .equalizer-bars span,.result-card--paused .eq-bars span,.is-paused .eq-bar,.is-paused .track-card__eq-bar,.is-paused .equalizer-bars span,[data-paused=true] .eq-bar,[data-paused=true] .track-card__eq-bar{animation-play-state:paused}.result-card__meta,.card-meta,.track-card__info,.media-card__info{display:flex;flex-direction:column;gap:2px;min-width:0}.track-card__title-row,.media-card__meta{display:flex;align-items:center;justify-content:space-between;gap:6px}.track-card__sub-row{display:flex;align-items:center;gap:4px;min-width:0}.track-card__sep{color:var(--text-faint);font-size:11px}.result-card__title,.card-title,.track-card__title,.media-card__title{font-size:14px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.result-card__artist,.card-artist,.track-card__artist,.media-card__subtitle{font-size:12px;line-height:1.3;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-card__album,.track-card__album{font-size:11px;line-height:1.2;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-card__duration{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);margin-top:2px}.result-card__footer,.card-footer,.track-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;gap:8px}.quality-badge,.badge-quality,.result-card__quality,.badge--quality,.media-card__badge{font-size:11px;background:var(--accent-soft);color:var(--accent-hover);padding:1px 6px;border-radius:4px;font-weight:500;line-height:1.4;letter-spacing:.02em;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}.badge--flac{background:var(--accent-soft);color:var(--accent-hover)}.badge--mp3{background:#ffffff14;color:var(--text-muted)}.badge--featured,.badge--recommendation{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:var(--fs-badge, 11px);font-weight:500;line-height:1.2;border-radius:var(--r-full, 9999px);background:var(--accent-soft);color:var(--accent);border:1px solid rgba(34,197,94,.22);letter-spacing:.02em;white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle}.result-card__cover .badge--featured,.result-card__cover .badge--recommendation,.track-card__cover-wrap .badge--featured,.track-card__cover-wrap .badge--recommendation,.media-card__cover-wrap .badge--featured,.media-card__cover-wrap .badge--recommendation{position:absolute;top:8px;right:8px;z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000073}.result-card__actions,.card-actions,.track-card__actions{display:flex;gap:4px;align-items:center}.btn--favorite,.btn--fav,.btn--download,.btn--download-icon,.card-action-btn,.btn-action,.btn-icon,.track-card__fav-btn,.track-card__download-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background-color .15s ease,transform .15s ease;padding:0;-webkit-tap-highlight-color:transparent;flex-shrink:0;position:relative}.btn--favorite svg,.btn--fav svg,.btn--download svg,.btn--download-icon svg,.card-action-btn svg,.btn-action svg,.btn-icon svg,.track-card__fav-btn svg,.track-card__download-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:fill .15s ease,stroke .15s ease}.btn--favorite:hover,.btn--fav:hover,.btn--download:hover,.btn--download-icon:hover,.card-action-btn:hover,.track-card__fav-btn:hover,.track-card__download-btn:hover{background:var(--bg-card-hover);color:var(--text)}.btn--favorite:focus-visible,.btn--fav:focus-visible,.btn--download:focus-visible,.card-action-btn:focus-visible,.track-card__fav-btn:focus-visible,.track-card__download-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--favorite.is-active,.btn--favorite.active,.btn--favorite--active,.btn--favorite[aria-pressed=true],.btn--fav.is-favorite,.track-card__fav-btn--active,.is-favorite{color:var(--accent)}.btn--favorite.is-active svg,.btn--favorite.active svg,.btn--favorite--active svg,.btn--favorite[aria-pressed=true] svg,.btn--fav.is-favorite svg,.track-card__fav-btn--active svg,.is-favorite svg{fill:var(--accent);stroke:var(--accent)}.is-downloaded{color:var(--accent)}.is-downloading svg{animation:spin 1s linear infinite}@media(pointer:coarse),(max-width:640px){.result-card__actions,.card-actions,.track-card__actions{gap:8px}.btn--favorite,.btn--fav,.btn--download,.btn--download-icon,.card-action-btn,.track-card__fav-btn,.track-card__download-btn{width:44px;height:44px;min-width:44px;min-height:44px}}.artist-card,.result-card--artist,.media-card--artist{text-align:center;align-items:center}.artist-card .result-card__cover,.artist-card .result-card__art,.result-card--artist .result-card__cover,.result-card--artist .result-card__art,.artist-card .card-cover,.media-card--artist .media-card__cover-wrap,.media-card__image--round,.media-card__placeholder--round{border-radius:50%;aspect-ratio:1 / 1}.artist-card .result-card__title,.result-card--artist .result-card__title,.media-card--artist .media-card__title,.artist-card .result-card__artist,.result-card--artist .result-card__artist,.media-card--artist .media-card__subtitle{text-align:center;width:100%}.artist-card .result-card__footer,.result-card--artist .result-card__footer{justify-content:center;width:100%}.skeleton-card,.result-card--skeleton{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column;gap:8px;pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-cover,.skeleton-card__cover{aspect-ratio:1 / 1;width:100%;border-radius:var(--r-md);background:var(--border)}.skeleton-text,.skeleton-card__body{display:flex;flex-direction:column;gap:6px;padding:2px 0}.skeleton-line,.skeleton-card__line{background:var(--border);border-radius:var(--r-xs);height:12px}.skeleton-line:first-child,.skeleton-card__line--title{width:80%;height:14px}.skeleton-line:last-child,.skeleton-card__line--sub{width:50%;height:12px}.skeleton-card__line--badge{width:35%;height:11px}.skeleton-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px}.skeleton-badge{width:36px;height:16px;border-radius:4px;background:var(--border)}.skeleton-actions{display:flex;gap:4px}.skeleton-circle{width:28px;height:28px;border-radius:50%;background:var(--border)}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton-card,.result-card--skeleton,.skeleton-cover,.skeleton-card__cover,.skeleton-line,.skeleton-card__line,.skeleton-shimmer,.skeleton-badge,.skeleton-circle{animation:skeleton-pulse 1.2s ease-in-out infinite}.empty-state,.error-state,.state-container{max-width:400px;margin:48px auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px}.empty-state__icon,.error-state__icon,.state-icon{width:32px;height:32px;color:var(--text-faint);display:flex;align-items:center;justify-content:center;margin-bottom:0}.empty-state__icon svg,.error-state__icon svg,.state-icon svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.5;fill:none}.error-state__icon{color:var(--danger)}.empty-state__title,.error-state__title,.state-title{font-size:16px;font-weight:500;margin:12px 0 6px;color:var(--text);line-height:1.4}.empty-state__desc,.error-state__desc,.state-desc,.empty-state p,.error-state p{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0 0 16px}.empty-state__action,.error-state__action,.empty-state__action-btn,.state-action,.empty-state button,.error-state button{height:36px;padding:0 16px;background:var(--accent);color:var(--on-accent);border-radius:var(--r-md);border:none;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.empty-state__action:hover,.error-state__action:hover,.empty-state__action-btn:hover,.state-action:hover,.empty-state button:hover,.error-state button:hover{background:var(--accent-hover);transform:translateY(-1px)}.empty-state__action:focus-visible,.error-state__action:focus-visible,.empty-state__action-btn:focus-visible,.empty-state button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#toast,#toast-container,.toast-container{position:fixed;bottom:calc(var(--player-h) + 16px);right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:320px;width:calc(100% - 32px);pointer-events:none}.toast,.toast-item{pointer-events:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);box-shadow:0 4px 12px #0006;transform:translateY(10px);opacity:0;transition:transform .2s ease,opacity .2s ease;word-break:break-word}.toast.toast--visible,.toast-item.toast--visible{transform:translateY(0);opacity:1}.toast.toast--exit,.toast-item.toast--exit{transform:translateY(6px);opacity:0}.toast__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.toast__message{flex:1;line-height:1.4}.toast__close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.toast__close:hover{color:var(--text);background:var(--bg-elevated)}.toast--success{border-left:3px solid var(--accent)}.toast--success .toast__icon{color:var(--accent)}.toast--error{border-left:3px solid var(--danger)}.toast--error .toast__icon{color:var(--danger)}.toast--warning{border-left:3px solid var(--warning)}.toast--warning .toast__icon{color:var(--warning)}.toast--info{border-left:3px solid var(--info)}.toast--info .toast__icon{color:var(--info)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}.chip,.result-card,.card-play-btn,.btn--preview,.btn--favorite,.btn--download,.btn--reroll,.btn--shuffle-home,.toast,.empty-state__action{transition:none}.is-spinning,.btn--reroll.is-spinning svg,.btn--shuffle-home.is-spinning svg,.btn--reroll .is-spinning,.btn--shuffle-home .is-spinning,.is-downloading svg,.eq-bar,.track-card__eq-bar,.equalizer-bars span,.eq-bars span,.skeleton-card,.result-card--skeleton,.skeleton-cover,.skeleton-card__cover,.skeleton-line,.skeleton-card__line,.skeleton-shimmer,.skeleton-badge,.skeleton-circle{animation:none}.result-card:hover,.result-card:hover .result-card__cover img,.result-card:hover .result-card__art img,.result-card:hover .track-card__cover,.media-card:hover .media-card__image,.btn--reroll:hover,.btn--shuffle-home:hover,.btn--reroll:active,.btn--shuffle-home:active,.card-play-btn:hover,.btn--preview:hover,.empty-state__action:hover{transform:none}}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.btn,.btn--icon,.btn-icon,.btn-action,.btn--favorite,.btn--download,.btn--delete-playlist,.empty-state__action,.error-state__action{min-width:44px;min-height:44px}.btn:not(.btn--sm){height:44px}.btn--sm{min-height:44px}.btn:focus-visible,.btn-icon:focus-visible,.btn--icon:focus-visible,.card-play-btn:focus-visible,.toast__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.result-card,.track-card,.media-card{border-radius:var(--r-lg);padding:12px;box-shadow:0 1px #ffffff05;transition:transform var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.result-card:hover,.track-card:hover,.media-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}.result-card:active,.track-card:active,.media-card:active{transform:translateY(-1px)}.track-card__cover-wrap,.media-card__cover-wrap{border-radius:var(--r-md)}.track-card__title,.media-card__title{font-weight:var(--fw-medium)}.track-card__actions{justify-content:flex-end;margin-top:2px}.track-card__fav-btn,.track-card__download-btn,.media-card__play-btn,.track-card__play-btn{min-width:44px;min-height:44px}.media-card__image--round,.media-card__placeholder--round{border-radius:50%}.media-card__footer-actions{display:flex;align-items:center;justify-content:flex-end;min-height:44px;margin-top:auto}.btn--delete-playlist{width:44px;height:44px;color:var(--text-muted)}.btn--delete-playlist:hover{color:var(--danger);background:var(--danger-soft)}.skeleton-card,.result-card--skeleton{padding:12px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-card)}.skeleton-cover,.skeleton-card__cover{background:linear-gradient(110deg,var(--bg-card-hover) 8%,var(--bg-elevated) 18%,var(--bg-card-hover) 33%);background-size:200% 100%;animation:skeleton-shimmer 1.35s linear infinite}.skeleton-line,.skeleton-card__line,.skeleton-badge,.skeleton-circle{background:linear-gradient(110deg,var(--bg-card-hover) 8%,var(--bg-elevated) 18%,var(--bg-card-hover) 33%);background-size:200% 100%}@keyframes skeleton-shimmer{to{background-position-x:-200%}}#toast,#toast-container,.toast-container{right:max(16px,env(safe-area-inset-right));bottom:calc(var(--player-h) + 16px);gap:10px;width:min(360px,calc(100% - 32px))}.toast,.toast-item{min-height:52px;padding:10px 10px 10px 14px;border-radius:var(--r-md);box-shadow:var(--shadow-float);transform:translate3d(18px,0,0);transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s ease,border-color .18s ease}.toast.toast--visible,.toast-item.toast--visible{transform:translateZ(0)}.toast__icon{width:28px;height:28px;border-radius:50%;background:var(--accent-soft)}.toast__close{width:44px;height:44px;min-width:44px;padding:0}.toast__message{overflow-wrap:anywhere}@media(max-width:639.98px){#toast,#toast-container,.toast-container{right:max(12px,env(safe-area-inset-right));bottom:calc(var(--mini-player-h) + 56px + 12px + env(safe-area-inset-bottom));width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))}.result-card,.track-card,.media-card{padding:10px}}@media(prefers-reduced-motion:reduce){.result-card,.track-card,.media-card,.toast,.toast-item,.card-play-btn,.btn,.btn-icon{animation:none;transition:none}.result-card:hover,.track-card:hover,.media-card:hover,.result-card:active,.track-card:active,.media-card:active{transform:none}}.track-more,.playlist-dialog__close{min-width:44px;min-height:44px;display:inline-grid;place-items:center;flex-shrink:0;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:18px;letter-spacing:2px}.track-more:hover,.playlist-dialog__close:hover{background:var(--bg-card-hover);color:var(--text)}.track-more:disabled{opacity:.4;cursor:default}.track-more:focus-visible,.playlist-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.playlist-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:24px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg-card);color:var(--text);overflow:auto}.playlist-dialog::backdrop{background:#000000b8}.playlist-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.playlist-dialog__header h2{font-size:22px;line-height:1.2}.playlist-dialog__track{color:var(--text-muted);margin:6px 0 18px;overflow-wrap:anywhere}.playlist-dialog__list{display:grid;gap:4px;color:var(--text-muted)}.playlist-dialog__body{display:grid;gap:12px}.track-action-downloads{display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--border)}.track-action-downloads h3{margin:0 0 4px;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.04em}.playlist-choice{display:block;width:100%;min-height:48px;padding:12px 14px;text-align:left;border:1px solid transparent;border-radius:var(--r-sm);background:var(--bg-input);color:var(--text);cursor:pointer;overflow-wrap:anywhere}.playlist-choice:hover{background:var(--bg-card-hover)}.playlist-choice:disabled{color:var(--text-muted);cursor:default}.playlist-create{display:grid;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.playlist-create input{min-width:0;width:100%;min-height:48px;padding:12px;background:var(--bg-input);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);font:inherit}.playlist-dialog__status{margin-top:16px;color:var(--accent);overflow-wrap:anywhere}.track-card .track-card__equalizer{height:24px;padding:5px;background:var(--bg-side);-webkit-backdrop-filter:none;backdrop-filter:none}.track-card .eq-bar{animation-play-state:paused}.track-card.is-playing .eq-bar{animation-play-state:running}@media(hover:hover)and (prefers-reduced-motion:no-preference){.track-card:hover{transform:translateY(-2px)}}@media(max-width:600px){.track-card__actions,.song-item,.song-item__actions{flex-wrap:wrap}}body.has-player{padding-bottom:var(--player-h, 84px)}@media(max-width:639.98px){body.has-player{padding-bottom:calc(var(--mini-player-h, 56px) + 56px)}}@media(prefers-reduced-motion:reduce){#player,#player-bar,.player-bar,#queue-panel,.player-sheet,#player-bar .player__btn--play{animation:none;transition:none}}#player,#player-bar,.player-bar{height:var(--player-h, 84px);background:var(--bg-player);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:1fr minmax(auto,680px) 1fr;align-items:center;padding:0 clamp(16px,2.5vw,32px);gap:16px;-webkit-user-select:none;user-select:none;transition:opacity .2s ease,transform .2s ease}@supports (padding-bottom: env(safe-area-inset-bottom)){@media(min-width:640px){#player,#player-bar,.player-bar{padding-bottom:env(safe-area-inset-bottom,0px);height:calc(var(--player-h, 84px) + env(safe-area-inset-bottom,0px))}}}#player-bar.empty .player__left,#player-bar.empty .player__center,#player-bar.empty .player__right,#player-bar.empty .player__mobile-actions{opacity:.55}#player.empty .player__controls,#player.empty .player-controls,#player.empty .player__seek-row,#player.empty .player__seekbar,#player.empty .player-seekbar,#player.empty .player__volume,#player.empty .player-volume,#player.empty button,#player.is-empty .player__controls,#player.is-empty .player-controls,#player.is-empty .player__seek-row,#player.is-empty .player__seekbar,#player.is-empty .player-seekbar,#player.is-empty .player__volume,#player.is-empty .player-volume,#player.is-empty button,#player[data-state=empty] .player__controls,#player[data-state=empty] .player-controls,#player[data-state=empty] .player__seek-row,#player[data-state=empty] .player__seekbar,#player[data-state=empty] .player-seekbar,#player[data-state=empty] .player__volume,#player[data-state=empty] .player-volume,#player[data-state=empty] button,#player-bar.empty .player__controls,#player-bar.empty .player-controls,#player-bar.empty .player__seek-row,#player-bar.empty .player__seekbar,#player-bar.empty .player-seekbar,#player-bar.empty .player__volume,#player-bar.empty .player-volume,#player-bar.empty button,#player-bar.is-empty .player__controls,#player-bar.is-empty .player-controls,#player-bar.is-empty .player__seek-row,#player-bar.is-empty .player__seekbar,#player-bar.is-empty .player-seekbar,#player-bar.is-empty .player__volume,#player-bar.is-empty .player-volume,#player-bar.is-empty button,.player-bar--empty .player__controls,.player-bar--empty .player-controls,.player-bar--empty .player__seek-row,.player-bar--empty .player__seekbar,.player-bar--empty .player-seekbar,.player-bar--empty .player__volume,.player-bar--empty .player-volume,.player-bar--empty button,.player--empty .player__controls,.player--empty .player-controls,.player--empty .player__seek-row,.player--empty .player__seekbar,.player--empty .player-seekbar,.player--empty .player__volume,.player--empty .player-volume,.player--empty button{pointer-events:none;cursor:default}#player-bar.empty #player-play-btn,#player-bar.is-empty #player-play-btn,.player-bar--empty #player-play-btn,.player--empty #player-play-btn{background:var(--bg-card);color:var(--text-faint);opacity:.5;cursor:default}.player__left,.player-left,.player-bar__left,#player-left{display:flex;align-items:center;gap:12px;min-width:0}.player__cover-wrap{width:52px;height:52px;border-radius:6px;background:var(--bg-card);overflow:hidden;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.player__cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-faint);background:var(--bg-card)}.player__cover,.player-cover,.player-bar__cover,#player-cover{width:52px;height:52px;border-radius:6px;object-fit:cover;background:var(--bg-card);flex-shrink:0;display:block}.player__info,.player-info,.player-bar__info,#player-info{min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px}.player__title,.player-title,.player-bar__title,#player-title{font-size:14px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--text);line-height:1.3}.player__artist,.player-artist,.player-bar__artist,#player-artist{font-size:12px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.3}.player__favorite,.player__btn--favorite,.player-favorite-btn,.player-fav-btn,#player-favorite,#player-fav{width:32px;height:32px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex-shrink:0;transition:color .15s ease,transform .1s ease}.player__favorite:hover,.player__btn--favorite:hover,.player-favorite-btn:hover,.player-fav-btn:hover,#player-favorite:hover,#player-fav:hover{color:var(--text)}.player__favorite.is-active,.player__favorite.active,.player__favorite[aria-pressed=true],.player__btn--favorite.is-active,.player__btn--favorite.active,.player__btn--favorite[aria-pressed=true],.player-favorite-btn.active,.player-fav-btn.active,#player-favorite.active,#player-fav.active{color:var(--accent)}.player__center,.player-center,.player-bar__center,#player-center{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;width:100%}.player__controls,.player-controls,.player-bar__controls,#player-controls{display:flex;align-items:center;gap:16px}.player__btn,.player-btn{background:transparent;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;position:relative;transition:color .15s ease,transform .1s ease}.player__btn:hover,.player-btn:hover{color:var(--text)}.player__btn--play,.player__btn--play-pause,.player-btn--play,.player-play-btn,#player-play,#player-play-pause{width:36px;height:36px;border-radius:50%;background:var(--text);color:var(--bg-page);display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0;transition:transform .15s ease,background-color .15s ease,color .15s ease}.player__btn--play:hover,.player__btn--play-pause:hover,.player-btn--play:hover,.player-play-btn:hover,#player-play:hover,#player-play-pause:hover{transform:scale(1.05);background:#fff;color:#000}.player__btn--play:active,.player__btn--play-pause:active,.player-btn--play:active,.player-play-btn:active,#player-play:active,#player-play-pause:active{transform:scale(.96)}.player__btn--shuffle.is-active,.player__btn--shuffle.active,.player__btn--shuffle[aria-pressed=true],.player__btn--repeat.is-active,.player__btn--repeat.active,.player__btn--repeat[aria-pressed=true],.player-btn--shuffle.active,.player-btn--repeat.active,#player-shuffle.active,#player-shuffle.is-active,#player-repeat.active,#player-repeat.is-active{color:var(--accent)}.player__btn--repeat.repeat-one,.player__btn--repeat.is-one,.player__btn--repeat[data-repeat=one],.player__btn--repeat[data-mode=one],.player-btn--repeat.repeat-one,.player-btn--repeat.is-one,.player-btn--repeat[data-repeat=one],.player-btn--repeat[data-mode=one],#player-repeat.repeat-one,#player-repeat.is-one,#player-repeat[data-repeat=one],#player-repeat[data-mode=one]{position:relative;color:var(--accent)}.player__btn--repeat.repeat-one:after,.player__btn--repeat.is-one:after,.player__btn--repeat[data-repeat=one]:after,.player__btn--repeat[data-mode=one]:after,.player-btn--repeat.repeat-one:after,.player-btn--repeat.is-one:after,.player-btn--repeat[data-repeat=one]:after,.player-btn--repeat[data-mode=one]:after,#player-repeat.repeat-one:after,#player-repeat.is-one:after,#player-repeat[data-repeat=one]:after,#player-repeat[data-mode=one]:after{content:"1";position:absolute;top:0;right:-2px;font-size:9px;font-weight:700;line-height:1;color:var(--accent);background:var(--bg-player);border-radius:50%;padding:1px 2px}.player__seek-row,.player__seekbar-row,.player-seek-row,.player-bar__seek,#player-seek-row{display:flex;align-items:center;gap:8px;width:100%;max-width:560px}.player__time,.player-time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;width:36px;flex-shrink:0;-webkit-user-select:none;user-select:none}.player__time--current,.player-time--current,#player-time-current,#player-current-time{text-align:right}.player__time--duration,.player-time--duration,#player-time-duration,#player-duration{text-align:left}.player__seekbar-container,#player-seekbar-container{position:relative;flex:1;display:flex;align-items:center;height:16px;min-width:0}.player__seekbar,.player-seekbar,.seekbar,#player-seekbar{flex:1;width:100%;height:4px;border-radius:2px;background:var(--border-strong);position:relative;cursor:pointer;padding:0;margin:0;z-index:2;transition:height .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.player__seekbar:hover,.player-seekbar:hover,.seekbar:hover,#player-seekbar:hover{height:6px}.player__seekbar-fill,.player-seekbar-fill,.seekbar__fill,.seekbar-fill,#player-seekbar-fill{position:absolute;top:6px;left:0;height:4px;background:var(--text);border-radius:2px;pointer-events:none;z-index:1;transition:background-color .15s ease;width:0%}.player__seekbar:hover .player__seekbar-fill,.player__seekbar:hover .player-seekbar-fill,.player__seekbar:hover .seekbar__fill,.player-seekbar:hover .player__seekbar-fill,.player-seekbar:hover .player-seekbar-fill,.player-seekbar:hover .seekbar__fill,.seekbar:hover .player__seekbar-fill,.seekbar:hover .player-seekbar-fill,.seekbar:hover .seekbar__fill,.seekbar:hover .seekbar-fill,#player-seekbar:hover .player__seekbar-fill,#player-seekbar:hover .seekbar-fill{background:var(--accent)}.player__seekbar-thumb,.player-seekbar-thumb,.seekbar__thumb,.seekbar-thumb,#player-seekbar-thumb{position:absolute;top:50%;left:0%;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);opacity:0;pointer-events:none;box-shadow:0 1px 4px #0006;transition:opacity .15s ease,transform .1s ease}.player__seekbar:hover .player__seekbar-thumb,.player__seekbar:active .player__seekbar-thumb,.player__seekbar.is-active .player__seekbar-thumb,.player__seekbar.is-dragging .player__seekbar-thumb,.player-seekbar:hover .player-seekbar-thumb,.player-seekbar:active .player-seekbar-thumb,.seekbar:hover .seekbar__thumb,.seekbar:active .seekbar__thumb,.seekbar:hover .seekbar-thumb,.seekbar:active .seekbar-thumb,#player-seekbar:hover .player__seekbar-thumb,#player-seekbar:active .player__seekbar-thumb{opacity:1}.player__right,.player-right,.player-bar__right,#player-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.player__quality,.player-quality,.quality-badge,#player-quality,#player-quality-badge{font-size:11px;background:var(--accent-soft);color:var(--accent-hover);padding:1px 6px;border-radius:4px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1.4}.player__btn--lyrics,.player__btn--queue,.player-btn--lyrics,.player-btn--queue,.player-lyrics-btn,.player-queue-btn,#player-lyrics,#player-queue,#player-btn-lyrics,#player-btn-queue{width:32px;height:32px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex-shrink:0;transition:color .15s ease,background-color .15s ease}.player__btn--lyrics:hover,.player__btn--queue:hover,.player-btn--lyrics:hover,.player-btn--queue:hover,.player-lyrics-btn:hover,.player-queue-btn:hover,#player-lyrics:hover,#player-queue:hover,#player-btn-lyrics:hover,#player-btn-queue:hover{color:var(--text)}.player__btn--lyrics.is-active,.player__btn--lyrics.active,.player__btn--lyrics[aria-pressed=true],.player__btn--queue.is-active,.player__btn--queue.active,.player__btn--queue[aria-pressed=true],.player-btn--lyrics.active,.player-btn--queue.active,.player-lyrics-btn.active,.player-queue-btn.active,#player-lyrics.active,#player-queue.active,#player-btn-lyrics.active,#player-btn-queue.active{color:var(--accent)}.player__volume,.player-volume,.volume-control{display:flex;align-items:center;gap:6px;flex-shrink:0}.player__volume-slider-wrap,#player-volume-slider-wrap{position:relative;width:90px;height:16px;display:flex;align-items:center;flex-shrink:0}.player__btn--volume,.player-btn--volume,.player-volume-btn,#player-volume-btn,#player-mute{width:32px;height:32px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex-shrink:0;transition:color .15s ease}.player__btn--volume:hover,.player-btn--volume:hover,.player-volume-btn:hover,#player-volume-btn:hover,#player-mute:hover{color:var(--text)}.player__volume-slider,.player-volume-slider,.volume-slider,#player-volume,#player-volume-slider{width:90px;height:4px;background:var(--border-strong);border-radius:2px;position:relative;cursor:pointer;padding:0;margin:0;z-index:2;transition:height .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.player__volume-slider:hover,.player-volume-slider:hover,.volume-slider:hover,#player-volume-slider:hover{height:6px}.player__volume-fill,.player-volume-fill,.volume-slider__fill,.volume-fill,#player-volume-fill{position:absolute;top:6px;left:0;height:4px;background:var(--text);border-radius:2px;pointer-events:none;z-index:1;transition:background-color .15s ease}.player__volume-slider:hover .player__volume-fill,.player__volume-slider:hover .player-volume-fill,.player__volume-slider:hover .volume-slider__fill,.player-volume-slider:hover .player__volume-fill,.player-volume-slider:hover .player-volume-fill,.volume-slider:hover .volume-slider__fill,#player-volume-slider:hover .player__volume-fill{background:var(--accent)}.player__volume-thumb,.player-volume-thumb,.volume-slider__thumb,.volume-thumb,#player-volume-thumb{position:absolute;top:50%;left:100%;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);opacity:0;pointer-events:none;box-shadow:0 1px 4px #0006;transition:opacity .15s ease}.player__volume-slider:hover .player__volume-thumb,.player__volume-slider:active .player__volume-thumb,.player-volume-slider:hover .player-volume-thumb,.volume-slider:hover .volume-slider__thumb,.volume-slider:active .volume-slider__thumb,#player-volume-slider:hover .player__volume-thumb{opacity:1}#queue-panel,.queue-panel,.queue-drawer{position:fixed;top:0;right:0;bottom:var(--player-h, 84px);width:340px;background:var(--bg-side);border-left:1px solid var(--border);z-index:85;transform:translate(100%);transition:transform .2s ease;display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000073}#queue-panel.open,#queue-panel.is-open,.queue-panel.open,.queue-panel.is-open,.queue-drawer.open,.queue-drawer.is-open{transform:translate(0)}#queue-panel .queue-panel__header,#queue-panel .queue-header,#queue-panel #queue-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}#queue-panel .queue-panel__title,#queue-panel .queue-header__title,#queue-panel #queue-panel-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.2}#queue-panel .queue-panel__close,#queue-panel .queue-close-btn,#queue-panel #queue-close{width:32px;height:32px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .15s ease,background-color .15s ease}#queue-panel .queue-panel__close:hover,#queue-panel .queue-close-btn:hover,#queue-panel #queue-close:hover{color:var(--text);background:#ffffff0d}#queue-panel .queue-panel__list,#queue-panel .queue-list,#queue-panel #queue-list{flex:1;overflow-y:auto;padding:8px;margin:0;list-style:none;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px}#queue-panel .queue-panel__item,#queue-panel .queue-item{height:48px;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-md, 8px);cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}#queue-panel .queue-panel__item:hover,#queue-panel .queue-item:hover,#queue-panel .queue-panel__item.is-active,#queue-panel .queue-panel__item.active,#queue-panel .queue-item.is-active,#queue-panel .queue-item.active{background:var(--bg-card)}#queue-panel .queue-panel__item.is-active .queue-item__title,#queue-panel .queue-item.is-active .queue-item__title{color:var(--accent)}#queue-panel .queue-item__cover{width:36px;height:36px;border-radius:4px;object-fit:cover;background:var(--bg-card);flex-shrink:0}#queue-panel .queue-item__info{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px}#queue-panel .queue-item__title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}#queue-panel .queue-item__artist{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}#queue-panel .queue-item__remove{width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;opacity:0;flex-shrink:0;transition:opacity .15s ease,color .15s ease}#queue-panel .queue-panel__item:hover .queue-item__remove,#queue-panel .queue-panel__item:focus-within .queue-item__remove,#queue-panel .queue-item:hover .queue-item__remove,#queue-panel .queue-item:focus-within .queue-item__remove{opacity:1}#queue-panel .queue-item__remove:hover{color:var(--text)}@media(max-width:639.98px){#player:not(.player--desktop-only),#player-bar:not(.player-bar--desktop-only),.player-bar:not(.player-bar--desktop-only){height:56px;background:var(--bg-player);border-top:1px solid var(--border);position:fixed;bottom:56px;left:0;right:0;z-index:89;display:flex;align-items:center;padding:0 12px;gap:10px;grid-template-columns:none}#mini-player,.mini-player{height:56px;background:var(--bg-player);border-top:1px solid var(--border);position:fixed;bottom:56px;left:0;right:0;z-index:89;display:flex;align-items:center;padding:0 12px;gap:10px}#player .player__center,#player .player-center,#player .player__right,#player .player-right,#player-bar .player__center,#player-bar .player-center,#player-bar .player__right,#player-bar .player-right,.player-bar .player__center,.player-bar .player-center,.player-bar .player__right,.player-bar .player-right{display:none}#player .player__left,#player .player-left,#player-bar .player__left,#player-bar .player-left,.player-bar .player__left,.player-bar .player-left{flex:1;min-width:0;cursor:pointer}#player .player__cover,#player .player-cover,#player-bar .player__cover,#player-bar .player-cover,.player-bar .player__cover,.player-bar .player-cover{width:40px;height:40px;border-radius:6px}#player .player__favorite,#player .player-favorite-btn,#player-bar .player__favorite,#player-bar .player-favorite-btn,.player-bar .player__favorite,.player-bar .player-favorite-btn{display:none}#queue-panel,.queue-panel,.queue-drawer{width:100%;bottom:112px;z-index:150}}.mini-player__progress,.player-bar__top-progress,.mini-progress-bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);overflow:hidden}.mini-player__progress-fill,.player-bar__top-progress-fill,.mini-progress-fill{height:100%;background:var(--accent);width:0%;transition:width .1s linear}.mini-player__cover,.mini-cover{width:40px;height:40px;border-radius:6px;object-fit:cover;background:var(--bg-card);flex-shrink:0}.mini-player__info,.mini-info{flex:1;min-width:0;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:2px}.mini-player__title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.mini-player__artist{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.mini-player__controls,.mini-controls,.player__mobile-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.mini-player__btn--play,.mini-player-btn--play,.mini-play-btn{width:36px;height:36px;border-radius:50%;background:var(--text);color:var(--bg-page);display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0;transition:transform .15s ease,background-color .15s ease}.mini-player__btn--play:active,.mini-player-btn--play:active,.mini-play-btn:active{transform:scale(.95)}.mini-player__btn--next,.mini-player-btn--next,.mini-next-btn{width:36px;height:36px;border-radius:50%;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0;transition:color .15s ease,transform .15s ease}.mini-player__btn--next:hover,.mini-player-btn--next:hover,.mini-next-btn:hover{color:var(--accent)}.mini-player__btn--next:active,.mini-player-btn--next:active,.mini-next-btn:active{transform:scale(.95)}@media(min-width:640px){#mini-player,.mini-player,.player__mobile-controls{display:none}}#player-sheet,#mobile-player-sheet,#full-player,.player-sheet,.full-player{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-page);z-index:200;transform:translateY(100%);transition:transform .25s ease;display:flex;flex-direction:column;padding:24px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#player-sheet.open,#player-sheet.is-open,#mobile-player-sheet.open,#mobile-player-sheet.is-open,#full-player.open,#full-player.is-open,.player-sheet.open,.player-sheet.is-open,.full-player.open,.full-player.is-open{transform:translateY(0)}@supports (padding-top: env(safe-area-inset-top)){#player-sheet,#mobile-player-sheet,#full-player,.player-sheet,.full-player{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:calc(24px + env(safe-area-inset-left));padding-right:calc(24px + env(safe-area-inset-right))}}.player-sheet__header,.full-player__header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:12px;flex-shrink:0}.player-sheet__close,.player-sheet-close,.full-player__close,#player-sheet-close{width:44px;height:44px;background:transparent;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .15s ease,background-color .15s ease}.player-sheet__close:hover,.player-sheet-close:hover,.full-player__close:hover,#player-sheet-close:hover{color:var(--text);background:#ffffff0f}.player-sheet__header-title,.full-player__header-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none}.full-player__header-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:44px;flex:0 0 auto}.full-player__download{width:44px;height:44px;flex:0 0 44px;display:inline-grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,background-color .15s ease}.full-player__download:hover{color:var(--text);background:#ffffff0f}.full-player__download:disabled{opacity:.45;cursor:default}.full-player__download:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player-sheet__cover-wrap,.full-player__cover-wrap{display:flex;align-items:center;justify-content:center;margin:auto 0;padding:16px 0;flex-shrink:0}.player-sheet__cover,.full-player__cover,#player-sheet-cover{width:260px;height:260px;max-width:calc(100vw - 48px);max-height:calc(100vw - 48px);border-radius:12px;object-fit:cover;background:var(--bg-card);box-shadow:0 16px 36px #0000008c;display:block}.player-sheet__track-info,.full-player__track-info{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:20px;gap:16px;flex-shrink:0}.player-sheet__info,.full-player__info{flex:1;min-width:0;overflow:hidden}.player-sheet__title,.full-player__title,#player-sheet-title{font-size:20px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.player-sheet__artist,.full-player__artist,#player-sheet-artist{font-size:14px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;margin-top:4px}.player-sheet__fav-btn,.full-player__fav-btn,#player-sheet-fav{width:44px;height:44px;background:transparent;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .15s ease}.player-sheet__fav-btn:hover,.full-player__fav-btn:hover{color:var(--text)}.player-sheet__fav-btn.is-active,.player-sheet__fav-btn.active,.full-player__fav-btn.is-active,.full-player__fav-btn.active{color:var(--accent)}.player-sheet__seek,.full-player__seek{width:100%;display:flex;flex-direction:column;gap:8px;margin-bottom:24px;flex-shrink:0}.player-sheet__seekbar-container,#mobile-sheet-seekbar-container{position:relative;width:100%;height:20px;display:flex;align-items:center}.player-sheet__seekbar,.full-player__seekbar,#mobile-sheet-seekbar{width:100%;height:4px;border-radius:2px;background:var(--border-strong);position:relative;cursor:pointer;padding:0;margin:0;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none}.player-sheet__seekbar-fill,.full-player__seekbar-fill,#mobile-sheet-seekbar-fill{position:absolute;top:8px;left:0;height:4px;background:var(--text);border-radius:2px;pointer-events:none;z-index:1;width:0%}.player-sheet__seekbar-thumb,.full-player__seekbar-thumb{position:absolute;top:50%;left:0%;width:14px;height:14px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 2px 6px #00000073}.player-sheet__times,.full-player__times{display:flex;justify-content:space-between;width:100%;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.player-sheet__controls,.full-player__controls{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:24px;flex-shrink:0}.player-sheet__btn,.full-player__btn{background:transparent;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;width:44px;height:44px;position:relative;transition:color .15s ease,transform .1s ease}.player-sheet__btn:hover,.full-player__btn:hover{color:var(--text)}.player-sheet__btn.is-active,.player-sheet__btn.active,.full-player__btn.is-active,.full-player__btn.active{color:var(--accent)}.player-sheet__btn--play,.full-player__btn--play{width:56px;height:56px;border-radius:50%;background:var(--text);color:var(--bg-page);display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.player-sheet__btn--play:active,.full-player__btn--play:active{transform:scale(.95)}.player-sheet__btn--repeat.repeat-one:after,.player-sheet__btn--repeat.is-one:after,.player-sheet__btn--repeat[data-repeat=one]:after,.full-player__btn--repeat.repeat-one:after,.full-player__btn--repeat[data-repeat=one]:after{content:"1";position:absolute;top:6px;right:6px;font-size:9px;font-weight:700;line-height:1;color:var(--accent);background:var(--bg-page);border-radius:50%;padding:1px 2px}.player-sheet__actions,.full-player__actions{display:flex;align-items:center;justify-content:space-between;width:100%;padding-top:8px;flex-shrink:0}input[type=range].player__range-input,input[type=range].seekbar-range,input[type=range].volume-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:transparent;cursor:pointer;margin:0;padding:0}input[type=range].player__range-input::-webkit-slider-runnable-track,input[type=range].seekbar-range::-webkit-slider-runnable-track,input[type=range].volume-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--border-strong);transition:height .15s ease}input[type=range].player__range-input:hover::-webkit-slider-runnable-track,input[type=range].seekbar-range:hover::-webkit-slider-runnable-track,input[type=range].volume-range:hover::-webkit-slider-runnable-track{height:6px}input[type=range].player__range-input::-webkit-slider-thumb,input[type=range].seekbar-range::-webkit-slider-thumb,input[type=range].volume-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;margin-top:-4px;opacity:0;box-shadow:0 1px 4px #0006;transition:opacity .15s ease}input[type=range].player__range-input:hover::-webkit-slider-thumb,input[type=range].player__range-input:active::-webkit-slider-thumb,input[type=range].seekbar-range:hover::-webkit-slider-thumb,input[type=range].seekbar-range:active::-webkit-slider-thumb,input[type=range].volume-range:hover::-webkit-slider-thumb,input[type=range].volume-range:active::-webkit-slider-thumb{opacity:1}input[type=range].player__range-input::-moz-range-track,input[type=range].seekbar-range::-moz-range-track,input[type=range].volume-range::-moz-range-track{height:4px;border-radius:2px;background:var(--border-strong);transition:height .15s ease}input[type=range].player__range-input:hover::-moz-range-track,input[type=range].seekbar-range:hover::-moz-range-track,input[type=range].volume-range:hover::-moz-range-track{height:6px}input[type=range].player__range-input::-moz-range-progress,input[type=range].seekbar-range::-moz-range-progress,input[type=range].volume-range::-moz-range-progress{height:4px;border-radius:2px;background:var(--text)}input[type=range].player__range-input:hover::-moz-range-progress,input[type=range].seekbar-range:hover::-moz-range-progress,input[type=range].volume-range:hover::-moz-range-progress{background:var(--accent)}input[type=range].player__range-input::-moz-range-thumb,input[type=range].seekbar-range::-moz-range-thumb,input[type=range].volume-range::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff;opacity:0;box-shadow:0 1px 4px #0006;transition:opacity .15s ease}input[type=range].player__range-input:hover::-moz-range-thumb,input[type=range].player__range-input:active::-moz-range-thumb,input[type=range].seekbar-range:hover::-moz-range-thumb,input[type=range].seekbar-range:active::-moz-range-thumb,input[type=range].volume-range:hover::-moz-range-thumb,input[type=range].volume-range:active::-moz-range-thumb{opacity:1}#player button:focus-visible,#player-bar button:focus-visible,.player-bar button:focus-visible,#queue-panel button:focus-visible,.queue-panel button:focus-visible,#player-sheet button:focus-visible,.player-sheet button:focus-visible,#mini-player button:focus-visible,.mini-player button:focus-visible,.player__seekbar:focus-visible,.player-seekbar:focus-visible,.seekbar:focus-visible,.player__volume-slider:focus-visible,.volume-slider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){#player,#player-bar,.player-bar,#queue-panel,.queue-panel,#player-sheet,#full-player,.player-sheet,.full-player,.player__btn--play,.mini-player__btn--play,.player-sheet__btn--play{transition:none;animation:none}}#player,#player-bar,.player-bar{padding-inline:clamp(16px,2.5vw,32px);grid-template-columns:1fr minmax(auto,680px) 1fr;gap:clamp(12px,2vw,24px)}#player-bar .player__left,#player-bar .player__center,#player-bar .player__right{min-width:0}#player-bar .player__left{display:flex;align-items:center;gap:12px}#player-bar .player__cover-wrap{width:52px;height:52px;flex:0 0 52px;border-radius:var(--r-md);overflow:hidden;background:var(--bg-card)}#player-bar .player__info{min-width:0;flex:1 1 auto}#player-bar .player__title,#player-bar .player__artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#player-bar .player__title{font-size:14px;font-weight:var(--fw-medium);line-height:1.25}#player-bar .player__artist{margin-top:3px;color:var(--text-muted);font-size:12px}#player-bar .player-btn,#player-bar .player__btn,#player-bar .player__btn--queue,#player-bar .player__btn--volume{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}#player-bar .player__btn--play{width:44px;height:44px;background:var(--text);color:var(--bg-page);box-shadow:0 4px 14px #00000038}#player-bar .player__btn--play:hover{background:var(--accent-hover);transform:scale(1.04)}#player-bar .player__controls{display:flex;align-items:center;justify-content:center;gap:4px}#player-bar .player__seek-row{min-width:0;gap:10px}#player-bar .player__time{min-width:36px;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums}#player-bar .player__time--duration{text-align:right}#player-bar .player__seekbar-container,#player-bar .player__volume-slider-wrap{position:relative;min-width:0}#player-bar .player__seekbar-container{height:32px;flex:1 1 auto}#player-bar #player-seekbar{height:32px;background:transparent}#player-bar #player-seekbar:hover{height:32px}#player-bar .player__seekbar-fill,#player-bar .player__volume-fill{pointer-events:none;border-radius:var(--r-full);background:var(--accent);transition:width .1s linear}#player-bar .player__seekbar-fill{top:14px;height:4px}#player-bar input[type=range].player__seekbar,#player-bar input[type=range].volume-range{cursor:pointer;touch-action:none}#player-bar input[type=range].player__seekbar:focus-visible,#player-bar input[type=range].volume-range:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#player-bar .player__right{display:flex;align-items:center;justify-content:flex-end;gap:6px}#player-bar .player__volume{min-width:130px;display:flex;align-items:center;gap:4px}#player-bar .player__volume-slider-wrap{width:92px;height:32px}#player-bar #player-volume{height:32px;background:transparent}#player-bar .player__volume-fill{top:14px}@media(min-width:900px){#player-bar .player__volume-slider-wrap:before{position:absolute;top:14px;right:0;left:0;height:4px;border-radius:2px;background:#52617b;content:""}#player-bar .player__volume-fill{z-index:1;height:4px;background:#3b82f6}#player-bar #player-volume{position:relative;z-index:2;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}#player-bar #player-volume::-webkit-slider-runnable-track{height:4px;background:transparent}#player-bar #player-volume::-moz-range-track{height:4px;background:transparent}#player-bar #player-volume::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border:2px solid #0a0f1d;border-radius:50%;background:#f4f6ff;box-shadow:0 0 0 1px #8498c4;opacity:1;-webkit-appearance:none;-moz-appearance:none;appearance:none}#player-bar #player-volume::-moz-range-thumb{width:14px;height:14px;border:2px solid #0a0f1d;border-radius:50%;background:#f4f6ff;box-shadow:0 0 0 1px #8498c4;opacity:1}#player-bar #player-volume-btn{color:#b9c8e7}#player-bar .player__quality{padding:3px 5px;border:1px solid #8298ff;border-radius:2px;background:transparent;color:#b9c8ff;font:12px/1 Pixelify Sans,DM Mono,monospace;letter-spacing:0}}#player-bar .player__mobile-actions{display:none}#queue-panel{box-shadow:var(--shadow-float)}#queue-panel .queue-empty{min-height:160px;display:grid;place-items:center;padding:32px 16px;color:var(--text-muted);font-size:13px;line-height:1.5;text-align:center}#queue-panel .queue-panel__item,#queue-panel .queue-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto 44px;align-items:center;gap:10px;height:56px;min-height:56px;padding:6px 10px;border-radius:var(--r-md);transition:background-color var(--transition-fast),color var(--transition-fast)}#queue-panel .queue-panel__item:hover,#queue-panel .queue-item:hover,#queue-panel .queue-panel__item:focus-visible,#queue-panel .queue-item:focus-visible{background:var(--bg-card-hover)}#queue-panel .queue-panel__item.is-active,#queue-panel .queue-item.is-active{background:var(--accent-soft)}#queue-panel .queue-item__cover-wrap{position:relative;width:36px;height:36px;overflow:hidden;border-radius:var(--r-sm);background:var(--bg-card);flex-shrink:0}#queue-panel .queue-item__cover-wrap img,#queue-panel .queue-item__cover-fallback{width:100%;height:100%}#queue-panel .queue-item__cover-wrap img{display:block;object-fit:cover}#queue-panel .queue-item__cover-fallback,#queue-panel .queue-item__playing-overlay{display:grid;place-items:center}#queue-panel .queue-item__cover-fallback{color:var(--text-muted)}#queue-panel .queue-item__playing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000007a;color:var(--accent)}#queue-panel .queue-item__info{display:flex;min-width:0;flex-direction:column;gap:2px}#queue-panel .queue-item__title,#queue-panel .queue-item__artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#queue-panel .queue-item__title{color:var(--text);font-size:13px}#queue-panel .queue-item__title.is-current{color:var(--accent);font-weight:600}#queue-panel .queue-item__artist,#queue-panel .queue-item__duration{color:var(--text-muted);font-size:11px}#queue-panel .queue-item__duration{flex-shrink:0;font-family:var(--font-mono)}#queue-panel .queue-item__remove{width:44px;height:44px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:1}#queue-panel .queue-item__remove:hover{background:var(--danger-soft);color:var(--danger)}#queue-panel .queue-panel__close,#queue-panel .queue-panel__item,#queue-panel .queue-item__remove{min-width:44px;min-height:44px}@media(max-width:900px)and (min-width:640px){#player,#player-bar,.player-bar{grid-template-columns:1fr minmax(auto,500px) 1fr;gap:10px;padding-inline:12px}#player-bar .player__quality{display:none}}@media(max-width:639.98px){#player,#player-bar,.player-bar{height:var(--mini-player-h);grid-template-columns:minmax(0,1fr) auto;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));gap:8px}#player-bar .player__left{gap:10px;cursor:pointer}#player-bar .player__cover-wrap{width:40px;height:40px;flex-basis:40px}#player-bar .player__title{font-size:13px}#player-bar .player__artist{font-size:11px}#player-bar .player__favorite,#player-bar .player__center,#player-bar .player__right{display:none}#player-bar .player__mobile-actions{display:flex;align-items:center;gap:2px}#player-bar .player__mobile-actions .player-btn{width:44px;height:44px}#player-bar .player__mobile-actions .player__btn--play{width:44px;height:44px;min-width:44px;min-height:44px}#toast,#toast-container,.toast-container{bottom:calc(var(--mini-player-h) + 56px + 12px + env(safe-area-inset-bottom))}}body.now-playing-open{overflow:hidden}#player-bar #player-expand{border:0;padding:0;cursor:pointer;min-width:44px;min-height:44px}@media(min-width:640px)and (max-width:820px){#player,#player-bar,.player-bar{grid-template-columns:1fr minmax(auto,380px) 1fr;gap:8px;padding-inline:12px}#player-bar .player__quality{display:none}#player-bar .volume-range{width:60px}}@media(min-width:821px)and (max-width:1050px){#player,#player-bar,.player-bar{grid-template-columns:1fr minmax(auto,500px) 1fr;gap:12px}#player-bar .player__quality{display:none}#player-bar .volume-range{width:72px}}@media(max-width:639.98px){#player-bar .player__cover-wrap{width:44px;height:44px;flex-basis:44px}#player-bar .player__left{gap:6px}}@media(prefers-reduced-motion:no-preference){#mobile-player-sheet[open],.playlist-dialog[open]{animation:player-reveal .18s ease-out}@keyframes player-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}.player-sheet__volume{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 0 4px;flex-shrink:0}.player-sheet__volume .player-sheet__btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;color:var(--text-muted)}.player-sheet__volume .player-sheet__btn:hover{color:var(--text);background:#ffffff0f}.player-sheet__volume .volume-range{flex:1;max-width:280px;height:44px;min-height:44px;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.player-sheet__volume .volume-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--border-strong);transition:height .15s ease}.player-sheet__volume .volume-range:hover::-webkit-slider-runnable-track{height:6px}.player-sheet__volume .volume-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;margin-top:-4px;opacity:0;box-shadow:0 1px 4px #0006;transition:opacity .15s ease}.player-sheet__volume .volume-range:hover::-webkit-slider-thumb,.player-sheet__volume .volume-range:active::-webkit-slider-thumb{opacity:1}.player-sheet__volume .volume-range::-moz-range-track{height:4px;border-radius:2px;background:var(--border-strong);transition:height .15s ease}.player-sheet__volume .volume-range:hover::-moz-range-track{height:6px}.player-sheet__volume .volume-range::-moz-range-progress{height:4px;border-radius:2px;background:var(--text)}.player-sheet__volume .volume-range:hover::-moz-range-progress{background:var(--accent)}.player-sheet__volume .volume-range::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff;opacity:0;box-shadow:0 1px 4px #0006;transition:opacity .15s ease}.player-sheet__volume .volume-range:hover::-moz-range-thumb,.player-sheet__volume .volume-range:active::-moz-range-thumb{opacity:1}.player-sheet__vol-text{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:38px;text-align:right;-webkit-user-select:none;user-select:none}.full-player__eq{display:inline-flex;align-items:center;gap:3px;height:16px;padding:0 4px}.full-player__eq .eq-bar{width:3px;height:16px;border-radius:2px;background:var(--text-muted);opacity:.5;transform-origin:bottom center}.full-player.is-playing .full-player__eq .eq-bar{background:var(--accent);opacity:1;animation:eq-dance 1.2s ease-in-out infinite}.full-player.is-playing .full-player__eq .eq-bar:nth-child(1){animation-delay:0ms}.full-player.is-playing .full-player__eq .eq-bar:nth-child(2){animation-delay:.15s}.full-player.is-playing .full-player__eq .eq-bar:nth-child(3){animation-delay:.3s}@keyframes eq-dance{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.full-player.is-playing .full-player__eq .eq-bar{animation:none;transform:scaleY(1)}}#mobile-player-sheet.full-player,dialog#mobile-player-sheet{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;border:0;border-radius:0;width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;background:#0a0e14;color:#e6edf3;padding:18px 32px;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;overflow:hidden;z-index:200}.full-player__header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1120px;margin:0 auto 12px;flex-shrink:0}.full-player__close{background:transparent;border:none;color:#8b949e;cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease}.full-player__close:hover{color:#fff}.full-player__header-title{font-size:11px;font-weight:600;letter-spacing:.1em;color:#6e7681;text-transform:uppercase}.full-player__layout{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1120px;margin:0 auto;flex:1 1 0%;min-height:0;overflow-y:auto}@media(min-width:768px){.full-player__layout{display:flex;flex-direction:row;gap:0;align-items:stretch;height:calc(100vh - 76px);height:calc(100dvh - 76px);overflow:hidden}}.full-player__main-col{display:flex;flex-direction:column;justify-content:center;width:310px;min-width:240px;max-width:50%;margin:0;flex-shrink:0;flex-grow:0}.full-player__cover-wrap{width:240px;height:240px;aspect-ratio:1 / 1;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.full-player__cover{width:100%;height:100%;border-radius:10px;object-fit:cover;box-shadow:0 10px 28px #00000080;display:block}.full-player__cover-fallback{width:100%;height:100%;border-radius:10px;background:#161b22;display:flex;align-items:center;justify-content:center;color:#484f58}.full-player__track-info{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px;width:100%;gap:12px}.full-player__info{flex:1;min-width:0}.full-player__title{font-size:20px;font-weight:600;color:#fff;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.full-player__artist{font-size:13px;color:#8b949e;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.full-player__fav-btn{color:#8b949e;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:50%;transition:color .15s ease}.full-player__fav-btn:hover{color:#fff}.full-player__fav-btn.is-active,.full-player__fav-btn.active{color:#ef4444}.full-player__quality-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}.badge-pill--flac{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;border:1px solid rgba(59,130,246,.65);color:#93b6ff;background:#2563eb1f;font-size:10px;font-weight:700;letter-spacing:.04em}.badge-pill--mp3{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;border:1px solid rgba(59,130,246,.4);color:#3b82f6;background:#3b82f614;font-size:10px;font-weight:700}.full-player__quality-specs{font-size:12px;color:#6e7681}.full-player__seek{margin-bottom:12px;width:100%}.full-player__seekbar{width:100%;min-height:44px;height:44px;accent-color:#ffffff;cursor:pointer}.full-player__times{display:flex;justify-content:space-between;font-size:11px;color:#6e7681;margin-top:4px;font-variant-numeric:tabular-nums}.full-player__controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;width:100%}.full-player__ctrl-btn{background:transparent;border:none;color:#8b949e;cursor:pointer;width:44px;height:44px;flex:0 0 44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease}.full-player__ctrl-btn:hover,.full-player__ctrl-btn.is-active,.full-player__ctrl-btn.active{color:#fff}.full-player__play-btn{width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:#fff;color:#0b0f17;display:inline-grid;place-items:center;border:none;cursor:pointer;transition:transform .12s ease}.full-player__play-btn:hover{transform:scale(1.04)}.full-player__play-btn svg{fill:#0b0f17;color:#0b0f17}.full-player__volume{display:flex;align-items:center;gap:10px;margin-bottom:12px;width:100%}.full-player__mute-btn{background:transparent;border:none;color:#8b949e;cursor:pointer;width:44px;height:44px;flex:0 0 44px;padding:0;display:inline-flex;align-items:center;justify-content:center}.full-player__mute-btn:hover{color:#fff}.full-player__volume-slider{flex:1;accent-color:#ffffff;min-height:44px;height:44px;cursor:pointer}.full-player__vol-text{font-size:11px;color:#6e7681;min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.full-player__next-track{font-size:12px;color:#6e7681;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;display:flex;align-items:center;gap:6px}.full-player__next-label{flex-shrink:0;color:#6e7681}.full-player__next-sep{flex-shrink:0;color:#484f58}.full-player__next-cover{width:20px;height:20px;border-radius:3px;object-fit:cover;flex-shrink:0}.full-player__next-cover[hidden]{display:none}.full-player__next-info{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.full-player__next-title{color:#e6edf3;font-weight:600}.full-player__next-dash{color:#484f58;margin:0 1px}.full-player__next-artist{color:#6e7681;font-weight:400}.full-player__side-card{background:#11151c;border:1px solid rgba(255,255,255,.07);border-radius:14px;display:flex;flex-direction:column;height:100%;min-height:0;padding:20px 24px;overflow:hidden;box-sizing:border-box}.full-player__side-header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:8px;margin-bottom:10px;flex-shrink:0}.full-player__side-title{font-size:11px;font-weight:500;color:#6e7681;text-transform:uppercase;letter-spacing:.06em}.full-player__lyrics-meta{font-size:10px;color:#484f58}.full-player__side-content,.full-player__panel{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.full-player__lyrics-lines{flex:1 1 0%;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px 0;scroll-behavior:smooth}.full-player__lyrics-line{font-size:17px;font-weight:500;line-height:1.55;color:#ffffff59;transition:color .2s ease,opacity .2s ease;cursor:pointer;padding:6px 10px;border-radius:6px;-webkit-user-select:none;user-select:none}.full-player__lyrics-line:hover{color:#fffc;background:#ffffff08}.full-player__lyrics-line.is-near{color:#ffffff8c}.full-player__lyrics-line.is-active{color:#fff;font-size:20px;font-weight:700;opacity:1}.full-player__lyrics-empty{color:#8b949e;font-size:14px;text-align:center;margin:auto}.full-player__lyrics-footer{padding-top:10px;text-align:center;border-top:1px solid rgba(255,255,255,.05);flex-shrink:0}.full-player__lyrics-hint{font-size:11px;color:#6e7681}.full-player__resize-handle{display:none}@media(min-width:768px){.full-player__resize-handle{display:flex;align-items:center;justify-content:center;width:12px;flex-shrink:0;cursor:col-resize;position:relative;z-index:2;user-select:none;-webkit-user-select:none}.full-player__resize-handle:after{content:"";width:2px;height:0;border-radius:1px;background:transparent;transition:background .15s ease,height .15s ease}.full-player__resize-handle:hover:after,.full-player__resize-handle.is-dragging:after{background:#ffffff26;height:28px}.full-player__side-card{flex:1 1 0%;min-width:200px}}@media(max-width:767px){#mobile-player-sheet.full-player[open]{top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:max(14px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));border:0;border-radius:0;overflow:hidden}#mobile-player-sheet .full-player__header{margin-bottom:8px;min-height:44px}#mobile-player-sheet .full-player__layout{width:100%;max-width:none;gap:18px;align-items:stretch;overflow-x:hidden;overflow-y:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}#mobile-player-sheet .full-player__main-col{width:100%;min-width:0;max-width:none;justify-content:flex-start;flex-shrink:0}#mobile-player-sheet .full-player__cover-wrap{width:min(68vw,32dvh,280px);height:min(68vw,32dvh,280px);margin:6px auto 18px}#mobile-player-sheet .full-player__title{font-size:clamp(22px,6vw,28px)}#mobile-player-sheet .full-player__fav-btn{width:44px;height:44px;flex:0 0 44px;display:inline-grid;place-items:center}#mobile-player-sheet .full-player__quality-row{min-width:0;flex-wrap:wrap}#mobile-player-sheet .full-player__seekbar,#mobile-player-sheet .full-player__volume-slider{display:block;width:100%;height:44px;min-height:44px;padding:0;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}#mobile-player-sheet .full-player__seekbar::-webkit-slider-runnable-track,#mobile-player-sheet .full-player__volume-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#586579}#mobile-player-sheet .full-player__seekbar::-webkit-slider-thumb,#mobile-player-sheet .full-player__volume-slider::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;border:0;border-radius:50%;background:#f4f6fc;-webkit-appearance:none;-moz-appearance:none;appearance:none}#mobile-player-sheet .full-player__seekbar::-moz-range-track,#mobile-player-sheet .full-player__volume-slider::-moz-range-track{height:4px;border-radius:2px;background:#586579}#mobile-player-sheet .full-player__seekbar::-moz-range-thumb,#mobile-player-sheet .full-player__volume-slider::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#f4f6fc}#mobile-player-sheet .full-player__seek{margin-bottom:2px}#mobile-player-sheet .full-player__times{margin-top:-7px}#mobile-player-sheet .full-player__controls{gap:4px;margin-bottom:4px}#mobile-player-sheet .full-player__volume{min-width:0;margin-bottom:8px}#mobile-player-sheet .full-player__volume-slider{flex:1 1 auto;min-width:0}#mobile-player-sheet .full-player__side-card{width:100%;height:min(34dvh,260px);min-height:180px;padding:16px;flex:0 0 auto}.playlist-dialog[open]{position:fixed;inset:auto 0 0;width:min(440px,calc(100vw - 24px));max-height:min(70dvh,calc(100dvh - 24px));margin:auto auto max(12px,env(safe-area-inset-bottom));padding:20px;border-radius:18px;box-sizing:border-box}.playlist-dialog__header h2{font-size:20px}.playlist-dialog__track{margin:8px 0 18px}.playlist-dialog__list{gap:8px}.playlist-dialog .playlist-choice{min-height:48px;padding:11px 14px}}.view,[data-view],.view-container,.view-home,[data-view=home],#view-home,.home-view{width:100%;max-width:1200px;margin:0 auto;padding:var(--sp-4) var(--sp-4) calc(var(--player-h) + var(--sp-8));min-height:100%;box-sizing:border-box}@supports (padding-bottom: env(safe-area-inset-bottom)){.view,[data-view],.view-container,.view-home,[data-view=home],#view-home,.home-view{padding-left:max(var(--sp-4),env(safe-area-inset-left));padding-right:max(var(--sp-4),env(safe-area-inset-right));padding-bottom:calc(var(--player-h) + var(--sp-8) + env(safe-area-inset-bottom))}}.view-search,[data-view=search],#view-search{display:flex;flex-direction:column;gap:var(--sp-4);width:100%}.search-view__header{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-2)}.search-box-wrapper{position:relative;width:100%;max-width:640px}.search-box-input{width:100%;height:44px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text);padding:0 44px;font-family:inherit;font-size:14px;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.search-box-input:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:0 0 0 3px var(--accent-soft)}.search-box-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none}.search-box-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.search-box-clear:hover{color:var(--text);background:var(--bg-elevated)}.scroll-sentinel,#sentinel,#search-sentinel,.search-sentinel{height:24px;width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .15s ease}.scroll-sentinel.is-loading,.search-sentinel.is-loading{opacity:1}.sentinel-spinner{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.view-detail,[data-view=detail],#view-detail,.detail-view{display:flex;flex-direction:column;gap:var(--sp-6);width:100%}.detail-header,.detail-banner{display:flex;gap:var(--sp-6);align-items:flex-end;padding:var(--sp-6) var(--sp-6);background:linear-gradient(180deg,var(--bg-card-hover) 0%,rgba(24,24,29,.4) 100%);border:1px solid var(--border);border-radius:var(--r-xl);position:relative;overflow:hidden}.detail-cover,.detail-header__cover{width:160px;height:160px;aspect-ratio:1 / 1;border-radius:var(--r-lg);object-fit:cover;flex-shrink:0;box-shadow:0 8px 24px #00000080;background:var(--bg-elevated);display:block}.detail-header--artist .detail-cover,.detail-header--artist .detail-header__cover,.detail-cover--circle,.detail-cover--artist{border-radius:50%}.detail-header__info,.detail-info{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;flex:1}.detail-type{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--text-muted)}.detail-title,.detail-header__title{font-size:20px;font-weight:700;color:var(--text);line-height:1.25;margin:0;word-break:break-word}.detail-meta,.detail-header__meta{font-size:13px;color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:1.4}.detail-meta__separator{color:var(--text-faint)}.detail-actions,.detail-header__actions{display:flex;gap:12px;margin-top:var(--sp-4);flex-wrap:wrap;align-items:center}.btn--play-all,.btn-play-all{height:38px;padding:0 20px;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-family:inherit;font-size:13px;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease,transform .15s ease;white-space:nowrap}.btn--play-all svg,.btn-play-all svg{width:16px;height:16px;fill:currentColor}.btn--play-all:hover,.btn-play-all:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn--play-all:focus-visible,.btn-play-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--download-all,.btn-download-all{height:38px;padding:0 18px;border-radius:var(--r-full);background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease,border-color .15s ease,transform .15s ease;white-space:nowrap}.btn--download-all svg,.btn-download-all svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.btn--download-all:hover,.btn-download-all:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translateY(-1px)}.btn--download-all:focus-visible,.btn-download-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.track-list,.track-table,.detail-tracks{display:flex;flex-direction:column;width:100%;gap:2px}.track-table-header,.track-row--header{display:grid;grid-template-columns:36px 36px 1fr 1fr 64px 76px;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500;align-items:center;-webkit-user-select:none;user-select:none}.track-table-header__duration{text-align:right}.track-table-header__actions{text-align:center}.track-row,.track-table-row,.track-item{display:grid;grid-template-columns:36px 36px 1fr 1fr 64px 76px;gap:12px;padding:8px 12px;border-radius:var(--r-md);align-items:center;transition:background-color .15s ease;cursor:pointer;color:var(--text);min-width:0;-webkit-user-select:none;user-select:none}.track-row:hover,.track-table-row:hover,.track-item:hover{background:var(--bg-card-hover)}.track-row:focus-visible,.track-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.track-row.is-playing,.track-row--playing,.track-item.is-playing{background:var(--accent-soft);color:var(--accent-hover)}.track-row.is-playing .track-row__title,.track-row--playing .track-row__title{color:var(--accent-hover)}.track-row__idx,.track-index{min-width:28px;text-align:center;color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums}.track-row.is-playing .track-row__idx{color:var(--accent-hover)}.track-row__cover,.track-cover{width:36px;height:36px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;background:var(--bg-elevated);display:block}.track-row__title,.track-title{font-size:14px;font-weight:500;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.track-row__artist,.track-artist{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.track-row__duration,.track-duration{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.track-row__actions,.track-actions{display:flex;gap:4px;align-items:center;justify-content:flex-end}.track-row__actions .btn--favorite,.track-row__actions .btn--download,.track-actions button{width:32px;height:32px;border-radius:50%;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background-color .15s ease;padding:0}.track-row__actions .btn--favorite:hover,.track-row__actions .btn--download:hover{background:var(--bg-card);color:var(--text)}.track-row__actions .btn--favorite.is-active,.track-row__actions .btn--favorite[aria-pressed=true]{color:var(--accent)}@media(max-width:768px){.track-table-header{display:none}.track-row,.track-table-row{grid-template-columns:28px 36px 1fr auto;gap:10px;padding:8px 10px}.track-row__artist{display:block;grid-column:3;font-size:12px;margin-top:-2px}.track-row__duration{display:none}}@media(max-width:640px){.detail-header,.detail-banner{flex-direction:column;align-items:center;text-align:center;gap:16px;padding:20px 16px}.detail-cover,.detail-header__cover{width:140px;height:140px}.detail-meta,.detail-header__meta{justify-content:center}.detail-actions,.detail-header__actions{justify-content:center;width:100%}}.view-library,[data-view=library],#view-library,.library-view{display:flex;flex-direction:column;gap:var(--sp-4);width:100%}.library-tabs,.tab-bar{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:var(--sp-2);align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn,.library-tab{height:44px;min-height:44px;min-width:44px;padding:0 16px;border-radius:var(--r-full);background:transparent;border:1px solid transparent;color:var(--text-muted);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;-webkit-user-select:none;user-select:none}.tab-btn:hover,.library-tab:hover{color:var(--text);background:var(--bg-card)}.tab-btn:focus-visible,.library-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab-btn.is-active,.tab-btn.active,.tab-btn[aria-selected=true],.library-tab.is-active{background:var(--bg-elevated);color:var(--text);border-color:var(--border-strong)}.library-controls{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-2)}.library-search-wrapper,.library-filter{position:relative;max-width:360px;width:100%}.library-search-input,.library-filter input{width:100%;height:44px;min-height:44px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:0 34px;font-family:inherit;font-size:13px;color:var(--text);transition:border-color .15s ease,background-color .15s ease}.library-search-input:focus,.library-filter input:focus{border-color:var(--accent);background:var(--bg-surface)}.library-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted);pointer-events:none}.library-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.btn--create-playlist{height:44px;min-height:44px;padding:0 14px;border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background-color .15s ease,border-color .15s ease;white-space:nowrap}.btn--create-playlist:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.btn--create-playlist:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-backdrop,.playlist-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-backdrop.is-open,.modal-backdrop--open{opacity:1;pointer-events:auto}.modal-content,.playlist-modal__content{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-lg);width:100%;max-width:440px;padding:20px;box-shadow:0 16px 36px #0009;display:flex;flex-direction:column;gap:16px;transform:translateY(12px) scale(.98);transition:transform .2s ease}.modal-backdrop.is-open .modal-content,.modal-backdrop--open .modal-content{transform:translateY(0) scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.modal-close:hover{background:var(--bg-card-hover);color:var(--text)}.playlist-create-form,.playlist-create-inline{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;margin-bottom:var(--sp-4);display:flex;flex-direction:column;gap:12px}.playlist-form__field{display:flex;flex-direction:column;gap:6px}.playlist-form__field label{font-size:12px;font-weight:500;color:var(--text-muted)}.playlist-form__field input,.playlist-form__field textarea{width:100%;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-family:inherit;font-size:13px;padding:8px 12px;transition:border-color .15s ease}.playlist-form__field input{height:38px}.playlist-form__field textarea{min-height:72px;resize:vertical}.playlist-form__field input:focus,.playlist-form__field textarea:focus{border-color:var(--accent)}.playlist-form__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.playlist-form__btn-submit{height:34px;padding:0 16px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-weight:500;font-size:13px;border:none;cursor:pointer;transition:background-color .15s ease}.playlist-form__btn-submit:hover{background:var(--accent-hover)}.playlist-form__btn-cancel{height:34px;padding:0 14px;border-radius:var(--r-md);background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.playlist-form__btn-cancel:hover{background:var(--bg-card-hover);color:var(--text)}.view-queue,[data-view=queue],#view-queue,.queue-view{display:flex;flex-direction:column;gap:var(--sp-4);width:100%}.queue-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:var(--sp-2)}.queue-header__title-group{display:flex;align-items:center;gap:10px}.queue-header__title{font-size:18px;font-weight:600;color:var(--text);margin:0}.badge-count,.queue-header__badge{font-size:12px;font-weight:500;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);padding:2px 8px;border-radius:var(--r-full)}.queue-header__actions{display:flex;gap:8px}.queue-list{display:flex;flex-direction:column;gap:10px;width:100%}.queue-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease}.queue-item:hover{border-color:var(--border-strong)}.queue-item__main{display:flex;align-items:center;gap:12px;min-width:0}.queue-item__cover{width:44px;height:44px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;background:var(--bg-elevated);display:block}.queue-item__info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.queue-item__title{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.queue-item__meta{font-size:12px;color:var(--text-muted);display:flex;gap:8px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item__quality{font-size:11px;background:var(--accent-soft);color:var(--accent-hover);padding:0 5px;border-radius:3px;font-weight:500}.queue-item__actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.btn--queue-cancel,.btn--queue-retry,.btn--queue-remove{height:28px;padding:0 10px;border-radius:var(--r-sm);font-family:inherit;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.btn--queue-cancel:hover,.btn--queue-remove:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.btn--queue-retry:hover{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent)}.btn--queue-cancel:focus-visible,.btn--queue-retry:focus-visible,.btn--queue-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.queue-item__progress-bar,.queue-progress{width:100%;height:4px;background:var(--border);border-radius:var(--r-full);overflow:hidden;position:relative}.queue-item__progress-fill,.queue-progress-bar{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width .2s ease}.queue-item__status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;font-size:12px;color:var(--text-muted)}.queue-item__status-text{min-width:0;font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}.queue-item__pct,.queue-pct{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:500}@media(max-width:600px){.view-queue .btn--clear-completed,.view-queue .btn--queue-cancel,.view-queue .btn--queue-retry,.view-queue .btn--queue-remove{height:44px;min-width:44px}.view-queue .queue-item{gap:8px;padding:12px}.view-queue .queue-item__main{gap:10px}.view-queue .queue-item__actions{min-height:44px}.view-queue .queue-item__pct{flex-shrink:0}}.view-history,[data-view=history],#view-history,.history-view{display:flex;flex-direction:column;gap:var(--sp-4);width:100%}.history-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:var(--sp-2)}.history-header__title{font-size:18px;font-weight:600;color:var(--text);margin:0}.btn--clear-history{height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .15s ease,border-color .15s ease}.btn--clear-history:hover{color:var(--danger);border-color:var(--danger)}.history-list{display:flex;flex-direction:column;gap:8px;width:100%}.history-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 14px;display:flex;align-items:center;gap:12px;transition:background-color .15s ease,border-color .15s ease}.history-item:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.history-item__cover{width:40px;height:40px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;background:var(--bg-elevated);display:block}.history-item__cover--placeholder{display:grid;place-items:center;color:var(--text-faint)}.history-item__info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.history-item__title{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.history-item__artist{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.history-item__time,.history-time{font-size:12px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.badge-status,.history-item__badge{font-size:11px;padding:2px 8px;border-radius:var(--r-full);font-weight:500;text-transform:capitalize;white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0}.badge-status--success,.badge--success,.status-completed{background:var(--accent-soft);color:var(--accent-hover)}.badge-status--failed,.badge--failed,.badge--error,.status-failed{background:var(--danger-soft);color:var(--danger)}.badge-status--cancelled,.badge--aborted,.badge--cancelled,.status-cancelled{background:#ffffff14;color:var(--text-muted)}.history-item__actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.history-item__play{min-width:84px;border-radius:var(--r-full)}.history-item__play:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.history-item__play svg{width:14px;height:14px}.btn--retry,.history-item__retry{height:30px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:border-color .15s ease,color .15s ease,background-color .15s ease;white-space:nowrap;flex-shrink:0}.btn--retry:hover,.history-item__retry:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn--retry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:640px){.history-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"cover info status" "cover time actions";gap:8px 10px}.history-item__cover{grid-area:cover;width:44px;height:44px}.history-item__info{grid-area:info}.history-item__badge{grid-area:status;justify-self:end}.history-item__time{grid-area:time;font-size:11px}.history-item__actions{grid-area:actions;justify-content:flex-end}.history-item__play,.history-item__retry{min-height:44px;height:44px}.history-item__action{min-width:44px;min-height:44px}}.view-settings,[data-view=settings],#view-settings,.settings-view{display:flex;flex-direction:column;gap:var(--sp-6);max-width:760px;width:100%;margin:0 auto}.settings-header{margin-bottom:var(--sp-2)}.settings-header__title{font-size:20px;font-weight:700;color:var(--text);margin:0 0 6px}.settings-header__desc{font-size:13px;color:var(--text-muted);margin:0}.settings-group,.settings-section,.form-group-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:16px}.settings-group__title{font-size:15px;font-weight:600;color:var(--text);margin:0;border-bottom:1px solid var(--border);padding-bottom:12px}.form-group,.settings-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 0}.settings-row__info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.form-label,.settings-row__label,label.settings-label{font-size:14px;font-weight:500;color:var(--text);line-height:1.3}.form-desc,.settings-row__desc,.settings-desc{font-size:12px;color:var(--text-muted);line-height:1.4;margin:0}.form-select,.settings-select,select.settings-control{height:36px;min-width:180px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);padding:0 32px 0 12px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s ease,background-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;white-space:nowrap}.form-select:hover,.settings-select:hover{border-color:var(--border-strong);background-color:var(--bg-card-hover)}.form-select:focus-visible,.settings-select:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.eq-sliders{display:flex;flex-direction:column;gap:12px}.eq-slider-control{display:flex;align-items:center;gap:12px;flex:1;min-width:200px}.settings-range,input[type=range].form-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;width:100%;height:44px;margin:0;padding:0;background:transparent;cursor:pointer}.settings-range:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-md)}.settings-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--border-strong)}.settings-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-card)}.settings-range::-moz-range-track{height:4px;border-radius:2px;background:var(--border-strong)}.settings-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-card)}.settings-range:disabled{opacity:.45;cursor:not-allowed}.eq-val-badge{min-width:52px;text-align:right;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;color:var(--text)}.settings-group--danger,.danger-zone{border-color:#ef444440;background:#ef444405}.settings-group--danger .settings-group__title{color:var(--danger);border-bottom-color:#ef444433}.btn--danger,.btn-danger{height:36px;padding:0 16px;border-radius:var(--r-md);background:transparent;border:1px solid var(--danger);color:var(--danger);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.btn--danger:hover{background:var(--danger);color:#fff}.btn--danger:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.btn--danger.is-confirming,.btn--danger-confirm,.btn--confirm-active{background:var(--danger);color:#fff;font-weight:600;border-color:var(--danger);animation:pulse-danger 1s infinite alternate}@keyframes pulse-danger{0%{box-shadow:0 0 #ef444473}to{box-shadow:0 0 0 4px #ef44441a}}.shortcut-table,.shortcuts-table,.keyboard-cheat-sheet{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}.shortcut-table th,.shortcuts-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}.shortcut-table td,.shortcuts-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.shortcut-table tr:last-child td,.shortcuts-table tr:last-child td{border-bottom:none}kbd,.kbd-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;box-shadow:0 1px #00000080,inset 0 1px #ffffff0f;line-height:1;-webkit-user-select:none;user-select:none}.kbd-group{display:inline-flex;align-items:center;gap:4px}@media(max-width:640px){.form-group,.settings-row{flex-direction:column;align-items:flex-start;gap:10px}.form-select,.settings-select,.btn--danger{width:100%}}.view-home,[data-view=home],#view-home,.home-view{display:flex;flex-direction:column;gap:var(--sp-4);width:100%}.home-hero-banner,.hero-banner{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:24px;background-color:var(--bg-card);background-image:linear-gradient(135deg,#ffffff0d,#0006);border:1px solid var(--border);box-sizing:border-box;width:100%;margin-bottom:var(--sp-4)}.home-hero-banner__backdrop,.hero-banner__backdrop,.hero-backdrop,.home-hero-banner__bg,.hero-banner__bg{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(20px);opacity:.2;pointer-events:none;z-index:0;transform:translateZ(0) scale(1.15);will-change:transform}.home-hero-banner__backdrop img,.hero-banner__backdrop img,.hero-backdrop img{width:100%;height:100%;object-fit:cover;filter:blur(20px);opacity:.2;display:block}.home-hero-banner__overlay,.hero-banner__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#18181dd9,#18181d8c,#18181dd9);pointer-events:none;z-index:1}.home-hero-banner__content,.hero-banner__content,.hero-content{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;gap:24px;width:100%;min-width:0;box-sizing:border-box}.hero-banner__cover-wrap{position:relative;width:120px;height:120px;flex:0 0 120px}.hero-banner__cover-play-btn{position:absolute;inset:auto 8px 8px auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer}.hero-banner__cover-play-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero-banner__cover-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--r-md);background:var(--bg-elevated)}.home-hero-banner__cover,.hero-banner__cover,.hero-cover,.hero-banner__art,.home-hero-banner__art{width:120px;height:120px;min-width:120px;min-height:120px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0;box-shadow:0 8px 24px #0000008c;background:var(--bg-elevated);display:block}.home-hero-banner__cover img,.hero-banner__cover img,.hero-cover img{width:100%;height:100%;border-radius:inherit;object-fit:cover;display:block}.home-hero-banner__info,.hero-banner__info,.hero-info,.hero-banner__details{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.home-hero-banner__tag,.hero-banner__tag,.hero-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:2px}.home-hero-banner__title,.hero-banner__title,.hero-title{font-size:20px;font-weight:500;color:var(--text);line-height:1.3;margin:0;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.home-hero-banner__artist,.hero-banner__artist,.hero-artist,.home-hero-banner__subtitle,.hero-banner__subtitle{font-size:14px;color:var(--text-muted);line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-hero-banner__actions,.hero-banner__actions,.hero-actions,.hero-banner__btns{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.home-section-header,.section-header{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px;flex-wrap:wrap;gap:12px;width:100%;box-sizing:border-box}.home-section-header__titles,.section-header__titles,.home-section-header__left,.section-header__left,.home-section-header__text,.section-header__title-group{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.home-section-header__title,.section-header__title,.section-title{font-size:18px;font-weight:500;color:var(--text);line-height:1.3;margin:0;letter-spacing:-.01em}.home-section-header__subtitle,.section-header__subtitle,.section-subtitle,.home-section-header__desc,.section-header__desc{font-size:12px;color:var(--text-muted);line-height:1.4;margin:0}.home-section-header__actions,.section-header__actions,.section-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn--reroll,.btn-reroll,.section-header__reroll{position:relative;min-width:44px;min-height:44px;padding:0 12px;border-radius:var(--r-full);border:1px solid var(--border);background:transparent;color:var(--text);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}.btn--reroll:hover,.btn-reroll:hover{border-color:var(--accent);background:var(--bg-card-hover);color:var(--text)}.btn--reroll:active,.btn-reroll:active{transform:scale(.97)}.btn--reroll:focus-visible,.btn-reroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.btn--reroll:disabled,.btn-reroll:disabled,.btn--reroll[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--reroll svg,.btn-reroll svg,.btn--reroll .btn-icon,.btn--reroll .reroll-icon{width:14px;height:14px;flex-shrink:0;transition:transform .3s ease}.btn--reroll.is-loading svg,.btn--reroll.is-spinning svg,.btn--reroll.spinning svg,.btn--reroll.is-rerolling svg,.btn--reroll[aria-busy=true] svg,.btn-reroll.is-loading svg,.btn-reroll.is-spinning svg,.btn-reroll.spinning svg,.btn-reroll.is-rerolling svg,.btn-reroll[aria-busy=true] svg,.btn--reroll.is-active svg{animation:reroll-spin .7s linear infinite}@keyframes reroll-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn--reroll.is-loading svg,.btn--reroll.is-spinning svg,.btn--reroll.spinning svg,.btn--reroll.is-rerolling svg,.btn--reroll[aria-busy=true] svg,.btn-reroll.is-loading svg,.btn-reroll.is-spinning svg,.btn-reroll.spinning svg,.btn-reroll.is-rerolling svg,.btn-reroll[aria-busy=true] svg,.btn--reroll.is-active svg{animation:none;opacity:.6}}.shelf-grid,.home-shelf__grid,.home-shelf:not(.home-shelf--horizontal):not(.shelf-scroll):not(.home-shelf--row){display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:16px;width:100%;min-width:0;box-sizing:border-box}.home-shelf--horizontal,.home-shelf--row,.shelf-scroll,.shelf-row,.home-shelf__scroll{display:flex;gap:16px;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;margin-bottom:-8px;scrollbar-width:thin;box-sizing:border-box}.home-shelf--horizontal::-webkit-scrollbar,.home-shelf--row::-webkit-scrollbar,.shelf-scroll::-webkit-scrollbar,.shelf-row::-webkit-scrollbar,.home-shelf__scroll::-webkit-scrollbar{height:6px}.home-shelf--horizontal::-webkit-scrollbar-thumb,.home-shelf--row::-webkit-scrollbar-thumb,.shelf-scroll::-webkit-scrollbar-thumb,.shelf-row::-webkit-scrollbar-thumb,.home-shelf__scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-full)}.home-shelf--horizontal>*,.home-shelf--row>*,.shelf-scroll>*,.shelf-row>*,.home-shelf__scroll>*{flex:0 0 180px;max-width:180px;scroll-snap-align:start;box-sizing:border-box}@media(max-width:600px){.home-hero-banner,.hero-banner{padding:18px 16px}.home-hero-banner__content,.hero-banner__content,.hero-content{flex-direction:column;align-items:flex-start;gap:16px}.hero-banner__cover-wrap{width:100px;height:100px;flex:0 0 100px}.home-hero-banner__cover,.hero-banner__cover,.hero-cover,.hero-banner__art,.home-hero-banner__art{width:100px;height:100px;min-width:100px;min-height:100px}.home-hero-banner__title,.hero-banner__title,.hero-title{font-size:18px}.home-hero-banner__info,.hero-banner__info,.hero-info,.hero-banner__details{width:100%;max-width:100%}.home-hero-banner__actions,.hero-banner__actions,.hero-actions,.hero-banner__btns{width:100%;min-width:0;gap:10px}.home-section-header,.section-header{margin:24px 0 12px;gap:8px}.shelf-grid,.home-shelf__grid,.home-shelf:not(.home-shelf--horizontal):not(.shelf-scroll):not(.home-shelf--row){grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:12px}.home-shelf--horizontal>*,.home-shelf--row>*,.shelf-scroll>*,.shelf-row>*,.home-shelf__scroll>*{flex:0 0 140px;max-width:140px}}.view,[data-view],.view-container,.view-home,[data-view=home],#view-home,.home-view{max-width:var(--content-max);padding:clamp(20px,3vw,32px) var(--content-pad) calc(var(--player-h) + 40px)}.section-header{align-items:center;margin:32px 0 14px}.section-header__title{font-size:clamp(18px,1.7vw,22px);font-weight:600;letter-spacing:-.025em}.section-header__subtitle{max-width:48ch}.section-header__actions{gap:6px}.section-header__btn{border-color:var(--border)}.section-header__btn:hover{border-color:var(--border-strong)}.hero-banner{isolation:isolate;min-height:236px;padding:clamp(20px,3vw,32px);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:var(--shadow-card);overflow:hidden}.hero-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#0e0e1014,#0e0e1080 68%,#0e0e10eb);pointer-events:none}.hero-banner__backdrop-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden}.hero-banner__backdrop{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;background-position:center;background-size:cover;filter:saturate(.75) blur(18px);opacity:.28;transform:scale(1.08)}.hero-banner__gradient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,var(--bg-card) 0%,rgba(23,23,26,.78) 45%,rgba(23,23,26,.3) 100%)}.hero-banner__content{min-width:0;align-items:center;gap:clamp(20px,3vw,36px)}.hero-banner__cover-wrap{width:clamp(132px,16vw,180px);height:clamp(132px,16vw,180px);flex:0 0 clamp(132px,16vw,180px);border-radius:var(--r-md);box-shadow:0 16px 34px #00000057}.hero-banner__cover,.hero-banner__cover-placeholder{border-radius:var(--r-md)}.hero-banner__cover-play-btn{width:44px;height:44px;min-width:44px;min-height:44px;right:12px;bottom:12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 18px #00000059}.hero-banner__info{min-width:0;max-width:640px}.hero-banner__badge-row{gap:8px}.hero-banner__badge{background:var(--accent-soft);border-color:#22c55e52;color:var(--accent-hover)}.hero-banner__title{max-width:18ch;margin:12px 0 8px;font-size:clamp(24px,3.2vw,40px);line-height:1.05;letter-spacing:-.04em}.hero-banner__meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--text-muted)}.hero-banner__actions{align-items:center;gap:8px;margin-top:20px}.hero-banner__fav-btn{width:44px;height:44px}.result-card-grid,.card-grid,.results-grid,.recommendations-grid,.recommendation-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.shelf-grid,.home-shelf__grid{gap:18px}.loading-state{min-height:160px;display:grid;place-items:center;padding:32px 16px;color:var(--text-muted);text-align:center}.library-header-wrapper{display:grid;gap:18px}.library-tabs,.tab-bar{gap:6px;padding-bottom:12px}.tab-btn,.library-tab{min-height:44px;height:44px;padding-inline:14px;border-radius:var(--r-md)}.badge-count{min-width:22px;height:22px;padding-inline:6px;border-radius:var(--r-full);display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-hover);font-size:11px;font-family:var(--font-mono);line-height:1}.badge-count[hidden]{display:none}.library-controls{margin:0;align-items:stretch}.library-search-wrapper,.library-filter{max-width:440px}.library-search-input,.library-filter input{height:44px;border-radius:var(--r-md);background:var(--bg-input)}.library-search-clear{width:44px;height:44px;right:4px}.btn--create-playlist{min-height:44px;height:44px;padding-inline:16px}.downloaded-song-list{display:grid;gap:8px}.song-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);transition:background-color var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.song-item:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translate(2px)}.song-item__art{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent)}.song-item__info{min-width:0;display:grid;gap:5px}.song-item__name{overflow:hidden;color:var(--text);font-size:14px;font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap}.song-item__meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--text-muted);font-size:12px}.song-item__actions{display:flex;align-items:center;gap:2px}.song-item__actions .btn--icon,.song-item__actions .btn-icon{width:44px;height:44px;min-width:44px;min-height:44px}.song-item__actions .btn--delete:hover{color:var(--danger);background:var(--danger-soft)}.modal-backdrop{background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content{width:min(100% - 32px,480px);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-float)}.modal-close,.playlist-form__btn-cancel,.playlist-form__btn-submit{min-width:44px;min-height:44px}.modal-close{min-width:48px;min-height:48px}.playlist-form__field input,.playlist-form__btn-cancel,.playlist-form__btn-submit{min-height:46px}@media(max-width:639.98px){.modal-close{min-width:48px;min-height:48px}.playlist-form__field input,.playlist-form__btn-submit,.playlist-form__btn-cancel{min-height:46px}.view,[data-view],.view-container,.view-home,[data-view=home],#view-home,.home-view{padding:20px 0 calc(var(--mini-player-h) + 56px + 24px + env(safe-area-inset-bottom))}.hero-banner{min-height:0;padding:18px}.hero-banner__content{align-items:flex-start;flex-direction:column;gap:16px}.hero-banner__cover-wrap{width:108px;height:108px;flex-basis:108px;align-self:center}.hero-banner__cover-play-btn{width:44px;height:44px;min-width:44px;min-height:44px}.hero-banner__info{width:100%}.hero-banner__title{max-width:100%;font-size:26px}.hero-banner__actions{width:100%;flex-wrap:wrap}.hero-banner__fav-btn{flex:0 0 44px}.result-card-grid,.card-grid,.results-grid,.recommendations-grid,.recommendation-grid,.shelf-grid,.home-shelf__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.library-controls{flex-direction:column}.library-search-wrapper,.library-filter,.library-actions,.btn--create-playlist{width:100%;max-width:none}.btn--create-playlist{justify-content:center}.song-item{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:8px}.song-item__art{width:40px;height:40px}.song-item__meta{gap:5px;font-size:11px}.song-item__actions .btn--icon,.song-item__actions .btn-icon{width:44px;min-width:44px}}@media(prefers-reduced-motion:reduce){.hero-banner,.hero-banner__cover-play-btn,.song-item,.media-shelf__arrow{animation:none;transition:none}.song-item:hover,.media-shelf__arrow:hover{transform:none}}@media(max-width:380px){.hero-banner__actions{display:grid;grid-template-columns:minmax(0,1fr) 44px}.hero-banner__fav-btn{grid-column:2}.song-item__actions .btn--save{display:none}}.media-shelf__container{position:relative;min-width:0}.media-shelf__track{min-width:0;scrollbar-width:none}.media-shelf__track::-webkit-scrollbar{display:none}.media-shelf__track--shelf{display:flex;gap:18px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.media-shelf__track--shelf>.media-card{flex:0 0 190px;scroll-snap-align:start}.media-shelf__track--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.media-shelf__arrow{position:absolute;top:42%;z-index:3;width:44px;height:44px;min-width:44px;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-card);cursor:pointer;display:grid;place-items:center;transform:translateY(-50%);transition:background-color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.media-shelf__arrow:hover{background:var(--bg-card-hover);transform:translateY(-50%) scale(1.05)}.media-shelf__arrow--left{left:-14px}.media-shelf__arrow--right{right:-14px}.media-shelf__arrow--hidden{opacity:0;pointer-events:none}@media(max-width:639.98px){.media-shelf__track--shelf{gap:10px}.media-shelf__track--shelf>.media-card{flex-basis:148px}.media-shelf__track--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.media-shelf__arrow{display:none}}html,body,#vue-root{width:100%;min-width:0;min-height:100%;margin:0;background:var(--bg-page)}body.has-player{padding-bottom:0}.view-error{padding:48px 24px;color:var(--text-muted)}.sidebar__brand,.sidebar__label,.header__context{display:none}#app:not(.has-player){grid-template-rows:var(--header-h) minmax(0,1fr) 0}#app:not(.has-player) .view{padding-bottom:40px}@media(min-width:640px){#app.route-search .header__search{display:none}#app #view{min-width:0;overflow-x:hidden}#app .view{max-width:var(--content-max);margin-inline:auto}#app .view-search{gap:0}.search-view__header{gap:17px;margin:0 0 30px;padding-bottom:25px;border-bottom:1px solid var(--border)}.search-box-wrapper{max-width:780px}.search-box-input{height:56px;border-radius:10px;border-color:var(--border-strong);background:var(--bg-input);font-size:15px}.chip-filter-bar{min-width:0;width:100%}.chip-select-wrapper{margin-left:auto}.hero-banner{min-height:268px;margin-bottom:46px;padding:30px 34px;border-color:var(--border);border-radius:12px;background:var(--bg-card);box-shadow:none}.hero-banner__backdrop{top:-36px;right:-36px;bottom:-36px;left:-36px;background-position:right center;filter:saturate(.8) blur(24px);opacity:.42}.hero-banner__gradient-overlay{background:linear-gradient(90deg,#0c1017f5,#0c1017e0 52%,#0c101761)}.hero-banner__content{gap:34px}.hero-banner__cover-wrap,.hero-banner__cover,.hero-banner__cover-placeholder{width:184px;height:184px;min-width:184px;min-height:184px;flex-basis:184px;border-radius:8px}.hero-banner__cover-wrap{box-shadow:0 14px 34px #00000040}.hero-banner__info{max-width:620px}.hero-banner__badge{padding:0;border:0;border-radius:0;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.hero-banner__title{max-width:20ch;margin:12px 0 8px;font-size:clamp(30px,3.4vw,48px);font-weight:600;line-height:1.08;letter-spacing:-.045em}.hero-banner__actions{margin-top:24px}.home-section,.media-shelf{margin-top:42px}.home-section--recommendations{margin-top:0}.home-section-header,.section-header,.recommendations__header{align-items:flex-end;margin:0 0 18px;gap:16px}.recommendations__title-group,.section-header__title-group,.home-section-header__titles{display:flex;flex:1 1 auto;align-items:flex-start;flex-direction:column;gap:3px;text-align:left}.home-section-header__title,.section-header__title,.section-title{font-size:clamp(22px,2vw,28px);font-weight:600;letter-spacing:-.035em;line-height:1.1}.home-section-header__subtitle,.section-header__subtitle,.section-subtitle{font-size:13px;line-height:1.5}.btn--reroll,.btn--play-all{border-radius:8px}.recommendations-grid:has(.track-card),.result-card-grid:has(.track-card){display:grid;grid-template-columns:minmax(0,1fr);gap:0}.recommendations-grid .track-card,.result-card-grid .track-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:86px;padding:10px 12px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;transform:none}.recommendations-grid .track-card:hover,.result-card-grid .track-card:hover{border-color:var(--border);background:var(--bg-card);transform:none}.recommendations-grid .track-card.is-playing,.result-card-grid .track-card.is-playing{background:var(--accent-soft)}.recommendations-grid .track-card__cover-wrap,.result-card-grid .track-card__cover-wrap{grid-column:1;width:64px;height:64px;aspect-ratio:1;border-radius:6px}.recommendations-grid .track-card__info,.result-card-grid .track-card__info{grid-column:2;min-width:0}.recommendations-grid .track-card__actions,.result-card-grid .track-card__actions{grid-column:3;display:flex;align-items:center;gap:2px}.recommendations-grid .track-card__title,.result-card-grid .track-card__title{font-size:15px;font-weight:600}.recommendations-grid .track-card__duration,.result-card-grid .track-card__duration{margin-top:3px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.media-card{border:1px solid transparent;border-radius:8px;background:transparent;box-shadow:none}.media-card:hover{border-color:var(--border);background:var(--bg-card);transform:none}.media-shelf__track--shelf{gap:10px}.media-shelf__track--shelf>.media-card{flex-basis:176px}}@media(min-width:1240px){.recommendations-grid:has(.track-card),.result-card-grid:has(.track-card){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}}@media(min-width:900px){:root{--side-w: 212px;--header-h: 68px;--player-h: 100px}#app{grid-template-columns:var(--side-w) minmax(0,1fr);grid-template-rows:var(--header-h) minmax(0,1fr) var(--player-h)}#app:not(.has-player){grid-template-rows:var(--header-h) minmax(0,1fr) 0}#sidebar{width:var(--side-w);align-items:stretch;padding:0 12px 18px;border-color:var(--border)}#sidebar .sidebar__brand{display:flex;align-items:center;gap:4px;width:100%;height:68px;min-height:68px;margin:0 0 20px;padding:0 13px;border:0;border-radius:0;color:var(--text);font-size:16px;font-weight:500;letter-spacing:-.03em;text-decoration:none}#sidebar .sidebar__brand span{color:var(--accent)}#sidebar .sidebar__brand strong{font-weight:600}#sidebar .sidebar__nav,#sidebar .sidebar__footer{align-items:stretch;gap:4px}#sidebar .sidebar__item{justify-content:flex-start;gap:13px;width:100%;height:48px;min-height:48px;margin:0;padding:0 14px;border-radius:8px;font-size:13px;font-weight:500}#sidebar .sidebar__label{display:inline}#sidebar .sidebar__item.active,#sidebar .sidebar__item[aria-current=page]{background:var(--accent-soft);color:var(--text)}#sidebar .sidebar__item.active svg,#sidebar .sidebar__item[aria-current=page] svg{color:var(--accent)}#header{height:var(--header-h);padding:0 clamp(28px,3vw,56px);justify-content:space-between;border-color:var(--border)}#header .header__logo{display:none}#header .header__context{display:block;color:var(--text);font-size:13px;font-weight:600;letter-spacing:.01em}#header .header__search{width:min(360px,48%);height:44px;margin:0}#header .header__search input{border-radius:8px;font-size:12px}#view{padding:0}#app .view{padding:38px clamp(28px,3vw,56px) 120px}#player-bar{grid-template-columns:minmax(190px,1fr) minmax(300px,1.5fr) minmax(172px,1fr);gap:16px;padding-inline:24px}}@media(min-width:900px){#app{transition:grid-template-columns .22s ease}#sidebar .sidebar__topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:68px;min-height:68px;margin:0 0 20px}#sidebar .sidebar__brand{flex:1 1 auto;width:auto;height:44px;min-height:44px;margin:0;padding:0 0 0 13px}#sidebar .sidebar__collapse{display:inline-grid;flex:0 0 44px;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .16s ease,background-color .16s ease,transform .22s ease}#sidebar .sidebar__collapse:hover{background:var(--bg-card);color:var(--text)}#sidebar .sidebar__collapse:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app.sidebar-collapsed{--side-w: 76px}#app.sidebar-collapsed #sidebar{align-items:stretch;padding-inline:12px}#app.sidebar-collapsed #sidebar .sidebar__topbar{justify-content:center}#app.sidebar-collapsed #sidebar .sidebar__brand,#app.sidebar-collapsed #sidebar .sidebar__label{display:none}#app.sidebar-collapsed #sidebar .sidebar__collapse{transform:rotate(180deg)}#app.sidebar-collapsed #sidebar .sidebar__item{justify-content:center;gap:0;padding-inline:0}#app.sidebar-collapsed #sidebar .sidebar__badge{top:2px;right:1px}}@media(prefers-reduced-motion:reduce){#app,#sidebar .sidebar__collapse{transition:none}}@media(min-width:640px)and (max-width:899.98px){#app .view{padding:28px 24px 116px}#app:not(.has-player) .view{padding-bottom:36px}#player-bar{grid-template-columns:minmax(148px,1fr) minmax(245px,1.5fr) auto;gap:8px}}@media(max-width:639.98px){#app:not(.has-player){grid-template-rows:var(--header-h) minmax(0,1fr)}#app:not(.has-player) .view{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.search-box-input{border-radius:9px}}@media(prefers-reduced-motion:reduce){.track-card,.media-card{transition:none}}.player__right #player-lyrics-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%}.player-sheet__bottom-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:520px;margin:0 auto 8px}.player-sheet__bottom-actions button{display:inline-flex;min-width:0;min-height:46px;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.player-sheet__bottom-actions button:hover{border-color:var(--accent);color:var(--accent-hover)}.player-sheet__bottom-actions button:disabled{opacity:.46;cursor:not-allowed}.player-sheet__bottom-actions .player-sheet__download-action{border-color:var(--accent);color:var(--accent-hover)}.player-sheet__bottom-actions .player-sheet__download-action:disabled{border-color:var(--border-strong);color:var(--text-muted)}.lyrics-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:min(900px,calc(100vw - 40px));max-width:none;height:min(820px,calc(100dvh - 40px));max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:var(--bg-side);color:var(--text)}.lyrics-dialog::backdrop{background:#000000d6}.lyrics-dialog[open]{display:flex}.lyrics-dialog__art{position:absolute;z-index:0;top:-34px;right:-34px;bottom:-34px;left:-34px;background-image:var(--lyrics-artwork, none);background-position:center;background-size:cover;filter:blur(38px) saturate(.78);opacity:.88;pointer-events:none;transform:scale(1.12)}.lyrics-dialog__art:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#050706d6,#05070657 58%,#050706b3),linear-gradient(0deg,rgba(5,7,6,.78),transparent 42%,rgba(5,7,6,.2));content:""}.lyrics-dialog__panel{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.lyrics-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 32px 14px}.lyrics-dialog__heading{min-width:0}.lyrics-dialog__eyebrow{color:#ffffffb8;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.lyrics-dialog__header h2{margin:3px 0 0;font-size:clamp(21px,2.6vw,28px);line-height:1.2}.lyrics-dialog__track{overflow:hidden;margin:5px 0 0;color:#ffffffb8;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.lyrics-dialog__close{display:inline-flex;flex:0 0 48px;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#0000002e;color:#fff;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.lyrics-dialog__close:hover{border-color:#ffffff6b;background:#0000006b}.lyrics-dialog__close:focus-visible,.lyrics-dialog__retry:focus-visible,.player__right #player-lyrics-btn:focus-visible{outline:2px solid var(--accent-hover);outline-offset:3px}.lyrics-dialog__status{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:240px;padding:28px;color:var(--text-muted);text-align:center}.lyrics-dialog__status[hidden],.lyrics-dialog__lines[hidden],.lyrics-dialog__attribution[hidden]{display:none}.lyrics-dialog__status p{max-width:32ch;margin:0;font-size:15px;line-height:1.6}.lyrics-dialog__status.is-loading p:before{display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--accent);content:"";animation:lyrics-loading .9s ease-in-out infinite alternate}.lyrics-dialog__retry{min-width:104px;min-height:44px;padding:8px 16px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-card);color:var(--text);font:inherit;cursor:pointer}.lyrics-dialog__retry:hover{border-color:var(--accent);color:var(--accent-hover)}.lyrics-dialog__lines{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:safe center;gap:11px;min-height:0;padding:18px clamp(32px,8vw,112px);overflow:auto;overscroll-behavior:contain;scroll-padding-block:46%;scrollbar-color:rgba(255,255,255,.28) transparent}.lyrics-dialog__line{width:min(100%,29ch);max-width:29ch;margin:0;overflow-wrap:break-word;color:#fff;font-size:clamp(22px,3vw,31px);font-weight:700;line-height:1.25;text-align:left;opacity:.14;filter:blur(1.8px);transform:scale(.97);transform-origin:left center;transition:color .26s ease,opacity .36s ease,filter .36s ease,transform .36s ease}.lyrics-dialog__line.is-near{opacity:.48;filter:blur(.6px);transform:scale(.99)}.lyrics-dialog__line.is-mid{opacity:.3;filter:blur(1.2px);transform:scale(.98)}.lyrics-dialog__line.is-active{color:#fff;opacity:1;filter:none;transform:scale(1)}.lyrics-dialog__attribution{display:flex;flex-wrap:wrap;justify-content:center;gap:0;padding:10px 24px calc(12px + env(safe-area-inset-bottom));color:#ffffff9e;font-size:12px;line-height:1.6;text-align:center;text-shadow:0 1px 10px rgba(0,0,0,.55)}.lyrics-dialog__attribution a{color:#ffffffdb;text-decoration-color:#ffffff6b;text-underline-offset:3px}.lyrics-dialog__attribution a:hover{color:#fff}@keyframes lyrics-loading{0%{opacity:.35;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@media(max-width:639.98px){.lyrics-dialog{width:100vw;height:100dvh;margin:0;border:0;border-radius:0}.lyrics-dialog__header{gap:12px;padding:max(18px,env(safe-area-inset-top)) 18px 12px}.lyrics-dialog__lines{gap:10px;padding:16px 22px}.lyrics-dialog__line{width:min(100%,25ch);max-width:25ch;font-size:clamp(22px,6.2vw,28px);line-height:1.24}.lyrics-dialog__attribution{padding:8px 16px calc(10px + env(safe-area-inset-bottom))}.lyrics-dialog__art{top:-24px;right:-24px;bottom:-24px;left:-24px;filter:blur(32px) saturate(.72);opacity:.82}#mobile-player-sheet .player-sheet__bottom-actions{grid-template-columns:repeat(2,minmax(0,1fr))}#mobile-player-sheet #mobile-sheet-lyrics{grid-column:1;grid-row:1}#mobile-player-sheet #mobile-sheet-queue{grid-column:2;grid-row:1}#mobile-player-sheet #mobile-sheet-download{grid-column:1 / -1;grid-row:2}}@media(prefers-reduced-motion:reduce){.lyrics-dialog__line,.lyrics-dialog__close{transition:none}.lyrics-dialog__art{filter:blur(28px) saturate(.72);transform:none}.lyrics-dialog__status.is-loading p:before{animation:none}}@media(max-width:639.98px){:root{--header-h: 56px;--mini-player-h: 54px}#app,#vue-root,#view{background:var(--bg-page)}#app #view{padding-top:0}#header{height:56px;padding:0 18px;border-bottom:1px solid var(--border);background:var(--bg-page)}#header .header__logo{font-size:16px;letter-spacing:-.045em}#app.route-search .header__search-toggle{display:none}#app .view-search{padding:14px 0 calc(94px + env(safe-area-inset-bottom));gap:0}#app:not(.has-player) .view-search{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.view-search .search-view__header{gap:9px;margin:0 0 10px}.view-search .search-box-input{height:46px;padding-left:38px;padding-right:60px;border:1px solid var(--border-strong);border-radius:11px;background:var(--bg-card);font-size:12px}.view-search .search-box-input::placeholder{color:var(--text-muted)}.view-search .search-box-icon{left:12px}.view-search .search-box-clear{width:44px;height:44px;right:1px}.view-search .chip-filter-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;min-width:0}.view-search .chip-bar__list{display:flex;flex:1 1 auto;min-width:0;gap:3px;overflow-x:auto;scrollbar-width:none}.view-search .chip-bar__list::-webkit-scrollbar,.homepage-view .recommendations-grid::-webkit-scrollbar{display:none}.view-search .chip-bar__list .chip{flex:0 0 auto;min-width:44px;min-height:44px;padding-inline:6px;border-radius:999px;font-size:11px;font-weight:600}.view-search .chip-select-wrapper{flex:0 0 80px;width:80px;min-width:80px;margin:0}.view-search:has(.homepage-view) .chip-select-wrapper{display:none}.view-search .quality-select-chip{width:80px;min-width:80px;min-height:44px;padding:0 19px 0 8px;overflow:hidden;color:var(--accent);font-size:10px}.homepage-view .hero-banner{min-height:0;margin:0 0 18px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);box-shadow:none}.homepage-view .hero-banner__backdrop-wrap{display:none}.homepage-view .hero-banner__content{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px}.homepage-view .hero-banner__cover-wrap,.homepage-view .hero-banner__cover,.homepage-view .hero-banner__cover-placeholder{width:76px;height:76px;min-width:76px;min-height:76px;flex-basis:76px;border-radius:8px}.homepage-view .hero-banner__cover-play-btn{width:44px;height:44px;min-width:44px;min-height:44px;right:0;bottom:0;isolation:isolate;background:transparent;box-shadow:none}.homepage-view .hero-banner__cover-play-btn:before{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:var(--accent);content:"";transition:transform .14s ease}.homepage-view .hero-banner__cover-play-btn svg{position:relative;width:20px;height:20px}.homepage-view .hero-banner__info{min-width:0;width:100%}.homepage-view .hero-banner__badge-row{gap:5px}.homepage-view .hero-banner__badge{padding:0;border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:700;line-height:1.3}.homepage-view .hero-banner__title{margin:2px 0 0;font-size:17px;line-height:1.1;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homepage-view .hero-banner__meta{gap:3px;margin-top:1px;font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden}.homepage-view .hero-banner__album,.homepage-view .hero-banner__meta .hero-banner__sep:first-of-type,.homepage-view .hero-banner__badge-row .badge--quality{display:none}.homepage-view .hero-banner__actions{display:flex;width:100%;flex-wrap:nowrap;gap:3px;margin-top:3px}.homepage-view .hero-banner__info{gap:0}.homepage-view .hero-banner__cover-play-btn:hover:before{transform:scale(1.06)}.homepage-view .hero-banner__fav-btn{flex:0 0 44px;width:44px;min-height:44px;padding:0;border:1px solid var(--border-strong);border-radius:50%}.homepage-view .home-section{margin-top:0;margin-bottom:23px}.homepage-view .home-section-header,.homepage-view .recommendations__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:0;margin-bottom:9px}.homepage-view .home-section-header__title{font-size:16px;line-height:1.2;letter-spacing:-.035em}.homepage-view .home-section-header__subtitle,.homepage-view .btn--play-all{display:none}.homepage-view .btn--reroll{min-width:44px;min-height:44px;padding:0 5px;border:0;background:transparent;color:var(--text-muted);font-size:10px}.homepage-view .btn--reroll svg{width:14px;height:14px}.homepage-view .recommendations-grid{display:flex;gap:8px;width:100%;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.homepage-view .recommendations-grid .track-card{display:flex;flex:0 0 100px;flex-direction:column;min-width:100px;width:100px;padding:0;gap:2px;border:0;border-radius:0;background:transparent;box-shadow:none;scroll-snap-align:start}.homepage-view .recommendations-grid .track-card__cover-wrap,.homepage-view .recommendations-grid .track-card__cover,.homepage-view .recommendations-grid .track-card__cover-placeholder{width:100px;height:100px;min-width:100px;min-height:100px;border-radius:8px}.homepage-view .recommendations-grid .track-card__info{width:100%;min-width:0;padding:0}.homepage-view .recommendations-grid .track-card__title{display:block;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homepage-view .recommendations-grid .track-card__artist{font-size:10px}.homepage-view .recommendations-grid .track-card__duration,.homepage-view .recommendations-grid .track-card__album,.homepage-view .recommendations-grid .track-card__sep,.homepage-view .recommendations-grid .badge--quality,.homepage-view .recommendations-grid .track-card__fav-btn,.homepage-view .recommendations-grid .track-card__download-btn{display:none}.homepage-view .recommendations-grid .track-card__actions{position:absolute;top:0;right:0;display:flex;width:44px;height:44px;padding:0}.homepage-view .recommendations-grid .track-card__actions .track-more{min-width:44px;min-height:44px}.homepage-view .home-section--recent .home-section-header__link{color:var(--text-muted);font-size:11px;text-decoration:none}.homepage-view .recent-tracks{display:grid;gap:3px}.homepage-view .recent-tracks .track-card{min-height:52px;padding:4px 0;background:transparent;border:0;box-shadow:none}.homepage-view .recent-tracks .track-card__cover-wrap,.homepage-view .recent-tracks .track-card__cover,.homepage-view .recent-tracks .track-card__cover-placeholder{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:7px}.homepage-view .recent-tracks .track-card__duration,.homepage-view .recent-tracks .track-card__album,.homepage-view .recent-tracks .track-card__sep,.homepage-view .recent-tracks .track-card__fav-btn,.homepage-view .recent-tracks .track-card__download-btn{display:none}#mobile-tab-bar{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:var(--bg-page)}#mobile-tab-bar .tab-item{min-height:56px;gap:2px;color:var(--text-muted);font-size:10px}#mobile-tab-bar .tab-item.active{color:var(--accent)}#player-bar{left:8px;right:8px;bottom:calc(64px + env(safe-area-inset-bottom));height:54px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-player)}#player-bar .player__mobile-actions .player__btn--play{border-radius:50%;background:var(--accent);color:var(--on-accent)}#player-bar #player-mobile-next-btn{display:none}#mobile-player-sheet{top:8px;right:8px;bottom:8px;left:8px;width:auto;height:auto;margin:8px;border:1px solid var(--border-strong);border-radius:26px;align-items:stretch;padding:max(12px,calc(env(safe-area-inset-top) + 6px)) 20px max(22px,calc(env(safe-area-inset-bottom) + 8px));background:var(--bg-player);color:var(--text)}#mobile-player-sheet::backdrop{background:#000000b8}#mobile-player-sheet .player-sheet__header{margin-bottom:12px}#mobile-player-sheet .player-sheet__header-title{color:var(--text-muted);font-size:12px;letter-spacing:0;text-transform:none}#mobile-player-sheet .player-sheet__cover-wrap{margin:0 auto 18px;padding:0}#mobile-sheet-cover,#mobile-sheet-fallback{width:min(62vw,30dvh,280px);height:min(62vw,30dvh,280px);border-radius:12px}#mobile-player-sheet .player-sheet__track-info{margin-bottom:12px}#mobile-sheet-title{font-size:clamp(23px,6vw,32px);font-weight:700;line-height:1.1}#mobile-sheet-artist{margin-top:3px;color:var(--text-muted);font-size:13px}#mobile-player-sheet .player-sheet__fav-btn{color:var(--accent)}#mobile-player-sheet .player-sheet__seek{margin-bottom:3px}#mobile-player-sheet .player-sheet__times{margin-top:-7px;color:var(--text-muted);font-size:11px}#mobile-player-sheet .player-sheet__controls{justify-content:space-between;gap:3px;margin:8px 0 16px}#mobile-player-sheet .player-sheet__btn{min-width:44px;min-height:44px}#mobile-player-sheet .player-sheet__btn--play{width:58px;height:58px;background:var(--accent);color:var(--on-accent)}#mobile-player-sheet .player-sheet__bottom-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}#mobile-player-sheet .player-sheet__bottom-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;min-width:0;padding:0 8px;border:1px solid var(--border-strong);border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer}#mobile-player-sheet .player-sheet__download-action{border-color:var(--accent);color:var(--accent)}#mobile-player-sheet #mobile-sheet-download{grid-column:1 / -1;grid-row:2}#mobile-player-sheet #mobile-sheet-lyrics{grid-column:1;grid-row:1}#mobile-player-sheet #mobile-sheet-queue{grid-column:2;grid-row:1}#mobile-player-sheet .player-sheet__up-next{width:100%;margin-top:15px}#mobile-player-sheet .player-sheet__up-next[hidden]{display:none}#mobile-player-sheet .player-sheet__up-next-label{display:block;margin-bottom:6px;color:var(--text-muted);font-size:11px}#mobile-player-sheet .player-sheet__up-next-row{display:flex;align-items:center;gap:9px}#mobile-sheet-next-cover{width:42px;height:42px;border-radius:6px;object-fit:cover}#mobile-player-sheet .player-sheet__up-next-meta{display:flex;min-width:0;flex-direction:column;gap:2px;font-size:11px}#mobile-player-sheet .player-sheet__up-next-meta span{color:var(--text-muted)}#mobile-player-sheet .player-sheet__volume{margin-top:auto;padding-top:14px}}@media(max-width:639.98px)and (max-height:700px){#mobile-player-sheet .player-sheet__volume{display:none}#mobile-sheet-cover,#mobile-sheet-fallback{width:min(56vw,27dvh,220px);height:min(56vw,27dvh,220px)}}@media(prefers-reduced-motion:reduce){.homepage-view .hero-banner__cover-play-btn:before{transition:none}.homepage-view .hero-banner__cover-play-btn:hover:before{transform:none}}html,body,#vue-root,#wave-root{min-width:320px;min-height:100%;background:var(--bg-page)}body{color:var(--text);font-family:var(--font-sans);text-rendering:optimizeLegibility;transition:background-color .18s ease,color .18s ease}#app,.app-shell,#view,.view,.player-bar,.player-left,.player-center,.player-right{min-width:0}#app{transition:grid-template-columns .22s cubic-bezier(.2,.65,.3,1)}#view{overflow-x:clip;overscroll-behavior:contain}#app .view{width:min(100%,var(--content-max));padding:clamp(28px,3.5vw,52px) clamp(20px,3.2vw,54px) 48px}.view h1,.view h2,.view h3{letter-spacing:-.04em}.view-detail .detail-header__meta a{display:inline-flex;min-height:44px;align-items:center}.wave-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:20px;font-weight:500;line-height:1}.wave-wordmark{display:block;width:78px;height:auto;max-height:54px;object-fit:contain;filter:brightness(0) invert(1)}:root[data-theme=light] .wave-wordmark{filter:none}#sidebar .sidebar__brand{gap:9px;font-size:16px}#sidebar .sidebar__brand .wave-wordmark{width:76px;max-height:52px}#sidebar .sidebar__brand .wave-mark{color:var(--accent)}.account-nav__avatar{display:block;width:28px;height:28px;flex:0 0 28px;border-radius:50%;object-fit:cover}.account-nav__avatar--fallback{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700}#player-quality[hidden]{display:none}.account-tab>svg{display:none}.account-tab .account-nav__avatar{width:22px;height:22px;flex-basis:22px}#header{min-width:0;gap:clamp(10px,1.5vw,22px);background:var(--bg-page)}#header .header__context{flex:1 1 auto;min-width:0}#header .header__brand{display:none;flex:0 0 auto;min-width:44px;min-height:44px;align-items:center}#header .header__brand .wave-wordmark,#header .header__logo .wave-wordmark{width:68px;max-height:46px}#header .header__search{flex:0 1 360px;min-width:180px}.header__account{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;transition:color var(--motion-ui),border-color var(--motion-ui),background-color var(--motion-ui)}.header__account:hover{border-color:var(--border);background:var(--bg-card);color:var(--text)}.header__account-avatar{display:block;width:28px;height:28px;border-radius:50%;object-fit:cover}.header__account-avatar--fallback{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.header__account-name{max-width:130px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.track-card,.media-card,.history-item,.queue-item,.settings-group,.form-group-card{transition:background-color var(--motion-ui),border-color var(--motion-ui),transform var(--motion-ui),box-shadow var(--motion-ui)}.track-card__cover-wrap{overflow:hidden;background:var(--bg-card-hover)}.track-card__cover,.media-card__cover,.history-item__cover{transition:transform .26s cubic-bezier(.2,.65,.3,1),opacity .18s ease}.eq-bars .eq-bar{transform-origin:center bottom}.eq-bars.is-active .eq-bar{animation:wave-equalize .92s ease-in-out infinite alternate}.eq-bars.is-active .eq-bar:nth-child(2){animation-delay:-.38s}.eq-bars.is-active .eq-bar:nth-child(3){animation-delay:-.62s}.eq-bars.is-active .eq-bar:nth-child(4){animation-delay:-.18s}.track-card.is-playing .track-card__equalizer .eq-bar{background:var(--accent)}@keyframes wave-equalize{0%{transform:scaleY(.28)}to{transform:scaleY(1)}}.history-header{align-items:flex-end;margin-bottom:14px;padding-bottom:24px;border-bottom:1px solid var(--border)}.history-header__title-group{min-width:0}.history-header__title{font-size:clamp(26px,3vw,36px);font-weight:600;line-height:1.05}.history-header__desc{margin:8px 0 0;color:var(--text-muted);font-size:13px}.btn--clear-history{min-width:44px;min-height:44px;height:auto;border-radius:5px;font-size:12px}.btn--clear-history:disabled{opacity:.45;cursor:default}.history-list{gap:2px}.history-item{min-height:74px;padding:10px 12px;border:1px solid transparent;border-bottom-color:var(--border);border-radius:0;background:transparent}.history-item:hover{border-color:var(--border);background:var(--bg-card);transform:translate(2px)}.history-item__cover{width:48px;height:48px;border-radius:4px}.history-item__title{font-weight:600}.history-item__artist{color:var(--text-muted)}.history-item__time{color:var(--text-faint);font-family:var(--font-mono);font-size:11px}.history-item__play{min-height:44px;border-radius:4px}.history-item__action{min-width:44px;min-height:44px}.history-empty{margin:0;padding:24px 2px;color:var(--text-muted);font-size:13px;line-height:1.5}.view-settings{max-width:1040px}.settings-header{margin-bottom:28px}.settings-header__title{font-size:clamp(26px,3vw,36px);letter-spacing:-.05em}.settings-header__desc{max-width:560px;color:var(--text-muted)}.settings-group,.form-group-card{border-radius:7px;background:var(--bg-card);box-shadow:none}.settings-group__title{padding-bottom:14px;border-bottom:1px solid var(--border);font-size:15px}.settings-row{min-width:0;gap:20px}.settings-row__info{min-width:0}.settings-row__desc{line-height:1.55}.settings-select{min-width:min(100%,260px);min-height:44px;border-radius:5px}.eq-slider-control{min-width:min(100%,390px)}.eq-val-badge{min-width:54px;font-family:var(--font-mono)}.eq-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.eq-sliders .settings-row{min-width:0;margin:0;gap:10px}.eq-sliders .settings-row__info{flex:0 0 64px}.eq-sliders .settings-row__label{font-size:12px}.eq-sliders .eq-slider-control{flex:1;min-width:0;gap:7px}.eq-sliders .settings-range{min-width:0}.settings-group button,.settings-row button{min-height:44px}.account-profile{display:grid;gap:20px}.account-profile__heading,.account-profile__brand,.account-profile__identity,.account-profile__connected,.account-profile__form-actions,.account-device,.account-device__controls,.account-admin__row,.account-admin__action{display:flex;align-items:center}.account-profile__heading{justify-content:space-between;gap:16px}.account-profile__brand{min-height:44px;flex-direction:column;align-items:flex-start;gap:3px}.account-profile__logo{width:72px;max-height:34px;object-fit:contain;filter:brightness(0) invert(1)}:root[data-theme=light] .account-profile__logo{filter:none}.account-profile__brand span,.account-profile__photo-note,.account-profile__consent p{color:var(--text-muted);font-size:12px;line-height:1.55}.account-profile__identity{flex-wrap:wrap;gap:14px}.account-profile__photo{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;background:var(--bg-card-hover)}.account-profile__photo--fallback{display:grid;place-items:center;color:var(--accent);font-size:22px;font-weight:700}.account-profile__connected{min-width:0;flex:1 1 200px;flex-direction:column;align-items:flex-start;gap:4px}.account-profile__connected strong{font-size:14px}.account-profile__connected span{max-width:100%;overflow-wrap:anywhere;color:var(--text-muted);font-size:12px}.account-profile__photo-button{min-height:44px;cursor:pointer}.account-profile__file{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.account-profile__identity:focus-within .account-profile__photo-button{outline:2px solid var(--accent);outline-offset:3px}.account-profile__form{display:grid;grid-template-columns:minmax(125px,.35fr) minmax(0,1fr);align-items:center;gap:12px 18px}.account-profile__form label{color:var(--text-muted);font-size:13px}.account-profile__form input{width:100%;min-width:0;min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:5px;background:var(--bg-input);color:var(--text);font:inherit}.account-profile__readonly{display:flex;width:100%;min-width:0;min-height:46px;align-items:center;padding:0 12px;border:1px solid var(--border);border-radius:5px;background:var(--bg-input);color:var(--text-muted);font:inherit;overflow-wrap:anywhere}.account-profile__form .settings-row__desc{grid-column:2;margin:-8px 0 0}.account-profile__form-actions{grid-column:2;justify-content:flex-start}.account-profile__photo-note{margin:-10px 0 0}.account-devices,.account-admin{display:grid;gap:12px}.account-listening-room{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--border)}.account-listening-room__heading,.account-listening-room__summary,.account-listening-room__empty,.account-listening-room__active{display:grid;gap:10px}.account-listening-room__heading .settings-row__desc{max-width:680px;margin:0}.account-listening-room__panel{min-width:0;color:var(--text-muted);font-size:13px}.account-listening-room__summary{min-width:0}.account-listening-room__summary strong{color:var(--text);font-size:14px}.account-listening-room__summary span,.account-listening-room__note{color:var(--text-muted);line-height:1.5}.account-listening-room__track{overflow-wrap:anywhere}.account-listening-room__actions{display:flex;flex-wrap:wrap;gap:8px}.account-listening-room__actions .btn,.account-listening-room__join-row .btn,.account-listening-room__link .btn{min-height:44px}.account-listening-room__join{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.account-listening-room__join label{color:var(--text-muted);font-size:13px}.account-listening-room__join .account-listening-room__consent{display:flex;min-height:48px;align-items:center;gap:10px;line-height:1.45;cursor:pointer}.account-listening-room__consent input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent)}.account-listening-room__join-row,.account-listening-room__link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.account-listening-room__join-row input,.account-listening-room__link input{width:100%;min-width:0;min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:5px;background:var(--bg-input);color:var(--text);font:inherit}.account-listening-room__link input{color:var(--text-muted)}.account-listening-room__members{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none}.account-listening-room__members li{color:var(--text-muted);font-size:12px}.account-listening-room__note{margin:0;font-size:12px}.account-listening-room__leave{justify-self:start;min-height:44px}.account-devices .settings-group__title,.account-admin .settings-group__title,.account-listening-room .settings-group__title{margin:0}.account-devices__list,.account-admin__list{display:grid;gap:8px;color:var(--text-muted);font-size:12px}.account-device,.account-admin__row{justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--border);border-radius:5px;background:var(--bg-page)}.account-device__info,.account-admin__row>div:first-child{display:grid;min-width:0;gap:4px}.account-device__info strong,.account-admin__row strong{color:var(--text);font-size:13px}.account-device__info span,.account-admin__row span{overflow-wrap:anywhere;color:var(--text-muted)}.account-device__controls,.account-admin__action{flex-wrap:wrap;justify-content:flex-end;gap:6px}.account-device__controls .btn,.account-admin__action .btn{min-height:44px}.account-admin__row .account-admin__status{color:var(--accent)}.account-profile__consent{padding-top:14px;border-top:1px solid var(--border)}.account-profile__consent summary{min-height:44px;color:var(--text-muted);cursor:pointer}.account-profile__consent p{margin:10px 0 0}.auth-screen .legal-dialog{position:fixed;inset:auto;top:50%;left:50%;width:min(660px,calc(100vw - 32px));max-width:none;max-height:min(760px,calc(100svh - 32px));margin:0;padding:0;overflow:hidden;transform:translate(-50%,-50%);border:1px solid #d8dbe7;border-radius:16px;background:#fbfbfd;box-shadow:0 30px 90px #080c1e47;color:#15182a;font-family:Instrument Sans,system-ui,sans-serif}.auth-screen .legal-dialog[open]{display:flex;flex-direction:column}.legal-dialog::backdrop{background:#070b14ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-screen .legal-dialog__header{position:relative;z-index:0;display:flex;width:auto;height:auto;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 20px;border:0;border-bottom:1px solid #e2e4ed;background:#fbfbfd}.legal-dialog__eyebrow{margin:0 0 7px;color:#3d4cff;font:500 10.5px/1.4 DM Mono,Consolas,monospace;letter-spacing:.12em}.legal-dialog__header h2{margin:0;color:#15182a;font-family:Archivo,system-ui,sans-serif;font-size:clamp(23px,3vw,29px);font-weight:750;line-height:1.15;letter-spacing:-.025em}.legal-dialog__close{width:44px;min-width:44px;height:44px;padding:0;border:1px solid #dfe2eb;border-radius:10px;background:#fff;color:#434a63;font-size:25px;line-height:1;cursor:pointer}.legal-dialog__close:hover{background:#f0f2fa;color:#15182a}.legal-dialog__close:focus-visible,.legal-dialog__done:focus-visible{outline:3px solid #3d4cff;outline-offset:3px}.legal-dialog__body{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding:6px 28px 24px;color:#3d4359;font-size:15px;line-height:1.7;scrollbar-color:#b9bfd3 transparent}.legal-dialog__section{max-width:62ch;padding:18px 0 20px;border-bottom:1px solid #e8eaf1}.legal-dialog__section h3{margin:0 0 7px;color:#15182a;font-size:16px;font-weight:700;line-height:1.35}.legal-dialog__section p{margin:0;text-wrap:pretty}.legal-dialog__update{max-width:62ch;margin:20px 0 0;padding:14px 16px;border-radius:9px;background:#f0f2fa;color:#4f5670;font-size:13px;line-height:1.6}.legal-dialog__footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;border-top:1px solid #e2e4ed;background:#fbfbfd}.legal-dialog__footer p{max-width:310px;margin:0;color:#626b83;font-size:12px;line-height:1.5}.legal-dialog__done{min-width:148px;min-height:44px;padding:10px 18px;border:0;border-radius:9px;background:#2a3bff;color:#fff;font:600 14px/1.3 Instrument Sans,system-ui,sans-serif;cursor:pointer}.legal-dialog__done:hover:not(:disabled){background:#172bea}.legal-dialog__done:disabled{background:#dfe3ee;color:#6b738a;cursor:not-allowed}.view-library .library-tabs,.library-tabs{gap:6px;border-bottom-color:var(--border)}.library-tab{min-height:44px;border-radius:4px 4px 0 0}.library-controls{min-width:0;flex-wrap:wrap;gap:10px}.library-search-wrapper,.library-filter{min-width:min(100%,230px)}.downloaded-song-list,.library-track-list{min-width:0}.view-queue .queue-item,.queue-list .queue-item{min-width:0;min-height:76px;border-radius:6px;box-shadow:none}.queue-item__info,.queue-item__meta,.queue-item__track{min-width:0}.player-bar{min-width:0;border-top:1px solid var(--border);background:var(--bg-player);box-shadow:0 -10px 32px #00000021}.player__left,.player__center,.player__right{min-width:0}.player-bar button{min-width:44px;min-height:44px}.player-bar .player__btn--play{background:var(--accent);color:var(--on-accent)}#header .search-clear-btn{min-width:44px;min-height:44px}#queue-panel button{min-height:44px}#queue-panel .queue-panel__close{min-width:44px}.player__title,.player__artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player__btn,.player-btn{transition:background-color var(--motion-ui),color var(--motion-ui),transform var(--motion-ui)}.player__btn:hover:not(:disabled),.player-btn:hover:not(:disabled){transform:translateY(-1px)}.auth-screen,.auth-loading{min-height:100svh;background:var(--bg-page);color:var(--text)}.auth-screen{grid-area:auto;grid-column:auto;grid-row:auto;display:flex;flex-wrap:wrap;width:100%;min-width:0;height:100svh;min-height:100svh;max-width:none;margin:0;padding:0;overflow-x:clip;overflow-y:auto;scrollbar-width:none;background:#f1f0f4;color:#10122b;color-scheme:light;font-family:Instrument Sans,system-ui,sans-serif}.auth-screen::-webkit-scrollbar{display:none}.auth-visual{display:flex;min-width:0;flex:1 1 560px;flex-direction:column;overflow:hidden;background:#2a3bff;color:#f1f0f4}.auth-visual__content{display:flex;flex:1 1 auto;flex-direction:column;padding:56px 64px 0}.auth-screen .auth-visual__brand.wave-wordmark{width:96px;height:66px;max-height:none;object-fit:contain;filter:brightness(0) invert(1);transform:translateY(-8px)}.auth-visual h2{max-width:680px;margin:auto 0 0;font-family:Archivo,system-ui,sans-serif;font-size:80px;font-weight:800;font-stretch:115%;line-height:1;letter-spacing:-.02em;text-wrap:balance;animation:auth-copy-breathe 4.8s ease-in-out infinite}.auth-visual__note{max-width:420px;margin:20px 0 0;color:#dde1ff;font-size:18px;line-height:1.5;animation:auth-copy-breathe 5.2s ease-in-out -1.3s infinite}@keyframes auth-copy-breathe{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-3px);opacity:.9}}.auth-visual__equalizer{display:flex;height:360px;flex:0 0 auto;gap:6px;margin-top:48px;overflow:hidden}.auth-visual__column{position:relative;height:100%;flex:0 0 20px;transform-origin:center bottom;animation:auth-eq-pulse var(--pulse-duration) ease-in-out var(--pulse-delay) infinite}.auth-visual__bar{position:absolute;bottom:0;left:0;width:20px;height:var(--bar-height);background:repeating-linear-gradient(to top,#b9c1ff 0 20px,transparent 20px 26px);animation:auth-eq-rise .9s cubic-bezier(.2,.8,.2,1) both}.auth-visual__peak{position:absolute;bottom:var(--peak-bottom);left:0;width:20px;height:20px;background:#ffd84a;animation:auth-eq-lift .5s ease-out both}@keyframes auth-eq-rise{0%{height:6px}}@keyframes auth-eq-lift{0%{opacity:0;transform:translateY(24px)}}@keyframes auth-eq-pulse{0%,to{transform:scaleY(.72)}50%{transform:scaleY(1)}}.auth-panel{position:relative;display:flex;min-width:0;flex:1 1 480px;align-items:center;padding:56px 64px;background:#f1f0f4}.auth-panel__inner{width:100%;max-width:400px;margin:0 auto}.auth-panel h1{margin:0;font-family:Archivo,system-ui,sans-serif;font-size:40px;font-weight:700;font-stretch:108%;line-height:1.08;letter-spacing:-.015em}.auth-panel__copy{margin:14px 0 0;color:#4a4d66;font-size:17px;line-height:1.5}.auth-panel__form{margin-top:36px}.auth-panel__consent{display:flex;min-height:44px;align-items:flex-start;gap:14px;color:#10122b;font-size:15px;line-height:1.5;cursor:pointer}.auth-panel__consent input{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0;accent-color:#2a3bff;cursor:pointer}.auth-panel__terms{display:inline-block;min-height:44px;margin-left:36px;padding:10px 0;border:0;background:transparent;color:#2a3bff;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-panel__terms:hover{text-decoration-thickness:2px}.auth-panel__signin:focus-visible,.auth-panel__consent input:focus-visible,.auth-panel__terms:focus-visible{outline:3px solid #2a3bff;outline-offset:3px}.auth-panel__feedback{min-height:22px;margin-left:36px;color:#b3261e;font-size:14px;font-weight:500;line-height:22px}.auth-panel__action{position:relative;display:flex;min-height:70px;align-items:center;justify-content:center;margin-top:12px}.auth-panel__action.is-locked .auth-panel__google{filter:grayscale(1);opacity:.52}.auth-panel__button-lock{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;cursor:not-allowed}.auth-panel__turnstile{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s .32s}.auth-panel__action.is-challenge .auth-panel__turnstile{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease}.auth-panel__google{transition:opacity .32s ease,visibility 0s}.auth-panel__action.is-challenge .auth-panel__google{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s .32s}.auth-panel__signin{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;gap:14px;border:0;border-radius:4px;background:#10122b;color:#f1f0f4;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .12s}.auth-panel__signin:hover{background:#262a52}.auth-panel__signin svg{flex:0 0 20px}.auth-panel__google{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center}.auth-panel__google>div{max-width:100%}.auth-panel__setup{padding:12px;color:#4a4d66;font-size:14px;line-height:1.5}.auth-panel__legal{margin:40px 0 0;padding-top:20px;border-top:1px solid #d4d3de;color:#5a5d75;font-size:14px;line-height:1.55}.auth-panel__footer{position:absolute;right:64px;left:64px;bottom:12px;display:flex;align-items:baseline;justify-content:center;color:#686b83;font:400 10.4px/1.5 DM Mono,Consolas,monospace;opacity:.62;text-align:center;white-space:nowrap}.auth-loading{display:flex;width:100%;height:100svh;max-width:none;align-items:center;justify-content:center;gap:11px;margin:0;padding:0;overflow:hidden;background:#070b14;font-size:15px;font-weight:700;letter-spacing:-.04em}.auth-loading .wave-wordmark{width:88px;max-height:60px;filter:brightness(0) invert(1)}#mobile-player-sheet[open]{box-shadow:0 28px 90px #0000006b}:root[data-theme=light] .hero-banner__gradient-overlay{background:linear-gradient(90deg,#f3f6fbfa,#f3f6fbeb 54%,#f3f6fbd6)}:root[data-theme=light] .hero-banner:after{background:linear-gradient(90deg,#f3f6fbeb,#f3f6fbdb 68%,#f3f6fbcc)}@media(min-width:640px){.track-card:hover:not(.is-playing),.media-card:hover{transform:translateY(-2px)}.track-card:hover .track-card__cover,.media-card:hover .media-card__cover{transform:scale(1.035)}.track-card.is-playing{border-color:var(--accent)}#player-bar{grid-template-columns:minmax(150px,.85fr) minmax(210px,1.4fr) minmax(122px,.75fr);gap:clamp(8px,1.4vw,20px);padding-inline:clamp(14px,2vw,30px)}#player-bar .player__left{gap:10px}#player-bar .player__cover-wrap{width:48px;height:48px;flex:0 0 48px}#player-bar .player__favorite{min-width:44px}#player-bar .player__right{gap:8px}}@media(max-width:899.98px)and (min-width:640px){#header{padding-inline:20px}#header .header__search{flex-basis:280px}#header .header__account-name{display:none}#header .header__brand{display:flex}#app .view{padding-inline:clamp(20px,3vw,32px)}#player-bar .player__favorite,#player-bar .player__right .player__quality{display:none}#player-bar .player__volume-slider{width:68px}#player-bar .player__right{justify-content:flex-end}}@media(max-width:639.98px){html,body,#vue-root,#wave-root{width:100%;overflow-x:clip}#app .view{width:100%;padding:18px 16px calc(136px + env(safe-area-inset-bottom))}#app:not(.has-player) .view{padding-bottom:calc(82px + env(safe-area-inset-bottom))}#header{display:flex;flex-wrap:nowrap;gap:8px;padding-inline:12px}#header .header__brand{display:flex}#header .header__brand .wave-wordmark{width:62px;max-height:42px}#header .header__logo{gap:7px}#header .header__logo .wave-wordmark{width:62px;max-height:42px}.header__account{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%}.header__account-name{display:none}.account-nav__avatar{width:24px;height:24px;flex-basis:24px}.history-header{align-items:flex-start;gap:12px;padding-bottom:17px}.history-header__title{font-size:27px}.history-header__desc{font-size:12px}.btn--clear-history{width:44px;min-width:44px;overflow:hidden;gap:0;padding:0;color:transparent;font-size:0}.btn--clear-history svg{flex:0 0 16px;color:var(--text-muted)}.history-item{min-height:72px;grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"cover info actions" "cover time actions";gap:3px 10px;padding:8px 0}.history-item:hover{transform:none}.history-item__cover{grid-area:cover;width:48px;height:48px}.history-item__info{grid-area:info}.history-item__time{grid-area:time;font-size:10px}.history-item__actions{grid-area:actions;gap:0}.history-item__play{width:44px;min-width:44px;padding:0;border:0;background:transparent;color:var(--accent);font-size:0}.history-item__play svg{width:18px;height:18px}.history-item__action{width:44px;min-width:44px}.settings-header{margin-bottom:20px}.settings-group,.form-group-card{padding:17px 14px}.settings-row{align-items:stretch;flex-direction:column;gap:10px}.settings-select,.eq-slider-control{width:100%}.eq-sliders{grid-template-columns:minmax(0,1fr)}.eq-sliders .settings-row{align-items:center;flex-direction:row}.settings-row button{align-self:flex-start}.account-profile__heading{align-items:flex-start}.account-profile__identity{align-items:center}.account-profile__photo-button{flex:1 1 100%;justify-content:center}.account-profile__form{grid-template-columns:minmax(0,1fr);gap:8px}.account-profile__form .settings-row__desc,.account-profile__form-actions{grid-column:1}.account-profile__form-actions .btn{width:100%}.account-device,.account-admin__row{align-items:flex-start;flex-direction:column}.account-device__controls,.account-admin__action{width:100%;justify-content:flex-start}.account-device__controls .btn{flex:1 1 78px}.account-listening-room__join-row,.account-listening-room__link{grid-template-columns:minmax(0,1fr)}.account-listening-room__actions .btn,.account-listening-room__join-row .btn,.account-listening-room__link .btn,.account-listening-room__leave{width:100%}#player-bar{left:8px;right:8px;bottom:calc(64px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:4px 6px;border-radius:8px}#player-bar .player__left{min-width:0}#player-bar .player__title{max-width:min(42vw,170px);font-size:12px}#player-bar .player__artist{max-width:min(42vw,170px);font-size:10px}#player-bar .player__favorite,#player-bar .player__center,#player-bar .player__right{display:none}#player-bar .player__mobile-actions{gap:2px}#player-bar .player__mobile-actions .player__btn,#player-bar .player__mobile-actions .player__btn--play{width:44px;min-width:44px;height:44px;min-height:44px}#mobile-player-sheet[open]{top:6px;right:6px;bottom:6px;left:6px;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:max(12px,calc(env(safe-area-inset-top) + 5px)) 16px max(18px,calc(env(safe-area-inset-bottom) + 6px));border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-card)}#mobile-player-sheet .player-sheet__header-title{color:var(--text-muted)}#mobile-player-sheet .player-sheet__cover-wrap{margin:0 auto 17px}#mobile-sheet-cover,#mobile-sheet-fallback{width:min(66vw,31dvh,300px);height:min(66vw,31dvh,300px);border-radius:5px}#mobile-player-sheet .player-sheet__track-info{margin-bottom:9px}#mobile-sheet-title{font-size:clamp(22px,6vw,30px);letter-spacing:-.05em}#mobile-sheet-artist{color:var(--text-muted)}#mobile-player-sheet .player-sheet__controls{margin:8px 0 15px}#mobile-player-sheet .player-sheet__btn{min-width:44px;min-height:44px}#mobile-player-sheet .player-sheet__btn--play{width:58px;height:58px;background:var(--accent);color:var(--on-accent)}#mobile-player-sheet .player-sheet__bottom-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}#mobile-player-sheet .player-sheet__bottom-actions button{min-width:0;min-height:46px;gap:5px;padding-inline:6px;border:1px solid var(--border-strong);border-radius:5px;background:transparent;color:var(--text-muted);font:600 11px var(--font-sans)}#mobile-player-sheet #mobile-sheet-download,#mobile-player-sheet #mobile-sheet-lyrics,#mobile-player-sheet #mobile-sheet-queue{grid-column:auto;grid-row:auto}#mobile-player-sheet .player-sheet__download-action{color:var(--accent)}#mobile-player-sheet .player-sheet__up-next{width:100%;margin-top:14px}#lyrics-dialog[open]{top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;max-width:none;max-height:none;grid-template-columns:1fr;grid-template-rows:minmax(150px,34dvh) minmax(0,1fr);border:0;border-radius:0}#lyrics-dialog .lyrics-dialog__art{position:relative;inset:auto;min-height:0;opacity:.52}#lyrics-dialog .lyrics-dialog__panel{grid-column:1;grid-row:1 / -1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:max(18px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(11,14,12,.38) 0,var(--bg-page) 38%)}#lyrics-dialog .lyrics-dialog__header{align-items:flex-start}#lyrics-dialog .lyrics-dialog__lines{max-width:100%;padding-top:24px}#lyrics-dialog .lyrics-dialog__line{font-size:clamp(24px,7vw,36px)}}@media(max-width:600px){.auth-screen .legal-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px);border-radius:14px}.auth-screen .legal-dialog__header{padding:18px 20px 16px}.legal-dialog__header h2{font-size:23px}.legal-dialog__body{padding:4px 20px 20px;font-size:15px;line-height:1.65}.legal-dialog__section{padding:16px 0 18px}.legal-dialog__footer{align-items:stretch;flex-direction:column;gap:12px;padding:14px 20px max(16px,env(safe-area-inset-bottom))}.legal-dialog__footer p{max-width:none}.legal-dialog__done{width:100%}.auth-screen{display:block}.auth-visual{position:relative;width:100%;height:clamp(320px,40svh,380px)}.auth-visual__content{display:block;padding:10px 24px 0}.auth-screen .auth-visual__brand.wave-wordmark{width:78px;height:54px}.auth-visual h2{max-width:360px;margin:9px 0 0;font-size:clamp(36px,10vw,42px);line-height:.98}.auth-visual__note{display:none}.auth-visual__equalizer{position:absolute;right:0;bottom:0;left:0;height:182px;gap:4px;margin:0}.auth-visual__column{flex-basis:12px}.auth-visual__bar{width:12px;height:var(--bar-mobile-height);background:repeating-linear-gradient(to top,#b9c1ff 0 11px,transparent 11px 14px)}.auth-visual__peak{bottom:var(--peak-mobile-bottom);width:12px;height:11px}.auth-panel{display:flex;min-height:calc(100svh - clamp(320px,40svh,380px));width:100%;align-items:stretch;flex-direction:column;padding:28px 24px max(16px,env(safe-area-inset-bottom))}.auth-panel h1{max-width:290px;font-size:30px;line-height:1.08}.auth-panel__copy{margin-top:10px;font-size:14px}.auth-panel__form{margin-top:24px}.auth-panel__consent,.auth-panel__terms{font-size:13px}.auth-panel__feedback{min-height:5px}.auth-panel__legal{margin-top:24px;padding-top:18px;font-size:13px}.auth-panel__footer{position:static;margin-top:auto;padding-top:16px;text-align:center}}@media(max-width:380px){#app .view{padding-inline:12px}#header{padding-inline:8px}#header .header__logo{font-size:14px}#mobile-player-sheet[open]{top:4px;right:4px;bottom:4px;left:4px;padding-inline:12px}#mobile-player-sheet .player-sheet__bottom-actions button{font-size:10px}}@media(prefers-reduced-motion:reduce){#app,.track-card,.media-card,.history-item,.queue-item,.settings-group,.form-group-card,.track-card__cover,.media-card__cover,.history-item__cover,.player__btn,.player-btn{transition:none}.auth-visual h2,.auth-visual__note,.auth-visual__column,.auth-visual__bar,.auth-visual__peak{animation:none}.eq-bars.is-active .eq-bar{animation:none;transform:scaleY(.8)}}#app.route-home{--home-paper: #f1f0f4;--home-ink: #10122b;--home-muted: #4a4d66;--home-line: #d4d3de;--home-blue: #2a3bff;--bg-page: var(--home-paper);--bg-card: #e8e7ee;--border: var(--home-line);--text: var(--home-ink);--text-muted: var(--home-muted);--text-faint: #777991;--accent: var(--home-blue);--accent-soft: #e2e4ff;color:var(--home-ink);background:var(--home-paper);font-family:Instrument Sans,DM Sans,system-ui,sans-serif}#app.route-home #view,#app.route-home #header{background:var(--home-paper)}#app.route-home #sidebar .sidebar__brand,#app.route-home .search-view__header{display:none}#app.route-home .view-search{gap:0}#app.route-home .hero-banner--home-reference{position:relative;overflow:hidden;min-height:312px;margin:0;padding:40px;border:0;border-radius:4px;background:var(--home-ink);color:var(--home-paper);box-shadow:none}#app.route-home .hero-banner--home-reference:after,#app.route-home .hero-banner--home-reference .hero-banner__backdrop-wrap{display:none}#app.route-home .hero-banner--home-reference .hero-banner__content{position:relative;z-index:1;display:flex;align-items:flex-end;gap:40px;padding:0 152px 0 0}#app.route-home .hero-banner--home-reference .hero-banner__cover-wrap,#app.route-home .hero-banner--home-reference .hero-banner__cover,#app.route-home .hero-banner--home-reference .hero-banner__cover-placeholder{flex:0 0 232px;width:232px;height:232px;min-width:232px;min-height:232px;border-radius:4px;box-shadow:none;object-fit:cover}#app.route-home .hero-banner--home-reference .hero-banner__info{flex:1 1 360px;max-width:none;min-width:0}#app.route-home .hero-banner--home-reference .hero-banner__badge-row{display:flex;align-items:center;gap:16px}#app.route-home .hero-banner--home-reference .hero-banner__badge{padding:0;border:0;background:none;color:var(--home-paper);font-size:15px;font-family:inherit;font-weight:600;letter-spacing:0}#app.route-home .hero-banner__genre{color:#c9cdf2;font-size:15px}#app.route-home .hero-banner--home-reference .badge--quality,#app.route-home .track-card--home-reference .track-card__home-quality{width:fit-content;padding:4px 6px 5px;border:1px solid #5a63b8;border-radius:2px;background:transparent;color:#b9c1ff;font-family:Pixelify Sans,DM Mono,monospace;font-size:14px;font-weight:400;line-height:1}#app.route-home .hero-banner--home-reference .hero-banner__title{max-width:14ch;margin:14px 0 0;color:var(--home-paper);font-family:Archivo,DM Sans,sans-serif;font-size:clamp(36px,4.5vw,64px);font-weight:800;line-height:1;letter-spacing:-.02em;text-wrap:balance}#app.route-home .hero-banner--home-reference .hero-banner__meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:18px;color:#c9cdf2;font-size:17px}#app.route-home .hero-banner--home-reference .hero-banner__artist{color:var(--home-paper);font-weight:600}#app.route-home .hero-banner--home-reference .hero-banner__sep{display:none}#app.route-home .hero-banner--home-reference .hero-banner__actions{display:flex;gap:12px;margin-top:28px}#app.route-home .hero-banner__main-play{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:116px;height:52px;padding:0 28px;border:0;border-radius:4px;background:var(--home-paper);color:var(--home-ink);font-family:inherit;font-size:16px;font-weight:600;cursor:pointer}#app.route-home .hero-banner__main-play:hover{background:#dde1ff}#app.route-home .hero-banner--home-reference .hero-banner__fav-btn,#app.route-home .hero-banner--home-reference .track-more{display:inline-grid;place-items:center;width:52px;height:52px;min-width:52px;border:1.5px solid rgba(241,240,244,.6);border-radius:4px;background:transparent;color:var(--home-paper)}#app.route-home .hero-banner--home-reference .hero-banner__cover-play-btn{display:none}#app.route-home .hero-banner__spectrum{position:absolute;right:0;bottom:0;display:flex;align-items:flex-end;gap:6px;height:100%;padding-right:0;pointer-events:none}#app.route-home .hero-banner__spectrum span{position:relative;width:20px;height:var(--bar-height);background:repeating-linear-gradient(to top,#b9c1ff 0 20px,transparent 20px 26px);animation:home-spectrum var(--bar-duration, 1.1s) ease-in-out var(--bar-delay, 0ms) infinite alternate}#app.route-home .hero-banner__spectrum span:after{content:"";position:absolute;top:0;left:0;width:20px;height:20px;background:#ffd84a}@keyframes home-spectrum{0%{transform:scaleY(.46);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}#app.route-home .home-section--recommendations{margin-top:56px}#app.route-home .home-section-header{align-items:flex-end;margin-bottom:20px}#app.route-home .home-section-header__title{color:var(--home-ink);font-family:Archivo,DM Sans,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.015em}#app.route-home .home-section-header__subtitle{margin-top:8px;color:var(--home-muted);font-size:15px}#app.route-home .home-section-header__actions{display:flex;flex-wrap:wrap;gap:8px}#app.route-home .home-section-header__actions .btn{min-height:44px;border-radius:4px;font-size:15px;font-weight:600}#app.route-home .home-track-heading{display:grid;grid-template-columns:56px minmax(0,1.6fr) minmax(0,1fr) 64px 56px 96px;column-gap:20px;align-items:center;margin-top:28px;padding:0 16px 10px;border-bottom:1px solid var(--home-ink);color:var(--home-muted);font-size:13px}#app.route-home .home-track-heading span:nth-child(5){text-align:right}#app.route-home .btn--reroll{border:1.5px solid var(--home-ink);background:transparent;color:var(--home-ink)}#app.route-home .btn--play-all{border:1.5px solid var(--home-ink);background:var(--home-ink);color:var(--home-paper)}#app.route-home .recommendations-grid:has(.track-card){display:grid;grid-template-columns:minmax(0,1fr);gap:0}#app.route-home .track-card--home-reference{display:grid;grid-template-columns:56px minmax(0,1.6fr) minmax(0,1fr) 64px 56px 96px;column-gap:20px;align-items:center;width:100%;min-width:0;max-width:none;min-height:81px;padding:12px 16px;border:0;border-bottom:1px solid var(--home-line);border-radius:0;background:transparent;color:var(--home-ink);box-shadow:none;transform:none}#app.route-home .track-card--home-reference:hover{background:#e8e7ee}#app.route-home .track-card--home-reference.is-playing{background:#e2e4ff}#app.route-home .track-card--home-reference .track-card__cover-wrap,#app.route-home .track-card--home-reference .track-card__cover,#app.route-home .track-card--home-reference .track-card__cover-placeholder{grid-column:1;width:56px;height:56px;min-width:56px;border-radius:4px}#app.route-home .track-card--home-reference .track-card__info{grid-column:2;min-width:0}#app.route-home .track-card--home-reference .track-card__title{color:var(--home-ink);font-size:16px;font-weight:600}#app.route-home .track-card--home-reference .track-card__sub-row{color:var(--home-muted);font-size:14px}#app.route-home .track-card--home-reference .track-card__album,#app.route-home .track-card--home-reference .track-card__sep,#app.route-home .track-card--home-reference .track-card__title-row .badge,#app.route-home .track-card--home-reference .track-card__duration{display:none}#app.route-home .track-card--home-reference .track-card__home-album{grid-column:3;min-width:0;overflow:hidden;color:var(--home-muted);font-size:14px;text-overflow:ellipsis;white-space:nowrap}#app.route-home .track-card--home-reference .track-card__home-quality{grid-column:4;border-color:var(--home-blue);color:var(--home-blue)}#app.route-home .track-card--home-reference .badge--quality{padding:3px 5px;border:1px solid #2a3bff;border-radius:2px;background:transparent;color:#2a3bff;font:12px/1 Pixelify Sans,monospace;letter-spacing:0}#app.route-home .track-card--home-reference .track-card__home-duration{grid-column:5;color:var(--home-muted);font-size:14px;font-variant-numeric:tabular-nums}#app.route-home .track-card--home-reference .track-card__mobile-duration,#app.route-home .track-card--home-reference .track-card__mobile-quality{display:none}#app.route-home .track-card--home-reference .track-more{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:4px;background:transparent;color:var(--home-muted);font-size:17px;cursor:pointer}#app.route-home .track-card--home-reference .track-more:hover{background:#e2e4ff;color:var(--home-ink)}#app.route-home .track-card--home-reference .track-card__actions{grid-column:6;justify-self:end}@media(min-width:900px){#app.route-home{--side-w: 232px;--header-h: 72px}#app.route-home.sidebar-collapsed{--side-w: 76px}#app.route-home #sidebar{padding:28px 16px 24px;background:var(--home-blue);color:var(--home-paper)}#app.route-home #sidebar .sidebar__topbar{height:50px;min-height:50px;margin-bottom:20px}#app.route-home #sidebar .sidebar__brand{display:flex;flex:1;height:50px;min-height:50px;margin:0;padding-left:14px}#app.route-home #sidebar .sidebar__brand img{display:block;width:90px;height:32px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}#app.route-home.sidebar-collapsed #sidebar .sidebar__brand{display:none}#app.route-home #sidebar .sidebar__collapse{order:2;color:var(--home-paper)}#app.route-home #sidebar .sidebar__collapse:hover{background:#f1f0f429}#app.route-home #sidebar .sidebar__label{display:inline}#app.route-home #sidebar .sidebar__item{min-height:44px;border-radius:4px;color:var(--home-paper);font-size:15px;font-weight:600}#app.route-home #sidebar .sidebar__item:hover{background:#f1f0f429}#app.route-home #sidebar .sidebar__item.active{background:var(--home-paper);color:var(--home-ink)}#app.route-home #sidebar .account-nav__avatar{border-radius:4px}#app.route-home #header{height:72px;padding:14px 48px;border-bottom:1px solid var(--home-line)}#app.route-home #header .header__context{color:var(--home-ink);font-size:16px}#app.route-home #header .header__search{width:min(520px,55%);max-width:520px;height:44px}#app.route-home #header .header__search input{border:1.5px solid var(--home-ink);border-radius:4px;background:transparent;color:var(--home-ink);font-size:15px}#app.route-home #view .view{width:100%;max-width:none;padding:40px 48px 56px}#app.route-home #player-bar{background:var(--home-ink);color:var(--home-paper)}}@media(max-width:1199px){#app.route-home .hero-banner--home-reference .hero-banner__content{padding-right:0}#app.route-home .hero-banner__spectrum{opacity:.28}}@media(max-width:899px){#app.route-home #view .view{padding:24px 20px 42px}#app.route-home .hero-banner--home-reference{padding:24px}#app.route-home .hero-banner--home-reference .hero-banner__content{align-items:center;gap:24px;padding:0}#app.route-home .hero-banner--home-reference .hero-banner__cover-wrap,#app.route-home .hero-banner--home-reference .hero-banner__cover,#app.route-home .hero-banner--home-reference .hero-banner__cover-placeholder{flex-basis:160px;width:160px;height:160px;min-width:160px;min-height:160px}#app.route-home .track-card--home-reference{grid-template-columns:56px minmax(0,1fr) 96px;gap:14px}#app.route-home .track-card--home-reference .track-card__home-album,#app.route-home .track-card--home-reference .track-card__home-quality,#app.route-home .track-card--home-reference .track-card__home-duration{display:none}#app.route-home .track-card--home-reference .track-card__actions{grid-column:3}#app.route-home .home-track-heading{display:none}}@media(max-width:600px){#app.route-home .homepage-view .btn--play-all{display:inline-flex}#app.route-home .homepage-view .home-section-header__subtitle{display:block}#app.route-home .homepage-view .home-section-header__title{font-size:24px}#app.route-home .homepage-view .btn--reroll{padding-inline:12px;border:1.5px solid var(--home-ink);color:var(--home-ink);font-size:13px}#app.route-home .homepage-view .recommendations-grid{display:grid;overflow:visible;scroll-snap-type:none}#app.route-home .homepage-view .recommendations-grid .track-card--home-reference{display:grid;flex:none;flex-direction:row;width:100%;min-width:0;max-width:none}#app.route-home .homepage-view .recommendations-grid .track-card__actions{position:static;width:auto;height:auto;padding:0}#app.route-home .homepage-view .recommendations-grid .track-card__fav-btn{display:inline-grid}#app.route-home .homepage-view .recommendations-grid .track-card__cover-wrap,#app.route-home .homepage-view .recommendations-grid .track-card__cover,#app.route-home .homepage-view .recommendations-grid .track-card__cover-placeholder{width:48px;height:48px;min-width:48px;min-height:48px}#app.route-home #view .view{padding:18px 16px 32px}#app.route-home .hero-banner--home-reference{min-height:0;padding:22px}#app.route-home .hero-banner--home-reference .hero-banner__content{align-items:flex-start;flex-direction:column;gap:18px}#app.route-home .hero-banner--home-reference .hero-banner__cover-wrap,#app.route-home .hero-banner--home-reference .hero-banner__cover,#app.route-home .hero-banner--home-reference .hero-banner__cover-placeholder{flex-basis:auto;width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:1;max-width:220px}#app.route-home .hero-banner--home-reference .hero-banner__info{flex-basis:auto}#app.route-home .hero-banner--home-reference .hero-banner__title{font-size:clamp(32px,9vw,46px)}#app.route-home .hero-banner--home-reference .hero-banner__meta{font-size:14px}#app.route-home .hero-banner__spectrum{right:-40px;opacity:.16}#app.route-home .home-section--recommendations{margin-top:36px}#app.route-home .home-section-header{align-items:flex-start}#app.route-home .home-section-header__actions{width:100%}#app.route-home .home-section-header__actions .btn{flex:1;padding-inline:10px}#app.route-home .track-card--home-reference{grid-template-columns:48px minmax(0,1fr) 88px;gap:10px;padding:10px 0}#app.route-home .track-card--home-reference .track-card__cover-wrap,#app.route-home .track-card--home-reference .track-card__cover,#app.route-home .track-card--home-reference .track-card__cover-placeholder{width:48px;height:48px;min-width:48px}#app.route-home .track-card--home-reference .track-card__cover-wrap{min-height:48px}#app.route-home .track-card--home-reference .track-card__title{font-size:14px}#app.route-home .track-card--home-reference .track-card__actions{gap:0}}@media(prefers-reduced-motion:reduce){#app.route-home .hero-banner__spectrum span{animation:none}}#app.route-home .track-card__mobile-duration,#app.route-home .track-card__mobile-quality{display:none}@media(max-width:600px){#app.route-home{--header-h: 140px}#app.route-home #view{padding:0}#app.route-home #header{display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:10px;height:140px;min-height:140px;padding:16px 22px 18px;border:0;background:var(--home-blue);color:var(--home-paper)}#app.route-home #header .header__brand{display:flex;align-items:center;width:100%;height:40px;min-height:40px}#app.route-home #header .header__brand img{width:76px;height:34px;filter:brightness(0) invert(1)}#app.route-home #header .header__context,#app.route-home #header .header__search-toggle{display:none}#app.route-home #header .header__search{position:relative;inset:auto;display:flex;align-items:center;width:100%;max-width:none;min-width:0;height:44px;margin:0;padding:0;border:0;background:transparent;flex:0 0 44px;align-self:stretch}#app.route-home #header .header__search input{width:100%;height:44px;padding:0 14px 0 46px;border:0;border-radius:4px;background:var(--home-paper);color:var(--home-ink);font-size:14px}#app.route-home #header .header__search input::placeholder{color:var(--home-muted);opacity:1}#app.route-home #header .search-icon{z-index:1;left:14px;color:var(--home-muted)}#app.route-home #view .view{padding:20px 22px 36px}#app.route-home .hero-banner--home-reference{min-height:0;margin:0;padding:22px 20px 20px;border-radius:4px}#app.route-home .hero-banner--home-reference .hero-banner__content{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:0 14px;padding:0}#app.route-home .hero-banner--home-reference .hero-banner__cover-wrap,#app.route-home .hero-banner--home-reference .hero-banner__cover,#app.route-home .hero-banner--home-reference .hero-banner__cover-placeholder{grid-column:1;grid-row:1 / 4;width:100px;height:100px;min-width:100px;min-height:100px;max-width:none;aspect-ratio:1;border-radius:4px}#app.route-home .hero-banner--home-reference .hero-banner__info{display:contents}#app.route-home .hero-banner--home-reference .hero-banner__badge-row{grid-column:2;grid-row:1;flex-wrap:wrap;gap:6px;align-self:end}#app.route-home .hero-banner--home-reference .hero-banner__badge{font-size:12px}#app.route-home .hero-banner--home-reference .hero-banner__genre{display:none}#app.route-home .hero-banner--home-reference .badge--quality{font-size:11px;padding:2px 4px}#app.route-home .hero-banner--home-reference .hero-banner__title{grid-column:2;grid-row:2;max-width:none;margin:5px 0 0;font-size:clamp(21px,6vw,27px);line-height:1;letter-spacing:-.03em}#app.route-home .hero-banner--home-reference .hero-banner__meta{grid-column:2;grid-row:3;align-self:start;margin-top:7px;font-size:13px;line-height:1.2}#app.route-home .hero-banner--home-reference .hero-banner__album,#app.route-home .hero-banner--home-reference .hero-banner__duration,#app.route-home .hero-banner__spectrum{display:none}#app.route-home .hero-banner--home-reference .hero-banner__actions{grid-column:1 / -1;grid-row:4;display:flex;gap:10px;width:100%;margin-top:16px}#app.route-home .hero-banner__main-play{flex:1;min-width:0;height:46px;padding:0 12px;font-size:14px}#app.route-home .hero-banner--home-reference .hero-banner__fav-btn,#app.route-home .hero-banner--home-reference .track-more{flex:0 0 46px;width:46px;height:46px;min-width:46px;min-height:46px;font-size:15px}#app.route-home .home-section--recommendations{margin-top:30px}#app.route-home .homepage-view .home-section-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin:0 0 14px}#app.route-home .homepage-view .home-section-header__titles{display:contents}#app.route-home .homepage-view .recommendations__title-group{align-items:flex-start;text-align:left}#app.route-home .homepage-view .home-section-header__title{grid-column:1 / -1;grid-row:1;font-size:22px;line-height:1.15;letter-spacing:-.02em}#app.route-home .homepage-view .home-section-header__subtitle{grid-column:1;grid-row:2;align-self:center;margin:0;font-size:13px}#app.route-home .homepage-view .home-section-header__actions{grid-column:2;grid-row:2;width:auto;gap:8px}#app.route-home .homepage-view .home-section-header__actions .btn{flex:0 0 auto;min-height:44px;padding-inline:12px;font-size:12px}#app.route-home .homepage-view .home-section-header__actions .btn--reroll span{display:none}#app.route-home .homepage-view .home-section-header__actions .btn--reroll{width:44px;padding:0}#app.route-home .homepage-view .recommendations-grid{width:100%}#app.route-home .homepage-view .recommendations-grid .track-card--home-reference{grid-template-columns:50px minmax(0,1fr) 44px;gap:10px;min-height:68px;padding:8px 0;border-bottom:1px solid var(--home-line)}#app.route-home .homepage-view .recommendations-grid .track-card__cover-wrap,#app.route-home .homepage-view .recommendations-grid .track-card__cover,#app.route-home .homepage-view .recommendations-grid .track-card__cover-placeholder{width:50px;height:50px;min-width:50px;min-height:50px;border-radius:3px}#app.route-home .track-card--home-reference .track-card__info{grid-column:2;width:100%}#app.route-home .track-card--home-reference .track-card__title{font-size:14px;font-weight:600}#app.route-home .track-card--home-reference .track-card__sub-row{display:flex;gap:5px;align-items:center;width:100%;min-width:0;margin-top:3px;font-size:12px}#app.route-home .track-card--home-reference .track-card__artist{min-width:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}#app.route-home .track-card--home-reference .track-card__mobile-duration{display:inline;flex:0 0 auto;color:var(--home-muted);font-variant-numeric:tabular-nums}#app.route-home .track-card--home-reference .track-card__mobile-quality{display:inline-flex;flex:0 0 auto}#app.route-home .homepage-view .recommendations-grid .track-card__actions{grid-column:3;justify-self:end}#app.route-home .homepage-view .recommendations-grid .track-card__fav-btn{display:inline-grid;min-width:44px;min-height:44px}#app.route-home .homepage-view .recommendations-grid .track-card__actions .track-more{display:none}#app.route-home #player-bar{left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));height:64px;padding:7px 16px;border:0;border-radius:0;background:var(--home-ink);color:var(--home-paper)}#app.route-home #player-bar .player__mobile-actions .player__btn--play{border-radius:4px;background:var(--home-paper);color:var(--home-ink)}#app.route-home #mobile-tab-bar{background:var(--home-paper);border-top:1px solid var(--home-line)}#app.route-home #mobile-tab-bar .tab-item.active{color:var(--home-blue)}}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings){--home-paper: #f1f0f4;--home-ink: #10122b;--home-muted: #4a4d66;--home-line: #d4d3de;--home-blue: #2a3bff;--bg-page: var(--home-paper);--bg-side: var(--home-blue);--bg-card: #fff;--bg-card-hover: #e8e7ee;--bg-input: var(--home-paper);--bg-player: var(--home-ink);--border: var(--home-line);--border-strong: #a9aab8;--text: var(--home-ink);--text-muted: var(--home-muted);--text-faint: #777991;--accent: var(--home-blue);--accent-hover: #172bea;--on-accent: #fff;--accent-soft: #e2e4ff;--content-max: none;color:var(--home-ink);background:var(--home-paper);font-family:Instrument Sans,DM Sans,system-ui,sans-serif}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #view,#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #header{background:var(--home-paper)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #view{padding:0}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #view .view{width:100%;max-width:none;margin:0}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) .view h1,#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) .view h2,#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) .view h3{color:var(--home-ink);font-family:Archivo,DM Sans,sans-serif;letter-spacing:-.02em}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #player-bar{background:var(--home-ink);color:var(--home-paper)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #player-bar .player__btn--play{background:var(--home-paper);color:var(--home-ink)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) .btn--primary,#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) .btn-primary{background:var(--home-ink);border-color:var(--home-ink);color:var(--home-paper);border-radius:4px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) :is(input,select,textarea):focus-visible,#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) button:focus-visible,#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) a:focus-visible{outline:2px solid var(--home-blue);outline-offset:2px}#app:is(.route-search,.route-library,.route-queue,.route-settings) .view{padding:36px 48px 64px}#app:is(.route-search,.route-library,.route-queue,.route-settings) :is(.settings-group,.form-group-card,.queue-item,.library-card,.playlist-card){border:1px solid var(--home-line);border-radius:4px;background:#fff;box-shadow:none}#app:is(.route-search,.route-library,.route-queue,.route-settings) :is(.search-box-input,.library-search-input,.settings-select,.form-select){min-height:44px;border:1.5px solid var(--home-ink);border-radius:4px;background:transparent;color:var(--home-ink)}#app.route-search .search-box-wrapper{max-width:720px}#app.route-search .chip{min-height:44px;border-radius:4px}#app.route-search .chip.is-active{background:var(--home-ink);color:var(--home-paper)}#app.route-search .track-card{border-radius:4px}#app.route-search .search-play-history{margin-top:32px}#app.route-search .search-play-history__header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}#app.route-search .search-play-history__header h2{margin:0;font-size:28px}#app.route-search .search-play-history__header p{margin:7px 0 0;color:var(--home-muted);font-size:14px}#app.route-search .search-play-history__clear{min-height:44px;padding:0 14px;border:1.5px solid var(--home-ink);border-radius:4px;background:transparent;color:var(--home-ink);cursor:pointer}#app.route-search .search-play-history__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px}#app.route-search .search-play-history__item{position:relative;min-width:0}#app.route-search .search-play-history__item .track-card{padding-right:44px}#app.route-search .search-play-history__remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:4px;background:transparent;color:var(--home-muted);cursor:pointer}#app.route-search .search-play-history__remove:hover{background:var(--accent-soft);color:var(--home-ink)}#app.route-search .chip-select-wrapper,#app.route-search .quality-select-chip{border-radius:4px}#app.route-search .quality-select-chip{min-height:44px;border:1.5px solid var(--home-ink);background:transparent;color:var(--home-ink)}#app.route-library .library-tab.is-active{border-bottom-color:var(--home-blue);color:var(--home-blue)}#app.route-library .library-tab{color:var(--home-muted)}#app.route-queue .queue-item{background:#fff}#app.route-settings .settings-group__title{border-color:var(--home-line)}#app.route-settings .settings-row__desc{color:var(--home-muted)}#app.route-home #header .header__search,#app.route-home #header .header__search-toggle{display:none}#app.route-home .homepage-view>.home-section:first-child{margin-top:0}#app.route-home .homepage-view>.hero-banner:not(:first-child){margin-top:48px}#app.route-home .homepage-view>.hero-banner+.home-section{margin-top:48px}#app .header__spectrum,#app .header__logo-letter{display:none}.wave-animated-logo{position:relative;display:inline-block;flex:0 0 auto;width:96px;height:66px;transform:translateY(-8px) skew(-5deg)}.wave-animated-logo>img{display:block;width:100%;height:100%;object-fit:contain;visibility:hidden}.wave-animated-logo__letter{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;animation:wave-letter-flicker 2.8s ease-in-out infinite}.wave-animated-logo__letter img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.wave-animated-logo__letter:nth-of-type(1){clip-path:inset(0 63.8% 0 0);animation-delay:0ms}.wave-animated-logo__letter:nth-of-type(2){clip-path:inset(0 42.6% 0 36.2%);animation-delay:.17s}.wave-animated-logo__letter:nth-of-type(3){clip-path:inset(0 21.4% 0 57.4%);animation-delay:.34s}.wave-animated-logo__letter:nth-of-type(4){clip-path:inset(0 0 0 78.6%);animation-delay:.51s}.auth-loading .wave-animated-logo{width:116px;height:78px;transform:skew(-5deg);animation:wave-loading-flicker 1.55s steps(6,end) infinite}.auth-loading .wave-wordmark{width:116px;max-height:78px;animation:wave-loading-flicker 1.55s steps(6,end) infinite}@keyframes wave-loading-flicker{0%,to{opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 10px rgba(90,110,255,.3))}14%{opacity:.45}19%{opacity:1}62%{opacity:.7}68%{opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 24px rgba(90,110,255,.8))}}@media(min-width:900px){#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings){--side-w: 232px;--header-h: 72px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings).sidebar-collapsed{--side-w: 76px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar{padding:28px 16px 24px;background:var(--home-blue);color:var(--home-paper);border:0}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__brand{display:flex;flex:1;height:50px;min-height:50px;margin:0;padding-left:14px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__brand img{width:90px;height:32px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings).sidebar-collapsed #sidebar .sidebar__brand{display:none}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__topbar{height:50px;min-height:50px;margin-bottom:20px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__collapse{order:2;color:var(--home-paper)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__item{min-height:44px;border-radius:4px;color:var(--home-paper);font-size:15px;font-weight:600}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__item.active{background:var(--home-paper);color:var(--home-ink)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__item.active svg{color:var(--home-blue)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #header{height:72px;padding:14px 32px;border-bottom:1px solid var(--home-line)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #header .header__context{color:var(--home-ink);font-size:16px}#app:is(.route-search,.route-library,.route-queue,.route-settings) #header .header__search input{border:1.5px solid var(--home-ink);border-radius:4px;background:transparent;color:var(--home-ink)}#app.route-home #view .view{padding:28px 32px 64px}}@media(max-width:899px){#app:is(.route-search,.route-library,.route-queue,.route-settings) .view{padding:24px 20px 48px}}@media(max-width:600px){.auth-screen .auth-visual__brand.wave-animated-logo{width:78px;height:54px}#app.route-home{--header-h: 56px}#app.route-home #header{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:56px;min-height:56px;padding:0 22px;background:var(--home-blue)}#app.route-home #header .header__brand{position:relative;flex:0 0 60px;width:60px;height:44px;min-height:44px;transform:skew(-5deg)}#app.route-home #header .header__brand>.wave-wordmark{visibility:hidden;width:60px}#app.route-home #header .header__logo-letter{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:visible;animation:wave-letter-flicker 2.8s ease-in-out infinite}#app.route-home #header .header__logo-letter img{display:block;width:60px;height:auto;max-height:44px;filter:brightness(0) invert(1)}#app.route-home #header .header__logo-letter:nth-of-type(1){clip-path:inset(0 63.8% 0 0);animation-delay:0ms}#app.route-home #header .header__logo-letter:nth-of-type(2){clip-path:inset(0 42.6% 0 36.2%);animation-delay:.17s}#app.route-home #header .header__logo-letter:nth-of-type(3){clip-path:inset(0 21.4% 0 57.4%);animation-delay:.34s}#app.route-home #header .header__logo-letter:nth-of-type(4){clip-path:inset(0 0 0 78.6%);animation-delay:.51s}#app.route-home #header .header__search{display:none}#app.route-home .homepage-view>.hero-banner:not(:first-child){margin-top:30px}#app.route-home .homepage-view>.hero-banner+.home-section{margin-top:30px}#app.route-home #header .header__spectrum{position:absolute;right:12px;bottom:0;display:flex;align-items:flex-end;gap:3px;width:157px;height:34px;overflow:hidden}#app.route-home #header .header__spectrum span{display:block;flex:0 0 5px;width:5px;height:var(--spectrum-height);background:repeating-linear-gradient(to top,#b9c1ff 0 5px,transparent 5px 7px);animation:header-spectrum var(--spectrum-duration) ease-in-out var(--spectrum-delay) infinite alternate;transform-origin:bottom}#app.route-home #header .header__spectrum span:after{display:block;width:5px;height:5px;background:#ffd84a;content:""}#app:is(.route-search,.route-library,.route-queue,.route-settings) #view{padding:0}#app:is(.route-search,.route-library,.route-queue,.route-settings) #view .view{padding:20px 22px calc(136px + env(safe-area-inset-bottom))}#app:is(.route-search,.route-library,.route-queue,.route-settings) #header{background:var(--home-blue);border:0}#app:is(.route-search,.route-library,.route-queue,.route-settings) #header .header__brand img{filter:brightness(0) invert(1)}#app.route-search .search-play-history__header{align-items:flex-start}#app.route-search .search-play-history__header h2{font-size:22px}#app.route-search .search-play-history__header p{font-size:12px}#app.route-search .search-play-history__clear{flex:0 0 auto;font-size:12px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #player-bar{border-radius:0;background:var(--home-ink)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #mobile-tab-bar{background:var(--home-paper);border-color:var(--home-line)}}@keyframes header-spectrum{0%{transform:scaleY(.32)}28%{transform:scaleY(.85)}57%{transform:scaleY(.48)}to{transform:scaleY(1)}}@keyframes wave-letter-flicker{0%,9%{opacity:.32;transform:translateY(2px)}14%,80%{opacity:1;transform:translateY(0)}83%{opacity:.75}87%,to{opacity:1}}@media(prefers-reduced-motion:reduce){.auth-loading .wave-wordmark,.auth-loading .wave-animated-logo,.wave-animated-logo__letter,#app .header__spectrum span,#app .header__logo-letter{animation:none;opacity:1}}#app:is(.route-search,.route-library,.route-queue,.route-settings) .wave-page-intro{display:grid;gap:6px;margin:0 0 30px}#app:is(.route-search,.route-library,.route-queue,.route-settings) .wave-page-intro__eyebrow{color:var(--home-blue);font:600 11px/1.3 DM Mono,monospace;letter-spacing:.11em;text-transform:uppercase}#app:is(.route-search,.route-library,.route-queue,.route-settings) .wave-page-intro h1,#app.route-queue .queue-header__title,#app.route-settings .settings-header__title{margin:0;color:var(--home-ink);font-family:Archivo,DM Sans,sans-serif;font-size:clamp(30px,3vw,42px);font-weight:750;line-height:1.05;letter-spacing:-.035em}#app:is(.route-search,.route-library,.route-queue,.route-settings) .wave-page-intro p,#app.route-queue .queue-header__desc,#app.route-settings .settings-header__desc{margin:2px 0 0;color:var(--home-muted);font-size:15px;line-height:1.5}#app:is(.route-search,.route-library,.route-queue,.route-settings) .view>:first-child{padding-top:4px}#app.route-search .search-view__header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px 40px;margin-bottom:36px;padding:38px 40px 32px;overflow:hidden;border:0;border-radius:4px;background:var(--home-ink);color:var(--home-paper)}#app.route-search .search-hero__copy{position:relative;z-index:1;display:grid;gap:7px;max-width:690px}#app.route-search .search-hero__eyebrow,#app.route-search .search-discovery__eyebrow{color:#9da8ff;font:600 11px/1.3 DM Mono,monospace;letter-spacing:.12em;text-transform:uppercase}#app.route-search .search-hero__copy h1{margin:0;color:#fff;font-size:clamp(34px,4vw,58px);font-weight:760;line-height:.98;letter-spacing:-.045em}#app.route-search .search-hero__copy p{max-width:580px;margin:3px 0 0;color:#c9cdf2;font-size:15px;line-height:1.5}#app.route-search .search-hero__spectrum{display:flex;align-items:end;align-self:end;justify-content:end;gap:6px;height:112px;opacity:.9}#app.route-search .search-hero__spectrum span{width:12px;height:58%;background:repeating-linear-gradient(to top,#aeb7ff 0 8px,transparent 8px 12px);transform-origin:bottom;animation:search-spectrum 1.1s ease-in-out infinite alternate}#app.route-search .search-hero__spectrum span:after{display:block;width:12px;height:8px;background:#ffd84a;content:""}#app.route-search .search-hero__spectrum span:nth-child(2n){height:82%;animation-delay:-.28s}#app.route-search .search-hero__spectrum span:nth-child(3n){height:42%;animation-delay:-.61s}#app.route-search .search-hero__spectrum span:nth-child(4n){height:96%;animation-delay:-.43s}#app.route-search .search-hero__spectrum span:nth-child(5n){height:68%;animation-delay:-.76s}#app.route-search .search-box-wrapper{z-index:1;grid-column:1/-1;max-width:none}#app.route-search .search-box-input{height:58px;padding-left:52px;border:0;background:#fff;color:var(--home-ink);font-size:16px;box-shadow:0 10px 30px #00000029}#app.route-search .search-box-input:focus{border-color:transparent;background:#fff;box-shadow:0 0 0 3px #7180ff,0 10px 30px #0000002e}#app.route-search .search-box-icon{left:18px;color:var(--home-ink)}#app.route-search .search-box-clear{color:var(--home-muted)}#app.route-search .chip-filter-bar{z-index:1;grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;margin:-8px 0 0}#app.route-search .chip-bar__list{gap:8px}#app.route-search .chip{padding-inline:17px;border:1px solid #656b93;background:transparent;color:#c9cdf2;font-size:13px}#app.route-search .chip:hover{border-color:#fff;color:#fff}#app.route-search .chip.is-active{border-color:#fff;background:#fff;color:var(--home-ink)}#app.route-search .quality-select-chip{border-color:#656b93;color:#fff}#app.route-search .quality-select-chip:hover{border-color:#fff}#app.route-search .search-discovery{display:grid;gap:24px}#app.route-search .search-discovery__heading{display:grid;gap:6px}#app.route-search .search-discovery__heading h2{margin:0;font-size:clamp(26px,3vw,36px);line-height:1.05}#app.route-search .search-discovery__heading p{margin:2px 0 0;color:var(--home-muted);font-size:14px}#app.route-search .search-discovery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#app.route-search .search-discovery__card{position:relative;display:grid;align-content:space-between;min-width:0;min-height:190px;padding:20px;overflow:hidden;border:1px solid var(--home-line);border-radius:4px;background:#fff;color:var(--home-ink);text-align:left;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}#app.route-search .search-discovery__card:after{position:absolute;right:-24px;bottom:-34px;width:108px;height:108px;border-radius:50%;background:var(--card-accent,#c9cdf2);opacity:.46;content:"";transition:transform .18s ease}#app.route-search .search-discovery__card:hover{border-color:var(--home-blue);box-shadow:0 12px 30px #10122b1a;transform:translateY(-3px)}#app.route-search .search-discovery__card:hover:after{transform:scale(1.15)}#app.route-search .search-discovery__card--track{--card-accent:#9da8ff}#app.route-search .search-discovery__card--album{--card-accent:#f5b6d2}#app.route-search .search-discovery__card--artist{--card-accent:#ffd84a}#app.route-search .search-discovery__card--playlist{--card-accent:#8fd9cf}#app.route-search .search-discovery__index{color:var(--home-blue);font:600 11px/1 DM Mono,monospace}#app.route-search .search-discovery__label{align-self:end;font:750 25px/1 Archivo,DM Sans,sans-serif;letter-spacing:-.03em}#app.route-search .search-discovery__hint{z-index:1;max-width:130px;color:var(--home-muted);font-size:12px;line-height:1.35}#app.route-search .results-grid .track-card,#app.route-search .search-play-history__item .track-card{border:1px solid var(--home-line);border-radius:4px;background:#fff;box-shadow:none}#app.route-search .search-play-history__header{padding-top:8px;border-top:1px solid var(--home-line)}#app.route-search .search-play-history__clear:hover{background:var(--accent-soft)}#app.route-library .library-header-wrapper{margin-top:0}#app.route-library .library-tabs{display:flex;align-items:stretch;gap:4px;min-height:54px;margin:0 0 24px;padding:0;border-bottom:1px solid var(--home-line)}#app.route-library .library-tab{flex:0 0 auto;height:54px;min-height:54px;padding:0 20px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--home-muted);font-size:14px;font-weight:600}#app.route-library .library-tab:hover{background:var(--accent-soft);color:var(--home-ink)}#app.route-library .library-tab.is-active{border-bottom-color:var(--home-blue);background:transparent;color:var(--home-ink)}#app.route-library .library-controls{align-items:center;gap:12px;margin:0 0 24px}#app.route-library .library-search-wrapper{flex:1 1 320px;max-width:420px}#app.route-library .library-search-input{height:48px;background:#fff;font-size:14px}#app.route-library .library-actions button{min-height:48px;padding-inline:18px;border:1.5px solid var(--home-ink);border-radius:4px;background:var(--home-ink);color:var(--home-paper);font-size:14px;font-weight:600}#app.route-library .library-content>.empty-state{display:grid;justify-items:center;align-content:center;min-height:300px;padding:36px 24px;border:1px solid var(--home-line);border-radius:4px;background:#fff;text-align:center}#app.route-library .library-content>.empty-state .empty-state__icon{color:var(--home-blue)}#app.route-library .library-content>.empty-state button{border-radius:4px;background:var(--home-ink);color:var(--home-paper)}#app.route-queue .queue-header{align-items:flex-end;gap:20px;margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid var(--home-line)}#app.route-queue .queue-header__title-group{display:flex;align-items:flex-start;flex-direction:column;gap:7px}#app.route-queue .queue-header__badge{position:static;margin:0;border-radius:3px}#app.route-queue .btn--clear-completed{min-height:44px;padding-inline:16px;border:1.5px solid var(--home-ink);border-radius:4px;background:transparent;color:var(--home-ink);font-weight:600}#app.route-queue .btn--clear-completed[hidden]{display:none}#app.route-queue .btn--clear-completed:hover{background:var(--accent-soft)}#app.route-queue .queue-list>.empty-state{display:grid;justify-items:center;align-content:center;min-height:330px;padding:36px 24px;border:1px solid var(--home-line);border-radius:4px;background:#fff;text-align:center}#app.route-queue .queue-list>.empty-state .empty-state__icon{color:var(--home-blue)}#app.route-queue .queue-item{padding:18px 20px;border-color:var(--home-line)}#app.route-queue .queue-item__quality{border-radius:2px;color:var(--home-blue)}#app.route-queue .queue-item__progress-fill{background:var(--home-blue)}#app.route-settings .view-settings{max-width:1160px}#app.route-settings .settings-header{display:grid;gap:6px;margin:0 0 30px;padding:4px 0 24px;border-bottom:1px solid var(--home-line)}#app.route-settings .settings-group{gap:18px;padding:24px 28px;border-color:var(--home-line)}#app.route-settings .settings-group__title{padding:0 0 16px;font-size:18px;font-weight:700}#app.route-settings .settings-row{min-height:56px}#app.route-settings .settings-row__label{color:var(--home-ink);font-size:14px;font-weight:600}#app.route-settings .settings-row__desc{font-size:13px}#app.route-settings .settings-select{background:#fff;font-size:14px}#app.route-settings .account-profile{background:var(--home-ink);border-color:var(--home-ink);color:var(--home-paper)}#app.route-settings .account-profile :is(h2,h3,strong,.settings-row__label){color:var(--home-paper)}#app.route-settings .account-profile :is(p,span,.settings-row__desc){color:#c9cdf2}#app.route-settings .account-profile input{border-color:#868db4;background:#202344;color:var(--home-paper)}#app.route-settings .account-profile .account-profile__readonly{border-color:#868db4;background:#202344;color:#d8ddf4}#app.route-settings .account-profile :is(.account-profile__form label,.account-profile__consent summary,.account-devices__list,.account-admin__list,.account-listening-room__panel){color:#c9cdf2}#app.route-settings .account-profile :is(.btn--ghost,.account-profile__photo-button){border:1px solid #868db4;background:transparent;color:#f1f0f4}#app.route-settings .account-profile :is(.btn--ghost,.account-profile__photo-button):hover{border-color:#c9cdf2;background:#273054}#app.route-settings .account-profile .btn--primary{border-color:#3b82f6;background:#3b82f6;color:#fff}#app.route-settings .account-profile .btn--primary:hover{background:#2563eb}#app.route-settings .account-profile button{border-radius:4px}@media(max-width:899px){#app:is(.route-search,.route-library,.route-queue,.route-settings) .wave-page-intro{margin-bottom:24px}#app.route-library .library-tabs{overflow-x:auto;scrollbar-width:none}#app.route-library .library-tabs::-webkit-scrollbar{display:none}#app.route-search .search-view__header{grid-template-columns:minmax(0,1fr) 180px;padding:30px}#app.route-search .search-hero__spectrum{height:90px;gap:4px}#app.route-search .search-hero__spectrum span{width:9px}#app.route-search .search-hero__spectrum span:after{width:9px}#app.route-search .search-discovery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#app:is(.route-search,.route-library,.route-queue,.route-settings) .wave-page-intro h1,#app.route-queue .queue-header__title,#app.route-settings .settings-header__title{font-size:30px}#app:is(.route-search,.route-library,.route-queue,.route-settings) .wave-page-intro p,#app.route-queue .queue-header__desc,#app.route-settings .settings-header__desc{font-size:13px}#app.route-search .search-view__header{grid-template-columns:minmax(0,1fr) 92px;gap:18px 10px;margin:0 -22px 26px;padding:24px 22px 22px;border-radius:0}#app.route-search .search-hero__copy{gap:5px}#app.route-search .search-hero__copy h1{font-size:31px;line-height:1}#app.route-search .search-hero__copy p{max-width:280px;font-size:12px}#app.route-search .search-hero__spectrum{height:72px;gap:3px}#app.route-search .search-hero__spectrum span{width:5px;background-size:100% 8px}#app.route-search .search-hero__spectrum span:after{width:5px;height:5px}#app.route-search .search-box-input{height:52px;font-size:14px}#app.route-search .chip-filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}#app.route-search .chip-filter-bar::-webkit-scrollbar{display:none}#app.route-search .chip-bar__list{flex-wrap:nowrap}#app.route-search .chip{flex:0 0 auto;padding-inline:13px;font-size:12px}#app.route-search .chip-select-wrapper{flex:0 0 auto}#app.route-search .search-discovery{gap:18px}#app.route-search .search-discovery__heading h2{font-size:27px}#app.route-search .search-discovery__grid{gap:8px}#app.route-search .search-discovery__card{min-height:154px;padding:16px}#app.route-search .search-discovery__label{font-size:21px}#app.route-search .search-discovery__hint{font-size:11px}#app.route-library .library-tab{height:50px;min-height:50px;padding-inline:14px;font-size:13px}#app.route-library .library-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;height:auto;overflow:visible}#app.route-library .library-tab{width:100%;justify-content:center;padding-inline:6px;white-space:nowrap}#app.route-library .library-controls{flex-direction:column;align-items:stretch;gap:10px}#app.route-library .library-search-wrapper{flex:auto;max-width:none}#app.route-library .library-actions button{width:100%}#app.route-library .library-content>.empty-state{min-height:280px}#app.route-queue .queue-header{align-items:stretch;flex-direction:column;gap:16px}#app.route-queue .queue-header__title-group{width:100%}#app.route-queue .queue-header__badge{position:static;margin:0}#app.route-queue .queue-header__actions,#app.route-queue .btn--clear-completed{width:100%}#app.route-queue .queue-list>.empty-state{min-height:280px}#app.route-settings .settings-header{margin-bottom:22px}#app.route-settings .settings-group{padding:20px 18px}#app.route-settings .settings-group__title{font-size:16px}#app.route-settings .settings-row{align-items:stretch;flex-direction:column;gap:10px}#app.route-settings .settings-select{width:100%}}@keyframes search-spectrum{0%{transform:scaleY(.38)}to{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){#app.route-search .search-hero__spectrum span{animation:none}}#app.route-search .search-view__header{display:flex;flex-direction:column;gap:18px;margin:0 0 32px;padding:0 0 22px;overflow:visible;border-bottom:1px solid var(--home-line);border-radius:0;background:transparent;color:var(--home-ink)}#app.route-search .search-simple-title{margin:0;color:var(--home-ink);font:750 32px/1.1 Archivo,DM Sans,sans-serif;letter-spacing:-.03em}#app.route-search .search-box-wrapper{width:min(100%,680px);max-width:680px}#app.route-search .search-box-input{height:52px;border:1px solid var(--home-line);box-shadow:none}#app.route-search .search-box-input:focus{border-color:var(--home-blue);box-shadow:0 0 0 2px var(--accent-soft)}#app.route-search .chip-filter-bar{margin:0;overflow:visible}#app.route-search .chip{border-color:var(--home-line);color:var(--home-muted)}#app.route-search .chip:hover{border-color:var(--home-ink);color:var(--home-ink)}#app.route-search .chip.is-active{border-color:var(--home-ink);background:var(--home-ink);color:#fff}#app.route-search .quality-select-chip{border-color:var(--home-line);color:var(--home-ink)}#app.route-search .search-start{display:block;min-height:0;max-width:none;padding:0;border:0;background:transparent}#app.route-search .search-start h2{margin:0 0 6px;font-size:22px}#app.route-search .search-start p{margin:0;color:var(--home-muted)}@media(max-width:600px){#app.route-search .search-view__header{margin:0 0 26px;padding:0 0 20px;border-radius:0}#app.route-search .search-simple-title{font-size:28px}#app.route-search .chip-filter-bar{overflow-x:auto}#app.route-search .search-start{min-height:0;padding:0}}#app.route-search .search-box-wrapper{transition:transform .16s ease}#app.route-search .search-box-wrapper:focus-within{transform:translateY(-1px)}#app.route-search .search-box-input{padding-right:50px;border-color:#b9bbca;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}#app.route-search .search-box-input:hover{border-color:#777b99}#app.route-search .chip-filter-bar{align-items:center;gap:14px}#app.route-search .chip-bar__list{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--home-line);border-radius:6px;background:#e8e8ef}#app.route-search .chip{min-height:44px;padding:0 16px;border:0;border-radius:4px;background:transparent;color:var(--home-muted);font-weight:600;transition:background .15s ease,color .15s ease,box-shadow .15s ease}#app.route-search .chip:hover{background:#fff}#app.route-search .chip.is-active{background:#fff;color:var(--home-ink);box-shadow:0 1px 4px #10122b1f}#app.route-search .chip-select-wrapper{display:inline-flex;gap:10px;align-items:center}#app.route-search .search-quality-label{color:var(--home-muted);font-size:12px;font-weight:600;white-space:nowrap}#app.route-search .quality-select-chip{min-width:104px;min-height:44px;margin:0;padding-left:14px;border:1px solid var(--home-line);border-radius:4px;background-color:#fff;color:var(--home-ink);font-size:13px;font-weight:700}#app.route-search .quality-select-chip:hover{border-color:var(--home-blue);background-color:#fff}#app.route-search .search-start{max-width:680px;padding:8px 0;border-top:0}#app.route-search .search-start h2{font-size:19px}#app:is(.route-search,.route-library,.route-queue,.route-settings) .btn--primary{transition:background .15s ease,transform .15s ease}#app:is(.route-search,.route-library,.route-queue,.route-settings) .btn--primary:hover{background:#252947;transform:translateY(-1px)}#app.route-library .library-content>.empty-state,#app.route-queue .queue-list>.empty-state{border-top:3px solid var(--home-blue)}#app.route-library .library-content>.empty-state .empty-state__icon,#app.route-queue .queue-list>.empty-state .empty-state__icon{width:48px;height:48px;border-radius:12px;background:var(--accent-soft)}#app.route-settings .settings-select{min-height:48px;border-color:#b9bbca;background-color:#fff;transition:border-color .15s ease,box-shadow .15s ease}#app.route-settings .settings-select:hover{border-color:var(--home-blue)}#app.route-settings .settings-select:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}@media(max-width:600px){#app.route-search .chip-filter-bar{gap:10px}#app.route-search .chip-bar__list{flex-wrap:nowrap}#app.route-search .chip{padding-inline:11px;font-size:12px}#app.route-search .search-quality-label{display:none}}#app.route-search .view-search{padding:28px 32px 60px}#app.route-search .search-view__header{display:flex;flex-direction:column;gap:16px;margin:0 0 28px;padding:0 0 22px;overflow:visible;border:0;border-bottom:1px solid var(--home-line);border-radius:0;background:transparent;color:var(--home-ink)}#app.route-search .search-simple-title{margin:0;font-size:30px;line-height:1.1;letter-spacing:-.03em}#app.route-search .search-box-wrapper{max-width:680px}#app.route-search .search-box-input{height:52px;border:1px solid var(--home-line);border-radius:6px;box-shadow:none}#app.route-search .chip-filter-bar{gap:10px;margin:0}#app.route-search .chip-bar__list{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:6px}#app.route-search .chip{min-height:44px;border:0;border-radius:4px;background:transparent;color:var(--home-muted)}#app.route-search .chip.is-active{background:var(--home-ink);color:#fff}#app.route-search .chip-select-wrapper{gap:10px}#app.route-search .search-quality-label{color:var(--text-muted);font-size:12px}#app.route-search .quality-select-chip{min-height:44px;border:1px solid var(--home-line);border-radius:4px;background-color:#fff;color:var(--home-ink)}#app.route-search .chip-bar__list{background:#e5e6ef;border-color:#d4d7e6;box-shadow:inset 0 1px 2px #1417360d}#app.route-search .chip{position:relative;padding:0 15px;font-weight:700;transition:background .16s ease,color .16s ease,box-shadow .16s ease}#app.route-search .chip:hover:not(.is-active){background:#f7f7fc;color:var(--home-ink)}#app.route-search .chip.is-active{background:#11132d;box-shadow:0 2px 5px #11132d35}#app.route-search .chip:focus-visible,#app.route-search .wave-quality-trigger:focus-visible,#app.route-search .wave-quality-menu button:focus-visible{outline:2px solid var(--home-blue);outline-offset:2px}#app.route-search .chip-select-wrapper{position:relative}#app.route-search .wave-quality-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:9px;min-width:122px;padding:0 13px;font:inherit;font-size:12px;font-weight:800;letter-spacing:.025em;cursor:pointer;box-shadow:0 1px 2px #1417360d}#app.route-search .wave-quality-trigger:hover,#app.route-search .wave-quality-trigger[aria-expanded=true]{border-color:var(--home-blue);background:#f8f9ff}#app.route-search .wave-quality-trigger__mark{display:grid;place-items:center;width:23px;height:23px;border:1px solid #b8c4ff;border-radius:3px;background:#eef1ff;color:var(--home-blue);font-size:16px;line-height:1}#app.route-search .wave-quality-trigger__chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}#app.route-search .wave-quality-trigger[aria-expanded=true] .wave-quality-trigger__chevron{transform:translateY(2px) rotate(225deg)}#app.route-search .wave-quality-menu{position:absolute;z-index:50;top:calc(100% + 7px);right:0;width:210px;padding:5px;border:1px solid #c9cde0;border-radius:7px;background:#fff;box-shadow:0 14px 32px #11132d25}#app.route-search .wave-quality-menu[hidden]{display:none}#app.route-search .wave-quality-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:var(--home-ink);text-align:left;cursor:pointer}#app.route-search .wave-quality-menu button:hover,#app.route-search .wave-quality-menu button[aria-selected=true]{background:#eef1ff}#app.route-search .wave-quality-menu button[aria-selected=true] .wave-quality-menu__name{color:var(--home-blue)}#app.route-search .wave-quality-menu__name{font-size:12px;font-weight:800}#app.route-search .wave-quality-menu__detail{color:var(--home-muted);font-size:11px}#app.route-search .search-view__header{gap:14px}#app.route-search .view-search:is(.has-search-query,.is-search-engaged) .wave-page-intro{display:none}#app.route-search .view-search.is-search-engaged .chip-filter-bar{order:-1}#app.route-search .search-cancel{display:none}#app.route-search .search-box-wrapper{max-width:760px}#app.route-search .search-box-input{height:52px;padding-left:48px;border:1px solid #c5c6d2;border-radius:26px;background:#e2e3e9}#app.route-search .search-box-input:focus{background:#fff;border-color:var(--home-blue)}#app.route-search .chip-filter-bar{display:block}#app.route-search .view-search:not(.is-search-engaged) .chip-filter-bar{display:none}#app.route-search .view-search.is-search-engaged .chip-filter-bar{animation:wave-search-chips-in .16s ease-out both}@keyframes wave-search-chips-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}#app.route-search .chip-bar__list{display:flex;width:100%;gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow-x:auto;scrollbar-width:none}#app.route-search .chip-bar__list::-webkit-scrollbar{display:none}#app.route-search .chip{flex:0 0 auto;min-height:44px;padding:0 16px;border:1px solid #d5d7e3;border-radius:24px;background:#e2e3e9;color:var(--home-ink);box-shadow:none;font-size:12px}#app.route-search .chip:hover:not(.is-active){background:#d4d8e9}#app.route-search .chip.is-active{border-color:#11132d;border-radius:24px;background:#11132d;color:#fff;box-shadow:none}#app.route-search .chip-select-wrapper{display:none}#app.route-search .track-card .badge--quality{padding:3px 5px;border:1px solid #2a3bff;border-radius:2px;background:transparent;color:#2a3bff;font:12px/1 Pixelify Sans,monospace;letter-spacing:0}#app.route-search .search-start{display:block;min-height:0;max-width:680px;padding:10px 0;border:0;background:transparent}#app.route-search .search-start h2{margin:0 0 6px;font-size:20px}#app.route-search .search-start p{margin:0;color:var(--text-muted);font-size:14px}#app.route-search .view-search.is-search-engaged .search-start{display:none}@media(min-width:601px){#app.route-search .search-view__header{margin-bottom:0}#app.route-search .search-play-history{margin-top:8px}#app.route-search .search-play-history__header{padding-top:0;border-top:0}}@media(max-width:600px){#app.route-search .view-search{padding:12px 16px 110px}#app.route-search .view-search.is-search-engaged .wave-page-intro{display:none}#app.route-search .wave-page-intro{margin:0 0 18px}#app.route-search .wave-page-intro h1{font-size:26px}#app.route-search .search-view__header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;margin:0;padding:0 0 14px;border:0}#app.route-search .search-box-wrapper{grid-column:1 / -1;width:100%;max-width:none}#app.route-search .search-box-input{height:44px;padding-left:42px;border-radius:22px;font-size:14px}#app.route-search .search-box-icon{left:14px}#app.route-search .view-search.is-search-engaged .search-box-wrapper{grid-column:1;min-width:0}#app.route-search .view-search.is-search-engaged .chip-filter-bar{grid-row:1;grid-column:1 / -1}#app.route-search .view-search.is-search-engaged .search-box-wrapper,#app.route-search .view-search.is-search-engaged .search-cancel{grid-row:2}#app.route-search .view-search.is-search-engaged .search-cancel{display:inline-flex;grid-column:2;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:0 7px;border:0;background:none;color:var(--home-ink);font:inherit;font-size:13px;font-weight:700}#app.route-search .search-view__header .chip-filter-bar{grid-column:1 / -1}#app.route-search .view-search:not(.is-search-engaged) .results-container{display:none}#app.route-search .search-start{display:none}#app.route-search .search-simple-title{font-size:27px}#app.route-search .chip-filter-bar{flex-wrap:wrap;overflow:visible}#app.route-search .chip-filter-bar{margin-right:-16px}#app.route-search .chip-bar__list{display:flex;gap:7px;padding-right:16px}#app.route-search .chip{min-width:0;padding:0 18px}#app.route-search .search-quality-label{display:none}}@media(max-width:600px){#app #mobile-tab-bar{--tab-shift: 0%;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));width:auto;height:64px;padding:5px;border:1px solid rgba(255,255,255,.72);border-radius:25px;background:#f1f2fabd;box-shadow:0 12px 32px #10122b2e,inset 0 1px #ffffffc7;backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);z-index:110}#app #mobile-tab-bar:has(.tab-item[data-route=search].active){--tab-shift: 100%}#app #mobile-tab-bar:has(.tab-item[data-route=library].active){--tab-shift: 200%}#app #mobile-tab-bar:has(.tab-item[data-route=queue].active){--tab-shift: 300%}#app #mobile-tab-bar:has(.tab-item[data-route=settings].active){--tab-shift: 400%}#app #mobile-tab-bar:before{position:absolute;top:5px;left:5px;width:calc((100% - 10px)/5);height:52px;border-radius:19px;background:#ffffffe0;box-shadow:0 2px 10px #29399924,inset 0 0 0 1px #ffffffd1;content:"";transform:translate(var(--tab-shift));transition:transform .42s cubic-bezier(.22,1,.36,1);pointer-events:none}#app #mobile-tab-bar .tab-item{z-index:1;flex:1 1 0;min-width:44px;min-height:52px;height:52px;padding:4px 1px;gap:2px;border-radius:19px;color:#454963;font-size:10px;font-weight:650;transition:background .18s ease,color .18s ease,transform .18s ease}#app #mobile-tab-bar .tab-item.active,#app #mobile-tab-bar .tab-item[aria-current=page]{color:#233cff;background:transparent;box-shadow:none}#app #mobile-tab-bar .tab-item:active{transform:scale(.94)}#app #mobile-tab-bar .tab-item:focus-visible{outline:2px solid #2a3bff;outline-offset:2px}#app #mobile-tab-bar .tab-item svg{width:19px;height:19px}#app #mobile-tab-bar .account-nav__avatar{width:20px;height:20px}#app #player-bar{left:12px;right:12px;width:auto;max-width:calc(100vw - 24px);box-sizing:border-box;bottom:calc(86px + env(safe-area-inset-bottom,0px));height:58px;border-radius:14px;overflow:hidden}#app.route-home #player-bar{left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom,0px));height:58px;padding:6px 9px;border-radius:14px}#app.route-home #player-bar .player__title{color:#f3f3fa}#app.route-home #player-bar .player__artist{color:#c3c6dd}#app.route-home #mobile-tab-bar{background:#f1f2fabd}#app #player-bar .player__left .track-more{display:none}#app #player-bar .player__info{min-width:0}#wave-root #app #player-bar .player__mobile-actions .player__btn--play{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;border:0;border-radius:10px;background:transparent;color:#10152d;box-shadow:none}#wave-root #app #player-bar .player__mobile-actions .player__btn--play:before{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:9px;background:#edf1fb;content:""}#wave-root #app #player-bar .player__mobile-actions .player__btn--play svg{position:relative;width:17px;height:17px}#app.route-home .track-card--home-reference .track-card__play-btn{inset:0 auto auto 0;width:50px;height:50px;min-width:50px;min-height:50px;border-radius:3px;background:transparent;color:#fff;box-shadow:none;transform:none}#app.route-home .track-card--home-reference .track-card__play-btn:before{position:absolute;width:29px;height:29px;border-radius:50%;background:#0a0d1fd1;content:""}#app.route-home .track-card--home-reference .track-card__play-btn svg{position:relative;width:16px;height:16px;margin-left:1px}#app.route-home .track-card--home-reference .track-card__play-btn:hover,#app.route-home .track-card--home-reference .track-card__play-btn:active{background:transparent;transform:none}#app.route-home .track-card--home-reference .track-card__equalizer{display:none}#app #view>.view{padding-bottom:calc(102px + env(safe-area-inset-bottom,0px))}#app.has-player #view>.view{padding-bottom:calc(172px + env(safe-area-inset-bottom,0px))}#app.route-search:has(.view-search.is-search-engaged) #mobile-tab-bar{display:none}#app.route-search:has(.view-search.is-search-engaged) #player-bar{bottom:calc(18px + env(safe-area-inset-bottom,0px))}}@media(max-width:600px)and (prefers-reduced-motion:reduce){#app #mobile-tab-bar:before{transition:none}}@media(max-width:600px)and (prefers-reduced-transparency:reduce){#app #mobile-tab-bar{background:#f0f1f8}}@media(min-width:900px){#app.sidebar-collapsed #sidebar .sidebar__label{display:none}#app.sidebar-collapsed #sidebar .sidebar__item{overflow:hidden}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #view{min-width:0}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #view>.view{width:100%;max-width:none;min-width:0;padding-left:clamp(28px,3vw,48px);padding-right:clamp(28px,3vw,48px)}#app.route-home .hero-banner--home-reference .hero-banner__title{font-size:clamp(38px,4.2vw,64px);line-height:1.04}#app.route-home .home-section-header__actions{flex:0 0 auto}#app.route-library .library-content>.empty-state,#app.route-queue .queue-list>.empty-state{width:100%;max-width:none;min-height:220px;margin:0;padding:32px 40px;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:start;align-content:center;text-align:left}#app.route-library .library-content>.empty-state .empty-state__desc,#app.route-queue .queue-list>.empty-state .empty-state__desc{max-width:520px}#app.route-search .search-view__header{max-width:none}#app.route-search .search-box-wrapper{width:min(100%,760px)}}#app.route-library .library-history-list,#app.route-home .recent-tracks{display:grid;gap:0;border-top:1px solid var(--border)}#app.route-library .library-history-list .track-card,#app.route-home .recent-tracks .track-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:72px;padding:9px 6px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}#app.route-library .library-history-list .track-card:hover,#app.route-library .library-history-list .track-card.is-playing,#app.route-home .recent-tracks .track-card:hover,#app.route-home .recent-tracks .track-card.is-playing{background:var(--bg-card-hover);transform:none}#app.route-library .library-history-list .track-card__cover-wrap,#app.route-library .library-history-list .track-card__cover,#app.route-library .library-history-list .track-card__cover-placeholder,#app.route-home .recent-tracks .track-card__cover-wrap,#app.route-home .recent-tracks .track-card__cover,#app.route-home .recent-tracks .track-card__cover-placeholder{width:52px;height:52px;min-width:52px;min-height:52px;border-radius:5px}#app.route-library .library-history-list .track-card__play-btn,#app.route-home .recent-tracks .track-card__play-btn{top:4px;right:4px;bottom:4px;left:4px;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:4px;background:#070b146b;color:#fff;opacity:1}#app.route-library .library-history-list .track-card__equalizer,#app.route-home .recent-tracks .track-card__equalizer{display:none}#app.route-library .library-history-list .track-card__info,#app.route-home .recent-tracks .track-card__info{min-width:0}#app.route-library .library-history-list .track-card__title-row,#app.route-home .recent-tracks .track-card__title-row{justify-content:flex-start}#app.route-library .library-history-list .track-card__title,#app.route-home .recent-tracks .track-card__title{min-width:0}#app.route-library .library-history-list .track-card__sub-row,#app.route-home .recent-tracks .track-card__sub-row{overflow:hidden}#app.route-library .library-history-list .track-card__actions,#app.route-home .recent-tracks .track-card__actions{position:static;display:flex;align-items:center;justify-content:flex-end;width:auto;height:auto;margin:0;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}@media(max-width:600px){#app.route-library .wave-page-intro,#app.route-library .library-tabs{margin-bottom:16px}#app.route-library .library-tab{height:44px;min-height:44px}#app.route-library .library-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-bottom:16px}#app.route-library .library-search-wrapper{min-width:0;width:auto}#app.route-library .library-actions{min-width:0}#app.route-library .library-actions button{width:auto;min-height:48px;padding-inline:12px;font-size:12px;white-space:nowrap}#app.route-library .library-history-list .track-card,#app.route-home .recent-tracks .track-card{grid-template-columns:48px minmax(0,1fr) auto;gap:8px;min-height:64px;padding:7px 0}#app.route-library .library-history-list .track-card__cover-wrap,#app.route-library .library-history-list .track-card__cover,#app.route-library .library-history-list .track-card__cover-placeholder,#app.route-home .recent-tracks .track-card__cover-wrap,#app.route-home .recent-tracks .track-card__cover,#app.route-home .recent-tracks .track-card__cover-placeholder{width:48px;height:48px;min-width:48px;min-height:48px}#app.route-library .library-history-list .track-card__play-btn,#app.route-home .recent-tracks .track-card__play-btn{top:2px;right:2px;bottom:2px;left:2px}#app.route-library .library-history-list .track-card__album,#app.route-library .library-history-list .track-card__sep,#app.route-library .library-history-list .track-card__duration,#app.route-home .recent-tracks .track-card__album,#app.route-home .recent-tracks .track-card__sep,#app.route-home .recent-tracks .track-card__duration{display:none}}@media(min-width:900px)and (max-width:1199px){#app.route-home .hero-banner--home-reference .hero-banner__spectrum{display:none}#app.route-home .home-track-heading,#app.route-home .track-card--home-reference{grid-template-columns:56px minmax(0,1fr) 64px 54px 96px;column-gap:12px}#app.route-home .home-track-heading span:nth-child(3),#app.route-home .track-card--home-reference .track-card__home-album{display:none}#app.route-home .track-card--home-reference .track-card__home-quality{grid-column:3}#app.route-home .track-card--home-reference .track-card__home-duration{grid-column:4}#app.route-home .track-card--home-reference .track-card__actions{grid-column:5}}@media(max-width:600px){#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist){--header-h: 56px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:56px;min-height:56px;padding:0 22px;border:0;background:#2a3bff}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__brand{position:relative;display:flex;flex:0 0 60px;align-items:center;width:60px;height:44px;min-height:44px;transform:translateY(-6px) skew(-5deg) scale(1.12);transform-origin:left center}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__brand>.wave-wordmark{visibility:hidden;width:60px}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__logo-letter{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;animation:wave-letter-flicker 2.8s ease-in-out infinite}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__logo-letter img{display:block;width:60px;max-height:44px;filter:brightness(0) invert(1)}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__logo-letter:nth-of-type(1){clip-path:inset(0 63.8% 0 0);animation-delay:0ms}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__logo-letter:nth-of-type(2){clip-path:inset(0 42.6% 0 36.2%);animation-delay:.17s}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__logo-letter:nth-of-type(3){clip-path:inset(0 21.4% 0 57.4%);animation-delay:.34s}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__logo-letter:nth-of-type(4){clip-path:inset(0 0 0 78.6%);animation-delay:.51s}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__spectrum{position:absolute;right:12px;bottom:0;display:flex;align-items:flex-end;gap:3px;width:157px;height:34px;overflow:hidden}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__spectrum span{display:block;flex:0 0 5px;width:5px;height:var(--spectrum-height);background:repeating-linear-gradient(to top,#b9c1ff 0 5px,transparent 5px 7px);animation:header-spectrum var(--spectrum-duration) ease-in-out var(--spectrum-delay) infinite alternate;transform-origin:bottom}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header .header__spectrum span:after{display:block;width:5px;height:5px;background:#ffd84a;content:""}#app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header :is(.header__context,.header__search,.header__search-toggle){display:none}}@media(max-width:600px)and (prefers-reduced-motion:reduce){#app #header .header__spectrum span,#app #header .header__logo-letter{animation:none;opacity:1}}@media(max-width:600px){#wave-root #app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),textarea,select){font-size:16px}}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings){color-scheme:dark;--home-paper: #070b14;--home-ink: #eef4ff;--home-muted: #aab7cb;--home-line: #2b3a53;--home-blue: #3b82f6;--bg-page: #070b14;--bg-card: #111827;--bg-card-hover: #18243a;--bg-input: #121e31;--bg-player: #0a0f1d;--border: #2b3a53;--border-strong: #405572;--text: #eef4ff;--text-muted: #aab7cb;--text-faint: #8595af;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-soft: rgba(59, 130, 246, .18);background:var(--bg-page);color:var(--text)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) :is(#view,#header){background:var(--bg-page)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) .view :is(h1,h2,h3){color:var(--text)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) :is(.settings-group,.form-group-card,.queue-item,.library-card,.playlist-card,.empty-state){border-color:var(--border);background:var(--bg-card);color:var(--text)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){border-color:var(--border-strong);background-color:var(--bg-input);color:var(--text)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) :is(input,textarea)::placeholder{color:var(--text-faint)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) :is(.btn--primary,.btn-primary,.btn--play-all){border-color:var(--accent);background:var(--accent);color:#fff}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) :is(.btn--reroll,.btn--clear-completed,.search-play-history__clear){border-color:var(--border-strong);background:var(--bg-card);color:var(--text)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #player-bar{border-color:var(--border);background:#0a0f1d;color:var(--text)}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #player-bar .player__btn--play{background:var(--accent);color:#fff}@media(min-width:900px){:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar{background:#172ebd;color:#fff}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__item{color:#eef4ff}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings) #sidebar .sidebar__item.active{background:#eef4ff;color:#101a39}}:root[data-theme=dark] #app.route-home .hero-banner--home-reference{background:#10152d;color:#f1f0f4}:root[data-theme=dark] #app.route-home .hero-banner--home-reference :is(.hero-banner__artist,.hero-banner__title,.hero-banner__badge){color:#f1f0f4}:root[data-theme=dark] #app.route-home .hero-banner__main-play{background:#f1f0f4;color:#10122b}:root[data-theme=dark] #app.route-home .hero-banner--home-reference :is(.hero-banner__fav-btn,.track-more){color:#f1f0f4}:root[data-theme=dark] #app.route-home .track-card--home-reference:hover{background:#172338}:root[data-theme=dark] #app.route-home .track-card--home-reference.is-playing{background:#1b2a53}:root[data-theme=dark] #app.route-home .track-card--home-reference .track-card__title{color:var(--text)}:root[data-theme=dark] #app.route-home .track-card--home-reference :is(.track-card__home-quality,.track-card__mobile-quality),:root[data-theme=dark] #app.route-search .track-card .badge--quality{border-color:#8298ff;color:#b9c8ff}:root[data-theme=dark] #app.route-home .home-section-header__title{color:var(--text)}:root[data-theme=dark] #app.route-search :is(.search-box-input,.quality-select-chip,.wave-quality-trigger){border-color:var(--border-strong);background:var(--bg-input);color:var(--text)}:root[data-theme=dark] #app.route-search :is(.chip-bar__list,.chip){border-color:var(--border);background:#1a2639;color:var(--text);box-shadow:none}:root[data-theme=dark] #app.route-search .chip-bar__list{border:0;background:transparent;box-shadow:none}:root[data-theme=dark] #app.route-search .chip.is-active{border-color:var(--accent);background:var(--accent);color:#fff}:root[data-theme=dark] #app.route-search .chip:hover:not(.is-active){background:#26344c;color:#fff}:root[data-theme=dark] #app.route-search .wave-quality-menu{border-color:var(--border);background:#152239;color:var(--text)}:root[data-theme=dark] #app.route-search .wave-quality-menu button{color:var(--text)}:root[data-theme=dark] #app.route-search .wave-quality-menu button:hover,:root[data-theme=dark] #app.route-search .wave-quality-menu button[aria-selected=true]{background:#253758}:root[data-theme=dark] #app.route-search .search-discovery__card{border-color:var(--border)}:root[data-theme=dark] #app.route-search :is(.results-grid,.search-play-history__list) .track-card{border-color:var(--border);background:var(--bg-card);color:var(--text)}:root[data-theme=dark] #app.route-search :is(.results-grid,.search-play-history__list) .track-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}:root[data-theme=dark] #app.route-search :is(.results-grid,.search-play-history__list) .track-card.is-playing{background:#1b2a53}:root[data-theme=dark] #app.route-search .search-play-history__remove{color:var(--text-muted)}:root[data-theme=dark] #app.route-search .search-play-history__remove:hover{background:var(--accent-soft);color:var(--text)}:root[data-theme=dark] #app.route-settings .account-profile{border-color:#31446e;background:#111a35;color:var(--text)}:root[data-theme=dark] #app.route-settings .account-profile :is(h2,h3,strong,.settings-row__label){color:var(--text)}:root[data-theme=dark] #app.route-settings .account-profile :is(p,span,.settings-row__desc){color:#b9c7de}:root[data-theme=dark] #app.route-settings .account-profile :is(input,.account-profile__readonly){border-color:#405572;background:#0c1428;color:var(--text)}:root[data-theme=dark] #app.route-settings .account-profile :is(.account-device,.account-admin__row){border-color:#31446e;background:#0c1428}:root[data-theme=dark] #app.route-settings .settings-select{border-color:var(--border-strong);background:var(--bg-input);color:var(--text)}:root[data-theme=dark] #app.route-settings .settings-row__label{color:var(--text)}:root[data-theme=dark] #app.route-settings .settings-row__desc{color:var(--text-muted)}@media(max-width:600px){:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #header{background:#2a3bff}:root[data-theme=dark] #app:is(.route-home,.route-search,.route-library,.route-queue,.route-settings,.route-album,.route-artist,.route-playlist) #mobile-tab-bar{border-color:#8aa6d759;background:#111b30d1;box-shadow:0 12px 32px #00000057,inset 0 1px #dce8ff1f}:root[data-theme=dark] #app #mobile-tab-bar:before{background:#4f6bad6b;box-shadow:inset 0 0 0 1px #abc4ff3d}:root[data-theme=dark] #app #mobile-tab-bar .tab-item{color:#b6c5df}:root[data-theme=dark] #app #mobile-tab-bar .tab-item.active,:root[data-theme=dark] #app #mobile-tab-bar .tab-item[aria-current=page]{color:#fff}}:root[data-theme=dark] #app:is(.route-album,.route-artist,.route-playlist) .detail-header{border-color:#2b3a53;background:linear-gradient(180deg,#17233a,#101827)}:root[data-theme=light] #app:is(.route-album,.route-artist,.route-playlist){--bg-page: #f1f0f4;--bg-card: #fff;--bg-card-hover: #e8e7ee;--bg-input: #fff;--border: #d4d3de;--text: #10122b;--text-muted: #4a4d66;--accent: #2a3bff;color:var(--text);background:var(--bg-page)}:root[data-theme=light] #app:is(.route-album,.route-artist,.route-playlist) :is(#view,#header){background:var(--bg-page)}:root[data-theme=light] #app:is(.route-album,.route-artist,.route-playlist) .detail-header{border-color:var(--border);background:linear-gradient(180deg,#fff,#e9eaf2);color:var(--text)}:root[data-theme=light] #app:is(.route-album,.route-artist,.route-playlist) :is(.detail-title,.detail-header__title){color:var(--text)}@media(max-width:600px){:root[data-theme=light] #app:is(.route-album,.route-artist,.route-playlist) #header{background:#2a3bff}}
