:root{--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--font-serif: "Instrument Serif", Georgia, serif;--font-sans: "DM Sans", system-ui, sans-serif;--max-width: 740px;--max-width-wide: 1180px;--max-width-content: 660px;--sidebar-w: clamp(330px, 24vw, 380px);--header-h: 60px;--bottom-nav-h: 56px;--space-xs: .35rem;--space-sm: .65rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--spotify: #1db954;--youtube: #ff4444;--apple: #fc3c44;--cover-rgb-a: 44, 114, 158;--cover-rgb-b: 24, 68, 108;--cover-rgb-c: 78, 152, 184;--accent-rgb: var(--cover-rgb-a)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root,[data-theme=dark]{color-scheme:dark;--bg: #07090e;--bg-elevated: rgba(24, 28, 38, .56);--bg-card: rgba(14, 17, 25, .58);--bg-hover: rgba(34, 40, 56, .72);--border: rgba(255, 255, 255, .13);--border-subtle: rgba(255, 255, 255, .075);--text: #f5f5f7;--text-muted: #a1a8b8;--text-faint: #636b7e;--text-on-accent: #000000;--accent: #ffffff;--accent-dim: #e5e5ea;--accent-glow: rgba(var(--cover-rgb-c), .22);--danger: #ff453a;--purple: #8e8e93;--purple-muted: #636366;--header-bg: rgba(8, 10, 16, .58);--nav-mobile-bg: rgba(10, 12, 18, .92);--bottom-nav-bg: rgba(14, 17, 25, .74);--bottom-nav-border: rgba(255, 255, 255, .14);--bottom-nav-inactive: #8e96a8;--filters-bar-bg: rgba(18, 22, 32, .65);--gradient-body-a: rgba(var(--cover-rgb-a), .28);--gradient-body-b: rgba(var(--cover-rgb-b), .22);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 12px 32px rgba(0, 0, 0, .5);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .65);--shadow-cover: 0 16px 40px rgba(0, 0, 0, .6);--shadow-cover-lg: 0 24px 56px rgba(0, 0, 0, .7);--shadow-focus: 0 0 0 3px rgba(255, 255, 255, .25), 0 8px 24px rgba(0, 0, 0, .4);--shadow-card: 0 12px 32px -8px rgba(0, 0, 0, .45);--shadow-card-hover: 0 20px 48px -10px rgba(0, 0, 0, .65);--danger-bg: rgba(255, 69, 58, .15);--danger-border: rgba(255, 69, 58, .35);--tag-mood-bg: rgba(255, 255, 255, .08);--tag-mood-border: rgba(255, 255, 255, .14);--tag-genre-bg: rgba(255, 255, 255, .06);--tag-genre-color: var(--text-muted);--tag-genre-border: rgba(255, 255, 255, .1);--tag-year-bg: rgba(255, 255, 255, .06);--tag-year-color: var(--text-muted);--tag-year-border: rgba(255, 255, 255, .1);--tag-nation-bg: rgba(255, 255, 255, .06);--tag-nation-color: var(--text-muted);--tag-nation-border: rgba(255, 255, 255, .1);--filter-chip-border: rgba(255, 255, 255, .14);--filter-chip-hover-bg: rgba(255, 255, 255, .12);--panel-highlight-bg: rgba(22, 25, 38, .65);--panel-highlight-border: rgba(255, 255, 255, .14);--fieldset-highlight-border: rgba(255, 255, 255, .14);--fieldset-highlight-bg: rgba(28, 32, 46, .55);--discography-bg: rgba(20, 22, 34, .6);--discography-border: rgba(255, 255, 255, .12);--discovery-link-hover-border: var(--text-muted);--discovery-link-hover-bg: rgba(255, 255, 255, .12);--btn-active-bg: rgba(255, 255, 255, .14);--btn-active-border: rgba(255, 255, 255, .22);--lyrics-active-bg: rgba(255, 255, 255, .12);--ai-teaser-bg: rgba(22, 25, 38, .65);--insight-panel-bg: rgba(20, 22, 34, .65);--insight-panel-border: rgba(255, 255, 255, .14);--ai-badge-bg: rgba(255, 255, 255, .08);--ai-badge-border: rgba(255, 255, 255, .14);--ai-context-bg: rgba(22, 25, 38, .6);--ai-context-border: rgba(255, 255, 255, .14);--metric-energy-from: #8e8e93;--metric-energy-to: #aeaea3;--metric-valence-from: #636366;--metric-valence-to: #8e8e93;--glass-bg: rgba(14, 17, 25, .62);--glass-bg-hover: rgba(24, 29, 42, .76);--glass-bg-active: rgba(34, 41, 58, .88);--glass-border: rgba(255, 255, 255, .12);--glass-border-subtle: rgba(255, 255, 255, .07);--glass-rim: inset 0 1px 0 rgba(255, 255, 255, .16);--glass-shadow: 0 16px 40px -10px rgba(0, 0, 0, .58), 0 4px 16px -2px rgba(0, 0, 0, .36);--glass-shadow-hover: 0 24px 56px -12px rgba(0, 0, 0, .72), 0 8px 24px -2px rgba(0, 0, 0, .45);--glass-blur: blur(26px) saturate(175%);--glass-btn-bg: rgba(255, 255, 255, .08);--glass-btn-bg-hover: rgba(255, 255, 255, .15);--glass-btn-border: rgba(255, 255, 255, .14);--glass-btn-border-hover: rgba(255, 255, 255, .28);--glass-btn-shadow: 0 4px 16px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .22);--modal-bg: rgba(20, 22, 32, .96);--modal-surface: rgba(255, 255, 255, .055);--modal-surface-hover: rgba(255, 255, 255, .1);--modal-border: rgba(255, 255, 255, .14);--modal-shadow: 0 28px 72px rgba(0, 0, 0, .72), inset 0 1px 0 rgba(255, 255, 255, .14);--modal-backdrop-bg: rgba(4, 5, 10, .76)}[data-theme=light]{color-scheme:light;--bg: #f3f4f7;--bg-elevated: rgba(255, 255, 255, .55);--bg-card: rgba(255, 255, 255, .62);--bg-hover: rgba(255, 255, 255, .84);--border: rgba(15, 23, 42, .09);--border-subtle: rgba(15, 23, 42, .06);--text: #14161b;--text-muted: #5c6270;--text-faint: #8c93a3;--text-on-accent: #ffffff;--accent: #0f1015;--accent-dim: #2d2f3a;--accent-glow: rgba(var(--cover-rgb-a), .16);--danger: #ff3b30;--purple: #8e8e93;--purple-muted: #aeaea3;--header-bg: rgba(243, 244, 247, .65);--nav-mobile-bg: rgba(245, 247, 250, .94);--bottom-nav-bg: rgba(255, 255, 255, .74);--bottom-nav-border: rgba(15, 23, 42, .09);--bottom-nav-inactive: #686e7c;--filters-bar-bg: rgba(255, 255, 255, .62);--gradient-body-a: rgba(var(--cover-rgb-a), .22);--gradient-body-b: rgba(var(--cover-rgb-c), .18);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .04);--shadow-md: 0 10px 28px rgba(15, 23, 42, .06);--shadow-lg: 0 18px 44px rgba(15, 23, 42, .09);--shadow-cover: 0 12px 32px rgba(15, 23, 42, .1);--shadow-cover-lg: 0 20px 48px rgba(15, 23, 42, .14);--shadow-focus: 0 0 0 3px rgba(15, 16, 21, .15), 0 8px 24px rgba(15, 23, 42, .06);--shadow-card: 0 14px 34px -10px rgba(15, 23, 42, .07);--shadow-card-hover: 0 22px 46px -12px rgba(15, 23, 42, .12);--glass-bg: rgba(255, 255, 255, .82);--glass-bg-hover: rgba(255, 255, 255, .95);--glass-bg-active: #ffffff;--glass-border: rgba(0, 0, 0, .08);--glass-border-subtle: rgba(0, 0, 0, .05);--glass-rim: inset 0 1px 0 #ffffff;--glass-shadow: 0 12px 36px -10px rgba(15, 23, 42, .08), 0 2px 8px -2px rgba(15, 23, 42, .04);--glass-shadow-hover: 0 18px 44px -10px rgba(15, 23, 42, .12), 0 6px 16px -2px rgba(15, 23, 42, .08);--glass-blur: blur(24px) saturate(190%);--glass-btn-bg: rgba(255, 255, 255, .75);--glass-btn-bg-hover: rgba(255, 255, 255, .95);--glass-btn-border: rgba(0, 0, 0, .09);--glass-btn-border-hover: rgba(0, 0, 0, .18);--glass-btn-shadow: 0 2px 8px rgba(0, 0, 0, .04), inset 0 1px 0 #ffffff;--modal-bg: rgba(255, 255, 255, .97);--modal-surface: rgba(15, 23, 42, .04);--modal-surface-hover: rgba(15, 23, 42, .075);--modal-border: rgba(15, 23, 42, .1);--modal-shadow: 0 24px 64px rgba(15, 23, 42, .2), 0 4px 16px rgba(15, 23, 42, .08), inset 0 1px 0 #ffffff;--modal-backdrop-bg: rgba(15, 18, 28, .5);--danger-bg: rgba(255, 59, 48, .08);--danger-border: rgba(255, 59, 48, .22);--tag-mood-bg: rgba(255, 255, 255, .5);--tag-mood-border: rgba(255, 255, 255, .75);--tag-genre-bg: rgba(255, 255, 255, .4);--tag-genre-color: var(--text-muted);--tag-genre-border: rgba(255, 255, 255, .6);--tag-year-bg: rgba(255, 255, 255, .4);--tag-year-color: var(--text-muted);--tag-year-border: rgba(255, 255, 255, .6);--tag-nation-bg: rgba(255, 255, 255, .4);--tag-nation-color: var(--text-muted);--tag-nation-border: rgba(255, 255, 255, .6);--filter-chip-border: rgba(255, 255, 255, .75);--filter-chip-hover-bg: rgba(255, 255, 255, .7);--panel-highlight-bg: rgba(255, 255, 255, .55);--panel-highlight-border: rgba(255, 255, 255, .8);--fieldset-highlight-border: rgba(255, 255, 255, .75);--fieldset-highlight-bg: rgba(255, 255, 255, .45);--discography-bg: rgba(255, 255, 255, .5);--discography-border: rgba(255, 255, 255, .75);--discovery-link-hover-border: var(--text-muted);--discovery-link-hover-bg: rgba(255, 255, 255, .7);--btn-active-bg: rgba(255, 255, 255, .75);--btn-active-border: rgba(255, 255, 255, .9);--lyrics-active-bg: rgba(255, 255, 255, .65);--ai-teaser-bg: rgba(255, 255, 255, .55);--insight-panel-bg: rgba(255, 255, 255, .55);--insight-panel-border: rgba(255, 255, 255, .8);--ai-badge-bg: rgba(255, 255, 255, .5);--ai-badge-border: rgba(255, 255, 255, .75);--ai-context-bg: rgba(255, 255, 255, .5);--ai-context-border: rgba(255, 255, 255, .75);--metric-energy-from: #8e8e93;--metric-energy-to: #aeaea3;--metric-valence-from: #636366;--metric-valence-to: #8e8e93}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color-scheme:dark;overscroll-behavior-y:none}[data-theme=light]{color-scheme:light}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);line-height:1.6;min-height:100dvh;overscroll-behavior-y:none}[data-theme=dark] body{background-color:var(--bg)}.cover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;isolation:isolate;contain:strict;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.cover-backdrop-gradient{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(ellipse 72% 54% at 14% 8%,rgba(var(--cover-rgb-a),.36),transparent 68%),radial-gradient(ellipse 68% 58% at 86% 14%,rgba(var(--cover-rgb-c),.24),transparent 68%),radial-gradient(ellipse 75% 60% at 62% 88%,rgba(var(--cover-rgb-b),.34),transparent 72%),linear-gradient(160deg,rgba(var(--cover-rgb-b),.14) 0%,transparent 48%,rgba(var(--cover-rgb-a),.12) 100%);opacity:1}[data-theme=light] .cover-backdrop-gradient{background:radial-gradient(ellipse 72% 54% at 14% 8%,rgba(var(--cover-rgb-a),.26),transparent 68%),radial-gradient(ellipse 68% 58% at 86% 14%,rgba(var(--cover-rgb-c),.22),transparent 68%),radial-gradient(ellipse 75% 60% at 62% 88%,rgba(var(--cover-rgb-b),.18),transparent 72%),linear-gradient(160deg,rgba(var(--cover-rgb-c),.14),#ffffff73 55%,rgba(var(--cover-rgb-a),.1))}.cover-backdrop-img{position:absolute;border-radius:50%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;transform:translateZ(0) scale(1.18);transition:opacity .8s ease}.cover-backdrop-img-primary{top:-18%;left:-10%;width:min(85vw,920px);height:min(85vw,920px);filter:blur(96px) saturate(1.7) contrast(1.08);opacity:.34;mask-image:radial-gradient(circle at center,rgba(0,0,0,1) 15%,rgba(0,0,0,.55) 52%,transparent 78%);-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,1) 15%,rgba(0,0,0,.55) 52%,transparent 78%)}.cover-backdrop-img-secondary{bottom:-22%;right:-12%;width:min(78vw,820px);height:min(78vw,820px);filter:blur(110px) saturate(1.6) contrast(1.05);opacity:.24;mask-image:radial-gradient(circle at center,rgba(0,0,0,1) 12%,rgba(0,0,0,.48) 50%,transparent 78%);-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,1) 12%,rgba(0,0,0,.48) 50%,transparent 78%)}[data-theme=light] .cover-backdrop-img-primary{opacity:.26;filter:blur(100px) saturate(1.45) brightness(1.08)}[data-theme=light] .cover-backdrop-img-secondary{opacity:.18;filter:blur(110px) saturate(1.35) brightness(1.1)}.cover-backdrop-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07090e42,#07090e94 48%,#07090ed6)}[data-theme=light] .cover-backdrop-scrim{background:linear-gradient(180deg,#f3f4f773,#f3f4f7ad,#f3f4f7db)}.cover-backdrop-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.main,.footer{position:relative;z-index:1}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}input[type=search]::-ms-clear,input[type=search]::-ms-reveal{display:none!important;width:0!important;height:0!important}.app{min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip}.header-dock{position:sticky;top:0;z-index:100;width:100%;display:flex;justify-content:center;padding:.75rem 1.25rem .25rem;pointer-events:none;transition:padding .25s ease}.header-island{pointer-events:auto;width:100%;max-width:1240px;height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 .85rem 0 1.15rem;gap:.75rem;background:linear-gradient(180deg,#161a24b8,#0c0f16bd);backdrop-filter:blur(28px) saturate(185%);-webkit-backdrop-filter:blur(28px) saturate(185%);border:1px solid rgba(255,255,255,.1);border-radius:9999px;box-shadow:0 10px 32px #0000005c,inset 0 1px #ffffff1f;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}[data-theme=light] .header-island{background:#ffffffc2;border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 28px #0f172a0f,inset 0 1px #fff}.header-brand{display:flex;align-items:center;flex-shrink:0}.brand-logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--text);-webkit-user-select:none;user-select:none}.brand-icon{width:28px;height:28px;border-radius:8px;object-fit:cover;box-shadow:0 4px 14px #6366f159;margin-right:.55rem;flex-shrink:0;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease}.brand-name{font-family:var(--font-serif);font-size:1.65rem;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--text);transition:opacity .2s ease,transform .2s ease}.brand-logo:hover .brand-icon{transform:scale(1.08) rotate(-2deg);box-shadow:0 6px 18px #6366f18c}.brand-logo:hover .brand-name{opacity:.84;transform:translateY(-1px)}.mobile-menu-brand{display:flex;align-items:center;gap:.6rem}.mobile-menu-brand-icon{width:24px;height:24px;border-radius:7px;object-fit:cover;box-shadow:0 3px 10px #6366f159}.desktop-nav{display:flex;align-items:center;justify-content:center}.nav-capsule{display:inline-flex;align-items:center;padding:3px 4px;gap:3px;border-radius:9999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px #ffffff0d;transition:background .25s ease,border-color .25s ease}[data-theme=light] .nav-capsule{background:#00000009;border:1px solid rgba(0,0,0,.06);box-shadow:inset 0 1px #00000005}.nav-item-link{position:relative;display:inline-flex;align-items:center;padding:.48rem 1.05rem;font-size:.845rem;font-weight:500;color:#9da1b2;text-decoration:none;border-radius:9999px;border:1px solid transparent;background:transparent;cursor:pointer;transition:color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;font-family:inherit;line-height:1;letter-spacing:-.01em}.nav-item-link:hover{color:#fff;background:#ffffff14;transform:translateY(-1px)}[data-theme=light] .nav-item-link{color:#64748b}[data-theme=light] .nav-item-link:hover{color:#0f1015;background:#0000000d;transform:translateY(-1px)}.nav-item-link.active{color:#fff;font-weight:600;background:#ffffff26;border-color:#fff3;box-shadow:0 4px 14px #0000004d,inset 0 1px #ffffff47}[data-theme=light] .nav-item-link.active{color:#0f1015;font-weight:600;background:#fff;border-color:#00000014;box-shadow:0 4px 14px #00000012,inset 0 1px #fff}.nav-dropdown-wrap{position:relative}.nav-more-trigger{padding:.48rem .75rem;letter-spacing:.05em}.nav-more-dots{font-size:1rem;line-height:1;display:inline-block;transform:translateY(-1px)}.nav-sub-menu{position:absolute;top:calc(100% + 10px);right:0;width:230px;background:#12141ef0;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 16px 40px #00000080,inset 0 1px #ffffff1f;padding:.4rem;display:flex;flex-direction:column;gap:.2rem;z-index:220;animation:nav-sub-menu-in .18s cubic-bezier(.16,1,.3,1)}[data-theme=light] .nav-sub-menu{background:#fffffff5;border-color:#00000014;box-shadow:0 16px 36px #0000001a,inset 0 1px #fff}.nav-sub-item{display:flex;align-items:center;padding:.55rem .8rem;border-radius:12px;text-decoration:none;color:var(--text);transition:background .15s ease,transform .15s ease}.nav-sub-item:hover{background:#ffffff14;transform:translate(2px)}[data-theme=light] .nav-sub-item:hover{background:#0000000a}.nav-sub-item.active{background:#ffffff1f}[data-theme=light] .nav-sub-item.active{background:#0000000f}.nav-sub-text{display:flex;flex-direction:column;gap:2px;text-align:left}.nav-sub-text strong{font-size:.825rem;font-weight:600;line-height:1.2}.nav-sub-text small{font-size:.7rem;color:var(--text-muted);line-height:1.2}.nav-logged-out-actions{display:flex;align-items:center;gap:.35rem}.header-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.nav-action-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 .75rem;border-radius:9999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;font-family:inherit;font-size:.8125rem}.nav-action-btn:hover{color:var(--text);background:#ffffff1f;border-color:#ffffff29;transform:translateY(-1px)}[data-theme=light] .nav-action-btn{background:#00000009;border-color:#0000000f;color:var(--text-muted)}[data-theme=light] .nav-action-btn:hover{background:#00000012;border-color:#0000001a;color:#0f1015}.nav-search-trigger{gap:.35rem}.nav-kbd-chip{font-family:inherit;font-size:.65rem;font-weight:600;padding:.1rem .32rem;border-radius:4px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);line-height:1}[data-theme=light] .nav-kbd-chip{background:#0000000d;border-color:#00000014}.header-cta-pill{display:inline-flex;align-items:center;gap:.35rem;height:36px;padding:0 .95rem;font-size:.8125rem;font-weight:600;border-radius:9999px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#ffffff29,#ffffff12);border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 14px #00000040,inset 0 1px #fff3;transition:all .18s cubic-bezier(.16,1,.3,1);white-space:nowrap}.header-cta-pill:hover{background:linear-gradient(135deg,#ffffff3d,#ffffff1f);border-color:#ffffff52;transform:translateY(-1px) scale(1.02);box-shadow:0 6px 18px #00000052,inset 0 1px #ffffff4d}.header-cta-pill:active{transform:scale(.97)}[data-theme=light] .header-cta-pill{color:#fff;background:#0f1015;border:1px solid #0f1015;box-shadow:0 4px 12px #0f10152e}[data-theme=light] .header-cta-pill:hover{background:#232532;box-shadow:0 6px 18px #0f101540}.theme-toggle-btn{width:36px;height:36px;padding:0;flex:0 0 36px}.theme-toggle-btn:hover{transform:scale(1.06) rotate(8deg)}.nav-auth-pill{gap:.35rem}.nav-mobile-toggle{display:none;width:36px;height:36px;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:4px}.nav-mobile-toggle span{display:block;width:15px;height:1.5px;background:var(--text);border-radius:1px;transition:transform .2s,opacity .2s}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1150;background:var(--modal-backdrop-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:flex-end;overscroll-behavior:contain;animation:modal-fade-in .2s ease-out}.mobile-menu-sheet{background:var(--modal-bg);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border-top:1px solid var(--modal-border);border-radius:28px 28px 0 0;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;padding:.65rem 1.25rem calc(1.75rem + env(safe-area-inset-bottom,0px));box-shadow:var(--modal-shadow);animation:modal-slide-up .25s cubic-bezier(.16,1,.3,1)}.mobile-menu-grabber{width:38px;height:4px;border-radius:9999px;background:var(--border);margin:0 auto .85rem}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--modal-border)}.mobile-menu-brand{display:flex;align-items:center;gap:.5rem}.mobile-menu-brand-icon{border-radius:6px}.mobile-menu-title{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.mobile-menu-close{background:var(--modal-surface);border:1px solid var(--modal-border);color:var(--text-muted);width:32px;height:32px;min-height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:background .15s ease,color .15s ease}.mobile-menu-close:hover{background:var(--modal-surface-hover);color:var(--text)}.mobile-menu-user-section{margin-bottom:.85rem}.mobile-user-row{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;background:var(--modal-surface);border:1px solid var(--modal-border);border-radius:16px}.mobile-user-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);display:grid;place-items:center;font-size:1.1rem;font-weight:600;flex-shrink:0}.mobile-user-details{display:flex;flex-direction:column;gap:.15rem;min-width:0}.mobile-user-details strong{font-size:.95rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-user-email{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-sync-badge{font-size:.72rem;color:var(--accent);margin-top:.1rem;font-weight:500}.mobile-auth-cta-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.85rem 1.1rem;background:var(--accent);color:var(--text-on-accent);border:none;border-radius:14px;cursor:pointer;text-align:left;transition:opacity .15s ease,transform .15s ease}.mobile-auth-cta-btn:hover{opacity:.95;transform:translateY(-1px)}.mobile-auth-cta-btn strong{display:block;font-size:.95rem;font-weight:600}.mobile-auth-cta-btn small{display:block;font-size:.75rem;opacity:.85;font-weight:400;margin-top:.1rem}.mobile-auth-cta-arrow{font-size:1.25rem;font-weight:300;opacity:.8}.mobile-settings-list{background:var(--modal-surface);border:1px solid var(--modal-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.mobile-setting-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.85rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--border-subtle);font:inherit;color:var(--text);text-align:left;cursor:pointer;transition:background .15s ease}.mobile-setting-item:last-child{border-bottom:none}.mobile-setting-item:hover,.mobile-setting-item:active{background:var(--modal-surface-hover)}.setting-item-left{display:flex;align-items:center;gap:.75rem;font-size:.9rem;font-weight:500}.setting-item-left svg{color:var(--accent);flex-shrink:0}.setting-item-value{font-size:.825rem;color:var(--text-muted)}.setting-item-arrow{font-size:1.15rem;color:var(--text-faint);font-weight:300}.mobile-logout-item{color:#ef4444}.mobile-logout-item .setting-item-left svg{color:#ef4444}.main{flex:1;width:100%;max-width:calc(var(--max-width) + 2.5rem);margin:0 auto;padding:var(--space-lg) 1.25rem 3rem}.main:has(.page-wide){max-width:calc(var(--max-width-wide) + 2.5rem)}.main:has(.page-content){max-width:calc(var(--max-width-content) + 2.5rem)}.footer{padding:1rem 1.5rem;text-align:center;font-size:.7rem;color:var(--text-faint);border-top:1px solid var(--border-subtle)}.bottom-nav{display:none;position:fixed;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:min(calc(100% - 1.5rem),390px);height:var(--bottom-nav-h);z-index:100;padding:0 .5rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:9999px;box-shadow:var(--glass-shadow),var(--glass-rim);align-items:center;justify-content:space-between;gap:.15rem;user-select:none;-webkit-user-select:none;touch-action:manipulation;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease}[data-theme=light] .bottom-nav{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.bottom-nav{background:#16161a}[data-theme=light] .bottom-nav{background:#fff}}.bottom-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;min-width:0;height:46px;border-radius:9999px;background:transparent;border:none;font:inherit;outline:none;margin:0;box-sizing:border-box;color:var(--bottom-nav-inactive);text-decoration:none;transition:color .18s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent;cursor:pointer;padding:0 2px}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item:hover{color:var(--text)}.bottom-nav-item.active{color:var(--text);background:var(--glass-btn-bg);box-shadow:inset 0 1px #ffffff26}[data-theme=light] .bottom-nav-item.active{color:#000;background:#0000000f;box-shadow:inset 0 1px #ffffffe6}.bottom-nav-icon{display:grid;place-items:center;width:28px;height:22px;border-radius:9999px;color:currentColor;transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .18s ease}.bottom-nav-icon svg{display:block;width:20px;height:20px;stroke:currentColor;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-item.active .bottom-nav-icon svg{transform:scale(1.08)}.bottom-nav-label{font-size:.64rem;font-weight:500;letter-spacing:-.01em;line-height:1;transition:font-weight .15s ease,opacity .15s ease;white-space:nowrap}.bottom-nav-item.active .bottom-nav-label{font-weight:600;color:var(--accent)}.bottom-nav-add{flex:0 0 auto;padding:0 4px}.bottom-nav-add .bottom-nav-icon{width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);box-shadow:0 3px 12px var(--accent-glow, rgba(255, 255, 255, .2));transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background-color .2s ease}.bottom-nav-add .bottom-nav-icon svg{width:19px;height:19px;stroke-width:2.5}.bottom-nav-add:hover .bottom-nav-icon{transform:scale(1.08);box-shadow:0 5px 18px var(--accent-glow, rgba(255, 255, 255, .35))}.bottom-nav-add:active .bottom-nav-icon{transform:scale(.92)}.bottom-nav-add.active .bottom-nav-icon{transform:scale(1.04);box-shadow:0 0 16px var(--accent-glow, rgba(255, 255, 255, .45))}h1{font-family:var(--font-serif);font-size:2.25rem;font-weight:400;line-height:1.2;letter-spacing:-.02em}h2{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;margin-bottom:.75rem}h3{font-size:1rem;font-weight:500}.page-sub{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.prose{white-space:pre-wrap;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:var(--radius);border:1px solid transparent;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn-outline{background:transparent;border-color:var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--text-muted)}.btn-danger-ghost{background:transparent;color:var(--danger);border:none;padding:.6rem .8rem}.btn-danger-ghost:hover{background:var(--danger-bg)}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.home{position:relative}.home-hero-wrap{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.25rem 1rem 1.5rem;margin-bottom:1.5rem}.home-ambient-glow{position:absolute;top:-120px;left:50%;transform:translate(-50%);width:min(980px,98vw);height:520px;background:radial-gradient(ellipse 64% 52% at 50% 34%,rgba(var(--cover-rgb-a),.34),rgba(var(--cover-rgb-c),.22) 48%,rgba(var(--cover-rgb-b),.12) 72%,transparent 86%);filter:blur(72px);pointer-events:none;z-index:0;opacity:.9;transition:background .8s ease}[data-theme=light] .home-ambient-glow{background:radial-gradient(ellipse 64% 52% at 50% 34%,rgba(var(--cover-rgb-a),.24),rgba(var(--cover-rgb-c),.18) 48%,rgba(var(--cover-rgb-b),.1) 72%,transparent 86%);filter:blur(68px);opacity:.95}.home-hero-content{position:relative;z-index:1;max-width:680px;margin:0 auto}.home-hero-eyebrow{display:inline-block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);opacity:.8;margin-bottom:.65rem}.home-hero-title{font-family:var(--font-serif);font-size:clamp(2.35rem,5.5vw,3.75rem);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin-bottom:.85rem;color:var(--text)}.home-hero-title em{font-style:italic;font-family:var(--font-serif);color:var(--accent)}.home-hero-sub{font-size:clamp(.95rem,2vw,1.1rem);color:var(--text-muted);line-height:1.55;margin:0 auto 1.25rem;max-width:32rem}.home-quick-stats{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .95rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:9999px;font-size:.775rem;color:var(--text-muted);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow),var(--glass-rim);margin-bottom:.5rem}[data-theme=light] .home-quick-stats{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim)}.home-stat-pill strong{color:var(--text);font-weight:600}.home-stat-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.35;margin:0 .15rem;vertical-align:middle;font-size:0;line-height:0}.home-search-container{position:relative;z-index:2;width:100%;max-width:680px;margin:1rem auto 1.25rem}.home-quick-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;margin-bottom:1rem}.quick-action-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .95rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:9999px;box-shadow:var(--glass-rim);cursor:pointer;text-decoration:none;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s,border-color .18s,color .18s,box-shadow .18s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.quick-action-pill:hover{color:var(--text);background:var(--glass-bg-hover);border-color:#ffffffe6;transform:translateY(-2px);box-shadow:var(--glass-shadow-hover),var(--glass-rim)}[data-theme=light] .quick-action-pill:hover{border-color:#fffffff2;box-shadow:var(--glass-shadow-hover),var(--glass-rim)}.quick-action-pill:active{transform:scale(.96)}.quick-action-icon{font-size:.875rem;line-height:1}.quick-action-surprise{background:var(--glass-bg-hover);border-color:var(--glass-border);color:var(--text);font-weight:600;box-shadow:var(--glass-shadow),var(--glass-rim)}[data-theme=light] .quick-action-surprise{background:#ffffffb8;border-color:#fffffff2;color:var(--text);box-shadow:0 4px 16px #0f172a14,inset 0 1.5px 1px #fff}.quick-action-mood{border-style:dashed;border-color:var(--glass-border-subtle);opacity:.92}.home-starter-pills{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.starter-label{font-size:.775rem;color:var(--text-faint);margin-right:.25rem}.home-spotlight-section{max-width:960px;margin:0 auto 2.5rem;width:100%}.home-spotlight-card{position:relative;overflow:hidden;border-radius:26px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease,border-color .25s ease}[data-theme=light] .home-spotlight-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim)}.spotlight-backdrop-glow{position:absolute;top:-15px;right:-15px;bottom:-15px;left:-15px;background-size:cover;background-position:center;filter:blur(44px) saturate(180%);opacity:.35;transform:scale(1.08);pointer-events:none;z-index:0;border-radius:26px}[data-theme=light] .spotlight-backdrop-glow{opacity:.25;filter:blur(40px) saturate(150%)}.spotlight-card-body{position:relative;z-index:1;display:grid;grid-template-columns:190px 1fr;gap:2rem;padding:1.75rem 2rem;align-items:center}.spotlight-cover-wrap{position:relative;width:190px;height:190px;border-radius:16px;overflow:hidden;flex-shrink:0;box-shadow:0 12px 36px #00000073}.spotlight-cover-img{width:100%;height:100%;object-fit:cover;display:block}.spotlight-cover-placeholder{width:100%;height:100%;background:linear-gradient(145deg,rgba(var(--cover-rgb-a),.28),rgba(var(--cover-rgb-b),.18) 55%,#ffffff0a);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-muted)}.spotlight-play-btn{position:absolute;bottom:12px;right:12px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #0006;transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s}.spotlight-play-btn:hover{transform:scale(1.08);box-shadow:0 12px 30px #00000080}.spotlight-play-btn:active{transform:scale(.92)}.spotlight-info{display:flex;flex-direction:column;justify-content:center;min-width:0}.spotlight-header-meta{display:flex;align-items:center;gap:.65rem;margin-bottom:.35rem}.spotlight-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--accent);opacity:.88}.spotlight-year-badge{font-size:.7rem;padding:.1rem .45rem;border-radius:6px;background:var(--bg-elevated);color:var(--text-muted)}.spotlight-song-title{font-family:var(--font-serif);font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin-bottom:.2rem}.spotlight-song-title a{color:inherit;transition:color .15s}.spotlight-song-title a:hover{color:var(--accent)}.spotlight-artist-name{font-size:1.05rem;color:var(--text-muted);margin-bottom:.75rem}.spotlight-lyric-quote{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.45;color:var(--text);padding:.35rem 0 .35rem 1rem;border-left:2px solid var(--accent);margin:.35rem 0 1rem}.spotlight-feeling-excerpt{font-size:.92rem;color:var(--text-muted);line-height:1.5;margin:.35rem 0 .85rem}.spotlight-prompt-add{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;font-style:italic;color:#64748b;text-decoration:none;margin:.35rem 0 .85rem;padding:.45rem .95rem;background:#00000009;border:1px dashed rgba(0,0,0,.14);border-radius:9999px;max-width:fit-content;transition:all .16s ease}[data-theme=dark] .spotlight-prompt-add{color:#ffffffa6;background:#ffffff0d;border-color:#ffffff24}.spotlight-prompt-add:hover{color:#0f172a;background:#0000000f;border-color:#00000040;text-decoration:none}[data-theme=dark] .spotlight-prompt-add:hover{color:#fff;background:#ffffff1a;border-color:#ffffff40}.spotlight-prompt-icon{display:none}.spotlight-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.spotlight-tags-row{display:flex;gap:.4rem;flex-wrap:wrap}.spotlight-tag{font-size:.72rem;padding:.2rem .55rem;border-radius:9999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted)}.spotlight-tag-mood{color:var(--text);border-color:#ffffff24}[data-theme=light] .spotlight-tag-mood{border-color:#0000001f}.spotlight-open-link{font-size:.85rem;font-weight:500;color:var(--accent);display:inline-flex;align-items:center;gap:.25rem;transition:transform .15s}.spotlight-open-link:hover{transform:translate(3px)}.home-dashboard-grid{max-width:960px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:2.75rem;min-width:0}.home-section{position:relative;min-width:0}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.home-section-title{font-family:var(--font-serif);font-size:1.55rem;font-weight:400;letter-spacing:-.025em;line-height:1.15}.home-section-sub{font-size:.8125rem;color:var(--text-muted);margin-top:.15rem}.section-see-all{font-size:.825rem;font-weight:500;color:var(--text-muted);transition:color .15s,transform .15s;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;padding-bottom:.15rem;text-decoration:none}.section-see-all svg{transition:transform .18s cubic-bezier(.16,1,.3,1);flex-shrink:0}.section-see-all:hover{color:var(--accent)}.section-see-all:hover svg{transform:translate(3px)}.song-grid-home{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:1.2rem}.mini-card{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow),var(--glass-rim);transition:border-color .25s,transform .25s cubic-bezier(.16,1,.3,1),background .25s,box-shadow .25s;cursor:pointer;position:relative;min-width:0}[data-theme=light] .mini-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim)}.mini-card:hover{border-color:#fffffff2;background:var(--glass-bg-hover);transform:translateY(-5px);box-shadow:var(--glass-shadow-hover),var(--glass-rim)}[data-theme=dark] .mini-card:hover{border-color:#ffffff4d}.mini-card:active{transform:scale(.97)}.mini-card-cover-wrap{width:100%;aspect-ratio:1;border-radius:14px;overflow:hidden;position:relative;background:var(--bg-elevated);box-shadow:0 4px 14px #00000026,inset 0 1px 1px #fff6}[data-theme=dark] .mini-card-cover-wrap{box-shadow:0 6px 18px #0006,inset 0 1px 1px #ffffff1a}.mini-card-cover{width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.16,1,.3,1)}.mini-card:hover .mini-card-cover{transform:scale(1.06)}.mini-card-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:linear-gradient(145deg,rgba(var(--cover-rgb-a),.2),rgba(var(--cover-rgb-b),.12));color:var(--text-muted)}.mini-card-play-btn{position:absolute;bottom:8px;right:8px;width:38px;height:38px;border-radius:50%;background:#ffffffd9;color:#0f1015;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #00000040,inset 0 1.5px 1px #fff;opacity:0;transform:scale(.85);transition:opacity .2s,transform .2s cubic-bezier(.16,1,.3,1),background .15s,box-shadow .15s;z-index:2}[data-theme=dark] .mini-card-play-btn{background:#ffffffe6;color:#000;box-shadow:0 6px 20px #00000080,inset 0 1.5px 1px #fff}.mini-card:hover .mini-card-play-btn,.mini-card-play-btn.is-playing{opacity:1;transform:scale(1)}.mini-card-play-btn:hover{transform:scale(1.1)!important;background:#fff;box-shadow:0 6px 22px #0000004d,inset 0 1.5px 1px #fff}.mini-card-play-btn:active{transform:scale(.9)!important}.mini-card-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.mini-card strong{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.4rem}.mini-card span{font-size:.775rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-card-mood{font-size:.68rem!important;color:var(--accent)!important;opacity:.85;margin-top:.15rem}.comp-card{display:flex;flex-direction:column;gap:.4rem;padding:1.35rem 1.4rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);transition:border-color .2s,transform .2s cubic-bezier(.16,1,.3,1),background .2s,box-shadow .2s}.comp-card:hover{transform:translateY(-3px);border-color:var(--accent-dim);background:var(--glass-bg-hover);box-shadow:0 16px 38px #00000059,inset 0 1px 0 var(--glass-rim)}.comp-card:active{transform:scale(.98)}.comp-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.comp-card h3{font-size:1.05rem;font-weight:600}.comp-count{font-size:.72rem;padding:.15rem .5rem;background:var(--bg-elevated);border-radius:9999px;color:var(--text-muted)}.comp-card p{font-size:.825rem;color:var(--text-muted);line-height:1.45}.home-empty-welcome{position:relative;overflow:hidden;border-radius:24px;padding:3rem 2rem;text-align:center;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 16px 48px #0000004d;margin-top:1rem}.empty-welcome-glow{position:absolute;top:-20%;left:50%;transform:translate(-50%);width:400px;height:300px;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,255,255,.08),transparent 70%);filter:blur(48px);pointer-events:none}.empty-welcome-icon{font-size:3rem;line-height:1;margin-bottom:1rem;color:var(--accent)}.home-empty-welcome h2{font-family:var(--font-serif);font-size:1.85rem;font-weight:400;letter-spacing:-.02em;margin-bottom:.65rem}.home-empty-welcome p{font-size:.95rem;color:var(--text-muted);max-width:30rem;margin:0 auto 1.75rem;line-height:1.6}.empty-welcome-starters span{display:block;font-size:.775rem;color:var(--text-faint);margin-bottom:.65rem}.starter-pills-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.song-list{display:flex;flex-direction:column;gap:.55rem}.song-card{display:flex;align-items:center;gap:.85rem;padding:.55rem .85rem;background:transparent;border:1px solid transparent;border-radius:12px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);cursor:pointer;position:relative}[data-theme=light] .song-card{background:transparent;border-color:transparent;box-shadow:none}.song-card:hover{background:#0000000a;border-color:transparent;transform:none;box-shadow:none}[data-theme=dark] .song-card:hover{background:#ffffff0f;border-color:transparent}.song-card:active{transform:scale(.99)}.song-card.is-current-track{background:#0000000d}[data-theme=dark] .song-card.is-current-track{background:#ffffff14}.song-card-cover-wrap{position:relative;width:54px;height:54px;border-radius:12px;overflow:hidden;flex-shrink:0;background:var(--bg-elevated);box-shadow:inset 0 0 0 1px #00000014}[data-theme=dark] .song-card-cover-wrap{box-shadow:inset 0 0 0 1px #ffffff14}.song-card-cover{width:100%;height:100%;object-fit:cover;transition:transform .3s cubic-bezier(.16,1,.3,1)}.song-card:hover .song-card-cover{transform:scale(1.06)}.card-play-btn{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;border:none;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .2s,transform .15s}.song-card:hover .card-play-btn,.card-play-btn.is-playing{opacity:1}.card-play-btn:active{transform:scale(.9)}.song-card-main{flex:1;min-width:0}.song-title{font-weight:600;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.4rem}.song-artist{font-size:.825rem;color:var(--text-muted);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-lyric-quote{margin:.25rem 0 0;padding-left:.55rem;border-left:2px solid var(--accent);font-family:var(--font-serif);font-size:.85rem;color:var(--text);font-style:italic;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-feeling{margin:.25rem 0 0;font-size:.8rem;color:var(--text-muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-card-tags{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;align-items:center;flex-shrink:0;max-width:22rem}.song-grid-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:1.75rem 1.35rem}.song-card-grid{display:flex;flex-direction:column;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;cursor:pointer;position:relative;min-width:0;transition:transform .2s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent}[data-theme=light] .song-card-grid{background:transparent;border:none;box-shadow:none}.song-card-grid:hover{transform:none;background:transparent;box-shadow:none;border-color:transparent}[data-theme=dark] .song-card-grid:hover{border-color:transparent}.song-card-grid:active{transform:scale(.98)}.song-card-grid-cover-wrap{position:relative;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--bg-elevated);box-shadow:0 6px 18px -2px #00000014,0 2px 6px -1px #0000000a;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.song-card-grid-cover-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;box-shadow:inset 0 0 0 1px #00000014;pointer-events:none}[data-theme=dark] .song-card-grid-cover-wrap{box-shadow:0 8px 24px -2px #00000080}[data-theme=dark] .song-card-grid-cover-wrap:after{box-shadow:inset 0 0 0 1px #ffffff1a}.song-card-grid:hover .song-card-grid-cover-wrap{transform:translateY(-4px);box-shadow:0 14px 32px -4px #00000029,0 4px 10px -2px #0000000f}[data-theme=dark] .song-card-grid:hover .song-card-grid-cover-wrap{box-shadow:0 16px 36px -4px #000000a6}.song-card-grid-cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.16,1,.3,1)}.song-card-grid:hover .song-card-grid-cover{transform:scale(1.04)}.song-card-grid-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(var(--cover-rgb-a),.14),#0f172a0f);color:var(--text-faint)}[data-theme=dark] .song-card-grid-cover-placeholder{background:linear-gradient(145deg,rgba(var(--cover-rgb-a),.22),rgba(var(--cover-rgb-b),.14) 52%,#ffffff0a);color:var(--text-muted)}.grid-play-btn{position:absolute;bottom:10px;right:10px;width:42px;height:42px;border-radius:50%;background:#ffffffeb;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px);color:#000;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #00000038;opacity:0;transform:scale(.85);transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);z-index:3}.song-card-grid:hover .grid-play-btn,.grid-play-btn.is-playing{opacity:1;transform:scale(1)}.grid-play-btn:active{transform:scale(.9)!important}.grid-eq-badge{position:absolute;top:10px;left:10px;display:flex;align-items:flex-end;gap:2px;padding:4px 6px;background:#000000a6;border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grid-eq-badge span{width:2.5px;background:#fff;border-radius:1px}.grid-eq-badge span:nth-child(1){height:8px;animation:gap-eq-1 .7s infinite}.grid-eq-badge span:nth-child(2){height:14px;animation:gap-eq-2 .85s infinite}.grid-eq-badge span:nth-child(3){height:10px;animation:gap-eq-3 .65s infinite}.song-card-grid-body{margin-top:.65rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.song-grid-title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-sans);font-size:.95rem;font-weight:600;line-height:1.25;color:var(--text);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.song-grid-artist{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-sans);font-size:.85rem;font-weight:400;line-height:1.25;color:var(--text-muted);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.song-grid-artist .artist-link{color:inherit;text-decoration:none}.song-grid-artist .artist-link:hover{color:var(--text);text-decoration:underline}.song-grid-meta{font-size:.775rem;font-weight:500;color:var(--text-faint);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.song-grid-lyric{font-family:var(--font-serif);font-style:italic;font-size:.785rem;color:var(--text-muted);margin-top:.3rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-left:.4rem;border-left:2px solid var(--accent)}.song-grid-feeling{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.comp-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:border-color .15s,box-shadow .15s;min-height:140px}.comp-card:hover{border-color:var(--accent-dim);box-shadow:var(--shadow-card-hover)}.comp-card p{font-size:.85rem;color:var(--text-muted);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.comp-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-faint);margin-top:auto}.comp-count{color:var(--accent)}.tag{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 .7rem;border-radius:9999px;font-size:.725rem;font-weight:500;line-height:1;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border);box-sizing:border-box;white-space:nowrap;vertical-align:middle;transition:all .15s ease}.tag-mood{background:var(--tag-mood-bg);color:var(--accent);border-color:var(--tag-mood-border)}.tag-genre{background:var(--tag-genre-bg);color:var(--tag-genre-color);border-color:var(--tag-genre-border)}.tag-year{background:var(--tag-year-bg);color:var(--tag-year-color);border-color:var(--tag-year-border)}.tag-nation{background:var(--tag-nation-bg);color:var(--tag-nation-color);border-color:var(--tag-nation-border)}.tag-clickable{cursor:pointer}.library-apple-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:.25rem}.library-title-group{display:flex;flex-direction:column;gap:.25rem}.library-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .65rem}.library-apple-title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",var(--font-sans);font-size:2.25rem;font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--text);margin:0}.library-apple-badge{display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0;font-size:.775rem;font-weight:500;padding:.2rem .65rem;border-radius:9999px;background:#0000000d;color:var(--text-muted);letter-spacing:-.01em}[data-theme=dark] .library-apple-badge{background:#ffffff14;color:var(--text-muted)}.library-apple-sub{font-size:.885rem;color:var(--text-muted);margin:0;font-weight:400;letter-spacing:-.01em}.library-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.apple-segmented{display:inline-flex;align-items:center;padding:3px;border-radius:9999px;background:#0000000f;border:1px solid rgba(0,0,0,.08);gap:2px}[data-theme=dark] .apple-segmented{background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.apple-segmented-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border-radius:9999px;border:none;background:transparent;font-size:.82rem;font-weight:500;color:#475569;cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent}.apple-segmented-btn:hover{color:#0f172a}.apple-segmented-btn.is-active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 4px #0000001f}[data-theme=dark] .apple-segmented-btn{color:#ffffffb3}[data-theme=dark] .apple-segmented-btn:hover{color:#fff}[data-theme=dark] .apple-segmented-btn.is-active{background:#ffffff38;color:#fff;box-shadow:inset 0 1px #ffffff40,0 2px 8px #00000059}.apple-segmented-btn:active{transform:scale(.96)}.apple-sort-control{position:relative;display:inline-flex;align-items:center}.apple-sort-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:.42rem 2.1rem .42rem .95rem;border-radius:9999px;border:1px solid rgba(0,0,0,.14);background:#fff;font-size:.82rem;font-weight:500;color:#0f172a;cursor:pointer;outline:none;box-shadow:0 1px 3px #0000000d;transition:border-color .15s,background .15s,box-shadow .15s}[data-theme=dark] .apple-sort-select{background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#f8fafc;box-shadow:none}.apple-sort-select:hover{border-color:#00000047}[data-theme=dark] .apple-sort-select:hover{background:#ffffff24;border-color:#ffffff47}.apple-sort-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.apple-sort-chevron{position:absolute;right:.85rem;pointer-events:none;color:#64748b}[data-theme=dark] .apple-sort-chevron{color:#fff9}.apple-header-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:9999px;border:1px solid var(--border-subtle);background:var(--bg-card);font-size:.8rem;font-weight:500;color:var(--text);cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1)}.apple-header-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--accent-dim)}.apple-header-btn:active{transform:scale(.96)}.library-playback-pill-group{display:inline-flex;align-items:center;gap:.45rem}.apple-play-all-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem 1rem;border-radius:9999px;border:none;background:#0f172a;color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0f172a33;transition:all .16s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent;white-space:nowrap}[data-theme=light] .apple-play-all-btn{background:#0f172a;color:#fff;box-shadow:0 2px 8px #0f172a33}[data-theme=dark] .apple-play-all-btn{background:#fff;color:#07080d;box-shadow:0 2px 10px #ffffff29}.apple-play-all-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a47}[data-theme=dark] .apple-play-all-btn:hover{box-shadow:0 4px 14px #ffffff42}.apple-play-all-btn:active{transform:scale(.96)}.apple-play-all-btn.is-active{background:var(--accent);color:var(--text-on-accent)}.apple-shuffle-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .95rem;border-radius:9999px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#0f172a;font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #0000000d;transition:all .16s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent;white-space:nowrap}[data-theme=light] .apple-shuffle-btn{background:#fff;border:1px solid rgba(0,0,0,.14);color:#0f172a}[data-theme=dark] .apple-shuffle-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#f8fafc;box-shadow:none}.apple-shuffle-btn:hover{border-color:#00000042;transform:translateY(-1px)}[data-theme=dark] .apple-shuffle-btn:hover{background:#ffffff24;border-color:#ffffff42}.apple-shuffle-btn:active{transform:scale(.96)}.search-highlight{background:#ffd40047;color:inherit;border-radius:2px;padding:0 2px;font-weight:600}[data-theme=dark] .search-highlight{background:#ffdc3c52;color:#fff}.song-lyric-match,.song-grid-lyric-match{margin:.3rem 0 0;font-size:.78rem;color:var(--text-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:italic}.song-lyric-badge{display:inline-block;font-style:normal;font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.1rem .45rem;border-radius:4px;background:rgba(var(--cover-rgb-a),.16);color:var(--accent);margin-right:.4rem;vertical-align:middle}[data-theme=dark] .song-lyric-badge{background:rgba(var(--cover-rgb-c),.22);color:var(--text)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.detail-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.source-pill-selector{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.4rem}.source-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:9999px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent}.source-pill:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-medium)}.source-pill.is-active{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600;box-shadow:0 1px 4px #0000001f}[data-theme=dark] .source-pill.is-active{background:#fff;color:#07080d;border-color:#fff;box-shadow:0 2px 8px #ffffff26}.source-pill:active{transform:scale(.96)}.tag-source{background:#0ea5e91f;color:#0284c7;border:1px solid rgba(14,165,233,.22)}[data-theme=dark] .tag-source{background:#38bdf826;color:#38bdf8;border-color:#38bdf847}.library-apple-toolbar{margin-bottom:2rem;display:flex;flex-direction:column;gap:.75rem}.library-apple-search-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;width:100%}.library-search-filter-wrap{display:flex;align-items:center;gap:.65rem;flex:1 1 340px;max-width:520px}.library-apple-search-row .library-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-left:auto}.apple-search-field{position:relative;display:flex;align-items:center;flex:1;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:9999px;transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s}[data-theme=light] .apple-search-field{background:#fff;border:1px solid rgba(0,0,0,.14);box-shadow:0 1px 3px #0000000a}[data-theme=dark] .apple-search-field{background:#ffffff0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:#ffffff1a}.apple-search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.apple-search-icon{position:absolute;left:.95rem;display:flex;align-items:center;color:var(--text-muted);pointer-events:none}.apple-search-input{width:100%;padding:.55rem 3.5rem .55rem 2.6rem;font-size:.9rem;background:transparent;border:none;outline:none;color:var(--text);border-radius:9999px}.apple-search-input::placeholder{color:var(--text-faint);font-size:.85rem}.apple-search-suffix{position:absolute;right:.75rem;display:flex;align-items:center}.apple-search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#0000001f;color:var(--text);border:none;cursor:pointer;padding:0;transition:transform .15s}[data-theme=dark] .apple-search-clear{background:#fff3}.apple-search-clear:hover{transform:scale(1.1)}.apple-search-kbd{font-size:.7rem;font-weight:500;padding:.15rem .45rem;border-radius:6px;background:#0000000d;border:1px solid rgba(0,0,0,.06);color:var(--text-muted);font-family:inherit}[data-theme=dark] .apple-search-kbd{background:#ffffff14;border-color:#ffffff1a}.apple-filter-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.525rem .95rem;border-radius:9999px;border:1px solid var(--border-subtle);background:var(--bg-card);font-size:.825rem;font-weight:500;color:var(--text);cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);flex-shrink:0}[data-theme=light] .apple-filter-btn{background:#fff;border:1px solid rgba(0,0,0,.14);color:#0f172a;box-shadow:0 1px 3px #0000000a}[data-theme=dark] .apple-filter-btn{background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);color:#fff}.apple-filter-btn:hover{background:var(--bg-hover);color:var(--text);border-color:#00000047}[data-theme=dark] .apple-filter-btn:hover{background:#ffffff24;border-color:#ffffff47}.apple-filter-btn.is-active{background:#0f172a;color:#fff;border-color:#0f172a}[data-theme=dark] .apple-filter-btn.is-active{background:#fff;color:#000;border-color:#fff}.apple-filter-btn:active{transform:scale(.96)}.apple-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:9999px;background:var(--accent);color:var(--text-on-accent);font-size:.68rem;font-weight:700}.apple-filter-btn.is-active .apple-filter-count{background:#ffffff4d;color:inherit}.apple-shelf-pills{display:flex;gap:.45rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.apple-shelf-pills::-webkit-scrollbar{display:none}.apple-shelf-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.38rem .85rem;border-radius:9999px;font-size:.8rem;font-weight:500;color:#334155;background:#fff;border:1px solid rgba(0,0,0,.13);cursor:pointer;white-space:nowrap;flex-shrink:0;box-shadow:0 1px 2px #0000000a;transition:all .16s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent}.apple-shelf-pill:hover{color:#0f172a;background:#f8fafc;border-color:#00000040}.apple-shelf-pill.is-active{background:#0f172a;color:#fff;border-color:#0f172a;font-weight:600;box-shadow:0 2px 6px #0f172a33}[data-theme=dark] .apple-shelf-pill{color:#ffffffd9;background:#ffffff14;border:1px solid rgba(255,255,255,.14);box-shadow:none}[data-theme=dark] .apple-shelf-pill:hover{color:#fff;background:#ffffff24;border-color:#ffffff42}[data-theme=dark] .apple-shelf-pill.is-active{background:#fff;color:#0f172a;border-color:#fff;font-weight:600;box-shadow:0 2px 8px #fff3}.apple-shelf-pill:active{transform:scale(.95)}.apple-filter-drawer{padding:1rem 1.15rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:18px;box-shadow:var(--shadow-sm);animation:appleDrawerEnter .2s cubic-bezier(.16,1,.3,1)}@keyframes appleDrawerEnter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.apple-filter-drawer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.apple-field-box{display:flex;flex-direction:column;gap:.3rem}.apple-field-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.apple-field-select{width:100%;padding:.45rem .75rem;font-size:.825rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text);outline:none;cursor:pointer;transition:border-color .15s}.apple-field-select:focus{border-color:var(--accent)}.apple-filter-drawer-actions{display:flex;justify-content:flex-end;margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--border-subtle)}.apple-drawer-clear-btn{font-size:.78rem;color:var(--danger);background:none;border:none;cursor:pointer;padding:.2rem .5rem;border-radius:6px;transition:background .15s}.apple-drawer-clear-btn:hover{background:#ef444414}.apple-active-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.25rem}.apple-active-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.225rem .65rem;border-radius:9999px;background:#0000000d;border:1px solid rgba(0,0,0,.06);font-size:.75rem;color:var(--text);cursor:pointer;transition:background .15s}[data-theme=dark] .apple-active-tag{background:#ffffff14;border-color:#ffffff1a}.apple-active-tag:hover{background:#00000017}[data-theme=dark] .apple-active-tag:hover{background:#ffffff24}.apple-tag-key{color:var(--text-muted);font-weight:500}.apple-tag-val{font-weight:600}.apple-tag-x{font-size:.85rem;opacity:.6}.apple-active-clear-all{font-size:.75rem;color:var(--text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;padding:.2rem .4rem}.apple-active-clear-all:hover{color:var(--text)}.library-empty-state{padding:3.5rem 1.5rem;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;margin:1.5rem 0}.library-empty-state .empty-icon{font-size:2.75rem;color:var(--text-faint);margin-bottom:.75rem}.library-empty-state h3{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.35rem}.library-empty-state p{font-size:.875rem;color:var(--text-muted);margin-bottom:1.25rem}.input,.select,.textarea{width:100%;padding:.6rem .85rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);outline:none;box-shadow:var(--shadow-card);transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-dim);box-shadow:var(--shadow-focus)}.input-search{flex:1;min-width:200px}.select{width:auto;min-width:110px;cursor:pointer}.textarea{resize:vertical;min-height:80px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:var(--space-lg)}.page-header-compact{margin-bottom:var(--space-md)}.page-header-compact h1{font-size:1.75rem}.back-link{display:inline-block;font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.back-link:hover{color:var(--accent)}.form{display:flex;flex-direction:column;gap:1.5rem}.fieldset{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--bg-card);box-shadow:var(--shadow-sm)}.fieldset legend{font-family:var(--font-serif);font-size:1.05rem;font-weight:500;padding:0 .5rem;color:var(--accent)}.field{display:flex;flex-direction:column;gap:.35rem}.field span{font-size:.8rem;color:var(--text-muted);font-weight:500}.field-hint{font-size:.75rem;color:var(--text-faint);margin-top:-.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-actions{display:flex;gap:.75rem}.song-picker{display:flex;flex-direction:column;gap:.35rem;max-height:320px;overflow-y:auto;margin-top:.5rem}.song-picker-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.song-picker-item:hover{background:var(--bg-elevated)}.song-picker-item.selected{border-color:var(--accent-dim);background:var(--accent-glow)}.song-picker-item input{accent-color:var(--accent)}.song-picker-item span{display:flex;flex-direction:column;gap:.1rem}.song-picker-item em{font-size:.8rem;color:var(--text-muted);font-style:normal}.detail-layout{display:grid;grid-template-columns:1fr var(--sidebar-w);gap:var(--space-lg);align-items:start}.detail-main{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.detail-aside{display:flex;flex-direction:column;gap:var(--space-md);position:sticky;top:calc(var(--header-h) + .75rem)}.panel{padding:1rem 1.15rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.panel-highlight{background:var(--panel-highlight-bg);border-color:var(--panel-highlight-border)}.panel-collapsible{padding:0;overflow:hidden}.panel-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.15rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.panel-summary::-webkit-details-marker{display:none}.panel-summary h2{margin-bottom:0;font-size:1rem}.panel-chevron{color:var(--text-faint);font-size:1.1rem;transition:transform .2s}.panel-collapsible[open] .panel-chevron{transform:rotate(90deg)}.panel-body{padding:0 1.15rem 1rem}.page.song-detail{position:relative;max-width:860px;margin:0 auto;padding-bottom:5rem}.detail-ambient-bloom{position:absolute;top:-40px;left:50%;transform:translate(-50%);width:100vw;max-width:1160px;height:440px;overflow:hidden;pointer-events:none;z-index:0;filter:blur(85px) saturate(190%);opacity:.28;mask-image:radial-gradient(ellipse 68% 64% at 50% 32%,rgba(0,0,0,1) 0%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 68% 64% at 50% 32%,rgba(0,0,0,1) 0%,transparent 78%);transition:opacity .4s ease}[data-theme=dark] .detail-ambient-bloom{opacity:.44;filter:blur(90px) saturate(210%)}.detail-ambient-bloom img{width:100%;height:100%;object-fit:cover}.detail-top-nav{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.detail-back-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem .45rem .75rem;border-radius:9999px;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);color:var(--text);font-size:.825rem;font-weight:500;text-decoration:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--glass-btn-shadow);transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.detail-back-btn:hover{background:var(--glass-btn-bg-hover);border-color:var(--glass-btn-border-hover);color:var(--accent);transform:translate(-2px)}.detail-back-btn:active{transform:scale(.96)}.detail-now-playing-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .95rem;border-radius:9999px;background:var(--glass-btn-bg);border:1px solid var(--accent);box-shadow:0 4px 14px var(--accent-glow),var(--glass-btn-shadow);font-size:.775rem;font-weight:600;color:var(--accent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.detail-now-playing-pill .card-eq-badge{margin-left:0}.detail-hero{position:relative;z-index:2;display:flex;gap:1.75rem;align-items:center;margin-bottom:2rem;padding:1.5rem 1.75rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color .25s,box-shadow .25s}.detail-hero.is-current-track{border-color:var(--accent);box-shadow:0 16px 48px var(--accent-glow),inset 0 1px 0 var(--glass-rim)}.detail-hero-cover-container{flex-shrink:0}.detail-hero-cover-wrap{position:relative;width:150px;height:150px;border-radius:20px;overflow:hidden;background:var(--bg-elevated);box-shadow:0 12px 32px #0000004d,inset 0 0 0 1px #ffffff1a}.detail-hero-cover{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1);display:block}.detail-hero-cover-wrap:hover .detail-hero-cover{transform:scale(1.04)}.detail-cover-placeholder{display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-muted);background:linear-gradient(145deg,rgba(var(--cover-rgb-a),.24),rgba(var(--cover-rgb-b),.14))}.detail-hero-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.65rem}.detail-hero-titles{display:flex;flex-direction:column;gap:.2rem}.detail-hero-title{font-family:var(--font-serif);font-size:2.15rem;font-weight:600;line-height:1.15;color:var(--text);letter-spacing:-.02em;margin:0;word-break:break-word}.detail-hero-artist{font-size:1.15rem;font-weight:500;color:var(--text-muted);margin:0}.detail-hero-artist .artist-link{color:var(--text);text-decoration:none;font-weight:600;transition:color .15s}.detail-hero-artist .artist-link:hover{color:var(--accent);text-decoration:underline}.detail-hero-album,.detail-hero-year{font-size:.95rem;color:var(--text-faint);font-weight:400}.detail-hero-tags{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.detail-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.35rem;padding-top:.85rem;border-top:1px solid var(--border-subtle)}.detail-playback-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn-detail-play{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:40px;padding:0 1.25rem;border-radius:9999px;background:#fff;color:#0b0c10;font-weight:600;font-size:.875rem;border:none;cursor:pointer;box-shadow:0 4px 16px #00000040;transition:all .18s cubic-bezier(.16,1,.3,1);white-space:nowrap}[data-theme=light] .btn-detail-play{background:#0f1015;color:#fff}.btn-detail-play:hover{transform:scale(1.02);filter:brightness(1.08)}.btn-detail-play.is-playing{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 0 20px #10b98173}.btn-detail-preview{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:40px;padding:0 1rem;border-radius:9999px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:var(--text);font-weight:500;font-size:.8125rem;cursor:pointer;transition:all .18s ease;white-space:nowrap}.btn-detail-preview:hover{background:#ffffff24;color:#fff}.btn-detail-preview.is-playing{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:transparent}.detail-secondary-actions{display:flex;align-items:center;gap:.45rem;margin-left:auto;flex-wrap:wrap}.detail-action-pill{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:38px;padding:0 .85rem;border-radius:9999px;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .18s ease;white-space:nowrap}.detail-action-pill:hover{background:var(--glass-btn-bg-hover);color:var(--text);border-color:var(--glass-btn-border-hover)}.detail-action-delete{color:#ff453ad9;padding:0 .65rem}.detail-action-delete:hover{background:#ff453a1f;border-color:#ff453a59;color:#ff453a}.detail-segmented-nav{position:relative;z-index:2;display:flex;max-width:360px;margin:0 auto 2rem;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);border-radius:9999px;padding:4px;gap:4px;box-shadow:var(--glass-btn-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.detail-segment-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;border-radius:9999px;border:none;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .16s ease;white-space:nowrap}.detail-segment-btn:hover{color:var(--text);background:var(--glass-btn-bg-hover)}.detail-segment-btn.active{background:#ffffff26;color:#fff;font-weight:600;box-shadow:0 2px 8px #0000002e,inset 0 1px #ffffff40}[data-theme=light] .detail-segment-btn.active{background:#fff;color:#0f1015;box-shadow:0 2px 8px #00000014,inset 0 1px #fff}.detail-tab-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:2px}.diary-empty-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.75rem 2rem;background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.diary-empty-info h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;margin:0 0 .35rem;color:var(--text)}.diary-empty-info p{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.45}.diary-empty-cta{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;flex-shrink:0;padding:.65rem 1.25rem;border-radius:9999px;font-weight:600}.detail-related-section{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.detail-discovery-section{margin-top:1.75rem}.detail-catalog-accordion{margin-top:2rem;border-top:1px solid var(--border-subtle);padding-top:1rem}.detail-catalog-summary{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.825rem;color:var(--text-faint);font-weight:500;-webkit-user-select:none;user-select:none;padding:.4rem 0;transition:color .15s}.detail-catalog-summary:hover{color:var(--text)}.detail-catalog-summary svg{transition:transform .2s}.detail-catalog-accordion[open] .detail-catalog-summary svg{transform:rotate(180deg)}.detail-catalog-body{margin-top:1rem;padding-top:.5rem}.diary-content-stack{display:flex;flex-direction:column;gap:1.25rem}.diary-card{padding:1.75rem 2rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}[data-theme=light] .diary-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim)}.diary-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.diary-section-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.diary-icon{font-size:.95rem}.diary-card-quote{position:relative;border-left:4px solid var(--accent);background:linear-gradient(135deg,var(--glass-bg) 45%,rgba(var(--cover-rgb-a),.16) 100%)}[data-theme=light] .diary-card-quote{background:linear-gradient(135deg,var(--glass-bg) 50%,rgba(var(--cover-rgb-a),.1) 100%);border-left-color:rgba(var(--cover-rgb-a),.72)}.diary-quote-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.diary-tag-glyph{font-size:1.1rem;line-height:1}.diary-share-story-btn{font-size:.75rem;padding:.3rem .65rem;border-radius:9999px;border:1px solid var(--border)}.diary-quote-text{font-family:var(--font-serif);font-size:1.45rem;font-style:italic;color:var(--text);line-height:1.45;margin:.35rem 0 0;padding:0;quotes:none}.diary-prose-text{font-size:1rem;color:var(--text);line-height:1.65;margin:0;white-space:pre-wrap}.diary-footer-action{display:flex;justify-content:flex-end;margin-top:.5rem}.detail-section{margin-bottom:0}.lyrics-section{display:flex;flex-direction:column;gap:1.75rem}.detail-section.panel h2,.detail-section.lyrics-panel h2,.detail-section.insight-panel h2,.detail-section.related-songs h2{margin-bottom:.65rem}.detail-section.muted{color:var(--text-muted);font-size:.9rem}.detail-section.muted a{color:var(--accent)}.detail-text{color:var(--text);font-size:.95rem}.platform-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.platform-link{padding:.35rem .75rem;border-radius:100px;font-size:.75rem;font-weight:500;border:1px solid var(--border);transition:opacity .15s}.platform-link:hover{opacity:.85}.platform-spotify{border-color:var(--platform-spotify-border);color:var(--spotify)}.platform-youtube{border-color:var(--platform-youtube-border);color:var(--youtube)}.platform-apple{border-color:var(--platform-apple-border);color:var(--apple)}.platform-deezer{border-color:var(--platform-deezer-border);color:var(--purple)}.platform-links-sm .platform-link{padding:.2rem .55rem;font-size:.65rem}.track-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.track-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.track-num{font-size:.75rem;color:var(--text-faint);width:1.5rem;text-align:center;flex-shrink:0}.track-info{flex:1;min-width:0;display:flex;flex-direction:column}.track-title{font-size:.9rem;font-weight:500}.track-title:hover{color:var(--accent)}.track-artist{font-size:.8rem;color:var(--text-muted)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:1rem}@media(max-width:900px){.detail-layout{grid-template-columns:1fr}.detail-aside{position:static}}@media(max-width:640px){.detail-hero{flex-direction:column;align-items:center;text-align:center;padding:1.25rem;gap:1.25rem}.detail-hero-info{align-items:center;width:100%}.detail-hero-titles{align-items:center}.detail-hero-title{font-size:1.75rem}.detail-hero-tags{justify-content:center}.detail-hero-actions,.detail-playback-actions{justify-content:center;width:100%}.detail-secondary-actions{margin-left:0;justify-content:center;width:100%}.diary-empty-card{flex-direction:column;align-items:stretch;text-align:center;gap:1.25rem}.diary-empty-cta{justify-content:center}}@media(max-width:768px){.nav-mobile-toggle{display:flex}.desktop-nav{display:none!important}.bottom-nav{display:flex}.main{padding-bottom:calc(var(--bottom-nav-h) + 1.5rem)}.footer{display:none}.filters-bar{top:calc(var(--header-h) + .25rem)}}@media(max-width:600px){h1{font-size:1.65rem}.form-row{grid-template-columns:1fr}.song-card{flex-wrap:wrap}.song-card-tags{justify-content:flex-start;width:100%;max-width:none;padding-left:calc(52px + .85rem)}.detail-header{flex-direction:column}.detail-actions{width:100%;justify-content:flex-end}.track-item{flex-wrap:wrap}.quick-nav{gap:.4rem}.quick-nav-item{font-size:.75rem;padding:.4rem .7rem}.home-hero-wrap{padding:.65rem .25rem .35rem;margin-bottom:.75rem}.home-ambient-glow{top:-20px;height:220px}.home-hero-eyebrow{font-size:.68rem;letter-spacing:.1em;margin-bottom:.2rem}.home-hero-title{font-size:clamp(1.6rem,6.5vw,2.15rem);letter-spacing:-.03em;line-height:1.1;margin-bottom:.3rem}.home-hero-sub{font-size:.8125rem;line-height:1.35;margin-bottom:.45rem;max-width:26rem;opacity:.85}.home-quick-stats{padding:.2rem .65rem;font-size:.7rem;margin-bottom:.25rem}.home-search-container{margin:.45rem auto .6rem}.home-quick-actions{display:flex;flex-wrap:nowrap;width:calc(100% + 2rem);max-width:calc(100% + 2rem);align-self:stretch;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;padding:.25rem 1rem .45rem;margin:.15rem -1rem .75rem;gap:.45rem}.home-quick-actions::-webkit-scrollbar{display:none}.quick-action-pill{flex-shrink:0;scroll-snap-align:start;padding:.38rem .75rem;font-size:.75rem}.home-spotlight-section{margin-bottom:1.75rem}.spotlight-card-body{grid-template-columns:92px minmax(0,1fr);gap:.85rem;padding:.9rem;align-items:start}.spotlight-cover-wrap{width:92px;height:92px;max-width:92px;aspect-ratio:1;margin:0;border-radius:12px}.spotlight-play-btn{width:32px;height:32px;bottom:6px;right:6px}.spotlight-play-btn svg{width:14px;height:14px}.spotlight-header-meta{flex-wrap:nowrap;justify-content:space-between;width:100%;gap:.4rem}.spotlight-kicker{font-size:.63rem;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotlight-song-title{font-size:1.15rem;line-height:1.2;margin-bottom:.15rem}.spotlight-artist-name{font-size:.825rem;margin-bottom:.35rem}.spotlight-lyric-quote{font-size:.85rem;line-height:1.35;margin:.2rem 0 .4rem;padding-left:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spotlight-feeling-excerpt{font-size:.8rem;line-height:1.35;margin:.2rem 0 .4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spotlight-card-footer{flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.spotlight-open-link{font-size:.75rem}.song-shelf-mobile{display:flex!important;align-items:flex-start!important;width:calc(100% + 2rem);max-width:calc(100% + 2rem);overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;margin:0 -1rem;padding:.25rem 1rem .75rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.song-shelf-mobile::-webkit-scrollbar{display:none}.song-shelf-mobile .mini-card{flex:0 0 138px;width:138px;height:auto!important;align-self:flex-start!important;scroll-snap-align:start;padding:.55rem;border-radius:14px}.song-shelf-mobile .mini-card-cover-wrap{width:100%;aspect-ratio:1;border-radius:10px}.song-shelf-mobile .mini-card-text{padding:0 .1rem}.song-shelf-mobile .mini-card strong{font-size:.8125rem}.song-shelf-mobile .mini-card span{font-size:.72rem}.mini-card-play-btn{opacity:.95;transform:scale(1);width:28px;height:28px}.artist-shelf-mobile{display:flex!important;align-items:flex-start!important;width:calc(100% + 2rem);max-width:calc(100% + 2rem);overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;margin:0 -1rem;padding:.25rem 1rem .75rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.artist-shelf-mobile::-webkit-scrollbar{display:none}.artist-shelf-mobile .artist-card{flex:0 0 216px;width:216px;height:64px!important;min-height:64px!important;max-height:64px!important;align-self:center!important;scroll-snap-align:start;padding:.5rem .85rem .5rem .5rem;border-radius:9999px}.artist-shelf-mobile .artist-card-cover{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}.album-shelf-mobile{display:flex!important;align-items:flex-start!important;width:calc(100% + 2rem);max-width:calc(100% + 2rem);overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;margin:0 -1rem;padding:.25rem 1rem .75rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.album-shelf-mobile::-webkit-scrollbar{display:none}.album-shelf-mobile .album-card{flex:0 0 148px;width:148px;scroll-snap-align:start;padding:.55rem;border-radius:14px}.comp-shelf-mobile{display:flex!important;align-items:flex-start!important;width:calc(100% + 2rem);max-width:calc(100% + 2rem);overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;margin:0 -1rem;padding:.25rem 1rem .75rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.comp-shelf-mobile::-webkit-scrollbar{display:none}.comp-shelf-mobile .comp-card{flex:0 0 220px;width:220px;height:auto!important;min-height:100px;align-self:flex-start!important;scroll-snap-align:start;padding:.85rem 1rem;border-radius:16px}.library-apple-header,.library-header{flex-direction:column;align-items:stretch;gap:.85rem}.library-header-actions{display:flex;justify-content:space-between;align-items:center;width:100%;flex-wrap:wrap;gap:.5rem}.library-playback-pill-group{width:100%;display:flex;gap:.5rem}.library-playback-pill-group .apple-play-all-btn,.library-playback-pill-group .apple-shuffle-btn{flex:1;justify-content:center;padding:.5rem .75rem;font-size:.84rem;min-height:40px}.apple-segmented-btn:not(.collection-tab-btn) span,.segmented-label{display:none}.apple-segmented-btn,.segmented-btn{padding:.42rem .7rem;min-height:36px}.apple-sort-control{flex:1;min-width:0}.apple-sort-select,.select-sort{width:100%;font-size:.8rem;padding:.42rem 1.85rem .42rem .75rem;min-height:38px}.apple-search-kbd{display:none!important}.apple-search-input{padding-right:2.25rem}.library-apple-toolbar{margin-bottom:1.25rem}.song-grid-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem .75rem}.song-card-grid{padding:0;background:transparent;border:none;box-shadow:none;min-width:0}.grid-play-btn{opacity:.95;transform:scale(.9);width:34px;height:34px;bottom:8px;right:8px}.song-card{padding:.65rem .75rem;gap:.75rem}.song-card-tags{display:none}}.hero-search{margin-bottom:var(--space-md)}.song-search{width:100%;position:relative}.search-hero{margin-bottom:.5rem}.search-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--text-faint);margin-bottom:.65rem;text-align:center}.search-input-wrap{position:relative;display:flex;align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:9999px;box-shadow:var(--glass-shadow),var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s ease}[data-theme=light] .search-input-wrap{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim)}.search-input-wrap:focus-within{border-color:#ffffffe6;box-shadow:0 0 0 3px var(--accent-glow),var(--glass-shadow-hover),var(--glass-rim);background:var(--glass-bg-hover);transform:translateY(-2px)}[data-theme=light] .search-input-wrap:focus-within{border-color:#fffffff2;box-shadow:0 0 0 3px #0f10150f,var(--glass-shadow-hover),var(--glass-rim);background:#ffffffbf}.search-icon{position:absolute;left:1.15rem;display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none;transition:color .2s}.search-input-wrap:focus-within .search-icon{color:var(--accent)}.search-input{width:100%;padding:.95rem 5.5rem .95rem 3.1rem;font-size:1rem;background:transparent;border:none;outline:none;color:var(--text);border-radius:9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input::-webkit-search-cancel-button,.search-input::-webkit-search-decoration,.search-input::-webkit-search-results-button,.search-input::-webkit-search-results-decoration{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}.search-input::placeholder{color:var(--text-faint);font-size:.95rem}.search-input-actions{position:absolute;right:.85rem;display:flex;align-items:center;gap:.35rem}.search-clear-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:50%;background:#ffffff1a;border:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,transform .15s}[data-theme=light] .search-clear-btn{background:#00000014}.search-clear-btn:hover{background:#fff3;color:var(--text)}.search-clear-btn:active{transform:scale(.9)}.search-kbd-badge{font-family:inherit;font-size:.68rem;font-weight:600;padding:.2rem .45rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--text-muted);letter-spacing:.02em}[data-theme=light] .search-kbd-badge{background:#0000000d;border-color:#0000001a}.search-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.search-credit{margin-top:.6rem;font-size:.72rem;color:var(--text-faint);text-align:center}.search-credit strong{color:var(--text-muted);font-weight:500}.search-error{color:var(--danger);font-size:.85rem;margin:.75rem 0;text-align:center}.search-hint{color:var(--spotify);font-size:.8rem;margin:.5rem 0 0;text-align:center}.search-empty{color:var(--text-muted);font-size:.9rem;padding:1.5rem 0;text-align:center}.search-results{list-style:none;margin-top:.75rem;display:flex;flex-direction:column;gap:.35rem;max-height:440px;overflow-y:auto;padding:.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow-hover),var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:50;position:relative;text-align:left}.search-result{display:flex;align-items:center;gap:.85rem;width:100%;padding:.65rem .85rem;background:transparent;border:1px solid transparent;border-radius:14px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,transform .15s cubic-bezier(.16,1,.3,1)}.search-result:hover:not(:disabled){border-color:var(--border);background:var(--bg-hover);transform:translate(3px)}.search-result:active:not(:disabled){transform:scale(.98)}.search-result:disabled{opacity:.5;cursor:wait}.search-result-cover{width:52px;height:52px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--bg-elevated);box-shadow:0 4px 12px #0000004d}.search-result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.search-result-info strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.search-result-info span{font-size:.825rem;color:var(--text-muted)}.search-result-info em{font-size:.75rem;color:var(--text-faint);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-preview{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--accent);font-size:.85rem;flex-shrink:0;transition:transform .15s,background .15s,border-color .15s}.search-result-preview:hover{background:var(--accent);color:var(--text-on-accent);transform:scale(1.08)}.search-result-preview:active{transform:scale(.92)}.search-result-preview.is-playing{background:var(--accent);color:var(--text-on-accent)}.add-flow{padding-top:1rem}.add-title{margin-bottom:.35rem}.add-sub{color:var(--text-muted);margin-bottom:2rem}.add-hint{color:var(--accent);font-size:.9rem;margin-bottom:1.5rem;padding:.85rem 1rem;background:var(--accent-glow);border-radius:var(--radius-sm);border-left:3px solid var(--accent)}.selected-track{display:flex;gap:1.35rem;align-items:flex-start;padding:1.25rem 1.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:1.5rem;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.selected-track:hover{border-color:var(--border-hover, rgba(255, 255, 255, .16))}.selected-track-cover-wrap{position:relative;width:124px;height:124px;border-radius:var(--radius);overflow:hidden;flex-shrink:0;box-shadow:var(--shadow-cover);background:var(--bg-card-hover, rgba(255, 255, 255, .05))}.selected-track-cover-wrap .selected-track-cover{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;box-shadow:none;transition:transform .35s cubic-bezier(.16,1,.3,1),filter .35s ease}.selected-track-cover-wrap:hover .selected-track-cover{transform:scale(1.05)}.selected-track-cover-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2.5rem;color:var(--text-faint);background:var(--bg-card-hover, rgba(255, 255, 255, .06))}.selected-track-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000061;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:none;cursor:pointer;opacity:0;transition:opacity .22s cubic-bezier(.16,1,.3,1),background .2s ease;color:#fff;padding:0;z-index:2}.selected-track-cover-wrap:hover .selected-track-play-overlay,.selected-track-play-overlay.is-playing,.selected-track-play-overlay:focus-visible{opacity:1}.selected-track-play-icon{width:46px;height:46px;border-radius:50%;background:#fffffff2;color:#0d0e12;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0006;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .2s ease,box-shadow .2s ease}.selected-track-play-overlay:hover .selected-track-play-icon{transform:scale(1.1);background:#fff;box-shadow:0 6px 22px #00000080}.selected-track-play-overlay.is-playing .selected-track-play-icon{background:var(--accent);color:var(--text-on-accent);box-shadow:0 0 18px var(--accent-glow, rgba(99, 102, 241, .5))}.selected-track-info{flex:1;min-width:0;display:flex;flex-direction:column}.selected-track-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.45rem}.selected-track-titles{min-width:0;flex:1}.selected-track-titles h2{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;margin:0 0 .2rem;line-height:1.22;color:var(--text);word-break:break-word}.selected-track-artist{font-size:.95rem;font-weight:500;color:var(--text-muted);margin:0}.selected-album{font-size:.85rem;color:var(--text-faint)!important;margin:.2rem 0 0}.selected-track-listen-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.48rem .95rem;border-radius:9999px;font-size:.83rem;font-weight:500;background:var(--bg-card-hover, rgba(255, 255, 255, .06));border:1px solid var(--border);color:var(--text);cursor:pointer;flex-shrink:0;transition:all .22s cubic-bezier(.16,1,.3,1)}.selected-track-listen-pill:hover{background:var(--border-hover, rgba(255, 255, 255, .12));border-color:var(--border-active, rgba(255, 255, 255, .24));transform:translateY(-1px)}.selected-track-listen-pill.is-playing{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow, rgba(99, 102, 241, .4))}.listen-pill-icon{font-size:.75rem;line-height:1}.listen-pill-waves{display:inline-flex;align-items:flex-end;gap:2.5px;height:13px;margin-left:2px}.wave-bar{width:2.5px;background:currentColor;border-radius:1px;animation:wavePulse .9s ease-in-out infinite alternate}.wave-bar.b1{height:5px;animation-delay:0s}.wave-bar.b2{height:13px;animation-delay:.2s}.wave-bar.b3{height:8px;animation-delay:.45s}@keyframes wavePulse{0%{height:3px}to{height:13px}}.enriching-banner{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:var(--radius-sm);background:var(--bg-card-hover, rgba(255, 255, 255, .04));border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));font-size:.78rem;color:var(--text-muted);margin-bottom:.65rem;width:fit-content;animation:fadeIn .25s cubic-bezier(.16,1,.3,1)}.enriching-banner.enrich-success{background:#22c55e1a;border-color:#22c55e4d;color:#22c55e}.enriching-spinner{width:12px;height:12px;border:2px solid var(--text-faint);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.enrich-check{font-weight:700;font-size:.85rem}.enriching-text{line-height:1.3}.detail-tag-skeleton{font-size:.75rem;color:var(--text-faint);font-style:italic;display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:9999px;background:#ffffff08;border:1px dashed var(--border-subtle)}.fieldset-highlight{border-color:var(--fieldset-highlight-border);background:var(--fieldset-highlight-bg)}.textarea-lg{min-height:100px;font-size:1rem}.details-toggle{align-self:flex-start;margin-bottom:.5rem}.btn-lg{padding:.75rem 1.5rem;font-size:.95rem}.song-card-cover{width:52px;height:52px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}.song-card-cover-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--text-faint);background:var(--bg-elevated)}.detail-header-main{display:flex;gap:1.15rem;align-items:flex-start;flex:1;min-width:0}.detail-header-text{flex:1;min-width:0}.detail-header-text h1{font-size:1.75rem}.detail-cover{width:120px;height:120px;border-radius:var(--radius);object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-cover-lg)}@media(max-width:640px){.selected-track{flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:1.25rem 1rem}.selected-track-top-row{flex-direction:column;align-items:center;text-align:center;gap:.75rem}.selected-track-info .detail-tags{justify-content:center}.detail-hero{flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1.15rem 1.35rem;gap:1.25rem;border-radius:24px;margin-bottom:1.5rem}.detail-hero-cover-container{display:flex;justify-content:center;width:100%}.detail-hero-cover-wrap{width:175px;height:175px;border-radius:22px;box-shadow:0 14px 34px #00000047}.detail-hero-cover-play{opacity:.95;transform:scale(1);width:44px;height:44px}.detail-hero-info{align-items:center;width:100%;gap:.75rem}.detail-hero-title{font-size:1.65rem}.detail-hero-artist{font-size:1.05rem}.detail-hero-tags{justify-content:center}.detail-hero-actions{flex-direction:column;width:100%;gap:.65rem;padding-top:.85rem;align-items:stretch}.detail-primary-actions{width:100%;display:flex;flex-direction:column;gap:.5rem}.detail-playback-split-pill{width:100%;display:flex}.detail-split-btn{flex:1;justify-content:center;padding:0 .75rem;font-size:.8125rem}.detail-secondary-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem}.detail-secondary-actions .detail-action-pill{width:100%;justify-content:center;padding:.5rem .25rem;font-size:.75rem;min-height:42px}.detail-secondary-actions .detail-action-pill span{font-size:.75rem}.detail-segmented-nav{border-radius:14px;padding:3px;gap:3px;margin-bottom:1.25rem}.detail-segment-btn{font-size:.8rem;padding:.55rem .25rem;min-height:42px}.detail-segment-btn svg{width:14px;height:14px}.diary-empty-card{flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1.15rem;gap:1rem;border-radius:20px}.diary-empty-prompts{justify-content:center}.diary-empty-cta{width:100%;justify-content:center}.diary-quote-text{font-size:1.2rem}.diary-card{padding:1.15rem 1.25rem;border-radius:18px}}.catalog-details-panel{padding:1rem 1.15rem}.catalog-details-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.catalog-details-header h2{margin-bottom:0}.catalog-sections{display:flex;flex-direction:column;gap:.5rem}.catalog-section{border:1px solid var(--glass-border);border-radius:20px;background:var(--glass-bg);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);overflow:hidden;transition:border-color .2s,background .2s}.catalog-section-summary h3{margin-bottom:0;font-size:.9rem;font-weight:600}.catalog-section-body{padding-top:0}.meta-grid-links{margin-top:.75rem}.meta-hint{font-size:.75rem;color:var(--text-faint);font-style:italic}.external-link{font-size:.9rem;color:var(--accent);word-break:break-all}.external-link:hover{text-decoration:underline}.catalog-extra-links{margin-top:1rem}.catalog-ai-tags{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.catalog-muted{font-size:.9rem;color:var(--text-muted);margin:0}.catalog-lyrics-excerpt{margin-top:.75rem;font-size:.85rem;color:var(--text-muted);white-space:pre-wrap}.source-table{width:100%;border-collapse:collapse;font-size:.85rem}.source-table th,.source-table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border)}.source-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.catalog-fetched-at{margin-top:.75rem;font-size:.8rem;color:var(--text-muted)}.catalog-refresh-row{margin-top:1rem}.artist-catalog-panel h2{margin-bottom:.75rem}.artist-catalog-desc{margin:.75rem 0 0;font-size:.9rem;color:var(--text-muted);line-height:1.5}.artist-catalog-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.discography-block{margin-bottom:1rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--discography-bg);border:1px solid var(--discography-border)}.discography-rows{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.discography-row{display:flex;flex-direction:column;gap:.1rem}.discography-kind{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.discography-value{font-size:.95rem}.catalog-mb-hint{margin-top:.5rem}.catalog-lastfm-hint code{font-size:.85em;color:var(--accent)}.artist-catalog-block{margin-top:.75rem}.discovery-panel{padding:1.5rem 1.75rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.discovery-panel-header h2{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;margin:0;color:var(--text)}.discovery-panel .discovery-sub{font-size:.825rem;color:var(--text-muted);margin:.25rem 0 1rem}.discovery-group-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:1rem 0 .5rem;font-weight:600}.discovery-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.discovery-link{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);text-decoration:none;transition:border-color .15s,background .15s}.discovery-link:hover{border-color:var(--discovery-link-hover-border);background:var(--discovery-link-hover-bg)}.discovery-link strong{font-size:.9rem;color:var(--text)}.discovery-link span{font-size:.78rem;color:var(--text-muted)}.discovery-link-external strong:after{content:" ↗";font-size:.75em;opacity:.5}.discovery-panel-header{margin-bottom:.25rem}.discovery-header-title-row{display:flex;align-items:center;justify-content:space-between}.discovery-count-pill{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border)}.discovery-source-link{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.discovery-source-link:hover{color:var(--accent)}.discovery-card-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:var(--bg-surface-elevated, var(--bg-elevated));border:1px solid var(--border-subtle);border-radius:14px;transition:all .18s cubic-bezier(.16,1,.3,1);position:relative}.discovery-card-row:hover{background:#ffffff0d;border-color:var(--accent-dim, rgba(255, 255, 255, .25));transform:translateY(-2px);box-shadow:0 6px 18px #00000040}[data-theme=light] .discovery-card-row{background:var(--bg-card)}[data-theme=light] .discovery-card-row:hover{background:#00000008;border-color:#00000026;box-shadow:0 4px 14px #00000014}.discovery-card-row.is-current-track{border-color:var(--accent);background:rgba(var(--accent-rgb, 99, 102, 241),.1);box-shadow:0 0 0 1px var(--accent),0 4px 16px rgba(var(--accent-rgb, 99, 102, 241),.18)}.discovery-card-media{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-elevated);box-shadow:0 2px 6px #0003;cursor:pointer}.discovery-card-cover{width:100%;height:100%;object-fit:cover;display:block}.discovery-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:var(--text-muted);background:linear-gradient(135deg,var(--bg-elevated),var(--bg-hover))}.discovery-play-btn{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;border:none;opacity:0;cursor:pointer;transition:opacity .18s ease,transform .15s ease,background .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.discovery-card-row:hover .discovery-play-btn,.discovery-play-btn.is-playing,.discovery-play-btn:focus-visible{opacity:1}.discovery-play-btn.is-playing{background:rgba(var(--accent-rgb, 99, 102, 241),.85)}.discovery-play-btn:hover{background:#000000b3;transform:scale(1.05)}.discovery-play-btn.is-playing:hover{background:rgba(var(--accent-rgb, 99, 102, 241),.95)}.discovery-eq-bars{display:flex;align-items:flex-end;gap:2.5px;height:14px}.discovery-eq-bars span{width:2.5px;background:#fff;border-radius:1px;animation:discovery-eq-anim .8s ease-in-out infinite alternate}.discovery-eq-bars span:nth-child(1){height:60%;animation-delay:0s}.discovery-eq-bars span:nth-child(2){height:100%;animation-delay:.2s}.discovery-eq-bars span:nth-child(3){height:40%;animation-delay:.4s}@keyframes discovery-eq-anim{0%{height:30%}to{height:100%}}.discovery-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem;text-decoration:none;cursor:pointer}.discovery-card-title{font-size:.89rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;letter-spacing:-.01em}.discovery-card-meta-line{display:flex;align-items:center;gap:.45rem;min-width:0}.discovery-card-artist{font-size:.77rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discovery-match-pill{font-size:.67rem;font-weight:700;letter-spacing:.02em;padding:.08rem .38rem;border-radius:999px;background:rgba(var(--accent-rgb, 99, 102, 241),.15);color:var(--accent);flex-shrink:0;border:1px solid rgba(var(--accent-rgb, 99, 102, 241),.25)}.discovery-in-library-pill{font-size:.67rem;font-weight:600;padding:.08rem .38rem;border-radius:999px;background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25);flex-shrink:0}.discovery-card-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.discovery-btn-action{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);padding:0}.discovery-btn-action:hover{color:var(--text);border-color:var(--text-muted);background:var(--bg-hover);transform:scale(1.08)}.discovery-btn-action:active{transform:scale(.92)}.discovery-btn-add{color:var(--accent);background:rgba(var(--accent-rgb, 99, 102, 241),.08);border-color:rgba(var(--accent-rgb, 99, 102, 241),.22)}.discovery-btn-add:hover{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 2px 10px rgba(var(--accent-rgb, 99, 102, 241),.35)}.discovery-btn-search:hover{color:var(--accent);border-color:var(--accent)}.discovery-btn-ext{opacity:.6}.discovery-btn-ext:hover{opacity:1}.discovery-spinner{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:discovery-spin .6s linear infinite;display:inline-block}@keyframes discovery-spin{to{transform:rotate(360deg)}}.discovery-artist-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:all .15s ease}.discovery-artist-row:hover{background:var(--bg-hover);border-color:var(--discovery-link-hover-border)}.discovery-artist-info{display:flex;flex-direction:column;gap:.1rem}.discovery-artist-info strong{font-size:.88rem;color:var(--text)}.discovery-artist-info span{font-size:.76rem;color:var(--text-muted)}.discovery-artist-actions{display:flex;align-items:center;gap:.35rem}.discovery-toast{position:fixed;bottom:calc(var(--player-h, 72px) + 1.25rem);left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:.85rem;padding:.75rem 1.15rem;background:var(--bg-elevated);border:1px solid var(--accent);border-radius:999px;box-shadow:0 12px 36px #0006,0 0 0 1px rgba(var(--accent-rgb, 99, 102, 241),.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:discovery-toast-in .25s cubic-bezier(.16,1,.3,1);max-width:90vw}@keyframes discovery-toast-in{0%{opacity:0;transform:translate(-50%,15px) scale(.95)}to{opacity:1;transform:translate(-50%) scale(1)}}.discovery-toast-content{display:flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:500;color:var(--text)}.discovery-toast-icon{width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.discovery-toast-actions{display:flex;align-items:center;gap:.4rem}.discovery-toast-btn{font-size:.76rem;font-weight:600;padding:.3rem .7rem;border-radius:999px;background:var(--accent);color:var(--text-on-accent);text-decoration:none;transition:all .15s ease}.discovery-toast-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.discovery-toast-btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}.discovery-toast-btn-secondary:hover{background:var(--bg-card)}.discovery-toast-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem;font-size:.9rem;border-radius:50%;transition:color .15s}.discovery-toast-close:hover{color:var(--text)}.discovery-search-modal{max-width:680px;max-height:min(86dvh,780px);display:flex;flex-direction:column;gap:.9rem}.discovery-search-modal .modal-header{margin-bottom:0}.discovery-search-input-wrap{position:relative;display:flex;align-items:center;gap:.55rem;background:var(--modal-surface);border:1px solid var(--modal-border);border-radius:12px;padding:.25rem .85rem;flex-shrink:0;transition:border-color .15s,box-shadow .15s,background .15s}.discovery-search-input-wrap .search-icon{position:static;flex-shrink:0}.discovery-search-input-wrap .search-spinner{flex-shrink:0}.discovery-search-input-wrap:focus-within{border-color:var(--accent);background:var(--modal-bg);box-shadow:0 0 0 3px var(--accent-glow)}.discovery-modal-input{flex:1;min-width:0;background:transparent;border:none;border-radius:0;outline:none;color:var(--text);font-size:.95rem;padding:.5rem 0}.discovery-modal-input:focus-visible{outline:none!important}.discovery-modal-error{color:var(--danger, #ef4444);font-size:.85rem;margin:0}.discovery-search-results-container{flex:1;min-height:120px;overflow-y:auto;overscroll-behavior:contain;border-radius:12px;padding-right:.15rem}.discovery-search-results-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.discovery-search-result-row{display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem;background:var(--modal-surface);border:1px solid var(--modal-border);border-radius:12px;transition:all .15s ease}.discovery-search-result-row:hover{background:var(--modal-surface-hover);border-color:var(--text-muted)}.discovery-result-artwork-wrap{position:relative;width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-elevated)}.discovery-result-cover{width:100%;height:100%;object-fit:cover;display:block}.discovery-result-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--text-muted);background:var(--bg-hover)}.discovery-result-preview-btn{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;border:none;cursor:pointer;transition:background .15s,transform .15s}.discovery-result-preview-btn:hover{background:#000000b3}.discovery-result-preview-btn.is-playing{background:rgba(var(--accent-rgb, 99, 102, 241),.85)}.discovery-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.discovery-result-title{font-size:.92rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discovery-result-artist{font-size:.8rem;color:var(--text-muted)}.discovery-result-album{font-size:.75rem;color:var(--text-faint);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discovery-result-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.discovery-add-btn{font-weight:600}.discovery-customize-btn{font-size:.75rem}.discovery-search-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.discovery-modal-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--modal-border);padding-top:.75rem;margin-top:.15rem;flex-shrink:0}.lyrics-mode-row{display:inline-flex;padding:3px;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);border-radius:9999px;gap:3px;margin-bottom:1.25rem;box-shadow:var(--glass-btn-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.lyrics-mode-row .btn{border:none;border-radius:9999px;padding:.35rem .95rem;font-size:.775rem;font-weight:500;color:var(--text-muted);background:transparent;cursor:pointer;transition:all .16s ease}.lyrics-mode-row .btn:hover{color:var(--text);background:var(--glass-btn-bg-hover)}.lyrics-mode-row .btn.btn-active{background:#ffffff29;color:#fff;font-weight:600;box-shadow:0 2px 8px #00000029}[data-theme=light] .lyrics-mode-row .btn.btn-active{background:#fff;color:#0f1015;box-shadow:0 2px 6px #00000014}.lyrics-sync-audio,.lyrics-sync-hint{margin-bottom:.75rem}.lyrics-sync-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.lyrics-sync-line{display:flex;gap:.75rem;padding:.25rem .35rem;border-radius:var(--radius-sm);font-size:.9rem}.lyrics-sync-line-active{background:var(--lyrics-active-bg)}.lyrics-sync-time{flex-shrink:0;font-size:.75rem;color:var(--text-faint);font-variant-numeric:tabular-nums;min-width:2.5rem}.lyrics-sync-text{color:var(--text-muted)}.lyrics-sync-line-active .lyrics-sync-text{color:var(--text);font-weight:500}.artist-grid-compact{grid-template-columns:1fr}.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem 1.25rem}.meta-row{display:flex;flex-direction:column;gap:.15rem}.meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.meta-value{font-size:.9rem;color:var(--text)}.meta-tags{margin-top:1.25rem;display:flex;flex-direction:column;gap:.5rem}.meta-tag-list{display:flex;flex-wrap:wrap;gap:.35rem}.meta-preview{margin-top:1.25rem;display:flex;flex-direction:column;gap:.5rem}.audio-preview{width:100%;height:36px;border-radius:var(--radius-sm)}.artist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.artist-card{display:flex;align-items:center;gap:.85rem;padding:.65rem 1.15rem .65rem .65rem;height:68px;min-height:68px;max-height:68px;box-sizing:border-box;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:9999px;box-shadow:var(--glass-shadow),var(--glass-rim);cursor:pointer;text-decoration:none;transition:border-color .25s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background .25s;overflow:hidden}.artist-card:hover{transform:translateY(-2px);border-color:#ffffff47;background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover),var(--glass-rim)}[data-theme=light] .artist-card:hover{border-color:#00000026}.artist-card:active{transform:scale(.98)}.artist-card-cover{width:50px;height:50px;min-width:50px;min-height:50px;border-radius:50%!important;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.16);box-shadow:0 4px 14px #00000059;transition:transform .35s cubic-bezier(.16,1,.3,1)}[data-theme=light] .artist-card-cover{border:2px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014}.artist-card:hover .artist-card-cover{transform:scale(1.05)}.artist-card-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-family:var(--font-serif);font-weight:600;color:var(--accent);background:var(--accent-glow)}.artist-card-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.artist-card-name{font-size:.935rem;font-weight:600;color:var(--text);margin:0;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-card-meta{font-size:.775rem;color:var(--text-muted);margin:0;line-height:1.2;display:flex;align-items:center;gap:.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-card-dot{opacity:.45;font-size:.75rem}.artist-card-genre{color:var(--accent);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-link{color:var(--text-muted);transition:color .15s}.artist-link:hover{color:var(--accent)}.page.artist-detail{position:relative;max-width:860px;margin:0 auto;padding-bottom:5rem}.artist-content-area{display:flex;flex-direction:column}.artist-bio-stack{display:flex;flex-direction:column;gap:1.75rem}.artist-detail .detail-section+.detail-section{margin-top:1.75rem}.artist-catalog-panel,.artist-songs-section{padding:1.75rem 2rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;overflow:hidden}.artist-hero{display:flex;gap:1.75rem;align-items:center;margin:1rem 0 2rem;padding:2rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:28px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.artist-hero-cover{width:120px;height:120px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-cover-lg)}.artist-hero-info h1{margin-bottom:.35rem}.artist-hero-sub{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}.ai-teaser{padding:1.25rem;background:var(--ai-teaser-bg);border:1px dashed var(--border);border-radius:var(--radius)}.ai-teaser p{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}.insight-panel{padding:1.75rem 2rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;overflow:hidden}.insight-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-subtle)}.insight-header-title-group h2{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;color:var(--text);margin:0;line-height:1.2}.insight-subtitle{display:block;font-size:.8rem;color:var(--text-faint);margin-top:.25rem}.insight-intro{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem;line-height:1.5}.insight-sections{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem;margin-bottom:1.25rem}.insight-block{padding:1.15rem 1.35rem;background:#ffffff06;border:1px solid var(--border-subtle);border-radius:18px;transition:border-color .18s,background .18s,transform .18s}[data-theme=light] .insight-block{background:#00000005}.insight-block:hover{border-color:#ffffff26;background:#ffffff0a}[data-theme=light] .insight-block:hover{border-color:#0000001f;background:#00000009}.insight-block h3{font-family:var(--font-serif);font-size:1.05rem;font-weight:600;color:var(--accent);margin:0 0 .45rem}.insight-block p.prose{font-size:.925rem;color:var(--text-muted);line-height:1.7;margin:0}.insight-block-highlight{background:linear-gradient(135deg,#eab30814,#eab30805);border:1px solid rgba(234,179,8,.35);box-shadow:0 4px 20px #eab3080f}[data-theme=light] .insight-block-highlight{background:linear-gradient(135deg,#d9770614,#d9770605);border-color:#d9770659}.insight-block-highlight h3{color:#fbbf24}[data-theme=light] .insight-block-highlight h3{color:#b45309}.insight-block-highlight p.prose{color:var(--text);font-weight:450}.insight-manual-card{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.35rem 1.6rem;background:#ffffff08;border:1px dashed var(--border-subtle);border-radius:18px;margin-top:1rem}[data-theme=light] .insight-manual-card{background:#00000005}.insight-manual-info h3{font-size:1.05rem;font-weight:600;margin:0 0 .35rem;color:var(--text)}.insight-manual-info p{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.45}.insight-manual-btn{flex-shrink:0;white-space:nowrap}@media(max-width:600px){.insight-manual-card{flex-direction:column;align-items:stretch;text-align:left}}.library-jev-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:500;color:var(--accent);background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);border-radius:9999px;padding:.22rem .65rem;white-space:nowrap;flex-shrink:0}.ai-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .65rem;border-radius:9999px;background:var(--glass-btn-bg);color:var(--accent);border:1px solid var(--glass-btn-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.insight-footer-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.insight-regenerate-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .95rem;border-radius:9999px;font-size:.78rem;color:var(--text-muted);border:1px solid var(--border-subtle);background:var(--glass-btn-bg);transition:all .16s ease}.insight-regenerate-btn:hover{color:var(--text);border-color:var(--border);background:var(--glass-btn-bg-hover)}.lyrics-panel{padding:1.75rem 2rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;overflow:hidden}.lyrics-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-subtle)}.lyrics-header h2{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;color:var(--text);margin:0;line-height:1.2}.lyrics-pinned-notice{display:inline-flex;align-items:center;gap:.45rem;margin-top:.4rem;padding:.3rem .8rem;border-radius:9999px;font-size:.8rem;font-weight:500;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(255,255,255,.12)}.lyrics-pinned-icon{font-size:.75rem;color:var(--accent)}.lyrics-pinned-notice em{font-style:italic;color:var(--text)}.lyrics-source{font-size:.68rem;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;padding:.25rem .65rem;border-radius:9999px;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border)}.lyrics-body{font-size:.95rem;line-height:1.8;color:var(--text-muted);white-space:pre-wrap;max-height:none}.lyrics-toggle{margin-top:1rem;border-radius:9999px;padding:.45rem 1.15rem;font-size:.825rem;font-weight:500;color:var(--text-muted);border:1px solid var(--border-subtle);background:var(--glass-btn-bg);transition:all .16s ease}.lyrics-toggle:hover{color:var(--text);border-color:var(--border);background:var(--glass-btn-bg-hover)}.lyrics-status{color:var(--text-faint);font-size:.85rem}.platform-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem}@media(max-width:600px){.artist-hero{flex-direction:column;align-items:center;text-align:center}.artist-hero .detail-tags{justify-content:center}}.page-stats{display:flex;align-items:center;gap:.45rem;flex-shrink:0;padding:.45rem .75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:999px;font-size:.78rem;color:var(--text-muted)}.page-stat strong{color:var(--accent);font-weight:600}.page-stat-muted{color:var(--text-faint);font-weight:400}.page-stat-sep{color:var(--text-faint)}.library-header-actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.library .filters-bar{padding:.65rem .75rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.library .duplicate-banner{border-radius:var(--radius-lg);font-size:.85rem}.timeline-chapter{position:relative;margin-bottom:var(--space-xl)}.timeline-chapter:last-child{margin-bottom:0}.timeline-chapter-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:.85rem 1.35rem;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);border-radius:9999px;box-shadow:0 4px 18px #0000001f,inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.timeline-chapter-label{display:flex;align-items:baseline;gap:.6rem;min-width:0}.timeline-chapter-month{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;color:var(--text);line-height:1.1;letter-spacing:-.01em}.timeline-chapter-year{font-size:.9rem;font-weight:500;color:var(--text-faint);letter-spacing:.04em}.timeline-chapter-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.timeline-chapter-covers{display:flex;align-items:center}.timeline-chapter-cover{width:28px;height:28px;border-radius:6px;object-fit:cover;border:2px solid var(--bg-card);box-shadow:var(--shadow-sm);margin-left:-8px}.timeline-chapter-cover:first-child{margin-left:0}.timeline-chapter-count{font-size:.75rem;font-weight:500;color:var(--text-faint);white-space:nowrap}.timeline-entries{list-style:none;margin:0;padding:0;position:relative}.timeline-entries:before{content:"";position:absolute;left:26px;transform:translate(-50%);top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(180deg,var(--accent-dim),var(--border) 10%,var(--border) 90%,transparent);border-radius:1px;z-index:1}.timeline-day-group{position:relative;display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.75rem}.timeline-day-group:last-child{margin-bottom:0}.timeline-day-songs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;flex:1;min-width:0}.timeline-entry{margin-bottom:0}.timeline-marker{position:-webkit-sticky;position:sticky;top:5rem;align-self:flex-start;width:52px;flex-shrink:0;z-index:3;display:flex;justify-content:center;padding-top:.35rem}.timeline-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;padding:.4rem .45rem;border-radius:12px;background:var(--bg-surface-elevated, var(--bg-elevated));border:1px solid var(--border);box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff0f;-webkit-user-select:none;user-select:none;text-align:center;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s}[data-theme=light] .timeline-date-badge{background:#fff;border-color:#0000001f;box-shadow:0 4px 14px #00000014,inset 0 1px #fff}.timeline-day-group:hover .timeline-date-badge,.timeline-day-group:has(.is-current-track) .timeline-date-badge{border-color:var(--accent);box-shadow:0 4px 16px var(--accent-glow),0 0 0 1px var(--accent-dim)}.timeline-day-num{font-size:1.15rem;font-weight:700;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.timeline-day-week{font-size:.65rem;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-top:3px}.timeline-entry-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.15rem;padding:.95rem 1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);min-width:0;cursor:pointer;position:relative}.timeline-entry-card:hover{border-color:var(--accent-dim);background:var(--glass-bg-hover);transform:translate(4px);box-shadow:0 14px 32px #00000052,inset 0 1px 0 var(--glass-rim)}.timeline-entry.is-current-track .timeline-entry-card{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim),0 8px 24px var(--accent-glow)}.timeline-entry-cover-wrap{position:relative;width:68px;height:68px;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 4px 12px #00000047;background:var(--bg-elevated)}.timeline-entry-cover{width:100%;height:100%;object-fit:cover;transition:transform .3s cubic-bezier(.16,1,.3,1);display:block}.timeline-entry-card:hover .timeline-entry-cover{transform:scale(1.05)}.timeline-entry-cover-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-faint);background:var(--bg-elevated)}.timeline-entry-body{min-width:0;display:flex;flex-direction:column;gap:.3rem}.timeline-entry-head{display:flex;flex-direction:column;gap:.15rem}.timeline-entry-title{font-size:1.02rem;font-weight:600;color:var(--text);line-height:1.3;margin:0;display:flex;align-items:center;gap:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-entry-card:hover .timeline-entry-title{color:var(--accent)}.timeline-entry-meta{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-artist-link{color:var(--text-muted);text-decoration:none;font-weight:500;transition:color .15s}.timeline-artist-link:hover{color:var(--accent);text-decoration:underline}.timeline-meta-sep{color:var(--text-faint);opacity:.6}.timeline-entry-album{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-entry-year{color:var(--text-faint);font-variant-numeric:tabular-nums}.timeline-entry-lyric{margin:.15rem 0 0;font-family:var(--font-serif);font-size:.92rem;font-style:italic;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.timeline-quote-mark{color:var(--accent);font-weight:600;font-size:1.1em}.timeline-entry-feeling{margin:.15rem 0 0;font-size:.85rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.timeline-feeling-icon{font-style:normal;margin-right:.2rem}.timeline-entry-meaning{margin:.15rem 0 0;font-size:.85rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.timeline-entry-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}.timeline-entry-aside{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.timeline-entry-duration{font-size:.82rem;font-weight:500;color:var(--text-faint);font-variant-numeric:tabular-nums}.timeline-entry-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);color:var(--text-faint);transition:all .2s cubic-bezier(.16,1,.3,1)}.timeline-entry-card:hover .timeline-entry-action-btn{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);transform:translate(2px);box-shadow:0 4px 12px var(--accent-glow)}@media(max-width:640px){.timeline-page .page-header,.library .page-header,.connections-page .page-header,.artists-page .page-header,.compilations .page-header{flex-direction:column;align-items:stretch}.library-header-actions{flex-wrap:wrap}.page-stats{align-self:flex-start}.timeline-chapter-header{flex-direction:row;align-items:center;justify-content:space-between;gap:.65rem;padding:.65rem 1rem;border-radius:9999px;margin-bottom:1rem}.timeline-chapter-month{font-size:1.25rem}.timeline-chapter-year{font-size:.82rem}.timeline-entries{padding-left:0}.timeline-entries:before{left:18px}.timeline-day-group{gap:.6rem;margin-bottom:1.25rem}.timeline-marker{top:4.25rem;width:36px;padding-top:.15rem}.timeline-date-badge{min-width:34px;padding:.25rem .3rem;border-radius:10px}.timeline-day-num{font-size:.9rem}.timeline-day-week{font-size:.56rem}.timeline-entry-card{grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.75rem;padding:.75rem}.timeline-entry-aside{display:none}.timeline-entry-cover-wrap{width:52px;height:52px;border-radius:10px}.timeline-entry-meta{flex-wrap:wrap;white-space:normal;line-height:1.3}}.concept-picker-section{margin-bottom:var(--space-lg)}.concept-picker-title{font-size:1rem;margin-bottom:.2rem}.concept-picker-hint{font-size:.8rem;color:var(--text-faint);margin-bottom:.75rem}.concept-picker{display:flex;flex-wrap:wrap;gap:.45rem}.concept-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .75rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.8125rem;cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.concept-chip:hover{border-color:var(--accent-dim);color:var(--text)}.concept-chip.active{border-color:var(--accent);background:var(--accent-glow);color:var(--accent);box-shadow:var(--shadow-card-hover)}.concept-chip-count{font-size:.68rem;font-weight:600;padding:.1rem .4rem;border-radius:100px;background:var(--bg-elevated);color:var(--text-faint)}.concept-chip.active .concept-chip-count{background:var(--bg-card);color:var(--accent)}.concept-chip-mood.active,.concept-chip-theme.active{border-color:var(--tag-mood-border);background:var(--tag-mood-bg);color:var(--accent)}.concept-chip-genre.active{border-color:var(--tag-genre-border);background:var(--tag-genre-bg);color:var(--tag-genre-color)}.concept-chip-style.active{border-color:var(--tag-nation-border);background:var(--tag-nation-bg);color:var(--tag-nation-color)}.concept-chip-language.active,.concept-chip-era.active,.concept-chip-setting.active,.concept-chip-nation.active{border-color:var(--ai-context-border);background:var(--ai-context-bg);color:var(--purple-muted)}.concept-hub{margin-bottom:var(--space-xl);padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.concept-hub-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.concept-hub-kind{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:.25rem}.concept-hub-header h2{font-family:var(--font-serif);font-size:1.75rem;margin-bottom:0;color:var(--accent)}.concept-hub-count{font-size:.85rem;color:var(--text-muted)}.concept-hub-graph{display:flex;justify-content:center;overflow-x:auto}.hub-svg{width:100%;max-width:520px;height:auto;display:block}.hub-svg-bg{fill:var(--bg-elevated)}.hub-edge{stroke:var(--accent-dim);stroke-width:1.5;stroke-linecap:round;opacity:.45}.hub-concept-bg{fill:var(--tag-mood-bg);stroke:var(--tag-mood-border);stroke-width:2}.kg-concept-genre .hub-concept-bg{fill:var(--tag-genre-bg);stroke:var(--tag-genre-border)}.kg-concept-theme .hub-concept-bg{fill:var(--tag-year-bg);stroke:var(--tag-year-border)}.kg-concept-style .hub-concept-bg{fill:var(--tag-nation-bg);stroke:var(--tag-nation-border)}.kg-concept-language .hub-concept-bg,.kg-concept-era .hub-concept-bg,.kg-concept-setting .hub-concept-bg,.kg-concept-nation .hub-concept-bg{fill:var(--ai-context-bg);stroke:var(--ai-context-border)}.hub-concept-kind{fill:var(--text-muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-sans)}.hub-concept-label{fill:var(--accent);font-size:14px;font-weight:600;font-family:var(--font-serif)}.kg-concept-genre .hub-concept-label{fill:var(--tag-genre-color)}.kg-concept-theme .hub-concept-label{fill:var(--tag-year-color)}.hub-song{cursor:pointer}.hub-song-ring{fill:none;stroke:var(--border);stroke-width:2;pointer-events:none;transition:stroke .15s}.hub-song:hover .hub-song-ring{stroke:var(--accent);stroke-width:2.5}.hub-song-placeholder{fill:var(--accent-glow);stroke:var(--accent-dim);stroke-width:1.5}.hub-song-label{fill:var(--text-muted);font-size:9px;font-family:var(--font-sans);pointer-events:none}.hub-song-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem}.hub-song-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.hub-song-card:hover{border-color:var(--accent-dim);box-shadow:var(--shadow-card-hover)}.hub-song-card-cover{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.hub-song-card-placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent-glow);color:var(--accent)}.hub-song-card-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.hub-song-card-text strong{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-song-card-text span{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connections-strong-section{margin-top:var(--space-lg)}.connections-list-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.connections-list-header h2{margin-bottom:0;font-size:1rem}.connections-list-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;font-size:.68rem;font-weight:600;color:var(--accent);background:var(--accent-glow);border:1px solid var(--tag-mood-border);border-radius:100px}.connections-empty{display:flex;flex-direction:column;gap:.65rem;align-items:flex-start;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.connections-empty-title{font-family:var(--font-serif);font-size:1.05rem;color:var(--text)}.connection-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.connection-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.connection-card{padding:1.15rem 1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color .15s,box-shadow .15s,background .15s,transform .15s}.connection-card:hover{border-color:var(--accent-dim);background:var(--glass-bg-hover);transform:translateY(-2px);box-shadow:0 16px 36px #00000059,inset 0 1px 0 var(--glass-rim)}.connection-card-compact .connection-card-meta{padding-top:.65rem;border-top:1px solid var(--border-subtle);margin-top:.65rem}.connection-card-songs{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center}.connection-song{display:flex;align-items:center;gap:.65rem;min-width:0;transition:opacity .15s}.connection-song:hover{opacity:.85}.connection-song-right{flex-direction:row-reverse;text-align:right}.connection-song-cover{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}.connection-song-cover-placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent-glow);color:var(--accent);font-size:1rem}.connection-song-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.connection-song-text strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-song-text span{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-bridge{display:flex;align-items:center;gap:.35rem;flex-shrink:0;color:var(--text-faint)}.connection-bridge-line{width:12px;height:1px;background:var(--border)}.connection-bridge-icon{font-size:.85rem;color:var(--accent-dim)}.connection-card-meta{display:flex;flex-direction:column;gap:.5rem}.connection-strength{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.connection-strength-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.connection-strength-dots{display:flex;gap:.25rem}.connection-strength-dot{width:18px;height:4px;border-radius:100px;background:var(--border)}.connection-strength-dot.active{background:linear-gradient(90deg,var(--metric-energy-from),var(--metric-energy-to))}.connection-reasons{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}.connection-reason{font-size:.68rem;padding:.2rem .55rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted)}.connection-reason-mood,.connection-reason-theme{background:var(--tag-mood-bg);color:var(--accent);border-color:var(--tag-mood-border)}.connection-reason-genre{background:var(--tag-genre-bg);color:var(--tag-genre-color);border-color:var(--tag-genre-border)}.connection-reason-style{background:var(--tag-nation-bg);color:var(--tag-nation-color);border-color:var(--tag-nation-border)}.connection-reason-language,.connection-reason-era,.connection-reason-setting,.connection-reason-nation{background:var(--ai-context-bg);color:var(--purple-muted);border-color:var(--ai-context-border)}@media(max-width:600px){.connection-card-songs{grid-template-columns:1fr;gap:.65rem}.connection-song,.connection-song-right{flex-direction:row;text-align:left}.connection-bridge{justify-content:center}.connection-bridge-line{width:24px}.connection-list-grid{grid-template-columns:1fr}}.muted-text{color:var(--text-muted);font-size:.9rem}.related-songs{padding:1.25rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.related-songs h2{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;margin-bottom:.85rem;color:var(--text)}.related-songs .related-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;padding:0;margin:0}.related-item{border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface-elevated, var(--bg-elevated));transition:border-color .18s,transform .18s,box-shadow .18s;overflow:hidden}.related-item:hover{border-color:var(--accent-dim);transform:translateY(-2px);box-shadow:0 6px 18px #00000040}.related-link{display:flex;gap:.85rem;padding:.85rem 1rem;align-items:center;text-decoration:none;color:var(--text)}.related-cover{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px #0003}.related-link strong{display:block;font-size:.9rem;font-weight:600;line-height:1.25;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-link span{display:block;font-size:.78rem;color:var(--text-muted);margin-top:2px}.related-link em{display:block;font-size:.72rem;color:var(--accent);font-style:normal;margin-top:3px;letter-spacing:.02em}.duplicate-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;margin-bottom:1.25rem;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);font-size:.9rem}.duplicate-banner a{color:var(--accent);text-decoration:underline}.library-duplicate-card{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 1.35rem;margin-bottom:1.5rem;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);border-radius:16px;box-shadow:0 4px 20px #00000014;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);animation:modal-fade-in .25s ease-out}.library-duplicate-info{display:flex;align-items:center;gap:.85rem}.library-duplicate-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#eab30824;color:#eab308;font-size:1.2rem;flex-shrink:0}.library-duplicate-info strong{display:block;font-size:.95rem;font-weight:600;color:var(--text)}.library-duplicate-info p{margin:.15rem 0 0;font-size:.8rem;color:var(--text-muted)}.library-duplicate-actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}@media(max-width:640px){.library-duplicate-card{flex-direction:column;align-items:flex-start}.library-duplicate-actions{width:100%;justify-content:flex-end}}.duplicates-modal{max-width:720px}.duplicates-empty-state{text-align:center;padding:3rem 1.5rem}.duplicates-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#22c55e26;color:#22c55e;font-size:1.6rem;font-weight:700;margin-bottom:1rem}.duplicates-top-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:rgba(var(--accent-rgb, 99, 102, 241),.08);border:1px solid rgba(var(--accent-rgb, 99, 102, 241),.2);border-radius:14px;margin-bottom:1.25rem}.duplicates-top-text strong{display:block;font-size:.92rem;color:var(--text)}.duplicates-top-text span{font-size:.78rem;color:var(--text-muted)}.duplicates-group-list{display:flex;flex-direction:column;gap:1.25rem}.duplicate-group-card{background:var(--modal-surface);border:1px solid var(--modal-border);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.duplicate-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--border-subtle)}.duplicate-group-title{display:block;font-size:1rem;font-weight:600;color:var(--text)}.duplicate-group-artist{font-size:.82rem;color:var(--text-muted)}.duplicate-badge{font-size:.72rem;font-weight:600;color:#eab308;background:#eab3081f;padding:.2rem .55rem;border-radius:9999px;white-space:nowrap}.duplicate-copies-list{display:flex;flex-direction:column;gap:.5rem}.duplicate-copy-item{display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem;border:1px solid var(--modal-border);border-radius:12px;background:var(--modal-bg);cursor:pointer;transition:all .15s ease}.duplicate-copy-item:hover{background:var(--modal-surface-hover);border-color:var(--text-muted)}.duplicate-copy-item.is-selected{border-color:var(--accent);background:rgba(var(--accent-rgb, 99, 102, 241),.06)}.duplicate-copy-radio{cursor:pointer;accent-color:var(--accent)}.duplicate-copy-cover{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}.duplicate-copy-cover-placeholder{width:44px;height:44px;border-radius:8px;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--text-muted);flex-shrink:0}.duplicate-copy-details{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.duplicate-copy-meta strong{display:block;font-size:.88rem;color:var(--text)}.duplicate-copy-meta small{font-size:.76rem;color:var(--text-muted)}.duplicate-copy-tags{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dup-chip{font-size:.68rem;font-weight:500;padding:.15rem .45rem;border-radius:6px;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);color:var(--text-muted)}.dup-chip-recommended{background:rgba(var(--accent-rgb, 99, 102, 241),.15);border-color:var(--accent);color:var(--accent);font-weight:600}.dup-chip-diary{background:#f59e0b1f;color:#f59e0b}.dup-chip-lyrics{background:#0ea5e91f;color:#0ea5e9}.dup-chip-jev{background:rgba(var(--cover-rgb-c),.15);color:var(--text)}.dup-chip-plays{background:#22c55e1f;color:#22c55e}.duplicate-group-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.5rem}.duplicate-group-hint{font-size:.725rem;color:var(--text-faint);line-height:1.35}.ai-tags-section{padding:1.25rem 1.35rem;background:#ffffff06;border:1px solid var(--border-subtle);border-radius:18px;margin-bottom:1.25rem}[data-theme=light] .ai-tags-section{background:#00000005}.ai-tags-heading{font-size:.725rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:.75rem}.ai-tags{display:flex;flex-direction:column;gap:.75rem}.ai-tags-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.ai-tags-meta{display:flex;flex-direction:column;gap:.75rem;margin-top:.35rem}.ai-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem}.ai-metric{padding:.75rem .95rem;border-radius:14px;border:1px solid var(--glass-btn-border);background:var(--glass-btn-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-btn-shadow);transition:all .18s ease}.ai-metric:hover{background:var(--glass-btn-bg-hover);border-color:var(--glass-btn-border-hover)}.ai-metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.ai-metric-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.ai-metric-value{font-size:.85rem;font-weight:600;color:var(--text)}.ai-metric-scale{display:flex;gap:.25rem}.ai-metric-step{flex:1;height:5px;border-radius:9999px;background:#ffffff14;transition:background .18s ease}[data-theme=light] .ai-metric-step{background:#00000014}.ai-metric-energy .ai-metric-step-active{background:linear-gradient(90deg,#f59e0b,#ef4444);box-shadow:0 0 8px #f59e0b66}.ai-metric-valence .ai-metric-step-active{background:linear-gradient(90deg,rgba(var(--cover-rgb-a),.92),rgba(var(--cover-rgb-c),.88));box-shadow:0 0 8px rgba(var(--cover-rgb-a),.35)}.ai-metric-source{display:block;margin-top:.4rem;font-size:.65rem;color:var(--text-faint);letter-spacing:.02em}.ai-tags-provenance{font-size:.7rem;color:var(--text-faint);margin:0}.ai-context-source{font-style:normal;opacity:.75;font-size:.65rem}.ai-context{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.ai-context-pill{display:inline-flex;align-items:center;gap:.35rem;height:26px;padding:0 .75rem;border-radius:9999px;font-size:.725rem;font-weight:500;line-height:1;box-sizing:border-box;background:var(--glass-btn-bg);color:var(--text-muted);border:1px solid var(--glass-btn-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .16s ease}.ai-context-pill:hover{color:var(--text);border-color:var(--glass-btn-border-hover)}.ai-tags-compact .ai-tags-meta{display:none}.ai-tags-compact{margin-top:.35rem}.song-picker-content{display:flex;flex-direction:column;gap:.15rem;flex:1}.field-hint{font-size:.8rem;color:var(--text-faint);margin-top:.35rem}@keyframes page-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page{animation:page-fade-in .35s cubic-bezier(.16,1,.3,1) backwards}@keyframes skeleton-pulse{0%{background-color:var(--border-subtle);opacity:.6}50%{background-color:var(--bg-hover);opacity:1}to{background-color:var(--border-subtle);opacity:.6}}.skeleton{animation:skeleton-pulse 1.8s ease-in-out infinite;background-color:var(--bg-hover);border-radius:var(--radius-sm);display:inline-block}.skeleton-text{height:.85rem;margin-bottom:.5rem;width:100%}.skeleton-text:last-child{margin-bottom:0;width:75%}.skeleton-title{height:1.25rem;margin-bottom:.75rem;width:50%}.skeleton-circle{border-radius:50%;flex-shrink:0}.lyrics-skeleton{display:flex;flex-direction:column;gap:.6rem;padding:.25rem 0}.insight-skeleton{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.insight-skeleton-block{padding:.75rem 0;border-bottom:1px solid var(--border-subtle)}.insight-skeleton-block:last-child{border-bottom:none}.discovery-skeleton-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;margin-top:.85rem}.discovery-skeleton-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface-elevated, var(--bg-elevated))}.meta-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-top:.75rem}.meta-skeleton-row{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}.btn,.quick-nav-item,.mini-card,.search-result,.bottom-nav-item{transition:all .2s cubic-bezier(.16,1,.3,1)}.song-card,.mini-card,.comp-card,.artist-card{transition:border-color .25s,background-color .25s,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .25s}.song-card:hover{transform:translateY(-2px);border-color:var(--accent-dim);background-color:var(--bg-hover)}.mini-card:hover{transform:translateY(-4px);border-color:var(--accent-dim);background-color:var(--bg-hover)}.comp-card:hover{transform:translateY(-3px);border-color:var(--accent-dim);background-color:var(--bg-hover)}.song-card-cover,.mini-card-cover,.artist-card-cover,.detail-cover,.related-cover{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}.song-card:hover .song-card-cover,.mini-card:hover .mini-card-cover{transform:scale(1.05)}.detail-cover{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}.detail-cover:hover{transform:scale(1.03);box-shadow:var(--shadow-cover-lg)}.timeline-chapter-covers{display:flex;align-items:center;transition:gap .25s cubic-bezier(.16,1,.3,1)}.timeline-chapter-header:hover .timeline-chapter-covers{gap:.35rem}.timeline-chapter-cover{transition:transform .25s cubic-bezier(.16,1,.3,1)}.timeline-chapter-header:hover .timeline-chapter-cover:nth-child(2){transform:translate(4px) scale(1.05)}.timeline-chapter-header:hover .timeline-chapter-cover:nth-child(3){transform:translate(8px) scale(1.1)}.custom-audio-player-wrap{width:100%}.custom-audio-player{display:flex;align-items:center;gap:.85rem;padding:.45rem .85rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:9999px;width:100%;box-shadow:var(--glass-shadow),var(--glass-rim);box-sizing:border-box}[data-theme=light] .custom-audio-player{background:#ffffffe0;border-color:#00000014;box-shadow:0 2px 12px #0000000a,inset 0 1px #fff}.player-play-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:#fff;color:#0f1015;cursor:pointer;flex-shrink:0;box-shadow:0 2px 8px #00000040,inset 0 1px #fff;transition:transform .15s cubic-bezier(.16,1,.3,1),background-color .15s}[data-theme=light] .player-play-btn{background:#0f1015;color:#fff;box-shadow:0 2px 8px #0f101533,inset 0 1px #fff3}.player-play-btn:hover{transform:scale(1.08)}.player-play-btn:active{transform:scale(.94)}.player-time{font-size:.72rem;font-weight:500;color:var(--text-muted);width:2.2rem;text-align:center;font-variant-numeric:tabular-nums}.player-progress-wrap{position:relative;flex:1;display:flex;align-items:center;height:24px;cursor:pointer;padding:0 4px}.player-progress-track{position:relative;width:100%;height:4px;border-radius:9999px;background:#ffffff24;transition:height .15s ease}[data-theme=light] .player-progress-track{background:#0000001a}.player-progress-wrap:hover .player-progress-track{height:6px}.player-progress-fill{position:absolute;top:0;left:0;height:100%;border-radius:9999px;background:var(--text);pointer-events:none}.player-progress-thumb{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--text);box-shadow:0 2px 6px #0006;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease;pointer-events:none}.player-progress-wrap:hover .player-progress-thumb{transform:translate(-50%,-50%) scale(1)}.player-mini-wave{display:flex;align-items:flex-end;gap:2px;width:14px;height:12px;flex-shrink:0;padding-bottom:1px}.wave-bar{flex:1;background:var(--accent);border-radius:100px;animation:wave-bounce 1s ease-in-out infinite alternate}.bar-1{height:30%;animation-delay:-.2s}.bar-2{height:90%;animation-delay:-.5s}.bar-3{height:60%;animation-delay:-.8s}@keyframes wave-bounce{0%{height:20%}to{height:100%}}.lyrics-sync-list{display:flex;flex-direction:column;gap:1.25rem;padding-block:min(200px,35vh)!important;padding-inline:1rem!important;max-height:460px;overflow-y:auto;scroll-behavior:smooth;mask-image:linear-gradient(to bottom,transparent 0%,white 15%,white 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,white 15%,white 85%,transparent 100%)}.lyrics-sync-line{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:.6rem 1.2rem;font-size:1.2rem;font-weight:600;color:var(--text-muted);cursor:pointer;opacity:.4;filter:blur(.5px);transition:all .35s cubic-bezier(.16,1,.3,1);border-radius:var(--radius);outline:none;-webkit-user-select:none;user-select:none}.lyrics-sync-line .lyrics-pin-btn{position:absolute;right:1rem}.lyrics-sync-line:hover{opacity:.8;filter:blur(0);background:var(--bg-hover)}.lyrics-sync-line-active{font-size:1.55rem;font-weight:700;color:var(--text);opacity:1;filter:blur(0);transform:scale(1.03);text-shadow:0 2px 16px rgba(255,255,255,.15)}[data-theme=light] .lyrics-sync-line-active{text-shadow:0 2px 12px rgba(0,113,227,.18)}.lyrics-sync-time{display:none!important}.ambient-glow{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-width-wide);height:340px;background:radial-gradient(circle 280px at 50% 0%,var(--gradient-body-a),transparent 85%),radial-gradient(circle 220px at 80% 40px,var(--gradient-body-b),transparent 75%);opacity:.85;pointer-events:none;z-index:-1;filter:blur(40px)}.detail-tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--border);margin-bottom:var(--space-lg);padding-bottom:.25rem}.detail-tab-btn{background:transparent;border:none;padding:.5rem .25rem;font-size:.95rem;font-weight:500;color:var(--text-muted);cursor:pointer;position:relative;transition:color .2s;outline:none}.detail-tab-btn:hover{color:var(--text)}.detail-tab-btn.active{color:var(--text);font-weight:600}.detail-tab-btn.active:after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:2px;background:var(--text);border-radius:100px}@keyframes gap-eq-1{0%,to{height:4px}50%{height:16px}}@keyframes gap-eq-2{0%,to{height:14px}50%{height:6px}}@keyframes gap-eq-3{0%,to{height:8px}50%{height:18px}}@keyframes gap-eq-4{0%,to{height:16px}50%{height:5px}}@keyframes gap-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes gap-slide-up-mobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes vinyl-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progressive-blur-dock{position:fixed;bottom:0;left:0;right:0;height:140px;pointer-events:none;z-index:95;background:linear-gradient(to top,var(--bg) 0%,rgba(7,9,14,.72) 42%,transparent 100%);transform:translateZ(0);-webkit-transform:translate3d(0,0,0)}[data-theme=light] .progressive-blur-dock{background:linear-gradient(to top,var(--bg) 0%,rgba(243,244,247,.72) 42%,transparent 100%)}.app:not(.has-active-player) .progressive-blur-dock{display:none}@media(max-width:768px){.app .progressive-blur-dock{display:block;height:calc(var(--bottom-nav-h) + 120px + env(safe-area-inset-bottom,0px))}}.global-audio-player-dock{position:fixed;bottom:1.5rem;left:0;right:0;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:120;transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.global-audio-player-dock.is-expanded{opacity:0;transform:translateY(8px) scale(.96);pointer-events:none}.global-audio-player{pointer-events:auto;position:relative;width:min(calc(100% - 2rem),490px);margin:0 auto;border-radius:9999px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim);animation:gap-slide-up .28s cubic-bezier(.16,1,.3,1) forwards;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease;-webkit-user-select:none;user-select:none;overflow:hidden}[data-theme=light] .global-audio-player{background:#ffffffe0;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 36px #00000017,inset 0 1px #fff}.global-audio-player:hover{transform:translateY(-2px);border-color:#ffffff47;box-shadow:0 20px 48px #00000080,inset 0 1px #ffffff59}[data-theme=light] .global-audio-player:hover{border-color:#00000024;box-shadow:0 16px 42px #0000001f,inset 0 1px #fff}.gap-progress-hairline{display:block;position:absolute;top:0;left:0;right:0;height:2.5px;background:#ffffff1a;cursor:pointer;z-index:10;transition:height .15s ease}.gap-progress-hairline:hover{height:4px}[data-theme=light] .gap-progress-hairline{background:#0000000f}.gap-mobile-progress-fill{height:100%;background:var(--accent);border-radius:0 2px 2px 0;transition:width .15s linear}.gap-glow{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;background-size:cover;background-position:center;filter:blur(36px);opacity:.2;border-radius:9999px;z-index:-1;pointer-events:none}.gap-body{display:flex;align-items:center;justify-content:space-between;padding:.45rem .65rem .45rem .55rem;gap:.65rem}.gap-track{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0;cursor:pointer;padding:.15rem .35rem .15rem .15rem;border-radius:9999px;transition:opacity .15s ease}.gap-track:hover{opacity:.88}.gap-cover-wrap{width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative;box-shadow:0 2px 8px #00000059,0 0 0 1px #ffffff24}[data-theme=light] .gap-cover-wrap{box-shadow:0 2px 6px #0000001f,0 0 0 1px #00000014}.gap-cover-wrap.is-playing{animation:vinyl-rotate 16s linear infinite}.gap-cover{width:100%;height:100%;object-fit:cover;display:block}.gap-cover-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:linear-gradient(140deg,rgba(var(--cover-rgb-a),.26),rgba(var(--cover-rgb-b),.16));color:var(--text-muted)}.gap-vinyl-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#000;border:2px solid rgba(255,255,255,.4);box-shadow:0 0 2px #000c}.gap-meta{display:flex;flex-direction:column;min-width:0;line-height:1.25}.gap-title{font-size:.875rem;font-weight:600;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gap-title-clickable{text-decoration:none;cursor:pointer;transition:color .15s ease}.gap-title-clickable:hover{color:var(--accent);text-decoration:underline}.gap-sub-row{display:flex;align-items:center;gap:.45rem;min-width:0}.gap-artist{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gap-artist-clickable{text-decoration:none;cursor:pointer;transition:color .15s ease}.gap-artist-clickable:hover{color:var(--accent);text-decoration:underline}.gap-preview-active-pill{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:9999px;background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent);line-height:1.1;flex-shrink:0}.gap-controls-glass{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.gap-glass-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);color:var(--text);box-shadow:var(--glass-btn-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),background .15s ease,border-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.gap-glass-btn:hover{background:var(--glass-btn-bg-hover);color:var(--accent);transform:scale(1.06)}.gap-glass-btn:active{transform:scale(.94)}.gap-glass-btn:disabled{opacity:.35;cursor:default;transform:none}.gap-glass-play{width:38px;height:38px;background:#fff;color:#0f1015;border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 14px #00000047,inset 0 1px #fff}[data-theme=light] .gap-glass-play{background:#0f1015;color:#fff;border:1px solid #0f1015;box-shadow:0 4px 14px #0f101538,inset 0 1px #fff3}.gap-glass-play:hover{transform:scale(1.08)}.gap-glass-prev,.gap-glass-next{width:32px;height:32px}.gap-glass-queue{width:32px;height:32px;position:relative}.gap-glass-queue.is-active{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.gap-glass-close{width:28px;height:28px;opacity:.75}.gap-glass-close:hover{opacity:1;color:var(--text)}.gap-btn-preview{font-size:.68rem;font-weight:600;letter-spacing:.01em;padding:0 .55rem;border-radius:9999px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .18s cubic-bezier(.34,1.56,.64,1);display:inline-flex;align-items:center;gap:.25rem;height:26px;line-height:1}.gap-btn-preview-icon{font-size:.72rem;line-height:1}.gap-btn-preview:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text);transform:translateY(-1px)}.gap-btn-preview.is-active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow)}.gap-btn-preview-lg{height:32px;padding:0 .85rem;font-size:.78rem;gap:.35rem}.gap-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;max-width:380px;width:100%}.gap-controls{display:flex;align-items:center;gap:.6rem}.gap-btn{background:transparent;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s cubic-bezier(.34,1.56,.64,1);outline:none}.gap-btn-step{width:28px;height:28px;border-radius:50%;color:var(--text-muted)}.gap-btn-step:hover:not(:disabled){color:var(--text);background:#ffffff14}.gap-btn-step:disabled{opacity:.28;cursor:default}.gap-btn-play{width:34px;height:34px;border-radius:50%;background:var(--text);color:var(--text-on-accent);box-shadow:0 4px 12px #00000059}.gap-btn-play:hover{transform:scale(1.08)}.gap-btn-play:active{transform:scale(.94)}.gap-spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.2);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.gap-scrub-row{display:flex;align-items:center;gap:.45rem;width:100%}.gap-time{font-size:.65rem;font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:24px;text-align:right}.gap-time-end{text-align:left}.gap-progress-track{flex:1;height:4px;background:#ffffff24;border-radius:9999px;position:relative;cursor:pointer;transition:height .15s ease}[data-theme=light] .gap-progress-track{background:#0000001a}.gap-progress-track:hover{height:6px}.gap-progress-fill{height:100%;background:var(--text);border-radius:9999px;pointer-events:none;transition:width .08s linear}.gap-progress-thumb{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--text);box-shadow:0 2px 6px #0006;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease;pointer-events:none}.gap-progress-track:hover .gap-progress-thumb{transform:translate(-50%,-50%) scale(1)}.gap-actions{display:flex;align-items:center;gap:.65rem}.gap-equalizer{display:flex;align-items:flex-end;gap:2px;height:18px;width:18px;padding-bottom:2px}.gap-eq-bar{width:3px;height:4px;background:var(--text-muted);border-radius:2px;transition:height .2s ease,background-color .2s}.gap-equalizer.is-active .gap-eq-bar{background:var(--text)}.gap-equalizer.is-active .gap-eq-bar:nth-child(1){animation:gap-eq-1 .7s ease-in-out infinite}.gap-equalizer.is-active .gap-eq-bar:nth-child(2){animation:gap-eq-2 .85s ease-in-out infinite}.gap-equalizer.is-active .gap-eq-bar:nth-child(3){animation:gap-eq-3 .65s ease-in-out infinite}.gap-equalizer.is-active .gap-eq-bar:nth-child(4){animation:gap-eq-4 .9s ease-in-out infinite}.gap-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:.85rem;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.gap-close-btn:hover{color:var(--text);background:#ffffff1a}.gap-hud-toast{position:fixed;bottom:6.2rem;left:50%;transform:translate(-50%);background:#16161cf0;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.18);color:#fff!important;font-size:.82rem;font-weight:600;letter-spacing:-.01em;padding:.4rem 1.05rem;border-radius:9999px;box-shadow:0 12px 32px #00000080,0 0 0 1px #ffffff0d;z-index:130;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap;animation:gap-hud-pop .22s cubic-bezier(.16,1,.3,1) forwards}[data-theme=light] .gap-hud-toast{background:#fffffff5;border:1px solid rgba(0,0,0,.12);color:#0f172a!important;box-shadow:0 12px 32px #00000024,0 2px 8px #0000000d}@keyframes gap-hud-pop{0%{opacity:0;transform:translate(-50%,8px) scale(.95)}to{opacity:1;transform:translate(-50%) scale(1)}}.gap-hover-tooltip{position:absolute;top:-26px;transform:translate(-50%);background:#0a0a0ef0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.65rem;font-weight:600;padding:.15rem .45rem;border-radius:6px;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #0006;animation:fadeIn .1s ease-out;z-index:15}.gap-hover-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(10,10,14,.94)}.gap-cover-wrap{cursor:pointer}.gap-cover-hover-expand{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;opacity:0;transition:opacity .15s ease;pointer-events:none;border-radius:8px}.gap-cover-wrap:hover .gap-cover-hover-expand{opacity:1}.gap-btn-mode{width:26px;height:26px;border-radius:50%;color:var(--text-muted);transition:all .15s ease}.gap-btn-mode:hover{color:var(--text);background:#ffffff14}.gap-btn-mode.is-active{color:var(--accent);background:#ffffff1a}.gap-repeat-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.gap-repeat-badge{position:absolute;top:-4px;right:-5px;font-size:.52rem;font-weight:700;line-height:1;background:var(--accent);color:var(--text-on-accent);border-radius:9999px;padding:1px 3px}.gap-volume-wrap{display:flex;align-items:center;gap:.35rem}.gap-volume-btn{width:26px;height:26px;border-radius:50%;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.gap-volume-btn:hover{color:var(--text);background:#ffffff14}.gap-volume-slider-track{width:60px;height:4px;background:#ffffff24;border-radius:9999px;position:relative;cursor:pointer;transition:height .15s ease}[data-theme=light] .gap-volume-slider-track{background:#0000001f}.gap-volume-wrap:hover .gap-volume-slider-track,.gap-volume-slider-track:hover{height:6px}.gap-volume-slider-fill{height:100%;background:var(--text);border-radius:9999px;pointer-events:none;transition:width .08s linear}.gap-volume-slider-thumb{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:var(--text);box-shadow:0 2px 5px #0006;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease;pointer-events:none}.gap-volume-wrap:hover .gap-volume-slider-thumb{transform:translate(-50%,-50%) scale(1)}.gap-queue-btn{position:relative;width:26px;height:26px;border-radius:50%;color:var(--text-muted)}.gap-queue-btn:hover,.gap-queue-btn.is-active{color:var(--text);background:#ffffff14}.gap-queue-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:700;background:var(--accent);color:var(--text-on-accent);border-radius:9999px;padding:0 4px;line-height:1}.gap-queue-drawer{position:fixed;bottom:5.5rem;right:max(1rem,calc(50% - 350px));width:320px;max-height:380px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:22px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim);z-index:125;display:flex;flex-direction:column;overflow:hidden;animation:gap-queue-enter .25s cubic-bezier(.16,1,.3,1) forwards}[data-theme=light] .gap-queue-drawer{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-rim)}@keyframes gap-queue-enter{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.gap-queue-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}[data-theme=light] .gap-queue-header{border-bottom:1px solid rgba(0,0,0,.08)}.gap-queue-title-wrap{display:flex;align-items:center;gap:.45rem}.gap-queue-title-wrap h3{margin:0;font-size:.825rem;font-weight:600;color:var(--text)}.gap-queue-header-actions{display:flex;align-items:center;gap:.5rem}.gap-queue-btn-clear{background:transparent;border:none;font-size:.7rem;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem;border-radius:4px}.gap-queue-btn-clear:hover{color:var(--text);background:#ffffff14}.gap-queue-close{background:transparent;border:none;font-size:.8rem;color:var(--text-muted);cursor:pointer;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.gap-queue-close:hover{color:var(--text);background:#ffffff1a}.gap-queue-list{padding:.4rem;overflow-y:auto;max-height:320px;display:flex;flex-direction:column;gap:.25rem}.gap-queue-item{display:flex;align-items:center;gap:.55rem;padding:.4rem .55rem;border-radius:10px;cursor:pointer;transition:background .15s ease}.gap-queue-item:hover{background:#ffffff0f}[data-theme=light] .gap-queue-item:hover{background:#0000000a}.gap-queue-item.is-current{background:#ffffff1a}[data-theme=light] .gap-queue-item.is-current{background:#00000014}.gap-queue-item-idx{font-size:.7rem;color:var(--text-muted);min-width:16px;text-align:center}.gap-queue-eq-badge{color:var(--accent);font-size:.65rem}.gap-queue-item-cover-wrap{width:32px;height:32px;border-radius:6px;overflow:hidden;flex-shrink:0}.gap-queue-item-cover{width:100%;height:100%;object-fit:cover}.gap-queue-placeholder{display:flex;align-items:center;justify-content:center;background:#ffffff0f;color:var(--text-muted);font-size:.8rem}.gap-queue-item-meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.gap-queue-item-title{font-size:.78rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gap-queue-item-artist{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gap-queue-playing-tag{font-size:.6rem;color:var(--accent);font-weight:600;padding:.1rem .35rem;background:rgba(var(--accent-rgb, 255, 75, 75),.15);border-radius:4px}.gap-queue-item-remove{background:transparent;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:.2rem;opacity:.6}.gap-queue-item-remove:hover{opacity:1;color:#ff4b4b}.gap-queue-album-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .85rem;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);font-size:.72rem}[data-theme=light] .gap-queue-album-bar{background:#00000008;border-bottom:1px solid rgba(0,0,0,.07)}.gap-queue-album-bar-info{display:flex;align-items:center;gap:.42rem;min-width:0;flex:1}.gap-queue-album-pill{flex-shrink:0;padding:.1rem .42rem;border-radius:9999px;font-size:.64rem;font-weight:700;background:var(--tag-mood-bg);border:1px solid var(--tag-mood-border);color:var(--text)}.gap-queue-album-name{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.gap-queue-next-album-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .52rem;border-radius:9999px;border:1px solid var(--glass-border);background:var(--glass-btn-bg);color:var(--text);font-size:.66rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.gap-queue-next-album-btn:hover:not(:disabled){background:var(--glass-btn-bg-hover);border-color:var(--glass-btn-border-hover)}.gap-queue-next-album-btn:disabled{opacity:.55;cursor:wait}.gap-queue-album-divider{display:flex;align-items:center;gap:.4rem;padding:.4rem .55rem .2rem;margin-top:.2rem;font-size:.67rem;font-weight:600;color:var(--text-muted);border-top:1px solid rgba(255,255,255,.06)}.gap-queue-album-divider:first-child{margin-top:0;border-top:none}[data-theme=light] .gap-queue-album-divider{border-top-color:#0000000f}.gap-queue-album-divider-num{color:var(--text);font-weight:700;opacity:.8}.gap-queue-album-divider-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-sheet-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:1.5rem;pointer-events:auto}.gap-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:gap-fade-in .25s ease-out forwards}[data-theme=light] .gap-sheet-backdrop{background:#00000059}.gap-sheet-container.is-closing .gap-sheet-backdrop{animation:gap-fade-out .22s ease-in forwards}.gap-bottom-sheet{position:relative;width:min(calc(100% - 2rem),490px);margin:0 auto;max-height:min(88dvh,660px);display:flex;flex-direction:column;background:#141419e0;backdrop-filter:blur(50px) saturate(210%) brightness(1.04);-webkit-backdrop-filter:blur(50px) saturate(210%) brightness(1.04);border:1px solid rgba(255,255,255,.16);border-radius:28px;box-shadow:0 24px 64px -8px #000000a6,0 0 0 1px #ffffff14,inset 0 1px #ffffff47;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;z-index:2;transform-origin:center bottom;animation:gap-pill-expand .3s cubic-bezier(.16,1,.3,1) forwards}.gap-bottom-sheet::-webkit-scrollbar{display:none;width:0;height:0}[data-theme=light] .gap-bottom-sheet{background:#ffffffeb;border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 50px -8px #00000029,0 0 0 1px #0000000a,inset 0 1px #fff}.gap-sheet-container.is-closing .gap-bottom-sheet{animation:gap-pill-collapse .22s cubic-bezier(.32,0,.67,0) forwards}@keyframes gap-pill-expand{0%{opacity:.5;transform:translateY(18px) scale(.96);border-radius:40px}to{opacity:1;transform:translateY(0) scale(1);border-radius:28px}}@keyframes gap-pill-collapse{0%{opacity:1;transform:translateY(0) scale(1);border-radius:28px}to{opacity:0;transform:translateY(18px) scale(.96);border-radius:40px}}@keyframes gap-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gap-fade-out{0%{opacity:1}to{opacity:0}}.gap-sheet-ambient{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;filter:blur(70px) brightness(.42);opacity:.32;pointer-events:none;z-index:-1}[data-theme=light] .gap-sheet-ambient{opacity:.18;filter:blur(70px) brightness(.96)}.gap-sheet-handle-wrap{width:100%;display:flex;justify-content:center;padding:8px 0 2px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.gap-sheet-handle{width:36px;height:4px;border-radius:9999px;background:#ffffff52;transition:background .15s ease,transform .15s ease}[data-theme=light] .gap-sheet-handle{background:#0003}.gap-sheet-handle-wrap:hover .gap-sheet-handle{background:#ffffff8c;transform:scaleX(1.15)}[data-theme=light] .gap-sheet-handle-wrap:hover .gap-sheet-handle{background:#00000059}.gap-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:.2rem 1.75rem .55rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}[data-theme=light] .gap-sheet-header{border-bottom-color:#0000000d}.gap-sheet-header-title{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.gap-sheet-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text);box-shadow:inset 0 1px #ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease;position:relative}[data-theme=light] .gap-sheet-icon-btn{background:#0000000a;border-color:#00000014;box-shadow:inset 0 1px #fff}.gap-sheet-icon-btn:hover{background:#ffffff29;color:var(--accent);transform:scale(1.06)}[data-theme=light] .gap-sheet-icon-btn:hover{background:#00000014}.gap-sheet-icon-btn.is-active{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.gap-sheet-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.95rem;padding:.75rem 1.65rem 1.5rem;overflow-y:auto;scrollbar-width:none;flex:1;width:100%;box-sizing:border-box}.gap-sheet-body::-webkit-scrollbar{display:none}.gap-sheet-body.is-showing-queue{padding:.5rem 1.25rem 1rem}.gap-sheet-body.is-showing-queue .gap-sheet-col-media{display:none!important}.gap-sheet-col-media{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:.2rem 0 .25rem;min-width:0}.gap-sheet-artwork-container{position:relative;width:min(100%,220px);height:min(100%,220px);aspect-ratio:1 / 1;margin:0 auto}.gap-sheet-artwork-frame{position:relative;width:100%;height:100%;border-radius:20px;overflow:hidden;box-shadow:0 16px 40px #00000080,0 0 0 1px #ffffff24;z-index:2}[data-theme=light] .gap-sheet-artwork-frame{box-shadow:0 12px 32px #00000026,0 0 0 1px #00000014}.gap-sheet-artwork{width:100%;height:100%;object-fit:cover;display:block}.gap-sheet-artwork-placeholder{display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--bg-card);color:var(--text-muted)}.gap-sheet-disc{position:absolute;top:0;right:-20px;width:100%;height:100%;border-radius:50%;background:repeating-radial-gradient(circle at center,#111,#111 2px,#242424,#111 4px);box-shadow:0 8px 24px #0000008c;z-index:1;opacity:.92}.gap-sheet-disc.is-spinning{animation:vinyl-rotate 12s linear infinite}.gap-sheet-col-main{display:flex;flex-direction:column;width:100%;min-width:0}.gap-sheet-controls-view{display:flex;flex-direction:column;gap:.95rem;width:100%}.gap-sheet-info{width:100%;min-width:0}.gap-sheet-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.2rem}.gap-sheet-title{font-size:1.35rem;font-weight:700;letter-spacing:-.025em;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.gap-sheet-title-link{text-decoration:none;color:inherit;transition:color .15s ease;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-sheet-title-link:hover{color:var(--accent)}.gap-source-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;padding:.22rem .75rem;border-radius:9999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text);box-shadow:inset 0 1px #ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .15s ease;flex-shrink:0}[data-theme=light] .gap-source-btn{background:#0000000a;border-color:#00000014;box-shadow:inset 0 1px #fff}.gap-source-btn:hover{background:#ffffff29;border-color:#ffffff3d;color:var(--accent)}[data-theme=light] .gap-source-btn:hover{background:#00000014}.gap-source-btn.is-preview{background:#f59e0b29;border-color:#f59e0b59;color:#fbbf24}.gap-source-pill-active{font-size:.6rem;font-weight:700;padding:.05rem .35rem;border-radius:9999px;background:#f59e0b;color:#000;line-height:1.1}.gap-sheet-album-link{color:var(--text-muted);text-decoration:none;transition:color .15s ease}.gap-sheet-album-link:hover{color:var(--accent);text-decoration:underline}.gap-sheet-artist{font-size:.925rem;font-weight:500;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.45rem}.gap-sheet-artist-link{text-decoration:none;color:var(--text-muted);transition:all .15s ease;display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .45rem;margin-left:-.45rem;border-radius:6px}.gap-sheet-artist-link:hover{color:var(--accent);background:#ffffff14}[data-theme=light] .gap-sheet-artist-link:hover{background:#0000000d}.gap-artist-chip-icon{font-size:.78rem;opacity:.75}.gap-sheet-dot{opacity:.4;font-size:.75rem}.gap-sheet-album{color:var(--text-faint);font-size:.85rem}.gap-sheet-scrub{display:flex;flex-direction:column;gap:6px;width:100%;-webkit-user-select:none;user-select:none}.gap-sheet-scrub-bar{position:relative;width:100%;height:20px;display:flex;align-items:center;cursor:pointer}.gap-sheet-slider-track{position:relative;width:100%;height:4px;border-radius:9999px;background:#ffffff2e;transition:height .15s ease,background .15s ease}[data-theme=light] .gap-sheet-slider-track{background:#0000001a}.gap-sheet-scrub-bar:hover .gap-sheet-slider-track{height:6px;background:#ffffff40}[data-theme=light] .gap-sheet-scrub-bar:hover .gap-sheet-slider-track{background:#00000026}.gap-sheet-slider-fill{position:absolute;top:0;left:0;height:100%;border-radius:9999px;background:#fff;pointer-events:none;transition:background .15s ease}[data-theme=light] .gap-sheet-slider-fill{background:#0f1015}.gap-sheet-slider-thumb{position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0006;pointer-events:none;transition:transform .15s cubic-bezier(.16,1,.3,1)}[data-theme=light] .gap-sheet-slider-thumb{background:#0f1015;box-shadow:0 2px 6px #00000040}.gap-sheet-scrub-bar:hover .gap-sheet-slider-thumb,.gap-sheet-scrub-bar:active .gap-sheet-slider-thumb{transform:translate(-50%,-50%) scale(1)}.gap-sheet-times{display:flex;justify-content:space-between;width:100%;font-size:.72rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-muted)}.gap-sheet-controls{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:420px;margin:.2rem auto}.gap-btn-jump{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.gap-btn-jump svg{width:19px;height:19px}.gap-jump-tag{font-size:.58rem;font-weight:700;line-height:1;letter-spacing:-.02em;opacity:.85}.gap-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:transparent;border:none;color:var(--text);cursor:pointer;transition:transform .15s ease,color .15s ease,background .15s ease}.gap-ctrl-btn:hover:not(:disabled){background:#ffffff14;color:var(--accent);transform:scale(1.08)}[data-theme=light] .gap-ctrl-btn:hover:not(:disabled){background:#0000000d}.gap-ctrl-btn:disabled{opacity:.3;cursor:default}.gap-ctrl-btn.is-active{color:var(--accent)}.gap-ctrl-play{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#fff;color:#0b0c0e;border:none;box-shadow:0 8px 24px #00000059,inset 0 1px #fff;cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease}[data-theme=light] .gap-ctrl-play{background:#0f1015;color:#fff;box-shadow:0 8px 24px #0f101540,inset 0 1px #fff3}.gap-ctrl-play:hover{transform:scale(1.06);box-shadow:0 10px 28px #fff3}[data-theme=light] .gap-ctrl-play:hover{box-shadow:0 10px 28px #0f101559}.gap-ctrl-play:active{transform:scale(.95)}.gap-sheet-volume-row{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;max-width:320px;margin:0 auto}.gap-volume-icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:3px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s ease,transform .15s ease}.gap-volume-icon-btn:hover{color:var(--text);transform:scale(1.1)}.gap-volume-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff2e;border-radius:9999px;outline:none;cursor:pointer;transition:height .15s ease}[data-theme=light] .gap-volume-slider{background:#0000001a}.gap-volume-slider:hover{height:5px}.gap-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000059;cursor:pointer;transition:transform .1s ease}[data-theme=light] .gap-volume-slider::-webkit-slider-thumb{background:#0f1015}.gap-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.gap-sheet-footer-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap}[data-theme=light] .gap-sheet-footer-row{border-top-color:#0000000d}.gap-sheet-footer-left{display:flex;align-items:center;gap:.5rem}.gap-sheet-source-label{font-size:.72rem;color:var(--text-faint);font-weight:500;letter-spacing:.01em}.gap-sheet-footer-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-wrap:wrap}.gap-sheet-action-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:9999px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--text);font-size:.76rem;font-weight:500;text-decoration:none;transition:all .15s ease;white-space:nowrap}[data-theme=light] .gap-sheet-action-pill{background:#0000000a;border-color:#00000014}.gap-sheet-action-pill:hover{background:#ffffff26;border-color:#ffffff38;color:var(--accent);transform:translateY(-1px)}[data-theme=light] .gap-sheet-action-pill:hover{background:#00000014}.gap-sheet-action-pill.is-primary{background:var(--accent-glow);color:var(--accent);border-color:var(--accent);font-weight:600}.gap-sheet-action-pill.is-primary:hover{background:var(--accent);color:var(--text-on-accent)}.gap-action-pill-icon{font-size:.8rem;line-height:1}.gap-sheet-footer-spacer{flex:1}.gap-btn-preview-pill{display:inline-flex;align-items:center;gap:.35rem;height:30px;padding:0 .85rem;border-radius:9999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text);font-size:.75rem;font-weight:500;box-shadow:inset 0 1px #ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .15s ease;white-space:nowrap}[data-theme=light] .gap-btn-preview-pill{background:#0000000a;border-color:#00000014;box-shadow:inset 0 1px #fff}.gap-btn-preview-pill:hover{background:#ffffff29;border-color:#ffffff38;color:var(--accent)}[data-theme=light] .gap-btn-preview-pill:hover{background:#00000014}.gap-btn-preview-pill.is-active{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow)}.gap-sheet-detail-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color .15s ease;padding:.2rem 0}.gap-sheet-detail-link:hover{color:var(--text)}.gap-sheet-link-arrow{transition:transform .15s ease;display:inline-block}.gap-sheet-detail-link:hover .gap-sheet-link-arrow,.gap-sheet-action-pill:hover .gap-sheet-link-arrow{transform:translate(3px);color:var(--accent)}.gap-sheet-queue-view{display:flex;flex-direction:column;height:280px;width:100%}.gap-sheet-queue-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.5rem}[data-theme=light] .gap-sheet-queue-header{border-bottom-color:#0000000f}.gap-sheet-queue-title-wrap{display:flex;align-items:center;gap:.45rem}.gap-sheet-queue-title-wrap h4{font-size:.875rem;font-weight:600;margin:0;color:var(--text)}.gap-sheet-queue-actions{display:flex;align-items:center;gap:.5rem}.gap-sheet-queue-clear,.gap-sheet-queue-back{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:9999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.gap-sheet-queue-clear:hover,.gap-sheet-queue-back:hover{color:var(--text);background:#ffffff29}.gap-sheet-queue-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;padding-right:4px;scrollbar-width:thin}.gap-sheet-queue-item{display:flex;align-items:center;gap:.65rem;padding:.4rem .6rem;border-radius:12px;background:#ffffff08;cursor:pointer;transition:background .15s ease}[data-theme=light] .gap-sheet-queue-item{background:#00000005}.gap-sheet-queue-item:hover{background:#ffffff14}[data-theme=light] .gap-sheet-queue-item:hover{background:#0000000d}.gap-sheet-queue-item.is-current{background:var(--accent-glow);border:1px solid var(--accent)}.gap-sheet-queue-idx{font-size:.72rem;font-weight:600;color:var(--text-muted);width:16px;text-align:center}.gap-sheet-queue-thumb-wrap{width:32px;height:32px;border-radius:6px;overflow:hidden;flex-shrink:0}.gap-sheet-queue-thumb{width:100%;height:100%;object-fit:cover}.gap-sheet-queue-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-card);font-size:.8rem;color:var(--text-muted)}.gap-sheet-queue-meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.gap-sheet-queue-title{font-size:.8125rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gap-sheet-queue-artist{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gap-sheet-queue-badge{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:9999px;background:var(--accent);color:var(--text-on-accent)}.gap-sheet-queue-remove{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:.75rem;border-radius:50%;opacity:.6;transition:opacity .15s}.gap-sheet-queue-remove:hover{opacity:1;color:var(--danger, #ff453a)}@media(max-width:768px){.global-audio-player-dock{bottom:calc(var(--bottom-nav-h, 64px) + 1.15rem + env(safe-area-inset-bottom,0px))}.global-audio-player{width:min(calc(100% - 1.25rem),420px);max-width:420px}.gap-sheet-container{justify-content:stretch;padding-bottom:0;height:100%;width:100%}.gap-bottom-sheet{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:none;margin:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#14141ae0,#0a0a0efa);backdrop-filter:blur(60px) saturate(220%);-webkit-backdrop-filter:blur(60px) saturate(220%);box-shadow:none;overflow:hidden;z-index:200;transform-origin:center bottom;animation:gap-mobile-slide-up .3s cubic-bezier(.16,1,.3,1) forwards}[data-theme=light] .gap-bottom-sheet{background:linear-gradient(180deg,#ffffffe6,#f6f6fafa);border:none;box-shadow:none}.gap-sheet-container.is-closing .gap-bottom-sheet{animation:gap-mobile-slide-down .24s cubic-bezier(.32,0,.67,0) forwards}@keyframes gap-mobile-slide-up{0%{transform:translateY(100%);opacity:.9}to{transform:translateY(0);opacity:1}}@keyframes gap-mobile-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:.9}}.gap-sheet-ambient{filter:blur(90px) brightness(.38);opacity:.55}.gap-sheet-handle-wrap{padding:calc(env(safe-area-inset-top,0px) + 8px) 0 4px}.gap-sheet-header{padding:.35rem 1.25rem .6rem}.gap-sheet-body{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 1.5rem calc(1.35rem + env(safe-area-inset-bottom,0px));text-align:left;overflow-y:auto;scrollbar-width:none;flex:1;min-height:0;box-sizing:border-box}.gap-sheet-body::-webkit-scrollbar{display:none}.gap-sheet-col-media{width:100%;display:flex;justify-content:center;align-items:center;flex:1 1 auto;min-height:0;margin:.25rem 0}.gap-sheet-artwork-container{width:min(80vw,320px,38vh);height:min(80vw,320px,38vh);aspect-ratio:1 / 1;margin:0 auto}.gap-sheet-artwork-frame{border-radius:20px;box-shadow:0 20px 48px #000000a6,0 0 0 1px #ffffff1f}.gap-sheet-disc{display:none!important}.gap-sheet-col-main{width:100%;display:flex;flex-direction:column;justify-content:flex-end;flex-shrink:0}.gap-sheet-controls-view{display:flex;flex-direction:column;gap:.85rem;width:100%}.gap-sheet-title{font-size:1.35rem;font-weight:700}.gap-sheet-artist{font-size:.95rem}.gap-sheet-scrub{gap:6px;margin:.25rem 0}.gap-sheet-scrub-bar{height:28px}.gap-sheet-slider-track{height:5px}.gap-sheet-slider-thumb{width:14px;height:14px;transform:translate(-50%,-50%) scale(1)}.gap-sheet-controls{display:flex;align-items:center;justify-content:space-between;width:100%;margin:.25rem 0}.gap-btn-jump{display:none}.gap-ctrl-btn{width:44px;height:44px}.gap-ctrl-play{width:64px;height:64px}.gap-sheet-volume-row{margin-top:.35rem;padding:0 .25rem;max-width:100%}.gap-sheet-queue-view{height:100%;flex:1;min-height:0;display:flex;flex-direction:column}.gap-sheet-body.is-showing-queue .gap-sheet-col-media{display:none!important}@media(max-width:380px){.gap-sheet-controls .gap-btn-jump{display:none}}.gap-body{padding:.5rem .65rem;gap:.55rem;align-items:center;justify-content:space-between}.gap-track{flex:1;min-width:0;max-width:none;cursor:pointer;padding:.1rem .2rem .1rem .1rem}.gap-cover-wrap{width:38px;height:38px;border-radius:50%;flex-shrink:0}.gap-meta{gap:1px}.gap-title{font-size:.84rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.gap-artist{font-size:.74rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.gap-preview-active-pill,.gap-yt-pill-btn,.gap-glass-prev,.gap-glass-queue{display:none!important}.gap-controls-glass{gap:.3rem}.gap-glass-play{width:36px;height:36px}.gap-glass-next{width:32px;height:32px}.gap-glass-close{width:28px;height:28px}.gap-center{display:flex!important;align-items:center;gap:.35rem;max-width:none;flex-shrink:0}.gap-controls{gap:.35rem}.gap-btn-play{width:36px;height:36px}.global-audio-player .gap-scrub-row,.global-audio-player .gap-btn-step,.global-audio-player .gap-btn-mode,.global-audio-player .gap-time{display:none!important}.gap-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.gap-volume-wrap,.gap-volume-slider-track,.gap-volume-btn,.gap-queue-btn,.gap-equalizer{display:none!important}.gap-close-btn{width:28px;height:28px;opacity:.75;display:flex;align-items:center;justify-content:center}.gap-queue-drawer{left:.65rem;right:.65rem;width:auto;bottom:calc(var(--bottom-nav-h) + 4.5rem);max-height:50vh}}.song-card-cover-wrap,.mini-card-cover-wrap,.timeline-entry-cover-wrap,.detail-cover-wrap{position:relative;overflow:hidden;border-radius:var(--radius-sm)}.song-card.is-current-track{border-color:#ffffff38;box-shadow:0 0 20px #ffffff0d}.card-play-btn,.mini-card-play-btn{position:absolute;bottom:6px;right:6px;width:32px;height:32px;border-radius:50%;background:#000000bf;color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:scale(.85);transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px #00000073;z-index:2;outline:none}.mini-card-play-btn{width:26px;height:26px;bottom:4px;right:4px}.song-card:hover .card-play-btn,.song-card:focus-within .card-play-btn,.mini-card:hover .mini-card-play-btn,.mini-card:focus-within .mini-card-play-btn,.timeline-entry-card:hover .card-play-btn,.card-play-btn.is-playing,.mini-card-play-btn.is-playing{opacity:1;transform:scale(1)}.card-play-btn.is-playing,.mini-card-play-btn.is-playing{background:var(--text);color:var(--text-on-accent);box-shadow:0 0 16px var(--accent-glow)}.card-play-btn:hover,.mini-card-play-btn:hover{transform:scale(1.12)}.card-play-btn:active,.mini-card-play-btn:active{transform:scale(.92)}.card-play-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.tag-preview-action{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:600;padding:.15rem .5rem;border-radius:9999px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .16s ease;line-height:1.2}.tag-preview-action:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.tag-preview-action.is-playing{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow)}.card-tag-spinner{width:9px;height:9px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.card-eq-badge{display:inline-flex;align-items:flex-end;gap:2.5px;height:16px;padding:2px 5px;margin-left:.55rem;background:var(--accent-glow, rgba(99, 102, 241, .12));border:1px solid var(--accent, #6366f1);border-radius:9999px;vertical-align:middle;box-sizing:border-box;overflow:hidden}.card-eq-badge span{width:2.5px;background:var(--accent, #6366f1);border-radius:1px}.card-eq-badge span:nth-child(1){height:5px;animation:card-eq-bar-1 .75s ease-in-out infinite}.card-eq-badge span:nth-child(2){height:11px;animation:card-eq-bar-2 .85s ease-in-out infinite}.card-eq-badge span:nth-child(3){height:7px;animation:card-eq-bar-3 .65s ease-in-out infinite}@keyframes card-eq-bar-1{0%,to{height:4px}50%{height:11px}}@keyframes card-eq-bar-2{0%,to{height:11px}50%{height:5px}}@keyframes card-eq-bar-3{0%,to{height:6px}50%{height:10px}}.detail-cover-play{width:44px;height:44px;bottom:10px;right:10px}.detail-cover-wrap:hover .detail-cover-play{opacity:1;transform:scale(1)}.detail-play-btn{display:inline-flex;align-items:center;gap:.35rem;font-weight:500}.track-play-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;transition:all .15s}.track-item:hover .track-play-btn{background:var(--bg-hover);border-color:var(--border);color:var(--text)}.track-play-btn.is-playing{background:var(--text);color:var(--text-on-accent);border-color:var(--text)}.search-result-preview{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#ffffff14;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s;outline:none}.search-result:hover .search-result-preview,.search-result-preview:hover{background:var(--text);color:var(--text-on-accent);transform:scale(1.1)}.search-result-preview.is-playing{background:var(--text);color:var(--text-on-accent);box-shadow:0 0 10px var(--accent-glow)}.panel-lyric-quote{position:relative;background:linear-gradient(135deg,#ffffff0d,#ffffff03);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:var(--space-md);box-shadow:0 8px 24px #0003;overflow:hidden}[data-theme=light] .panel-lyric-quote{background:linear-gradient(135deg,#0071e30a,#00000003);border-color:#0071e32e;box-shadow:0 8px 24px #0000000a}.lyric-quote-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.85rem}.lyric-quote-icon{font-size:1.1rem;color:var(--text);line-height:1}.lyric-quote-text{font-family:Georgia,serif;font-style:italic;font-size:1.35rem;line-height:1.5;color:var(--text);margin:0 0 1.25rem;padding:0;border:none;text-shadow:0 1px 2px rgba(0,0,0,.15)}.lyric-quote-action{font-size:.82rem;padding:.35rem .75rem}.lyrics-pinned-notice{font-size:.82rem;color:var(--text-muted);margin-top:.25rem}.lyrics-pinned-notice em{color:var(--text);font-style:italic}.lyrics-pin-btn{display:inline-flex;align-items:center;gap:.35rem;height:26px;padding:0 .65rem;border-radius:9999px;background:var(--glass-btn-bg);border:1px solid var(--glass-btn-border);color:var(--text-muted);font-size:.725rem;font-weight:500;line-height:1;cursor:pointer;transition:all .18s ease;opacity:0;white-space:nowrap;box-sizing:border-box}.lyrics-plain-line:hover .lyrics-pin-btn,.lyrics-sync-line:hover .lyrics-pin-btn{opacity:1}.lyrics-pin-btn:hover{background:var(--glass-btn-bg-hover);border-color:var(--glass-btn-border-hover);color:var(--text)}.lyrics-pin-btn.is-pinned{opacity:1!important;background:var(--accent-glow);border-color:var(--accent);color:var(--accent);font-weight:600}[data-theme=light] .lyrics-pin-btn.is-pinned{background:rgba(var(--cover-rgb-a),.12);color:var(--accent);border-color:var(--accent)}.lyrics-plain-list{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.lyrics-plain-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .75rem;border-radius:10px;transition:background .15s ease}.lyrics-plain-line:hover{background:#ffffff0a}[data-theme=light] .lyrics-plain-line:hover{background:#00000008}.lyrics-plain-line.is-pinned{background:#ffffff0d;border-left:3px solid var(--accent);padding-left:.85rem}[data-theme=light] .lyrics-plain-line.is-pinned{background:rgba(var(--cover-rgb-a),.08)}.lyrics-plain-text{flex:1;font-size:.975rem;line-height:1.7;color:var(--text)}.lyrics-plain-line.is-empty{min-height:1.25rem}.lyrics-sync-line.is-pinned{border:1px dashed var(--border);background:#ffffff08}.lyrics-sync-playing-hint{font-size:.8rem;color:var(--text-muted);text-align:center;margin-bottom:.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:var(--modal-backdrop-bg);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto;overscroll-behavior:contain;animation:modal-fade-in .2s ease-out}.modal-dialog{position:relative;width:100%;max-height:min(88dvh,840px);display:flex;flex-direction:column;background:var(--modal-bg);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--modal-border);border-radius:24px;padding:1.5rem;box-shadow:var(--modal-shadow);color:var(--text);overflow:hidden;overscroll-behavior:contain;animation:modal-slide-up .25s cubic-bezier(.16,1,.3,1)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem;border-bottom:1px solid var(--modal-border);padding-bottom:.85rem;flex-shrink:0}.modal-header h2{font-size:1.25rem;font-weight:700;margin:0;color:var(--text);line-height:1.25}.modal-sub{font-size:.82rem;color:var(--text-muted);margin:.25rem 0 0;line-height:1.4}.modal-close-btn{flex-shrink:0;width:32px;height:32px;min-height:32px;border-radius:50%;background:var(--modal-surface);border:1px solid var(--modal-border);color:var(--text-muted);font-size:.9rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s ease,color .15s ease,transform .15s ease}.modal-close-btn:hover{background:var(--modal-surface-hover);color:var(--text);transform:scale(1.06)}.story-card-modal{max-width:860px;max-height:min(90dvh,840px)}@keyframes modal-slide-up{0%{transform:translateY(20px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.story-modal-content{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;align-items:start;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem}@media(max-width:768px){.story-modal-content{grid-template-columns:1fr}}.story-preview-wrap{display:flex;align-items:center;justify-content:center;background:#0006;border:1px solid var(--modal-border);border-radius:16px;padding:1.25rem;min-height:340px}[data-theme=light] .story-preview-wrap{background:#0f172a0d}.story-canvas{max-width:100%;max-height:480px;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 14px 40px #00000080}.story-controls{display:flex;flex-direction:column;gap:1rem}.story-control-group{border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;margin:0}.story-control-group legend{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 .35rem}.segmented-control{display:flex;background:var(--bg);border:1px solid var(--border);padding:3px;border-radius:10px;gap:4px}.segmented-control button{flex:1;padding:.5rem;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:7px;cursor:pointer;transition:all .15s}.segmented-control button:hover{color:var(--text)}.segmented-control button.active{background:var(--text);color:var(--bg);font-weight:600}.checkbox-row{display:flex;align-items:center;gap:.6rem;font-size:.88rem;cursor:pointer;margin-top:.5rem;color:var(--text)}.checkbox-row input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.story-modal-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:.5rem}.btn-block{width:100%;justify-content:center}.action-row-split{display:flex;gap:.5rem}.action-row-split .btn{flex:1;justify-content:center}.backup-modal{max-width:640px;max-height:min(90dvh,840px)}.backup-modal-body{display:flex;flex-direction:column;gap:1.5rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem}.backup-section{border-bottom:1px solid var(--modal-border);padding-bottom:1.25rem}.backup-section:last-child{border-bottom:none;padding-bottom:0}.backup-section h3{font-size:1.05rem;font-weight:700;margin:0 0 .25rem}.backup-desc{font-size:.85rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.45}.backup-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:580px){.backup-action-grid{grid-template-columns:1fr}}.backup-action-card{display:flex;align-items:center;gap:.85rem;padding:1rem;text-align:left;border:1px solid var(--modal-border);border-radius:12px;background:var(--modal-surface);cursor:pointer;transition:all .2s;height:auto;white-space:normal}.backup-action-card:hover:not(:disabled){background:var(--modal-surface-hover);border-color:var(--text-muted);transform:translateY(-1px)}.backup-action-icon{font-size:1.6rem;line-height:1}.backup-action-text{display:flex;flex-direction:column;gap:.15rem}.backup-action-text strong{font-size:.9rem;color:var(--text)}.backup-action-text span{font-size:.75rem;color:var(--text-muted);line-height:1.3}.backup-upload-box{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem}.backup-file-input{display:none}.backup-upload-label{cursor:pointer}.backup-file-name{font-size:.85rem;color:var(--text);font-weight:500}.backup-alert{padding:.65rem .85rem;border-radius:8px;font-size:.85rem;margin-bottom:.85rem}.backup-alert-error{background:#ff453a26;color:#ff453a;border:1px solid rgba(255,69,58,.3)}.backup-alert-success{background:#30d15826;color:#30d158;border:1px solid rgba(48,209,88,.3)}.backup-preview-box{background:var(--modal-surface);border:1px solid var(--modal-border);padding:1rem;border-radius:12px;margin-top:.5rem}.backup-stats-badge{font-size:.88rem;color:var(--text);margin-bottom:.85rem}.backup-mode-selector{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.radio-label{display:flex;align-items:flex-start;gap:.6rem;font-size:.84rem;color:var(--text-muted);cursor:pointer;line-height:1.4}.radio-label input[type=radio]{accent-color:var(--accent);margin-top:.15rem}.radio-label span strong{color:var(--text)}.skip-link{position:fixed;z-index:1000;inset-block-start:.5rem;inset-inline-start:.5rem;padding:.7rem 1rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent);transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.search-result-row{display:flex;align-items:center;gap:.25rem}.search-result-row .search-result{flex:1;min-width:0}.search-result-preview{border:0;cursor:pointer}@media(max-width:768px){:root{--header-h: 56px;--bottom-nav-h: 64px}html,body,#root,.app{min-width:320px}html,body{overflow-x:clip}.header-dock{padding:.5rem .75rem .25rem}.header-island{height:48px;padding:0 .5rem 0 .75rem;gap:.5rem}.brand-name{font-size:1.25rem}.header-actions{gap:.35rem}.theme-toggle-btn,.nav-mobile-toggle{width:36px;height:36px;flex:0 0 36px}.header-cta-pill,.header-cta-label,.desktop-nav,.header-nav-scene{display:none!important}.nav-mobile-toggle{display:flex!important}.search-kbd-badge,.nav-search-trigger{display:none!important}.main,.main:has(.page-wide),.main:has(.page-content){width:100%;max-width:none;overflow-x:clip;padding-block:clamp(.85rem,3.5vw,1.35rem) calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 2.25rem);padding-inline:max(1rem,env(safe-area-inset-left,0px))}.app.has-active-player .main,.app.has-active-player .main:has(.page-wide),.app.has-active-player .main:has(.page-content){padding-bottom:calc(var(--bottom-nav-h) + 92px + env(safe-area-inset-bottom,0px) + 2rem)}.bottom-nav{display:flex;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));height:var(--bottom-nav-h)}.global-audio-player-dock{bottom:calc(var(--bottom-nav-h, 64px) + 1.15rem + env(safe-area-inset-bottom,0px))}.global-audio-player{width:min(calc(100% - 1.25rem),420px);max-width:420px}.gap-queue-drawer{bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 5.6rem);max-height:min(52dvh,26rem)}.song-grid-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem .75rem}.comp-grid,.artist-grid{grid-template-columns:minmax(0,1fr)}.form,.fieldset{gap:1rem}.fieldset{padding:clamp(1rem,4vw,1.25rem)}.input,.textarea,.library-search-input,.search-input,select{min-height:44px;font-size:16px}textarea.textarea{min-height:7rem}.btn,.quick-nav-item{min-height:42px}.discover-taste-chip-divider{display:none}.form-actions{position:sticky;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 1.15rem);z-index:20;margin-inline:-.5rem;padding:.5rem;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.form-actions .btn{width:100%;white-space:normal}.search-results{max-height:min(52dvh,28rem);padding:.35rem;border-radius:var(--radius-lg)}.search-result-row{gap:.25rem}.search-result{min-height:68px;gap:.65rem;padding:.5rem}.search-result-preview{width:44px;height:44px;flex:0 0 44px}.detail-tabs,.detail-segmented-nav{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity}.detail-tabs::-webkit-scrollbar,.detail-segmented-nav::-webkit-scrollbar{display:none}.detail-tab-btn,.detail-segment-btn{min-height:40px;padding:.5rem .75rem;font-size:.84rem;flex:0 0 auto;scroll-snap-align:start}.modal-backdrop{align-items:flex-end;padding:0}.modal-dialog{width:100%;max-width:none;max-height:92dvh;border-radius:24px 24px 0 0;border-bottom:none;padding:1.15rem max(1.1rem,env(safe-area-inset-right,0px)) calc(1.15rem + env(safe-area-inset-bottom,0px)) max(1.1rem,env(safe-area-inset-left,0px));overscroll-behavior:contain}.modal-close-btn,.auth-modal-close{width:36px;height:36px;min-height:36px}.yt-alt-chip{min-height:32px}.shazam-backdrop{align-items:center!important;justify-content:center!important;padding:1rem!important;overflow:hidden!important;touch-action:none!important;overscroll-behavior:none!important}.shazam-modal{max-width:min(360px,calc(100vw - 2rem))!important;max-height:86dvh!important;border-radius:26px!important;padding:1.25rem 1.35rem 1.55rem!important;margin:auto!important;overflow:hidden!important;touch-action:manipulation!important;overscroll-behavior:none!important}.home-hero-title{font-size:clamp(2rem,9vw,2.6rem);text-wrap:balance}.page h1{text-wrap:balance}.song-card,.timeline-entry-card,.comp-card,.artist-card{min-width:0}.timeline-entry-card{grid-template-columns:auto minmax(0,1fr)}}@media(max-width:380px){.main,.main:has(.page-wide),.main:has(.page-content){padding-inline:.75rem}.home-quick-actions,.song-shelf-mobile,.artist-shelf-mobile,.album-shelf-mobile,.comp-shelf-mobile{width:calc(100% + 1.5rem);max-width:calc(100% + 1.5rem);margin-inline:-.75rem;padding-inline:.75rem}.song-grid-library{gap:.85rem .6rem}.bottom-nav{width:calc(100% - 1rem);padding:0 .35rem;gap:0}.bottom-nav-item{padding:0 1px}.bottom-nav-label{font-size:.6rem}.bottom-nav-add .bottom-nav-icon{width:35px;height:35px}}.search-mic-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.search-mic-btn:hover{background:#ffffff14;color:var(--text);transform:scale(1.08)}.search-mic-btn:active{transform:scale(.92)}.search-hint-shazam{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);margin-top:.5rem;width:100%;text-align:center;animation:fadeIn .2s ease}.search-hint-shazam strong{color:var(--text);font-weight:600}.search-hint-clear{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#ffffff14;border:none;color:var(--text-muted);font-size:.65rem;cursor:pointer;line-height:1;transition:all .15s ease}.search-hint-clear:hover{background:#ffffff2e;color:var(--text)}.shazam-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;z-index:1500;background:var(--modal-backdrop-bg);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);display:flex!important;align-items:center!important;justify-content:center!important;padding:1.25rem;overflow:hidden!important;touch-action:none!important;overscroll-behavior:none!important;-webkit-overflow-scrolling:auto}.shazam-modal{width:100%;max-width:370px;max-height:min(90dvh,560px);overflow:hidden!important;background:var(--modal-bg);border:1px solid var(--modal-border);border-radius:28px;padding:1.3rem 1.5rem 1.65rem;box-shadow:var(--modal-shadow);animation:modal-slide-up .26s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;margin:auto;touch-action:manipulation;overscroll-behavior:none}.shazam-modal::-webkit-scrollbar{display:none}.shazam-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.shazam-badge{display:inline-flex;align-items:center;gap:.45rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.shazam-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.shazam-modal-body{display:flex;flex-direction:column;align-items:center;text-align:center}.shazam-view{width:100%;display:flex;flex-direction:column;align-items:center}.shazam-orb-btn,.shazam-radar-sphere{position:relative;width:120px;height:120px;margin:.75rem auto 1.4rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0}.shazam-orb-btn{cursor:pointer}.shazam-orb-core{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffffff24,#ffffff08);border:1px solid rgba(255,255,255,.16);color:var(--text);display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:0 10px 28px #00000073,inset 0 1px #ffffff26;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s}[data-theme=light] .shazam-orb-core{background:radial-gradient(circle at 35% 35%,#0f172a14,#0f172a05);border-color:#0f172a24;box-shadow:0 10px 24px #0f172a1a,inset 0 1px #fff}.shazam-orb-btn:hover .shazam-orb-core{transform:scale(1.06);border-color:#ffffff59;box-shadow:0 14px 36px #0009,0 0 24px #ffffff14}[data-theme=light] .shazam-orb-btn:hover .shazam-orb-core{border-color:#0f172a52;box-shadow:0 12px 28px #0f172a29}.shazam-orb-btn:active .shazam-orb-core{transform:scale(.95)}.shazam-ring{position:absolute;width:80px;height:80px;border-radius:50%;border:1px solid rgba(255,255,255,.22);pointer-events:none;animation:shazam-ring-pulse 2.2s cubic-bezier(.2,.8,.2,1) infinite}[data-theme=light] .shazam-ring{border-color:#0f172a38}.shazam-ring.ring-1{animation-delay:0s}.shazam-ring.ring-2{animation-delay:.7s}.shazam-ring.ring-3{animation-delay:1.4s}@keyframes shazam-ring-pulse{0%{transform:scale(.85);opacity:.75}to{transform:scale(2.4);opacity:0}}.shazam-wave-bars{display:flex;align-items:center;gap:3.5px;height:28px}.shazam-wave-bars .wave-bar{width:3px;border-radius:3px;background:var(--text);animation:wave-jump .85s ease-in-out infinite alternate}.shazam-wave-bars .w-1{height:8px;animation-delay:.1s}.shazam-wave-bars .w-2{height:22px;animation-delay:.3s}.shazam-wave-bars .w-3{height:28px;animation-delay:.15s}.shazam-wave-bars .w-4{height:16px;animation-delay:.45s}.shazam-wave-bars .w-5{height:10px;animation-delay:.2s}@keyframes wave-jump{0%{height:6px}to{height:28px}}.shazam-heading{font-family:var(--font-serif, serif);font-size:1.65rem;font-weight:400;color:var(--text);margin:0 0 .3rem;letter-spacing:-.01em}.shazam-subtext{font-size:.88rem;color:var(--text-muted);margin:0 0 1.4rem;line-height:1.4;max-width:280px}.shazam-footer-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%}.shazam-cta-pill{width:100%;max-width:240px;border-radius:9999px;font-weight:600;padding:.75rem 1.4rem;font-size:.9rem}.shazam-stop-pill{border-radius:9999px;padding:.5rem 1.25rem;font-size:.82rem;color:var(--text-muted);border:1px solid var(--modal-border);background:var(--modal-surface)}.shazam-stop-pill:hover{background:var(--modal-surface-hover);color:var(--text)}.shazam-text-link{background:transparent;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:color .15s;padding:.2rem .5rem}.shazam-text-link:hover{color:var(--text);text-decoration:underline}.shazam-spinner-box{width:100px;height:100px;display:flex;align-items:center;justify-content:center;margin:.75rem auto 1.4rem}.shazam-minimal-spinner{width:44px;height:44px;border:2px solid var(--modal-border);border-top-color:var(--text);border-radius:50%;animation:spin .85s linear infinite}.shazam-status-circle{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:.75rem auto 1.25rem;background:var(--modal-surface);border:1px solid var(--modal-border);color:var(--text-muted)}.shazam-status-circle.is-error{background:#ff453a1a;border-color:#ff453a40;color:var(--danger, #ff453a)}.shazam-view-found{width:100%}.shazam-track-card{width:100%;background:var(--modal-surface);border:1px solid var(--modal-border);border-radius:18px;padding:.85rem 1rem;display:flex;align-items:center;gap:1rem;text-align:left;margin-bottom:1.4rem}.shazam-cover-wrap{position:relative;width:60px;height:60px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#111;box-shadow:0 8px 20px #0006}.shazam-cover-img{width:100%;height:100%;object-fit:cover;display:block}.shazam-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted)}.shazam-cover-play-btn{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;border:none;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;opacity:0;transition:opacity .2s}.shazam-cover-wrap:hover .shazam-cover-play-btn,.shazam-cover-play-btn.is-playing{opacity:1}.shazam-track-meta{flex:1;min-width:0}.shazam-track-title{font-size:.98rem;font-weight:600;color:var(--text);margin:0 0 .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shazam-track-artist{font-size:.85rem;color:var(--text-muted);margin:0 0 .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shazam-track-album{font-size:.74rem;color:var(--text-faint);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shazam-found-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%}.home-spotlight-glass-scene{position:relative;width:100%}.spotlight-play-btn.lg-button,.spotlight-play-btn{width:54px;height:54px;padding:0;border-radius:50%!important;color:#0f1015!important;background:#ffffffe0!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 10px 28px #00000040,inset 0 2px 2px #fff,inset 0 -1px 2px #00000014!important;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease!important}[data-theme=dark] .spotlight-play-btn.lg-button,[data-theme=dark] .spotlight-play-btn{color:#000!important;background:#ffffffeb!important;border:1px solid rgba(255,255,255,1)!important;box-shadow:0 12px 32px #0000008c,inset 0 2px 2px #fff!important}.spotlight-play-btn.lg-button:hover,.spotlight-play-btn:hover{transform:scale(1.1)!important;background:#fff!important;box-shadow:0 14px 36px #00000059,inset 0 2px 2px #fff!important}.theme-toggle.lg-button,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%!important;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s,transform .15s,box-shadow .15s}.theme-toggle.lg-button:hover,.theme-toggle:hover{color:var(--text);border-color:#fffffff2;background:var(--glass-bg-hover);transform:scale(1.08);box-shadow:var(--glass-shadow-hover),var(--glass-rim)}.quick-action-surprise-glass-btn.lg-button{min-height:34px;padding:0 1rem;font-size:.8125rem;font-weight:600;border-radius:9999px!important;background:var(--glass-bg);color:var(--text);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);gap:.45rem;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease,background .18s ease,border-color .18s ease}[data-theme=light] .quick-action-surprise-glass-btn.lg-button{background:#ffffffbf;border-color:#fffffffa;box-shadow:0 4px 16px #0f172a14,inset 0 1.5px 1px #fff}.quick-action-surprise-glass-btn.lg-button:hover{transform:translateY(-2px);box-shadow:var(--glass-shadow-hover),var(--glass-rim)}.library-glass-tabs-scene{display:inline-flex;align-items:center}.segmented-label-with-icon{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:500}.library-backup-btn.lg-button{height:32px;padding:0 .75rem;font-size:.78rem;font-weight:500;border-radius:9999px;color:var(--text-muted)}.library-backup-btn.lg-button:hover{color:var(--text)}.discover-page{padding-bottom:calc(var(--bottom-nav-h) + 6rem)}.discover-toast{position:fixed;bottom:calc(var(--bottom-nav-h) + 1.25rem);left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#121420eb;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:9999px;box-shadow:0 14px 40px #0000008c,inset 0 1px #ffffff40;color:var(--text);font-size:.84rem;font-weight:500;max-width:90vw;animation:discoverToastIn .25s cubic-bezier(.16,1,.3,1)}[data-theme=light] .discover-toast{background:#fffffff0;border:1px solid rgba(0,0,0,.12);box-shadow:0 14px 40px #00000026,inset 0 1px #fff;color:#1d1d1f}@keyframes discoverToastIn{0%{opacity:0;transform:translate(-50%,12px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.discover-toast-link{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.discover-toast-undo-btn{margin-left:.35rem;padding:.22rem .65rem;border-radius:9999px;font-size:.78rem;font-weight:700;background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .15s ease;white-space:nowrap}.discover-toast-undo-btn:hover{background:#fff;color:#000;transform:scale(1.05)}[data-theme=light] .discover-toast-undo-btn{background:#00000014;color:#000;border-color:#0003}[data-theme=light] .discover-toast-undo-btn:hover{background:#000;color:#fff}.discover-empty-card{text-align:center;max-width:520px;margin:4rem auto;padding:3rem 2rem;border-radius:24px;background:#ffffff08;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 48px #0006,inset 0 1px #ffffff14}[data-theme=light] .discover-empty-card{background:#ffffffb3;border-color:#00000014;box-shadow:0 20px 48px #0000000f,inset 0 1px #fff}.discover-empty-badge{font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--text-faint);margin-bottom:1rem}.discover-empty-title{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;margin:0 0 .85rem;letter-spacing:-.015em}.discover-empty-desc{font-size:.92rem;color:var(--text-muted);line-height:1.6;margin:0 0 2rem}.discover-empty-actions{display:flex;justify-content:center}.discover-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:9999px;font-size:.88rem;font-weight:600;background:var(--text);color:var(--text-on-accent);text-decoration:none;box-shadow:0 4px 16px #00000040,inset 0 1px 1px #fff;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease}.discover-btn-primary:hover{transform:translateY(-1.5px) scale(1.02);box-shadow:0 8px 24px #00000059}.discover-hero{margin-bottom:2rem;padding-top:.5rem}.discover-hero-badge-wrap{margin-bottom:.75rem}.discover-hero-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .7rem;border-radius:9999px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}[data-theme=light] .discover-hero-badge{color:#1d1d1f;background:#0000000d;border-color:#0000001a}.discover-hero-content{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.discover-hero-text{flex:1;min-width:280px}.discover-title{font-family:var(--font-serif);font-size:clamp(2rem,3.8vw,2.85rem);font-weight:400;line-height:1.15;margin:0 0 .45rem;letter-spacing:-.02em;color:var(--text)}.discover-subtitle{font-size:.94rem;color:var(--text-muted);line-height:1.55;max-width:600px;margin:0}.discover-sound-status{display:block;margin-top:.25rem;font-size:.85rem;opacity:.85;font-variant-numeric:tabular-nums}.discover-subtitle strong{color:var(--text);font-weight:600}.discover-hero-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.discover-btn-mix{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.15rem;border-radius:9999px;font-size:.84rem;font-weight:600;background:var(--text);color:var(--text-on-accent);border:1px solid rgba(255,255,255,.9);box-shadow:0 4px 16px #0003,inset 0 1px 1px #fff;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1)}.discover-btn-mix:hover{transform:translateY(-1.5px) scale(1.02);box-shadow:0 8px 24px #00000052}.discover-btn-refresh{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border-radius:9999px;font-size:.84rem;font-weight:500;background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;transition:all .18s ease}.discover-btn-refresh:hover:not(:disabled){background:#ffffff24;border-color:#ffffff47;transform:translateY(-1px)}.discover-btn-refresh:disabled{opacity:.6;cursor:not-allowed}[data-theme=light] .discover-btn-refresh{background:#0000000a;border-color:#0000001a;color:#1d1d1f}.discover-taste-ribbon{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.85rem 1.25rem;margin-top:1.25rem;border-radius:16px;background:#ffffff09;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px #ffffff0f,0 8px 24px -10px #00000040;flex-wrap:wrap}[data-theme=light] .discover-taste-ribbon{background:#ffffffc7;border-color:#00000014;box-shadow:0 4px 16px #0000000a,inset 0 1px #fff}.discover-taste-ribbon-left{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.discover-taste-focus-header{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.discover-taste-ribbon-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.discover-taste-focus-title{font-size:.8rem;font-weight:600;color:var(--text);background:#ffffff12;padding:.2rem .65rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);white-space:nowrap}[data-theme=light] .discover-taste-focus-title{background:#0000000d;border-color:#00000014;color:#1d1d1f}.discover-taste-rotate-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:9999px;font-size:.72rem;font-weight:600;background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:all .18s ease;white-space:nowrap}.discover-taste-rotate-btn:hover:not(:disabled){color:var(--text);background:#ffffff14;border-color:#ffffff3d;transform:translateY(-1px)}[data-theme=light] .discover-taste-rotate-btn{color:#555557;border-color:#0000001f}[data-theme=light] .discover-taste-rotate-btn:hover:not(:disabled){color:#1d1d1f;background:#0000000d;border-color:#0003}.discover-taste-ribbon-chips{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.discover-taste-chip{font-size:.75rem;font-weight:500;padding:.24rem .7rem;border-radius:9999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text);cursor:pointer;transition:all .15s ease;outline:none}.discover-taste-chip--mood{font-style:italic;opacity:.95}.discover-taste-chip:hover{background:#ffffff1f;border-color:#ffffff38;transform:translateY(-1px)}.discover-taste-chip.is-active{background:var(--text);color:var(--text-on-accent);border-color:var(--text);font-weight:600;box-shadow:0 2px 8px #00000040}[data-theme=light] .discover-taste-chip{background:#0000000a;border-color:#00000014;color:#1d1d1f}[data-theme=light] .discover-taste-chip.is-active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.discover-taste-chip-divider{width:1px;height:16px;background:#ffffff26;margin:0 .2rem}[data-theme=light] .discover-taste-chip-divider{background:#00000026}.discover-taste-ribbon-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.discover-taste-count-badge{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.discover-taste-count-badge strong{color:var(--text);font-weight:600}.discover-taste-disliked-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .65rem;border-radius:9999px;font-size:.72rem;font-weight:600;background:#ff453a1a;border:1px solid rgba(255,69,58,.25);color:#ff6961;cursor:pointer;transition:all .15s ease;outline:none;white-space:nowrap}.discover-taste-disliked-pill:hover{background:#ff453a2e;border-color:#ff453a66;transform:translateY(-1px)}[data-theme=light] .discover-taste-disliked-pill{background:#ff3b3014;border-color:#ff3b3038;color:#d70015}.discover-spotlight-hero{position:relative;border-radius:24px;overflow:hidden;margin-bottom:2.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);box-shadow:0 20px 48px -12px #00000080,inset 0 1px #ffffff26}[data-theme=light] .discover-spotlight-hero{background:#ffffffd1;border-color:#00000014;box-shadow:0 20px 48px -12px #0000001a,inset 0 1px #fff}.discover-spotlight-backdrop{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background-size:cover;background-position:center;filter:blur(50px) opacity(.22);pointer-events:none;z-index:0}[data-theme=light] .discover-spotlight-backdrop{filter:blur(60px) opacity(.12)}.discover-spotlight-card{position:relative;z-index:1;display:flex;align-items:center;gap:1.5rem;padding:1.35rem 1.6rem}.discover-spotlight-cover-wrap{position:relative;width:165px;height:165px;min-width:165px;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px #00000073,0 0 0 1px #ffffff1f;background:#000}[data-theme=light] .discover-spotlight-cover-wrap{box-shadow:0 10px 28px #0000001f,0 0 0 1px #00000014}.discover-spotlight-cover{width:100%;height:100%;object-fit:cover;display:block}.discover-spotlight-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-faint)}.discover-spotlight-play-btn{position:absolute;bottom:10px;right:10px;width:44px;height:44px;border-radius:50%;background:#fffffff5;color:#000;border:1px solid rgba(255,255,255,1);box-shadow:0 6px 20px #00000059;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background .2s ease;z-index:2;outline:none}.discover-spotlight-play-btn:hover{transform:scale(1.08);background:#fff;box-shadow:0 8px 24px #00000073}.discover-spotlight-play-btn.is-playing{background:var(--text);color:var(--text-on-accent);box-shadow:0 0 24px var(--accent-glow)}.discover-spotlight-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.48rem}.discover-spotlight-header-meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.discover-spotlight-badge{display:inline-flex;align-items:center;gap:.32rem;padding:.2rem .65rem;border-radius:9999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:var(--text);box-shadow:0 1px 4px #00000026}[data-theme=light] .discover-spotlight-badge{background:#0000000d;border-color:#0000001a;color:#1d1d1f}.discover-spotlight-seed-tag{font-size:.72rem;color:var(--text-muted)}.discover-spotlight-title{font-family:var(--font-serif);font-size:clamp(1.6rem,2.3vw,2.2rem);font-weight:400;line-height:1.15;margin:0;letter-spacing:-.02em;color:var(--text)}.discover-spotlight-artist{font-size:.98rem;color:var(--text-muted);margin:0}.discover-spotlight-artist strong{color:var(--text);font-weight:600}.discover-spotlight-narrative{display:flex;align-items:flex-start;gap:.45rem;padding:.48rem .82rem;border-radius:10px;background:#ffffff09;border:1px solid rgba(255,255,255,.07);font-size:.8rem;color:var(--text-muted);line-height:1.45}[data-theme=light] .discover-spotlight-narrative{background:#00000008;border-color:#0000000f;color:#48484a}.discover-spotlight-narrative-sparkle{color:#f5a623;flex-shrink:0;font-size:.8rem;margin-top:1px}.discover-spotlight-narrative p{margin:0}.discover-spotlight-actions{display:flex;align-items:center;gap:.55rem;margin-top:.25rem;flex-wrap:wrap}.discover-spotlight-split-pill{display:inline-flex;align-items:stretch;height:36px;border-radius:9999px;overflow:hidden;background:#ffffff12;border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 12px #00000040,inset 0 1px .5px #ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:0;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease;position:relative;max-width:100%}.discover-spotlight-split-pill:hover{border-color:#ffffff4d;box-shadow:0 4px 18px #00000059,inset 0 1px .5px #ffffff38;transform:translateY(-1px)}[data-theme=light] .discover-spotlight-split-pill{background:#0000000a;border-color:#0000001f;box-shadow:0 2px 8px #0000000f}[data-theme=light] .discover-spotlight-split-pill:hover{border-color:#0003;box-shadow:0 4px 14px #0000001a}.discover-split-btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;height:100%;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;letter-spacing:-.01em;padding:0 .92rem;transition:all .16s cubic-bezier(.16,1,.3,1);outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}.discover-split-btn:disabled{opacity:.6;cursor:not-allowed}.discover-split-btn:focus-visible{outline:2px solid var(--accent, #0071e3);outline-offset:-2px;z-index:2}.discover-split-btn:active:not(:disabled){opacity:.85}.discover-split-btn--main{background:var(--text);color:var(--text-on-accent);box-shadow:inset 0 1px 1px #ffffffe6;padding-left:1.05rem;padding-right:.92rem}.discover-split-btn--main:hover:not(:disabled):not(.is-playing){filter:brightness(1.08)}[data-theme=light] .discover-split-btn--main:hover:not(:disabled):not(.is-playing){filter:brightness(1.15)}.discover-split-btn--main.is-playing{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 0 16px #10b98166,inset 0 1px #fff6}.discover-split-divider{width:1px;background:#0000001f;flex-shrink:0}[data-theme=light] .discover-split-divider{background:#ffffff40}.discover-split-btn--preview{color:var(--text);background:#ffffff0a;padding-left:.82rem;padding-right:.92rem}.discover-split-btn--preview:hover:not(:disabled):not(.is-playing){background:#ffffff1f;color:#fff}[data-theme=light] .discover-split-btn--preview{background:#00000005}[data-theme=light] .discover-split-btn--preview:hover:not(:disabled):not(.is-playing){background:#0000000f;color:#17181c}.discover-split-btn--preview.is-playing{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 0 16px #f59e0b66,inset 0 1px #fff6}.discover-split-badge{font-size:.68rem;font-weight:700;letter-spacing:.01em;padding:.08rem .38rem;border-radius:9999px;background:#ffffff1f;color:currentColor;border:1px solid rgba(255,255,255,.18);margin-left:.05rem}[data-theme=light] .discover-split-badge{background:#0000000f;border-color:#0000001a}.discover-split-btn--preview.is-playing .discover-split-badge{background:#ffffff38;border-color:#fff6;color:#fff}.discover-split-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px;width:12px;flex-shrink:0}.discover-split-eq-bar{flex:1;background:currentColor;border-radius:2px;animation:discover-split-wave .7s ease-in-out infinite alternate}.discover-split-eq-bar:nth-child(1){height:45%;animation-delay:.1s}.discover-split-eq-bar:nth-child(2){height:95%;animation-delay:.28s}.discover-split-eq-bar:nth-child(3){height:60%;animation-delay:.18s}@keyframes discover-split-wave{0%{height:25%}to{height:100%}}@media(max-width:480px){.discover-split-btn{padding:0 .72rem;font-size:.78rem;gap:.35rem}.discover-split-badge{font-size:.65rem;padding:.06rem .3rem}}.discover-spotlight-btn-listen{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1.35rem;border-radius:9999px;font-size:.88rem;font-weight:600;background:var(--text);color:var(--text-on-accent);border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 18px #0000004d,inset 0 1px 1px #fff;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1)}.discover-spotlight-btn-listen:hover{transform:translateY(-1.5px) scale(1.02);box-shadow:0 8px 26px #0006}.discover-spotlight-btn-listen.is-playing{background:#34c759;color:#fff;border-color:#34c759}.discover-spotlight-btn-preview{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:9999px;font-size:.88rem;font-weight:600;background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:all .16s ease;outline:none}.discover-spotlight-btn-preview:hover{background:#ffffff2e;border-color:#ffffff59;transform:translateY(-1px)}.discover-spotlight-btn-preview.is-playing{background:#ff9f0a2e;color:#ff9f0a;border-color:#ff9f0a66}[data-theme=light] .discover-spotlight-btn-preview{background:#0000000d;border-color:#0000001f;color:#1d1d1f}[data-theme=light] .discover-spotlight-btn-preview:hover{background:#00000017}[data-theme=light] .discover-spotlight-btn-preview.is-playing{background:#ff950026;color:#ff9500;border-color:#ff950059}.discover-spotlight-btn-add{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:0 .95rem;border-radius:9999px;font-size:.82rem;font-weight:600;letter-spacing:-.01em;background:#ffffff12;color:var(--text);border:1px solid rgba(255,255,255,.18);cursor:pointer;transition:all .16s ease;white-space:nowrap}.discover-spotlight-btn-add:hover:not(:disabled){background:#ffffff24;border-color:#ffffff4d;transform:translateY(-1px)}[data-theme=light] .discover-spotlight-btn-add{background:#0000000a;border-color:#0000001f;color:#1d1d1f}[data-theme=light] .discover-spotlight-btn-add:hover:not(:disabled){background:#00000014;border-color:#0000002e}.discover-spotlight-btn-dislike{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;padding:0;border-radius:50%;font-size:.82rem;background:#ffffff0d;color:var(--text-muted);border:1px solid rgba(255,255,255,.14);cursor:pointer;transition:all .16s ease;outline:none}.discover-spotlight-btn-dislike:hover{color:#ff453a;background:#ff453a1f;border-color:#ff453a59;transform:translateY(-1px)}[data-theme=light] .discover-spotlight-btn-dislike{background:#00000009;border-color:#00000017;color:#6e6e73}[data-theme=light] .discover-spotlight-btn-dislike:hover{color:#ff3b30;background:#ff3b301a;border-color:#ff3b304d}.discover-spotlight-btn-in-lib{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:0 .95rem;border-radius:9999px;font-size:.82rem;font-weight:600;letter-spacing:-.01em;background:#34c7591f;color:#34c759;border:1px solid rgba(52,199,89,.28);text-decoration:none;white-space:nowrap}.discover-spotlight-btn-custom{background:none;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;text-decoration:none;padding:.25rem .5rem;transition:color .15s ease,opacity .15s ease;opacity:.75;white-space:nowrap}.discover-spotlight-btn-custom:hover{color:var(--text);opacity:1}.discover-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:2rem;flex-wrap:wrap}.discover-controls-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;flex:1}.discover-view-segmented{display:inline-flex;align-items:center;padding:3px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:9999px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-theme=light] .discover-view-segmented{background:#0000000d;border-color:#0000001a}.discover-view-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .85rem;border-radius:9999px;border:none;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .16s ease;outline:none}.discover-view-tab:hover{color:var(--text)}.discover-view-tab.is-active{background:var(--text);color:var(--text-on-accent);font-weight:600;box-shadow:0 2px 8px #00000040}[data-theme=light] .discover-view-tab.is-active{background:#1d1d1f;color:#fff}.discover-filters-scroll{display:flex;align-items:center;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.discover-filters-scroll::-webkit-scrollbar{display:none}.discover-filter-pill{white-space:nowrap;font-size:.78rem;font-weight:500;padding:.42rem .9rem;border-radius:9999px;background:#ffffff0d;color:var(--text-muted);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .16s ease;outline:none}.discover-filter-pill:hover{background:#ffffff1a;color:var(--text);border-color:#fff3}.discover-filter-pill.is-active{background:var(--text);color:var(--text-on-accent);border-color:var(--text);font-weight:600;box-shadow:0 2px 10px #00000040}[data-theme=light] .discover-filter-pill{background:#0000000a;color:#6e6e73;border-color:#00000014}[data-theme=light] .discover-filter-pill.is-active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.discover-search-wrap{position:relative;display:flex;align-items:center;min-width:220px;max-width:280px;width:100%}.discover-search-wrap svg{position:absolute;left:.75rem;pointer-events:none;color:var(--text-muted)}.discover-search-input{width:100%;height:36px;border-radius:9999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);font-size:.82rem;padding:0 1.9rem 0 2.1rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .15s,background .15s}.discover-search-input:focus{outline:none;border-color:var(--accent);background:#ffffff1a}[data-theme=light] .discover-search-input{background:#0000000a;border-color:#0000001a;color:#1d1d1f}[data-theme=light] .discover-search-input:focus{background:#0000000f;border-color:#1d1d1f}.discover-search-clear{position:absolute;right:.65rem;width:18px;height:18px;border-radius:50%;border:none;background:#ffffff2e;color:var(--text);font-size:.65rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.discover-shelves-container{display:flex;flex-direction:column;gap:2.75rem}.discover-shelf{display:flex;flex-direction:column;gap:1.15rem}.discover-shelf-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.45rem;border-bottom:1px solid rgba(255,255,255,.08)}[data-theme=light] .discover-shelf-header{border-bottom-color:#0000000f}.discover-shelf-info{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.discover-shelf-title{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-serif);font-size:1.6rem;font-weight:400;margin:0;letter-spacing:-.015em;color:var(--text)}.discover-shelf-sparkle{color:#f5a623;font-size:1.05rem}.discover-shelf-count{font-size:.78rem;color:var(--text-muted)}.discover-shelf-play-all-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .85rem;border-radius:9999px;font-size:.76rem;font-weight:600;background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.14);cursor:pointer;transition:all .16s ease}.discover-shelf-play-all-btn:hover{background:#ffffff29;border-color:#ffffff47;transform:translateY(-1px)}[data-theme=light] .discover-shelf-play-all-btn{background:#0000000a;border-color:#0000001a;color:#1d1d1f}.discover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.35rem}.discover-card{display:flex;flex-direction:column;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 10px 28px -6px #00000059,inset 0 1px #ffffff14;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease;position:relative}.discover-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -8px #00000080,inset 0 1px #ffffff29;border-color:#fff3}.discover-card.is-playing-card{border-color:#fff6;box-shadow:0 0 0 2px var(--accent-glow),0 18px 40px #0000008c}[data-theme=light] .discover-card{background:#ffffffb8;border-color:#00000014;box-shadow:0 10px 28px -6px #0000000f,inset 0 1px #fff}[data-theme=light] .discover-card:hover{border-color:#00000029;box-shadow:0 18px 40px -8px #0000001f,inset 0 1px #fff}.discover-card-cover-wrap{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;background:#0003}.discover-card-cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.16,1,.3,1)}.discover-card:hover .discover-card-cover{transform:scale(1.05)}.discover-card-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.8rem;color:var(--text-faint);background:#ffffff08}.discover-match-badge{position:absolute;top:9px;left:9px;display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .55rem;border-radius:9999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;background:#0f1015bf;color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 4px 12px #00000059;z-index:2}.discover-play-btn{position:absolute;bottom:9px;right:9px;width:40px;height:40px;border-radius:50%;background:#ffffffeb;color:#000;border:1px solid rgba(255,255,255,1);box-shadow:0 6px 18px #00000059,inset 0 1px 1px #fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s ease,box-shadow .2s ease;z-index:3;outline:none}.discover-play-btn:hover{transform:scale(1.12);background:#fff;box-shadow:0 8px 24px #00000073}.discover-play-btn:active{transform:scale(.94)}.discover-play-btn.is-playing,.discover-play-btn.is-playing-full{background:var(--text);color:var(--text-on-accent);box-shadow:0 0 22px var(--accent-glow)}.discover-card-body{padding:.95rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.discover-card-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.discover-card-title{font-family:var(--font-serif);font-size:1.12rem;font-weight:400;line-height:1.25;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.discover-card-artist{font-size:.82rem;font-weight:500;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-card-album{font-size:.72rem;color:var(--text-faint);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-reason-pill{display:flex;align-items:center;gap:.35rem;padding:.32rem .6rem;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);font-size:.72rem;color:var(--text-muted);overflow:hidden}[data-theme=light] .discover-reason-pill{background:#00000009;border-color:#00000012;color:#6e6e73}.discover-reason-sparkle{color:#f5a623;flex-shrink:0;font-size:.7rem}.discover-reason-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-card-actions{display:flex;align-items:center;gap:.45rem;margin-top:auto;padding-top:.3rem}.discover-btn-add{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:32px;padding:0 .8rem;border-radius:9999px;font-size:.76rem;font-weight:600;background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.16);cursor:pointer;transition:all .16s ease;outline:none}.discover-btn-add:hover:not(:disabled){background:#ffffff29;border-color:#ffffff52;transform:translateY(-1px)}.discover-btn-add:disabled{opacity:.6;cursor:wait}[data-theme=light] .discover-btn-add{background:#0000000d;border-color:#0000001f;color:#1d1d1f}[data-theme=light] .discover-btn-add:hover:not(:disabled){background:#00000017;border-color:#0003}.discover-btn-in-library{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:32px;padding:0 .8rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:#34c75924;color:#34c759;border:1px solid rgba(52,199,89,.3);text-decoration:none;transition:background .15s ease}.discover-btn-in-library:hover{background:#34c75938}.discover-btn-full{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;height:32px;padding:0 .65rem;border-radius:9999px;font-size:.74rem;font-weight:600;background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.16);cursor:pointer;transition:all .16s ease;outline:none;white-space:nowrap;flex-shrink:0}.discover-btn-full:hover{background:#ffffff29;border-color:#ffffff52;transform:translateY(-1px)}.discover-btn-full.is-active{background:#fff;color:#000;border-color:#fff;box-shadow:0 2px 10px #0000004d}[data-theme=light] .discover-btn-full{background:#0000000d;border-color:#0000001f;color:#1d1d1f}[data-theme=light] .discover-btn-full:hover{background:#00000017;border-color:#0003}[data-theme=light] .discover-btn-full.is-active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.discover-btn-custom-add{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);cursor:pointer;transition:all .15s ease;outline:none;flex-shrink:0}.discover-btn-custom-add:hover{color:var(--text);background:#ffffff24;border-color:#ffffff47}[data-theme=light] .discover-btn-custom-add{background:#0000000a;border-color:#00000014;color:#6e6e73}.discover-btn-dislike{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);cursor:pointer;transition:all .15s ease;outline:none;flex-shrink:0}.discover-btn-dislike:hover{color:#ff453a;background:#ff453a1f;border-color:#ff453a59;transform:scale(1.08)}[data-theme=light] .discover-btn-dislike{background:#0000000a;border-color:#00000014;color:#6e6e73}[data-theme=light] .discover-btn-dislike:hover{color:#ff3b30;background:#ff3b301a;border-color:#ff3b304d}.discover-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes discoverShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes discoverRipple{0%{transform:scale(.85);opacity:.8}50%{transform:scale(1.4);opacity:.25}to{transform:scale(1.9);opacity:0}}.discover-loading-stage{display:flex;flex-direction:column;gap:2rem;margin-top:.5rem;animation:fadeIn .3s ease-out}.discover-loading-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:1.5rem;padding:1.75rem 2rem;border-radius:20px;background:#ffffffd9;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px #0000000a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .discover-loading-card{background:#ffffff09;border-color:#ffffff14;box-shadow:0 8px 32px #00000040}.discover-loading-pulse-glow{position:absolute;top:-50%;left:-20%;width:140%;height:200%;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.08),transparent 45%);pointer-events:none}[data-theme=dark] .discover-loading-pulse-glow{background:radial-gradient(circle at 20% 50%,rgba(96,165,250,.12),transparent 45%)}.discover-loading-icon-wrap{position:relative;width:54px;height:54px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.discover-loading-disc{width:46px;height:46px;border-radius:50%;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 4px 14px #0f172a40}[data-theme=dark] .discover-loading-disc{background:#fff;color:#0f172a;box-shadow:0 4px 16px #fff3}.discover-loading-ripple{position:absolute;width:46px;height:46px;border-radius:50%;border:2px solid rgba(15,23,42,.3);animation:discoverRipple 2.2s cubic-bezier(.2,.8,.2,1) infinite;pointer-events:none}[data-theme=dark] .discover-loading-ripple{border-color:#ffffff59}.discover-loading-ripple.delay-1{animation-delay:1.1s}.discover-loading-meta{position:relative;z-index:2}.discover-loading-heading{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .35rem;color:var(--text)}.discover-loading-sub{font-size:.9rem;line-height:1.5;color:var(--text-muted);margin:0;max-width:580px}.discover-spotlight-skeleton{display:flex;align-items:center;gap:2rem;padding:2rem;border-radius:24px;background:#ffffffb3;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 24px #00000008}[data-theme=dark] .discover-spotlight-skeleton{background:#ffffff06;border-color:#ffffff12}@media(max-width:768px){.discover-spotlight-skeleton{flex-direction:column;align-items:flex-start}}.discover-spotlight-skeleton-cover-wrap{width:200px;height:200px;flex-shrink:0}@media(max-width:768px){.discover-spotlight-skeleton-cover-wrap{width:100%;height:auto;aspect-ratio:1 / 1;max-width:240px}}.discover-spotlight-skeleton-body{flex:1;display:flex;flex-direction:column;gap:.65rem;width:100%}.discover-spotlight-skeleton-actions{display:flex;gap:.85rem;margin-top:1rem}.discover-skeleton-cover,.discover-skeleton-line,.discover-skeleton-pill,.discover-skeleton-btn{border-radius:8px;background:linear-gradient(90deg,#0000000a 20%,#00000017,#0000000a 80%);background-size:200% 100%;animation:discoverShimmer 1.8s ease-in-out infinite}[data-theme=dark] .discover-skeleton-cover,[data-theme=dark] .discover-skeleton-line,[data-theme=dark] .discover-skeleton-pill,[data-theme=dark] .discover-skeleton-btn{background:linear-gradient(90deg,#ffffff0a 20%,#ffffff1a,#ffffff0a 80%);background-size:200% 100%}.discover-skeleton-cover{width:100%;aspect-ratio:1 / 1;border-radius:14px}.discover-skeleton-cover.is-spotlight{height:100%;border-radius:18px}.discover-skeleton-pill{border-radius:9999px}.discover-card-skeleton{border-radius:18px;background:#ffffffb3;border:1px solid rgba(0,0,0,.08);padding:.95rem;display:flex;flex-direction:column;gap:.65rem;box-shadow:0 2px 10px #00000005}[data-theme=dark] .discover-card-skeleton{background:#ffffff06;border-color:#ffffff12}.discover-skeleton-btn{height:34px;border-radius:9999px;margin-top:.5rem}.discover-refreshing-overlay{position:sticky;top:72px;z-index:40;display:flex;justify-content:center;pointer-events:none;margin-bottom:1rem;animation:fadeIn .2s ease-out}.discover-refreshing-pill{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1.15rem;border-radius:9999px;font-size:.82rem;font-weight:600;color:var(--text);background:#ffffffe0;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 18px #0000001a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:auto}[data-theme=dark] .discover-refreshing-pill{background:#14141ae6;border-color:#ffffff24;box-shadow:0 6px 24px #0006}.discover-taste-count-badge.is-loading{display:inline-flex;align-items:center;gap:.4rem;background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2);padding:.2rem .6rem;border-radius:9999px;font-size:.74rem}[data-theme=dark] .discover-taste-count-badge.is-loading{background:#60a5fa1f;color:#93c5fd;border-color:#60a5fa40}.discover-error-panel,.discover-no-matches{text-align:center;padding:3rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;margin:1.5rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-muted)}@media(max-width:768px){.discover-spotlight-card{flex-direction:column;align-items:center;text-align:center;gap:1.25rem;padding:1.35rem}.discover-spotlight-cover-wrap{width:160px;height:160px;min-width:160px}.discover-spotlight-header-meta,.discover-spotlight-actions{justify-content:center}.discover-spotlight-title{font-size:1.75rem}.discover-taste-ribbon{border-radius:18px;padding:.85rem 1rem;gap:.75rem}.discover-taste-ribbon-left{gap:.5rem}.discover-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem}.discover-card-body{padding:.75rem;gap:.45rem}.discover-card-title{font-size:1rem}.discover-card-artist{font-size:.75rem}.discover-play-btn{width:36px;height:36px;bottom:8px;right:8px}.discover-btn-add span,.discover-btn-in-library span{font-size:.72rem}.discover-search-wrap{max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid Highlight!important;outline-offset:2px}.nav-auth-btn{display:inline-flex;align-items:center;gap:.45rem;height:38px;padding:0 .95rem;font-size:.8125rem;font-weight:600;color:var(--text);background:var(--glass-btn-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-btn-border);border-radius:9999px;box-shadow:var(--glass-btn-shadow);cursor:pointer;transition:color .18s,border-color .18s,background .18s,transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s;white-space:nowrap}.nav-auth-btn:hover{background:var(--glass-btn-bg-hover);border-color:var(--glass-btn-border-hover);transform:translateY(-1px)}.nav-auth-btn:active{transform:scale(.97)}.nav-user-container{position:relative}.nav-user-pill{display:inline-flex;align-items:center;gap:.5rem;height:38px;padding:0 .85rem 0 .45rem;font-size:.8125rem;font-weight:500;color:var(--text);background:var(--glass-btn-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-btn-border);border-radius:9999px;box-shadow:var(--glass-btn-shadow);cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);white-space:nowrap}.nav-user-pill:hover,.nav-user-pill.is-active{background:var(--glass-btn-bg-hover);border-color:var(--glass-btn-border-hover)}.nav-user-avatar{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,rgba(var(--cover-rgb-a),.92),rgba(var(--cover-rgb-b),.92));color:#fff;font-size:.72rem;font-weight:700;box-shadow:0 2px 8px rgba(var(--cover-rgb-a),.3);flex-shrink:0}.nav-user-name{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500}.nav-user-chevron{color:var(--text-muted);transition:transform .2s cubic-bezier(.16,1,.3,1);flex-shrink:0}.nav-user-chevron.is-open{transform:rotate(180deg)}.nav-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:248px;background:var(--glass-card-bg, rgba(18, 20, 26, .92));backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 48px -8px #000000a6,0 0 0 1px #ffffff0a;z-index:210;padding:.4rem;animation:auth-dropdown-in .18s cubic-bezier(.16,1,.3,1);overflow:hidden}[data-theme=light] .nav-user-dropdown{background:#fffffff5;border-color:#00000014;box-shadow:0 20px 48px -8px #00000024,0 0 0 1px #0000000a}@keyframes auth-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.nav-user-dropdown-header{padding:.65rem .65rem .5rem;display:flex;flex-direction:column}.nav-user-dropdown-profile{display:flex;align-items:center;gap:.65rem}.nav-user-dropdown-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,rgba(var(--cover-rgb-a),.95),rgba(var(--cover-rgb-b),.95));color:#fff;font-size:.78rem;font-weight:700;box-shadow:0 2px 10px rgba(var(--cover-rgb-a),.35);flex-shrink:0}.nav-user-dropdown-meta{display:flex;flex-direction:column;overflow:hidden;min-width:0}.nav-user-dropdown-name{font-size:.875rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-dropdown-email{font-size:.73rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-dropdown-status-row{margin-top:.55rem}.nav-user-dropdown-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .6rem;border-radius:9999px;font-size:.6875rem;font-weight:500;background:#10b9811a;border:1px solid rgba(16,185,129,.22);color:#34d399}[data-theme=light] .nav-user-dropdown-badge{background:#10b9811f;border-color:#10b98147;color:#059669}.nav-user-dropdown-badge.is-syncing{background:#3b82f61a;border-color:#3b82f640;color:#60a5fa}[data-theme=light] .nav-user-dropdown-badge.is-syncing{background:#3b82f61f;border-color:#3b82f647;color:#2563eb}.nav-user-dropdown-badge.is-error{background:#f59e0b1a;border-color:#f59e0b40;color:#fbbf24}[data-theme=light] .nav-user-dropdown-badge.is-error{background:#f59e0b1f;border-color:#f59e0b47;color:#d97706}.nav-user-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#10b981;box-shadow:0 0 6px #10b981b3}.nav-user-status-dot.is-synced,.nav-user-status-dot.is-idle{background:#10b981;box-shadow:0 0 6px #10b981b3}.nav-user-status-dot.is-syncing{background:#3b82f6!important;box-shadow:0 0 8px #3b82f6cc!important;animation:pulse-dot 1.2s infinite ease-in-out}.nav-user-status-dot.is-error{background:#f59e0b!important;box-shadow:0 0 6px #f59e0b99!important}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.nav-user-dropdown-divider{height:1px;background:var(--glass-border);margin:.3rem .2rem;opacity:.7}.nav-user-dropdown-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;font-size:.8125rem;font-weight:500;border-radius:12px;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1)}.nav-user-dropdown-item:hover{background:#ffffff14;transform:translate(2px)}[data-theme=light] .nav-user-dropdown-item:hover{background:#0000000d;transform:translate(2px)}.nav-user-dropdown-logout{color:#f87171!important}.nav-user-dropdown-logout:hover{background:#ef44441f!important;color:#ef4444!important}[data-theme=light] .nav-user-dropdown-logout{color:#dc2626!important}[data-theme=light] .nav-user-dropdown-logout:hover{background:#dc262614!important}.mobile-menu-user-card{display:flex;align-items:center;gap:.75rem;padding:.75rem .95rem;border-radius:16px;background:#ffffff0a;border:1px solid var(--glass-border);margin-bottom:.4rem}[data-theme=light] .mobile-menu-user-card{background:#00000008}.mobile-menu-user-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-size:.875rem;font-weight:700;flex-shrink:0}.mobile-menu-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.mobile-menu-user-info strong{font-size:.875rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-user-info small{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-user-logout{padding:.35rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25);cursor:pointer;transition:background .15s,transform .15s}.mobile-menu-user-logout:hover{background:#ef444433;transform:scale(1.03)}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;background:var(--modal-backdrop-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:1.25rem;overflow-y:auto;overscroll-behavior:contain;animation:modal-fade-in .2s ease-out}.auth-modal-card{position:relative;width:100%;max-width:420px;max-height:calc(100dvh - 2.5rem);overflow-y:auto;overscroll-behavior:contain;background:var(--modal-bg);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid var(--modal-border);border-radius:26px;padding:2.2rem 2.2rem 1.8rem;box-shadow:0 24px 60px -12px #000000a6,0 0 0 1px #ffffff0d;animation:auth-scale-in .22s cubic-bezier(.16,1,.3,1)}@keyframes auth-scale-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-modal-close{position:absolute;top:1.15rem;right:1.15rem;width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:all .18s cubic-bezier(.16,1,.3,1)}[data-theme=light] .auth-modal-close{background:#0000000d;border-color:#00000014}.auth-modal-close:hover{background:#ffffff26;color:var(--text);transform:scale(1.06)}[data-theme=light] .auth-modal-close:hover{background:#0000001a}.auth-modal-header{margin-bottom:1.25rem}.auth-modal-brand-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .65rem;border-radius:9999px;background:#ffffff12;color:var(--text-muted);border:1px solid rgba(255,255,255,.12);margin-bottom:.75rem}[data-theme=light] .auth-modal-brand-badge{background:#0000000d;border-color:#00000017;color:#4b5563}.auth-modal-title{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;color:var(--text);margin:0 0 .35rem}.auth-modal-sub{font-size:.84rem;color:var(--text-muted);line-height:1.48;margin:0}.auth-segmented-control{display:flex;background:#ffffff0f;padding:3px;border-radius:9999px;border:1px solid var(--glass-border);margin-bottom:1.25rem;position:relative}[data-theme=light] .auth-segmented-control{background:#0000000d;border-color:#00000014}.auth-segmented-btn{flex:1;padding:.45rem .75rem;font-size:.8125rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-radius:9999px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-align:center}.auth-segmented-btn:hover{color:var(--text)}.auth-segmented-btn.is-active{background:#fff;color:#0f1015;box-shadow:0 2px 8px #0003,inset 0 1px #fff}[data-theme=light] .auth-segmented-btn.is-active{background:#0f1015;color:#fff;box-shadow:0 2px 8px #00000026}.auth-modal-alert{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .95rem;border-radius:14px;font-size:.8125rem;line-height:1.4;margin-bottom:1.15rem}.auth-modal-alert svg{flex-shrink:0;margin-top:2px}.auth-modal-alert-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#f87171}.auth-modal-alert-success{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#34d399}.auth-modal-form{display:flex;flex-direction:column}.auth-form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.95rem}.auth-form-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding-left:2px}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:.9rem;color:var(--text-muted);pointer-events:none}.auth-input{width:100%;height:44px;padding:0 1rem 0 2.6rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:14px;font-size:.875rem;color:var(--text);outline:none;transition:border-color .18s,background .18s,box-shadow .18s}[data-theme=light] .auth-input{background:#0000000a;border-color:#0000001f;color:#0f1015}.auth-input:focus{border-color:#fff6;background:#ffffff17;box-shadow:0 0 0 3px #ffffff14}[data-theme=light] .auth-input:focus{border-color:#00000059;background:#fff;box-shadow:0 0 0 3px #0000000f}.auth-input-password{padding-right:2.75rem}.auth-password-toggle{position:absolute;right:.75rem;background:transparent;border:none;color:var(--text-muted);padding:.35rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s}.auth-password-toggle:hover{color:var(--text)}.auth-submit-btn{width:100%;height:46px;border-radius:14px;background:#fff;color:#0f1015;font-size:.875rem;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 14px #00000040,inset 0 1px #fff;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease;margin-top:.75rem}[data-theme=light] .auth-submit-btn{background:#0f1015;color:#fff;box-shadow:0 4px 14px #0f101540,inset 0 1px #fff3}.auth-submit-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:0 6px 20px #00000059}[data-theme=light] .auth-submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #0f101559}.auth-submit-btn:active:not(:disabled){transform:scale(.98)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-spinner{width:15px;height:15px;border:2px solid rgba(0,0,0,.25);border-top-color:#0f1015;border-radius:50%;animation:auth-spin .6s linear infinite}[data-theme=light] .auth-spinner{border-color:#ffffff40;border-top-color:#fff}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-modal-footer{margin-top:1.25rem;text-align:center;font-size:.8125rem;color:var(--text-muted)}.auth-modal-footer p{margin:0}.auth-link-btn{background:transparent;border:none;color:var(--text);font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;transition:opacity .15s}.auth-link-btn:hover{opacity:.8}@media(max-width:580px){.nav-auth-btn{padding:0 .65rem}.nav-auth-btn-text,.nav-user-name{display:none}.nav-user-pill{padding:0 .5rem 0 .35rem}}.sync-icon-spinning{animation:auth-spin .8s linear infinite}.nav-user-status-dot.is-syncing{background:#3b82f6!important;box-shadow:0 0 10px #3b82f6cc!important}.nav-user-dropdown-sync{color:#3b82f6!important;font-weight:600!important}.nav-user-dropdown-sync:hover{background:#3b82f61f!important}.backup-cloud-section{background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:20px;padding:1.25rem;margin-bottom:1.5rem}[data-theme=light] .backup-cloud-section{background:#10b9810f;border-color:#10b98140}.backup-cloud-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.backup-cloud-header-info h3{margin:0 0 .25rem;font-size:1.05rem;display:flex;align-items:center;gap:.45rem}.cloud-badge-icon{color:#10b981}.backup-cloud-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;padding:.25rem .65rem;border-radius:9999px;background:#ffffff14;border:1px solid var(--glass-border);color:var(--text);white-space:nowrap}.sync-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.sync-dot-active{background:#10b981;box-shadow:0 0 8px #10b981b3}.sync-dot-error{background:#ef4444;box-shadow:0 0 8px #ef4444b3}.backup-cloud-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}.backup-cloud-card{border-color:#10b98133!important}.backup-cloud-card:hover{border-color:#10b98166!important;background:#10b98114!important}.backup-cloud-login-prompt{display:flex;justify-content:center;padding:.75rem 0 .25rem}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:1.25rem}@media(max-width:640px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}.album-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:.75rem;box-shadow:var(--glass-shadow),var(--glass-rim);cursor:pointer;text-decoration:none;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s,background .25s;overflow:hidden}.album-card:hover{transform:translateY(-4px);border-color:#ffffff40;background:var(--glass-bg-hover);box-shadow:0 16px 36px -10px #00000080,var(--glass-rim)}[data-theme=light] .album-card:hover{border-color:#00000029;box-shadow:0 14px 32px -8px #0000001f}.album-card.is-active-album{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow),var(--glass-shadow)}.album-card-art-wrap{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:10px}.album-card-vinyl{position:absolute;top:4px;right:0;width:90%;height:90%;border-radius:50%;background:#0d0e12;box-shadow:0 4px 12px #0009;display:flex;align-items:center;justify-content:center;transform:translate(0);transition:transform .35s cubic-bezier(.16,1,.3,1);z-index:1;pointer-events:none}.album-card:hover .album-card-vinyl{transform:translate(12px) rotate(15deg)}.album-card-vinyl-grooves{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;border:1px dashed rgba(255,255,255,.12);box-shadow:inset 0 0 0 4px #ffffff08,inset 0 0 0 8px #00000080}.album-card-vinyl-center{width:28%;height:28%;border-radius:50%;background:var(--accent);border:2px solid #000000;box-shadow:0 0 6px #0006}.album-card-sleeve{position:relative;width:100%;height:100%;border-radius:10px;overflow:hidden;background:#00000040;box-shadow:0 6px 18px #00000059;z-index:2}.album-card-cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.16,1,.3,1)}.album-card:hover .album-card-cover{transform:scale(1.03)}.album-card-placeholder{display:flex;align-items:center;justify-content:center;font-size:2.2rem;background:var(--accent-glow)}.album-card-badge{position:absolute;top:8px;right:8px;padding:.2rem .55rem;border-radius:9999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;background:#0f1015c7;color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px #0006;z-index:3}.album-card-play-btn{position:absolute;bottom:8px;right:8px;width:38px;height:38px;border-radius:50%;border:none;background:var(--accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s cubic-bezier(.16,1,.3,1),background .15s;box-shadow:0 6px 16px #00000073;z-index:3}.album-card:hover .album-card-play-btn,.album-card-play-btn.is-playing{opacity:1;transform:translateY(0)}@media(hover:none),(max-width:768px){.album-card-play-btn{opacity:.94;transform:translateY(0);width:32px;height:32px;bottom:6px;right:6px}}.album-card-play-btn:hover{background:var(--accent-hover, var(--accent));transform:scale(1.08)!important}.album-card-info{margin-top:.75rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.album-card-title{font-size:.95rem;font-weight:600;line-height:1.25;margin:0;min-width:0}.album-card-title a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);text-decoration:none;transition:color .15s}.album-card-title a:hover{color:var(--accent)}.album-card-artist{margin:0;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card-artist-btn{background:none;border:none;padding:0;font-size:inherit;color:var(--text-muted);cursor:pointer;text-align:left;transition:color .15s}.album-card-artist-btn:hover{color:var(--accent);text-decoration:underline}.album-card-meta{font-size:.74rem;color:var(--text-faint);display:flex;align-items:center;gap:.3rem;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card-dot{opacity:.5}.album-card-genre{color:var(--accent);font-weight:500}.albums-header-controls-wrap{margin-bottom:2rem}.albums-header-controls-wrap.is-embedded{margin-top:.25rem;margin-bottom:2.25rem}.albums-header-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.albums-search-wrap{position:relative;display:flex;align-items:center;min-width:220px}.albums-search-icon{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none}.albums-search-input{width:100%;padding:.45rem 2rem .45rem 2.2rem;border-radius:9999px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);font-size:.85rem;outline:none;transition:border-color .2s,box-shadow .2s}.albums-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.albums-search-clear{position:absolute;right:.6rem;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;padding:.2rem}.albums-sort-select{padding:.45rem .85rem;font-size:.82rem;border-radius:9999px}.albums-shuffle-capsule{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem;border-radius:9999px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-btn-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.albums-shuffle-btn{display:inline-flex;align-items:center;gap:.42rem;padding:.4rem .88rem;border-radius:9999px;border:1px solid transparent;background:var(--accent);color:var(--text-on-accent);font-size:.82rem;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease;white-space:nowrap}.albums-shuffle-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px var(--accent-glow)}.albums-shuffle-btn:active:not(:disabled){transform:scale(.97)}.albums-shuffle-btn:disabled{opacity:.7;cursor:wait}.albums-shuffle-btn .card-play-spinner,.albums-banner-next-btn .card-play-spinner{border-color:currentColor;border-right-color:transparent;opacity:.85}.albums-official-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .72rem;border-radius:9999px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.albums-official-toggle:hover{color:var(--text);background:var(--glass-btn-bg)}.albums-official-toggle.is-active{background:#10b98124;border-color:#10b98159;color:#10b981;font-weight:600}[data-theme=light] .albums-official-toggle.is-active{background:#10b9811f;border-color:#10b98152;color:#059669}.albums-official-dot{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:.68rem;font-weight:700;background:#ffffff14}[data-theme=light] .albums-official-dot{background:#0000000f}.albums-official-toggle.is-active .albums-official-dot{background:#10b98138}.albums-shuffle-banner{display:flex;align-items:center;gap:.95rem;margin-bottom:1.35rem;padding:.85rem 1.1rem;border-radius:18px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.albums-shuffle-banner-cover-link{flex-shrink:0}.albums-shuffle-banner-cover{width:50px;height:50px;border-radius:10px;object-fit:cover;display:block;box-shadow:0 4px 12px #00000059}.albums-shuffle-banner-placeholder{display:flex;align-items:center;justify-content:center;background:var(--glass-btn-bg);font-size:1.3rem}.albums-shuffle-banner-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.16rem}.albums-shuffle-banner-kicker{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.albums-shuffle-mode-badge{font-size:.66rem;font-weight:600;letter-spacing:.01em;text-transform:none;padding:.08rem .48rem;border-radius:9999px;background:var(--tag-mood-bg);border:1px solid var(--tag-mood-border);color:var(--text)}.albums-shuffle-banner-title-row{display:flex;align-items:baseline;gap:.38rem;flex-wrap:wrap;min-width:0}.albums-shuffle-banner-title{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--text);text-decoration:none}.albums-shuffle-banner-title:hover{text-decoration:underline}.albums-shuffle-banner-sep,.albums-shuffle-banner-track-pos{font-size:.82rem;color:var(--text-muted)}.albums-shuffle-banner-artist{font-size:.88rem;font-weight:500;color:var(--text-muted);text-decoration:none}.albums-shuffle-banner-artist:hover{color:var(--text);text-decoration:underline}.albums-shuffle-banner-next{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.albums-shuffle-banner-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.albums-banner-next-btn{display:inline-flex;align-items:center;gap:.35rem}.albums-section,.albums-section.albums-library-section{margin-bottom:3.5rem}.albums-catalog-section{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(0,0,0,.08)}[data-theme=dark] .albums-catalog-section{border-top-color:#ffffff14}.albums-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.35rem}.albums-section-header h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",var(--font-sans);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--text)}.albums-section-sub{margin:.25rem 0 0;font-size:.88rem;color:var(--text-muted)}.albums-catalog-loading{padding:3.5rem 1.5rem;display:flex;justify-content:center;align-items:center;min-height:200px}.albums-catalog-shuffle-btn{display:inline-flex;align-items:center;gap:.4rem}.artist-catalog-albums-block{margin-top:1.75rem}.artist-discog-subheading{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;margin:0 0 .9rem;color:var(--text)}@media(max-width:760px){.albums-page .page-header{flex-direction:column;align-items:stretch;gap:.85rem}.albums-header-controls{width:100%;gap:.55rem}.albums-shuffle-capsule{width:100%;justify-content:space-between}.albums-shuffle-btn{flex:1;justify-content:center}.albums-search-wrap{flex:1 1 100%;min-width:0;width:100%}.albums-sort-select{flex:1 1 100%;width:100%}.albums-shuffle-banner{flex-wrap:wrap;padding:.8rem .9rem}.albums-shuffle-banner-actions{width:100%;justify-content:flex-end}}.page.album-detail{position:relative;max-width:880px;margin:0 auto;padding-bottom:5rem}.album-hero{display:flex;align-items:center;gap:2.25rem;margin:1.25rem 0 2rem;padding:1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow),var(--glass-rim);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}@media(max-width:680px){.album-hero{flex-direction:column;text-align:center;gap:1.25rem;padding:1.25rem}}.album-hero-cover-container{position:relative;width:200px;height:200px;min-width:200px;min-height:200px}@media(max-width:680px){.album-hero-cover-container{width:170px;height:170px;min-width:170px;min-height:170px}}.album-hero-vinyl{position:absolute;top:5px;right:-15px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#25262c,#0d0e12 60%,#050608);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px #0009;z-index:1}.album-hero-cover-wrap{position:relative;width:100%;height:100%;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px #00000073;border:1px solid rgba(255,255,255,.16);z-index:2;background:#0006}.album-hero-cover{width:100%;height:100%;object-fit:cover;display:block}.album-hero-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem}@media(max-width:680px){.album-hero-info{align-items:center}}.album-hero-meta-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.album-hero-title{font-family:var(--font-serif);font-size:1.95rem;font-weight:500;margin:0;line-height:1.18;color:var(--text)}.album-hero-artist{margin:0;font-size:1.05rem}.album-hero-artist .artist-link{color:var(--text-muted);text-decoration:none;font-weight:500}.album-hero-artist .artist-link:hover{color:var(--accent)}.album-hero-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.album-completion-box{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem;max-width:320px}@media(max-width:680px){.album-completion-box{margin:.5rem auto 0;width:100%}}.album-completion-text{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--text-muted)}.album-completion-pct{font-weight:700;color:var(--accent)}.album-progress-bar-bg{width:100%;height:5px;border-radius:9999px;background:#ffffff14;overflow:hidden}[data-theme=light] .album-progress-bar-bg{background:#00000014}.album-progress-bar-fill{height:100%;background:var(--accent);border-radius:9999px;transition:width .4s ease}.album-hero-actions{display:flex;align-items:center;gap:.75rem;margin-top:.85rem;flex-wrap:wrap}.album-play-all-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.25rem;font-weight:600}.album-artist-btn{padding:.55rem 1rem;font-size:.85rem}.album-song-row-wrap{display:flex;align-items:center;gap:.75rem}.album-track-pos{width:24px;text-align:right;font-size:.85rem;font-weight:600;color:var(--text-faint);flex-shrink:0}.album-song-card-slot{flex:1;min-width:0}.album-official-tracklist{display:flex;flex-direction:column;gap:.45rem}.album-official-row{display:flex;align-items:center;gap:.85rem;padding:.65rem .95rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);transition:background .15s,border-color .15s}.album-official-row:hover{background:var(--glass-bg-hover);border-color:#ffffff2e}.album-official-row.is-saved{border-color:#10b98140;background:#10b9810a}.album-official-row.is-current-track{border-color:var(--accent);background:var(--glass-bg-hover)}.album-official-play-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-btn-bg);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.album-official-play-btn:hover,.album-official-play-btn.is-playing{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);transform:scale(1.06)}.album-official-play-btn .card-play-spinner{border-color:currentColor;border-right-color:transparent}.album-official-num{font-size:.82rem;font-weight:600;color:var(--text-faint);width:24px;text-align:center;flex-shrink:0}.album-official-info{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.album-official-title-row{display:flex;align-items:center;gap:.45rem;min-width:0}.album-official-title{font-size:.92rem;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-explicit-pill{font-size:.62rem;font-weight:800;padding:.1rem .35rem;border-radius:4px;background:#ffffff1f;color:var(--text-muted)}.album-official-dur{font-size:.78rem;color:var(--text-muted);flex-shrink:0}.album-official-action{flex-shrink:0}.album-official-badge-saved{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;color:#10b981;background:#10b9811f;border:1px solid rgba(16,185,129,.25);padding:.25rem .6rem;border-radius:9999px;text-decoration:none;transition:all .15s}.album-official-badge-saved:hover{background:#10b98133;transform:translateY(-1px)}.album-official-add-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--text);background:#ffffff14;border:1px solid rgba(255,255,255,.16);padding:.25rem .65rem;border-radius:9999px;cursor:pointer;transition:all .15s}.album-official-add-btn:hover{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);transform:translateY(-1px)}.album-link,.song-album-link{color:var(--text-muted);text-decoration:none;transition:color .15s}.album-link:hover,.song-album-link:hover{color:var(--accent);text-decoration:underline}.song-album-sep{color:var(--text-faint)}.gap-yt-pill-btn{display:inline-flex;align-items:center;gap:.3rem;max-width:170px;padding:.12rem .48rem;border-radius:9999px;background:#ff00001f;border:1px solid rgba(255,68,68,.25);color:var(--text-muted);font-size:.66rem;font-weight:500;cursor:pointer;transition:all .15s ease;min-width:0;flex-shrink:1}.gap-yt-pill-btn:hover{background:#f003;border-color:#ff444473;color:var(--text)}[data-theme=light] .gap-yt-pill-btn{background:#dc262614;border-color:#dc262633;color:#6b7280}[data-theme=light] .gap-yt-pill-btn:hover{background:#dc262624;color:#111827}.gap-yt-pill-dot{color:#ef4444;font-size:.56rem;flex-shrink:0}.gap-yt-pill-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:520px){.gap-yt-pill-btn{max-width:110px}}.gap-sheet-yt-bar{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-top:.55rem;padding:.42rem .68rem;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);min-width:0}[data-theme=light] .gap-sheet-yt-bar{background:#00000009;border-color:#00000014}.gap-sheet-yt-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.76rem;color:var(--text-muted);min-width:0;flex:1}.gap-sheet-yt-label svg{color:#ef4444;flex-shrink:0}.gap-sheet-yt-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-sheet-yt-switch-btn{flex-shrink:0;padding:.22rem .6rem;border-radius:9999px;font-size:.7rem;font-weight:600;background:#ffffff17;border:1px solid rgba(255,255,255,.16);color:var(--text);cursor:pointer;transition:all .15s ease}.gap-sheet-yt-switch-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}[data-theme=light] .gap-sheet-yt-switch-btn{background:#0000000f;border-color:#0000001a}.detail-yt-version-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem;padding:.5rem .8rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;max-width:520px;min-width:0}@media(max-width:720px){.detail-yt-version-bar{margin-left:auto;margin-right:auto}}.detail-yt-version-info{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);min-width:0;flex:1}.detail-yt-version-info svg{color:#ef4444;flex-shrink:0}.detail-yt-version-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-yt-change-btn{flex-shrink:0;padding:.28rem .72rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text);cursor:pointer;transition:all .15s ease}.detail-yt-change-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}[data-theme=light] .detail-yt-change-btn{background:#0000000d;border-color:#0000001a}.yt-alt-backdrop{z-index:1350}.yt-alt-modal{max-width:660px;max-height:min(86dvh,760px)}.yt-alt-header{margin-bottom:1rem;padding-bottom:.85rem}.yt-alt-header-text{min-width:0}.yt-alt-title-row{display:flex;align-items:center;gap:.5rem}.yt-alt-yt-icon{display:inline-flex;align-items:center;justify-content:center;color:#ef4444;flex-shrink:0}.yt-alt-body{display:flex;flex-direction:column;gap:.9rem;padding:0;overflow:hidden;flex:1;min-height:0}.yt-alt-current-box{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:14px;background:var(--modal-surface);border:1px solid var(--modal-border);flex-shrink:0}.yt-alt-current-thumb{width:68px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#0000004d}.yt-alt-current-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.yt-alt-current-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.yt-alt-current-title{font-size:.86rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yt-alt-current-channel{font-size:.72rem;color:var(--text-muted)}.yt-alt-external-link{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--modal-surface);border:1px solid var(--modal-border);transition:all .15s ease;flex-shrink:0}.yt-alt-external-link:hover{color:var(--text);background:var(--modal-surface-hover)}.yt-alt-search-form{display:flex;flex-direction:column;gap:.55rem;flex-shrink:0}.yt-alt-search-input-wrap{display:flex;gap:.5rem}.yt-alt-search-input{flex:1;min-width:0;padding:.55rem .9rem;border-radius:12px;background:var(--modal-surface);border:1px solid var(--modal-border);color:var(--text);font-size:.88rem;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.yt-alt-search-input:focus{border-color:var(--accent);background:var(--modal-bg);box-shadow:0 0 0 2px var(--accent-glow)}.yt-alt-search-btn{padding:.5rem 1rem;border-radius:12px;font-size:.84rem;flex-shrink:0}.yt-alt-chips{display:flex;flex-wrap:wrap;gap:.4rem}.yt-alt-chip{padding:.24rem .65rem;border-radius:9999px;font-size:.72rem;font-weight:500;background:var(--modal-surface);border:1px solid var(--modal-border);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.yt-alt-chip:hover{background:var(--modal-surface-hover);color:var(--text)}.yt-alt-chip.is-active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);font-weight:600}.yt-alt-feedback{padding:.5rem .85rem;border-radius:10px;background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#10b981;font-size:.82rem;font-weight:600;flex-shrink:0}.yt-alt-list-wrap{flex:1;min-height:160px;overflow-y:auto;overscroll-behavior:contain;padding-right:.25rem}.yt-alt-loading,.yt-alt-empty{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:2.5rem 1rem;color:var(--text-muted);font-size:.88rem;text-align:center}.yt-alt-list{display:flex;flex-direction:column;gap:.5rem}.yt-alt-row{display:flex;align-items:center;gap:.8rem;padding:.6rem .75rem;border-radius:14px;background:var(--modal-surface);border:1px solid var(--modal-border);cursor:pointer;transition:all .16s ease}.yt-alt-row:hover{background:var(--modal-surface-hover);border-color:var(--text-muted);transform:translateY(-1px)}.yt-alt-row.is-current{background:#10b98114;border-color:#10b98159}.yt-alt-row-thumb-wrap{position:relative;width:84px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#00000059}.yt-alt-row-thumb{width:100%;height:100%;object-fit:cover;display:block}.yt-alt-row-dur{position:absolute;bottom:3px;right:3px;padding:.08rem .32rem;border-radius:4px;background:#000000d1;color:#fff;font-size:.64rem;font-weight:700;line-height:1.2}.yt-alt-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.yt-alt-row-title{font-size:.86rem;font-weight:500;line-height:1.3;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.yt-alt-row-sub{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.72rem;color:var(--text-muted)}.yt-alt-row-channel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.yt-alt-badge{display:inline-flex;align-items:center;padding:.08rem .42rem;border-radius:9999px;font-size:.64rem;font-weight:700}.yt-alt-badge-official{background:#10b98124;color:#10b981;border:1px solid rgba(16,185,129,.25)}.yt-alt-badge-warn{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.yt-alt-badge-neutral{background:#ffffff14;color:var(--text-muted);border:1px solid rgba(255,255,255,.12)}[data-theme=light] .yt-alt-badge-neutral{background:#0f172a0f;border-color:#0f172a1f}.yt-alt-row-action{flex-shrink:0}.yt-alt-current-pill{display:inline-flex;align-items:center;padding:.25rem .62rem;border-radius:9999px;font-size:.72rem;font-weight:700;background:#10b98129;color:#10b981;border:1px solid rgba(16,185,129,.35)}.yt-alt-choose-btn{padding:.32rem .72rem;border-radius:9999px;font-size:.74rem;font-weight:600;background:var(--modal-surface);border:1px solid var(--modal-border);color:var(--text);cursor:pointer;transition:all .15s ease}.yt-alt-row:hover .yt-alt-choose-btn{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}@media(max-width:600px){.yt-alt-modal{max-height:90dvh}.yt-alt-row{gap:.6rem;padding:.55rem}.yt-alt-row-thumb-wrap{width:68px;height:40px}}.mixtly-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2.5rem 1.5rem;margin:auto;-webkit-user-select:none;user-select:none}.mixtly-loader-container.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:var(--bg)}.mixtly-loader-core{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.mixtly-loader-icon-wrap{display:flex;align-items:center;justify-content:center;animation:mixtlySimplePulse 2s ease-in-out infinite}.mixtly-loader-icon{display:block;border-radius:20%;box-shadow:0 4px 16px #00000047;object-fit:cover}.mixtly-loader-equalizer{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:14px;margin-top:.9rem}.mixtly-loader-bar{width:3px;border-radius:9999px;background:var(--text-muted);opacity:.75;animation:mixtlyEqualizer 1.1s ease-in-out infinite}.mixtly-loader-bar.bar-1{height:5px;animation-delay:.1s}.mixtly-loader-bar.bar-2{height:13px;animation-delay:.35s}.mixtly-loader-bar.bar-3{height:9px;animation-delay:.2s}.mixtly-loader-bar.bar-4{height:14px;animation-delay:.5s}.mixtly-loader-bar.bar-5{height:7px;animation-delay:.28s}.mixtly-loader-message{font-family:var(--font-sans);font-size:.88rem;font-weight:500;color:var(--text-muted);letter-spacing:-.01em;text-align:center;max-width:360px;animation:mixtlyFadeIn .3s ease}.mixtly-loader-container.is-size-sm{padding:1.25rem 1rem;gap:.65rem}.mixtly-loader-container.is-size-sm .mixtly-loader-equalizer{height:10px;gap:2.5px;margin-top:.5rem}.mixtly-loader-container.is-size-sm .mixtly-loader-bar{width:2px}.mixtly-loader-container.is-size-sm .mixtly-loader-message{font-size:.8rem}.mixtly-loader-container.is-size-lg{padding:3.5rem 2rem;gap:1.35rem}.mixtly-loader-container.is-size-lg .mixtly-loader-equalizer{height:18px;gap:5px;margin-top:1.1rem}.mixtly-loader-container.is-size-lg .mixtly-loader-bar{width:4px}.mixtly-loader-container.is-size-lg .mixtly-loader-message{font-size:1rem}@keyframes mixtlySimplePulse{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(1.05);opacity:1}}@keyframes mixtlyEqualizer{0%,to{transform:scaleY(.4);opacity:.45}50%{transform:scaleY(1);opacity:.95}}@keyframes mixtlyFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(min-width:769px){.bottom-nav{display:none!important}}.collection-master-header{margin-bottom:1.5rem}.collection-header-row{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}.collection-tabs-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}@media(max-width:768px){.collection-header-row{flex-direction:column;align-items:flex-start;gap:.85rem}.collection-tabs-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.collection-segmented{min-width:max-content}}.collection-title-wrap{display:flex;flex-direction:column;gap:.25rem}.collection-title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",var(--font-sans);font-size:2.15rem;font-weight:700;letter-spacing:-.03em;margin:0;line-height:1.15;color:var(--text)}.collection-sub{font-size:.92rem;color:#475569;margin:0;font-weight:400}[data-theme=dark] .collection-sub{color:#ffffffa6}.collection-tabs-wrap{overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.collection-tabs-wrap::-webkit-scrollbar{display:none}.collection-segmented{padding:4px;border-radius:9999px;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 3px #0000000a;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}[data-theme=dark] .collection-segmented{background:#ffffff14;border:1px solid rgba(255,255,255,.12);box-shadow:none}.collection-tab-btn{padding:.44rem 1rem;font-size:.88rem;font-weight:500;gap:.45rem;border-radius:9999px;color:#334155;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;transition:all .16s ease}.collection-tab-btn:hover{color:#0f172a;background:#0000000a}.collection-tab-btn.is-active{background:#0f172a;color:#fff;font-weight:600;box-shadow:0 2px 6px #0f172a33}[data-theme=dark] .collection-tab-btn{color:#ffffffbf}[data-theme=dark] .collection-tab-btn:hover{color:#fff;background:#ffffff14}[data-theme=dark] .collection-tab-btn.is-active{background:#fff;color:#0f172a;box-shadow:0 2px 8px #fff3}.collection-tab-badge{font-size:.72rem;font-weight:600;padding:.12rem .48rem;border-radius:9999px;background:#00000012;color:inherit}.collection-tab-btn.is-active .collection-tab-badge{background:#ffffff40;color:#fff}[data-theme=dark] .collection-tab-btn.is-active .collection-tab-badge{background:#0f172a1f;color:#0f172a}.collection-tab-btn:disabled,.collection-tab-btn.is-disabled{opacity:.52;cursor:not-allowed}.collection-tab-btn:disabled:hover,.collection-tab-btn.is-disabled:hover{background:transparent;color:#64748b;transform:none}[data-theme=dark] .collection-tab-btn:disabled:hover,[data-theme=dark] .collection-tab-btn.is-disabled:hover{background:transparent;color:#ffffff80}.collection-tab-soon-badge{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.14rem .52rem;border-radius:9999px;background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.28);display:inline-flex;align-items:center;line-height:1}[data-theme=dark] .collection-tab-soon-badge{background:#fbbf2424;color:#f59e0b;border-color:#fbbf2442}.collection-tab-btn.is-active .collection-tab-soon-badge{background:#ffffff38;color:#fff;border-color:#ffffff59}[data-theme=dark] .collection-tab-btn.is-active .collection-tab-soon-badge{background:#0f172a24;color:#0f172a;border-color:#0f172a3d}.compilations-coming-soon{display:flex;justify-content:center;align-items:center;padding:3.5rem 1.5rem;min-height:380px}.compilations-coming-soon-card{max-width:480px;width:100%;text-align:center;padding:3rem 2.2rem;background:var(--surface, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:20px;box-shadow:0 4px 24px #0000000a;display:flex;flex-direction:column;align-items:center}[data-theme=dark] .compilations-coming-soon-card{background:#ffffff08;border-color:#ffffff14;box-shadow:0 8px 32px #0000004d}.compilations-coming-soon-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f59e0b1f;color:#d97706;margin-bottom:1.25rem}[data-theme=dark] .compilations-coming-soon-icon{background:#fbbf241f;color:#fbbf24}.compilations-coming-soon-pill{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .75rem;border-radius:9999px;background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.25);margin-bottom:.85rem}[data-theme=dark] .compilations-coming-soon-pill{background:#fbbf2424;color:#f59e0b;border-color:#fbbf2447}.compilations-coming-soon-title{font-size:1.65rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .75rem;color:var(--text, #0f172a)}.compilations-coming-soon-desc{font-size:.95rem;line-height:1.55;color:var(--text-secondary, #64748b);margin:0 0 1.75rem}.compilations-coming-soon-actions{display:flex;gap:.75rem}.collection-subview{margin-top:.25rem}.library-apple-header.is-embedded{padding-top:0;margin-top:-.25rem;margin-bottom:1rem}.collection-subview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.subview-search-wrap{position:relative;display:flex;align-items:center;max-width:320px;width:100%}.subview-search-input{width:100%;height:36px;border-radius:9999px;padding:0 1rem 0 2.2rem;border:1px solid var(--border);background:var(--surface);font-size:.86rem;color:var(--text);outline:none;transition:all .16s ease}.subview-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}.subview-search-icon{position:absolute;left:.8rem;color:var(--muted);pointer-events:none;display:flex;align-items:center}.subview-clear-btn{position:absolute;right:.65rem;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.75rem;padding:.2rem}.subview-count-badge{font-size:.85rem;color:var(--muted)}.home-lyrics-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:.75rem}.home-lyric-quote-card{display:flex;flex-direction:column;justify-content:space-between;padding:1.25rem;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text);transition:all .2s cubic-bezier(.16,1,.3,1)}.home-lyric-quote-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 4px 14px #0000000a}.home-lyric-quote-text{font-size:.95rem;font-style:italic;font-family:var(--font-serif, serif);line-height:1.5;margin:0 0 1rem;color:var(--text)}.home-lyric-quote-meta{display:flex;align-items:center;gap:.65rem}.home-lyric-meta-cover{width:34px;height:34px;border-radius:8px;object-fit:cover}.home-lyric-quote-meta strong{display:block;font-size:.85rem;font-weight:600}.home-lyric-quote-meta span{display:block;font-size:.76rem;color:var(--muted)}.sound-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.sound-stat{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);min-width:0}.sound-stat-label{font-size:.75rem;color:var(--text-muted)}.sound-stat-value{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;line-height:1.15;color:var(--text);font-variant-numeric:tabular-nums}.sound-stat-value small{font-family:var(--font-sans);font-size:.75rem;color:var(--text-muted)}.sound-stat-note{font-size:.75rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.sound-meter{display:flex;gap:3px;margin-top:.15rem}.sound-meter span{flex:1;height:4px;border-radius:2px;background:var(--border)}.sound-meter span.is-on{background:var(--accent)}.sound-records{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-direction:column}.sound-records li{display:grid;grid-template-columns:8.5rem 1fr auto;align-items:baseline;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--border-subtle);font-size:.85rem}.sound-record-label{color:var(--text-muted)}.sound-record-song{color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-record-song span{color:var(--text-muted)}.sound-record-value{color:var(--text-muted);font-variant-numeric:tabular-nums}@media(max-width:520px){.sound-records li{grid-template-columns:1fr auto}.sound-record-label{grid-column:1 / -1;font-size:.75rem}}.song-sound-card{position:relative;z-index:2;max-width:560px;margin:0 auto 1.75rem;padding:1rem 1.15rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.song-sound-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.song-sound-title{margin:0;font-family:var(--font-serif);font-size:1.1rem;font-weight:400}.song-sound-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted)}.song-sound-meters{display:flex;flex-direction:column;gap:.55rem}.song-sound-row{display:grid;grid-template-columns:4.5rem 1fr 9.5rem;align-items:center;gap:.75rem;font-size:.82rem}.song-sound-label{color:var(--text-muted)}.song-sound-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.song-sound-bar>span{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width .5s cubic-bezier(.23,1,.32,1)}.song-sound-value{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}@media(max-width:520px){.song-sound-row{grid-template-columns:4rem 1fr}.song-sound-value{grid-column:2;margin-top:-.35rem;font-size:.75rem;color:var(--text-muted)}}.insight-block-sound h3:before{content:"♪ ";color:var(--accent)}.sound-map-section{margin-bottom:var(--space-xl)}.sound-map-section .concept-picker-hint strong{color:var(--text);font-weight:600}.sound-map-frame{margin-top:.75rem;padding:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.sound-map-svg{display:block;width:100%;height:auto}.sound-map-bg{fill:var(--bg-elevated)}.sound-map-axis{stroke:var(--border);stroke-dasharray:3 4}.sound-map-quadrant{fill:var(--text-faint);font-size:12px;font-family:var(--font-serif)}.sound-map-axis-label{fill:var(--text-muted);font-size:11px}.sound-map-point{cursor:pointer;outline:none}.sound-map-dot{fill:var(--accent);opacity:.75}.sound-map-ring{fill:none;stroke:var(--bg-card);stroke-width:2;transition:stroke .15s ease}.sound-map-point:hover .sound-map-ring,.sound-map-point:focus-visible .sound-map-ring{stroke:var(--accent);stroke-width:2.5}.sound-pair-score{font-size:.75rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.connection-reason-sound{background:var(--accent-dim);color:var(--text);border-color:transparent}.connection-sound-match{align-self:flex-start;font-size:.68rem;padding:.2rem .55rem;border-radius:100px;background:var(--accent-dim);color:var(--text);font-variant-numeric:tabular-nums}.library-load-sentinel{width:100%;height:1px}.connections-overview{display:flex;flex-direction:column;gap:.85rem;margin-bottom:var(--space-xl)}.connections-intro{max-width:62ch;font-size:.95rem;line-height:1.5;color:var(--text-muted)}.connections-intro strong{color:var(--text);font-weight:600}.connections-nav{display:flex;flex-wrap:wrap;gap:.4rem}.connections-nav-link{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.connections-nav-link:hover{color:var(--text);border-color:var(--text-faint);background:var(--bg-elevated)}.connections-nav-index{font-size:.68rem;font-weight:600;color:var(--text-faint);font-variant-numeric:tabular-nums}.connections-progress{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.connections-section{padding-top:var(--space-xl);margin-bottom:var(--space-xl);border-top:1px solid var(--border-subtle);scroll-margin-top:80px}.connections-section-header{margin-bottom:1.1rem}.connections-section-index{align-self:center;margin-right:.15rem;font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--text-faint);font-variant-numeric:tabular-nums}.connections-section-header h2{display:flex;align-items:baseline;gap:.55rem;margin:0;font-size:1.6rem;line-height:1.2}.connections-section-header .connections-list-count{align-self:center}.connections-section-header h2 .connections-list-count{font-family:var(--font-sans);color:var(--text-muted);background:var(--bg-elevated);border-color:var(--border)}.connections-section-hint{margin:.2rem 0 0;font-size:.85rem;color:var(--text-muted);line-height:1.45}.connections-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;margin:-.85rem 0 1rem}.connections-toolbar .connections-section-hint{margin:0}.connections-segmented{flex-shrink:0}.connections-more-btn{display:block;margin:1rem auto 0;padding:.5rem 1.1rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:.8125rem;cursor:pointer;transition:border-color .15s,background .15s}.connections-more-btn:hover{border-color:var(--text-faint)}.sound-map-summary{margin-bottom:.75rem;font-size:.9rem;color:var(--text-muted)}.sound-map-summary strong{color:var(--text);font-weight:600}.sound-map-frame{position:relative;margin-top:0;padding:.75rem .75rem .5rem}.sound-map-quadrant{fill:var(--text-faint);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.sound-map-ring{stroke:#00000059;stroke-width:1.5}.sound-map-point:hover .sound-map-ring,.sound-map-point:focus-visible .sound-map-ring{stroke:var(--text);stroke-width:2.5}.sound-map-x-labels{display:flex;justify-content:space-between;padding:.25rem .5rem .15rem;font-size:.75rem;color:var(--text-muted)}.sound-map-legend{margin-top:.6rem;font-size:.78rem;color:var(--text-faint);line-height:1.45}.connection-list-grid{list-style:none;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.connection-card{display:flex;flex-direction:column;gap:.8rem;padding:1rem 1.1rem}.connection-card-songs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.6rem}.connection-score{min-width:3.1rem;padding:.25rem .5rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:.78rem;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.connection-card .connection-bridge-icon{color:var(--text-faint)}.connection-card-stats{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.7rem;border-top:1px solid var(--border-subtle)}.connection-card-stats .connection-strength{justify-content:flex-start}.connection-reason-sound,.connection-sound-match{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.connection-sound-match{align-self:auto;font-weight:600}.concept-chip-more{border-style:dashed;box-shadow:none;color:var(--text-muted)}.concept-hub{margin-top:1.1rem;margin-bottom:0}.concept-hub-header h3{margin:0;font-family:var(--font-serif);font-size:1.6rem;font-weight:400;color:var(--text)}.hub-song-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.hub-song-card{padding:.55rem}.hub-song-card-cover{width:40px;height:40px}@media(max-width:600px){.connections-section-index{display:none}.connections-section-header h2{font-size:1.35rem}.connection-card-songs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.connection-song-right{flex-direction:row-reverse;text-align:right}.connection-song-cover{width:38px;height:38px}.concept-hub{padding:.9rem}.sound-map-frame{padding:.4rem .25rem .25rem}}.nove-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;align-items:start}@media(max-width:860px){.nove-layout{grid-template-columns:1fr;gap:1.25rem}}.nove-stage{max-width:640px;width:100%}.nove-title-input{width:100%;font-family:var(--font-serif);font-size:clamp(2rem,5vw,2.75rem);line-height:1.1;color:var(--text);background:transparent;border:none;border-bottom:1px dashed transparent;padding:0 0 .25rem;margin-bottom:1rem}.nove-title-input:hover,.nove-title-input:focus{outline:none;border-bottom-color:var(--border)}.nove-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nove-tile{position:relative;aspect-ratio:1;perspective:1200px;border-radius:10px}.nove-tile-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.nove-tile.is-flipped .nove-tile-inner{transform:rotateY(180deg)}.nove-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.nove-face-front{padding:0;border:none;background:var(--bg-card);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.nove-face-front:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.nove-face-front:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.nove-face-front img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.nove-cover-fallback{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-serif);font-size:3rem;color:var(--text-faint)}.nove-note-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #00000059}.nove-face-back{transform:rotateY(180deg);display:flex;flex-direction:column;gap:.35rem;padding:.65rem .7rem .55rem;background:var(--bg-elevated);border:1px solid var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nove-back-close{align-self:flex-start;padding:0;border:none;background:none;cursor:pointer}.nove-back-num{font-family:var(--font-serif);font-size:1.1rem;color:var(--text-faint)}.nove-back-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem}.nove-back-title{margin:0;font-weight:600;font-size:.85rem;line-height:1.2;color:var(--text)}.nove-back-artist{margin:0;font-size:.75rem;color:var(--text-muted)}.nove-back-story,.nove-back-lyric{margin:0;font-size:.74rem;line-height:1.35;color:var(--text-muted)}.nove-back-lyric{font-family:var(--font-serif);font-size:.88rem;color:var(--text)}.nove-note-input{width:100%;resize:none;font:inherit;font-size:.75rem;line-height:1.35;color:var(--text);background:transparent;border:1px solid var(--border-subtle);border-radius:6px;padding:.3rem .4rem}.nove-note-input:focus{outline:none;border-color:var(--border)}.nove-back-actions{display:flex;gap:.75rem;font-size:.74rem}.nove-back-actions a,.nove-back-actions button{padding:0;border:none;background:none;font:inherit;color:var(--text-muted);text-decoration:none;cursor:pointer}.nove-back-actions a:hover,.nove-back-actions button:hover{color:var(--text)}.nove-tile-empty{display:grid;place-items:center;width:100%;border:1px dashed var(--border);background:transparent;color:var(--text-faint);cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.nove-tile-empty:hover{border-color:var(--text-muted);color:var(--text-muted);background:var(--bg-card)}.nove-tile-num{position:absolute;top:8px;left:10px;font-family:var(--font-serif);font-size:1rem}.nove-tile-plus{font-size:1.75rem;font-weight:300}.nove-grid.is-reordering .nove-face-front{cursor:grab}.nove-tile.is-selected{outline:2px solid var(--text);outline-offset:3px}.nove-tile.is-selected .nove-face-front{transform:scale(.96)}.nove-hint{margin:.9rem 0 0;font-size:.82rem;color:var(--text-faint)}.nove-panel{position:sticky;top:calc(var(--header-h) + 1rem);display:flex;flex-direction:column;gap:.75rem}.nove-panel-kicker{margin:0;font-family:var(--font-serif);font-size:1.35rem;color:var(--text)}.nove-panel-desc{margin:0;font-size:.88rem;line-height:1.5;color:var(--text-muted)}.nove-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.nove-actions .btn-ghost.is-active{background:var(--text);color:var(--bg)}.nove-clear-btn{align-self:center;margin-top:.25rem;padding:.25rem;border:none;background:none;font-size:.8rem;color:var(--text-faint);cursor:pointer}.nove-clear-btn:hover{color:var(--danger)}.nove-empty{max-width:420px;margin:3rem auto;text-align:center}.nove-empty-title{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin:0 0 .5rem}.nove-empty-desc{color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.nove-picker{max-width:520px}.nove-picker-search{width:100%;height:40px;padding:0 .9rem;margin-bottom:.75rem;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}.nove-picker-search:focus{outline:none;border-color:var(--text-muted)}.nove-picker-list{list-style:none;margin:0;padding:0;overflow-y:auto;min-height:0;flex:1}.nove-picker-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.45rem;border:none;border-radius:10px;background:none;color:var(--text);text-align:left;cursor:pointer}.nove-picker-item:hover:not(:disabled){background:var(--bg-hover)}.nove-picker-item:disabled{opacity:.45;cursor:default}.nove-picker-item img,.nove-picker-fallback{width:44px;height:44px;flex-shrink:0;border-radius:6px;object-fit:cover;background:var(--bg-card)}.nove-picker-text{display:flex;flex-direction:column;min-width:0;flex:1}.nove-picker-title,.nove-picker-artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nove-picker-title{font-weight:600;font-size:.9rem}.nove-picker-artist{font-size:.8rem;color:var(--text-muted)}.nove-picker-badge{font-size:.72rem;color:var(--text-faint)}.nove-picker-empty{padding:1.5rem;text-align:center;color:var(--text-faint)}.nove-export-loading{color:var(--text-muted);font-size:.9rem}@media(prefers-reduced-motion:reduce){.nove-tile-inner,.nove-face-front{transition:none}}.nove-dna,.nove-reading{display:flex;flex-direction:column;gap:.4rem;padding-top:.9rem;margin-top:.4rem;border-top:1px solid var(--border-subtle)}.nove-section-title{margin:0 0 .15rem;font-family:var(--font-serif);font-size:1.15rem;font-weight:400;color:var(--text)}.nove-dna-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;font-size:.82rem;color:var(--text-muted)}.nove-dna-bar{height:4px;border-radius:2px;background:var(--border-subtle);overflow:hidden}.nove-dna-bar>span{display:block;height:100%;border-radius:2px;background:var(--text)}.nove-dna-val{color:var(--text)}.nove-dna-line,.nove-dna-foot{margin:0;font-size:.82rem;color:var(--text-muted)}.nove-dna-line strong{color:var(--text);font-weight:600}.nove-dna-foot{font-size:.74rem;color:var(--text-faint)}.nove-reading-text{margin:0;font-size:.88rem;line-height:1.55;color:var(--text)}.nove-reading-missing{display:flex;flex-direction:column;gap:.15rem;margin:.2rem 0 0;font-size:.82rem;color:var(--text-muted)}.nove-reading-missing span{font-size:.72rem;color:var(--text-faint)}.nove-reading-missing strong{color:var(--text);font-weight:600}.nove-reading-error{margin:0;font-size:.8rem;color:var(--danger)}.page-route-loader{min-height:60vh;display:flex;align-items:center;justify-content:center}.page-route-loader{opacity:0;animation:page-route-loader-in .2s ease-out .12s forwards}@keyframes page-route-loader-in{to{opacity:1}}.admin-page{max-width:var(--max-width-wide);margin:0 auto;padding:var(--space-lg) var(--space-md) 6rem}.admin-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.admin-title{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin:0}.admin-controls{display:flex;gap:var(--space-sm);align-items:center}.admin-select,.admin-search{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;font:inherit}.admin-search{width:100%;max-width:320px;margin-bottom:var(--space-sm)}.admin-muted{color:var(--text-muted)}.admin-error{color:var(--danger);margin-bottom:var(--space-md)}.admin-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md)}.admin-tile,.admin-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:var(--space-md)}.admin-card{margin-bottom:var(--space-md);min-width:0}.admin-tile-value{font-size:1.6rem;font-variant-numeric:tabular-nums}.admin-tile-label{color:var(--text-muted);font-size:.85rem;margin-top:.15rem}.admin-tile-sub{color:var(--text-faint);font-size:.75rem;margin-top:.35rem}.admin-h2{font-size:1rem;font-weight:500;margin:0 0 var(--space-sm)}.admin-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-md)}.admin-chart{display:flex;align-items:flex-end;gap:2px;height:140px}.admin-bar{flex:1;height:100%;display:flex;align-items:flex-end}.admin-bar-fill{width:100%;background:rgb(var(--cover-rgb-c));border-radius:2px 2px 0 0;display:flex;align-items:flex-end;overflow:hidden}.admin-bar-err{width:100%;background:var(--danger)}.admin-axis{display:flex;justify-content:space-between;color:var(--text-faint);font-size:.75rem;margin-top:.4rem}.admin-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--danger);margin-right:4px}.admin-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums}.admin-table th{text-align:left;color:var(--text-muted);font-weight:500;padding:.4rem .6rem;white-space:nowrap}.admin-table td{padding:.4rem .6rem;border-top:1px solid var(--border-subtle);white-space:nowrap}.admin-email{max-width:240px;overflow:hidden;text-overflow:ellipsis}.admin-badge{margin-left:.5rem;font-size:.7rem;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:0 .45rem}.admin-bad{color:var(--danger)}.lstats{display:flex;flex-direction:column;gap:20px}.lstats-note{margin:0;color:var(--text-muted);font-size:.9rem}.lstats-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.lstats-kpi,.lstats-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.lstats-kpi{padding:16px;display:flex;flex-direction:column;gap:4px}.lstats-kpi-value{font-size:1.8rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.lstats-kpi-label{font-size:.8rem;color:var(--text-muted)}.lstats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.lstats-card{padding:16px}.lstats-card-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--text)}.lstats-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.lstats-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);color:inherit;text-decoration:none}a.lstats-row:hover{background:var(--bg-hover)}.lstats-rank{width:18px;text-align:right;font-size:.8rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.lstats-cover{width:40px;height:40px;border-radius:6px;object-fit:cover;flex:none}.lstats-cover-empty{background:var(--bg-elevated);display:inline-block}.lstats-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lstats-name{color:var(--text);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lstats-sub{color:var(--text-muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lstats-bar{height:3px;border-radius:2px;background:var(--border-subtle);overflow:hidden}.lstats-bar span{display:block;height:100%;background:var(--text-muted);border-radius:2px}.lstats-plays{font-variant-numeric:tabular-nums;font-weight:600;font-size:.9rem;color:var(--text)}.lstats-when{font-weight:400;font-size:.78rem;color:var(--text-muted);white-space:nowrap}.lstats-empty{color:var(--text-muted);font-size:.88rem;margin:0}.lstats-empty-main{text-align:center;padding:40px 0}.lstats-period{align-self:flex-start}.lstats-chart{display:flex;align-items:flex-end;gap:4px;height:140px}.lstats-chart-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0}.lstats-chart-bar{width:100%;min-height:2px;background:var(--text-muted);border-radius:3px 3px 0 0;opacity:.85}.lstats-chart-col:hover .lstats-chart-bar{opacity:1;background:var(--text)}.lstats-chart-label{font-size:.68rem;color:var(--text-faint);height:1em;white-space:nowrap}.lstats-empty-hero{position:relative;overflow:hidden;text-align:center;padding:56px 24px 32px;border:1px solid var(--border-subtle);border-radius:calc(var(--radius-lg) + 6px);background:radial-gradient(60% 70% at 50% 0%,var(--accent-glow),transparent 70%),var(--bg-card);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.lstats-eq{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:84px;margin-bottom:28px}.lstats-eq span{width:6px;height:100%;border-radius:3px;background:var(--text);transform-origin:bottom;transform:scaleY(.18);opacity:.8;animation:lstats-eq 1.2s ease-in-out infinite alternate;mask-image:linear-gradient(to top,#000 55%,transparent);-webkit-mask-image:linear-gradient(to top,#000 55%,transparent)}@keyframes lstats-eq{0%{transform:scaleY(.15)}to{transform:scaleY(1)}}.lstats-empty-title{margin:0 0 10px;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;color:var(--text)}.lstats-empty-text{margin:0 auto;max-width:46ch;color:var(--text-muted);line-height:1.55}.lstats-empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:24px 0 36px}.lstats-cta{padding:10px 20px;border-radius:999px;font-size:.92rem;font-weight:600;text-decoration:none;color:var(--text);border:1px solid var(--border);background:var(--bg-elevated);transition:transform .15s ease,background .15s ease}.lstats-cta:hover{background:var(--bg-hover);transform:translateY(-1px)}.lstats-cta-primary{background:var(--accent);color:var(--text-on-accent);border-color:transparent}.lstats-cta-primary:hover{background:var(--accent-dim)}.lstats-teasers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;text-align:left}.lstats-teaser{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.lstats-teaser strong{color:var(--text);font-size:.9rem}.lstats-teaser small{color:var(--text-muted);font-size:.78rem}.lstats-ghost-chart,.lstats-ghost-list,.lstats-ghost-streak{height:64px;margin-bottom:10px;opacity:.55}.lstats-ghost-chart{display:flex;align-items:flex-end;gap:4px}.lstats-ghost-chart span{flex:1;background:var(--text-muted);border-radius:2px 2px 0 0}.lstats-ghost-list{display:flex;flex-direction:column;justify-content:space-between}.lstats-ghost-list div{display:flex;align-items:center;gap:8px}.lstats-ghost-cover{width:16px;height:16px;border-radius:4px;background:var(--text-muted);flex:none}.lstats-ghost-line{height:6px;border-radius:3px;background:var(--text-muted)}.lstats-ghost-streak{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;align-content:center}.lstats-ghost-streak span{aspect-ratio:1;border-radius:4px;background:var(--text)}@media(prefers-reduced-motion:reduce){.lstats-eq span{animation:none;transform:scaleY(.5)}}.main{padding-bottom:6rem}@media(min-width:769px){.home-hero-wrap{padding-top:1.5rem;margin-bottom:1rem}.home-spotlight-section,.home-dashboard-grid{max-width:1120px}.home-dashboard-grid{gap:3rem}.home-section .song-grid-home{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.home-section .song-grid-home .mini-card:nth-child(n+7){display:none}.home-section .album-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}}@media(max-width:768px){.song-shelf-mobile,.album-shelf-mobile,.artist-shelf-mobile,.comp-shelf-mobile,.home-quick-actions{scroll-padding-inline:1rem}.home-section .section-header{align-items:center;gap:.5rem}.home-section .section-header>div{min-width:0;flex:1}.home-section-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-see-all{flex-shrink:0;white-space:nowrap}.see-all-count{display:none}.main{padding-bottom:9.5rem}.footer{display:none}}@keyframes vinyl-spin{to{rotate:360deg}}.song-card-grid{z-index:0}.song-card-grid:hover,.song-card-grid.is-current-track{z-index:3}.song-card-grid-art{position:relative;width:100%;aspect-ratio:1}.song-card-grid-art .song-card-grid-cover-wrap{position:relative;z-index:2}.song-vinyl,.album-card-vinyl{background:radial-gradient(circle at 50% 50%,transparent 0 31%,rgba(255,255,255,.05) 31.5% 32%,transparent 32.5% 44%,rgba(255,255,255,.04) 44.5% 45%,transparent 45.5% 58%,rgba(255,255,255,.035) 58.5% 59%,transparent 60%),conic-gradient(from 20deg,#0b0c10,#1d2027 40deg,#0b0c10 90deg,#0b0c10 180deg,#1d2027 220deg,#0b0c10 270deg,#0b0c10 360deg)}.song-vinyl{position:absolute;top:3%;left:3%;width:94%;height:94%;border-radius:50%;z-index:1;pointer-events:none;box-shadow:0 6px 18px #0000008c,inset 0 0 0 1px #ffffff12;translate:0 0;rotate:0deg;opacity:0;transition:translate .55s cubic-bezier(.16,1,.3,1),rotate .55s cubic-bezier(.16,1,.3,1),opacity .2s ease}.song-vinyl:after{content:"";position:absolute;top:50%;left:50%;width:4%;height:4%;transform:translate(-50%,-50%);border-radius:50%;background:#05060a;box-shadow:0 0 0 1px #ffffff40}.song-vinyl-label{position:absolute;top:50%;left:50%;width:34%;height:34%;transform:translate(-50%,-50%);border-radius:50%;background:var(--accent) center / cover no-repeat;box-shadow:0 0 0 3px #000,0 0 12px rgba(var(--cover-rgb-a),.45)}@media(hover:hover){.song-card-grid:hover .song-vinyl{opacity:1;translate:24% 0;rotate:120deg;animation:vinyl-spin 6s linear .55s infinite}.album-card:hover .album-card-vinyl{transform:translate(16px);rotate:15deg;animation:vinyl-spin 8s linear .4s infinite}}.song-card-grid.is-current-track .song-vinyl{opacity:1;translate:18% 0;animation:vinyl-spin 4s linear infinite}.song-card-grid:hover .song-card-grid-cover-wrap{box-shadow:0 18px 40px -8px rgba(var(--cover-rgb-a),.35),0 14px 30px -6px #0009}.album-card-vinyl{box-shadow:0 6px 16px #000000a6,inset 0 0 0 1px #ffffff12}.album-card-vinyl-grooves{border:0;box-shadow:none}@media(prefers-reduced-motion:reduce){.song-vinyl,.album-card-vinyl{animation:none!important}}.collection-tabs-wrap{display:flex;align-items:center;gap:.75rem}.collection-segmented-extra{background:transparent!important;border-style:dashed!important;box-shadow:none!important}.collection-segmented-extra .collection-tab-btn{font-size:.82rem;padding-inline:.8rem}.collection-tab-badge{opacity:.6;font-variant-numeric:tabular-nums}@media(max-width:768px){.collection-tabs-wrap{flex-wrap:wrap;overflow:visible;gap:.5rem}.collection-tabs-wrap .collection-segmented{min-width:0}.collection-segmented-extra{margin-left:auto}}.discover-shelves-container{gap:2rem}.discover-shelf{gap:.85rem}.discover-shelf-header{border-bottom:0;padding-bottom:0}.discover-shelf-title{font-size:1.35rem}.discover-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.discover-shelf .discover-grid{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:6px 2px 16px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}.discover-shelf .discover-grid::-webkit-scrollbar{display:none}.discover-shelf .discover-card{flex:0 0 200px;scroll-snap-align:start}.discover-card{border-radius:16px}.discover-card-body{padding:.7rem .8rem .8rem;gap:.4rem}.discover-card-title{font-size:1rem}.discover-card-album{display:none}.discover-reason-pill{padding:0;background:none;border:0;border-radius:0;font-size:.7rem;color:var(--text-faint)}.discover-card-actions{gap:.35rem;padding-top:.15rem}.discover-btn-full span{display:none}.discover-btn-full{width:32px;padding:0}.discover-btn-dislike,.discover-btn-custom-add{display:none;animation:discover-fade-in .18s ease both}@media(hover:hover){.discover-card:hover .discover-btn-dislike,.discover-card:focus-within .discover-btn-dislike,.discover-card:hover .discover-btn-custom-add,.discover-card:focus-within .discover-btn-custom-add{display:flex}}@media(hover:none){.discover-btn-dislike{display:flex}}@keyframes discover-fade-in{0%{opacity:0}to{opacity:1}}.discover-card.is-playing-card{border-color:rgba(var(--cover-rgb-a),.7);box-shadow:0 0 0 1px rgba(var(--cover-rgb-a),.5),0 18px 44px -8px rgba(var(--cover-rgb-a),.35)}@media(max-width:768px){.discover-shelf .discover-card{flex-basis:158px}.discover-shelf .discover-grid{margin-inline:-1rem;padding-inline:1rem;scroll-padding-inline:1rem}.discover-shelf-count{display:none}}.discover-taste-ribbon{flex-wrap:nowrap;margin-top:.9rem;padding:.6rem 1rem;gap:1rem}.discover-taste-ribbon-left{flex:1;min-width:0;flex-wrap:nowrap;gap:.75rem}.discover-taste-focus-header{flex-shrink:0;flex-wrap:nowrap}.discover-taste-ribbon-chips{flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);padding-right:28px}.discover-taste-ribbon-chips::-webkit-scrollbar{display:none}.discover-taste-chip{flex-shrink:0;white-space:nowrap}.discover-taste-ribbon-right{flex-shrink:0}.discover-spotlight-card{padding:1.1rem 1.35rem;gap:1.25rem}.discover-spotlight-cover-wrap{width:136px;height:136px;min-width:136px;border-radius:14px}.discover-spotlight-narrative p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.discover-taste-ribbon{flex-wrap:wrap}.discover-taste-ribbon-left{flex-basis:100%;flex-wrap:wrap}.discover-taste-ribbon-chips{flex-basis:100%}.discover-spotlight-card{padding:.9rem;gap:.85rem}.discover-spotlight-cover-wrap{width:96px;height:96px;min-width:96px;border-radius:12px}.discover-spotlight-narrative{display:none}}body.deck-open{overflow:hidden}body.deck-open .bottom-nav,body.deck-open .global-audio-player-dock{display:none!important}.deck-screen{--deck-a: 44, 114, 158;--deck-b: 24, 68, 108;--deck-c: 78, 152, 184;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:radial-gradient(120% 60% at 50% 0%,rgba(var(--deck-a),.45),transparent 70%),linear-gradient(180deg,rgba(var(--deck-b),.35),var(--bg) 90%),var(--bg);transition:background .5s ease;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.deck-topbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .9rem;max-width:520px;width:100%;margin:0 auto}.deck-topbar-right{display:flex;gap:.4rem}.deck-count{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.deck-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer;color:var(--text);background:#ffffff1a}.deck-icon.is-active{background:#f3f1ec;color:#1a1612}.deck-icon:disabled{opacity:.5;cursor:default}.deck-panel{position:absolute;z-index:5;top:calc(56px + env(safe-area-inset-top,0px));left:.75rem;right:.75rem;max-width:520px;margin:0 auto;max-height:60dvh;overflow:auto;padding:1rem;border-radius:20px;background:#10121af0;border:1px solid var(--border);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.deck-panel .discover-controls-bar{margin:0;flex-direction:column;align-items:stretch}.deck-panel .discover-controls-left{flex-direction:column;align-items:stretch;gap:.75rem}.deck-panel .discover-search-wrap{width:100%}.deck{flex:1;min-height:0;width:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;padding:.25rem 1rem 1rem;touch-action:pan-y;-webkit-user-select:none;user-select:none}.deck-stage{position:relative;flex:1 1 auto;min-height:180px;max-height:520px;aspect-ratio:1;align-self:center;width:auto;max-width:100%}.deck-card{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;overflow:hidden;background:rgba(var(--deck-b),.6);box-shadow:0 24px 60px -20px rgba(var(--deck-b),.9);cursor:grab;transition:transform .22s cubic-bezier(.22,1,.36,1);will-change:transform}.deck-card.is-dragging{transition:none;cursor:grabbing}.deck-card.is-exiting{transition:transform .22s ease-in,opacity .22s;opacity:0}.deck-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.deck-card-next{transform:scale(.94) translateY(10px);opacity:.55;cursor:default;box-shadow:none}.deck-cover-fallback{width:100%;height:100%;background:linear-gradient(135deg,rgb(var(--deck-a)),rgb(var(--deck-b)))}.deck-play{position:absolute;right:14px;bottom:14px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:0;color:#fff;cursor:pointer;background:rgba(var(--deck-b),.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.deck-stamp{position:absolute;top:18px;padding:4px 12px;border:3px solid currentColor;border-radius:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#00000059;pointer-events:none;opacity:0}.deck-stamp-like{left:18px;color:#7ee2a8;transform:rotate(-10deg)}.deck-stamp-skip{right:18px;color:#ff8a8a;transform:rotate(10deg)}.deck-info{flex:none;padding:1rem .25rem .25rem}.deck-bottom{flex:none;margin-top:auto;padding-top:.5rem}.deck-title{margin:0;font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.1;color:var(--text)}.deck-artist{margin:.35rem 0 0;font-size:1.05rem;color:var(--text-muted)}.deck-meta{margin:.2rem 0 0;font-size:.85rem;color:var(--text-faint)}.deck-why{margin:.9rem 0 0;padding:.65rem .85rem;border-radius:14px;background:rgba(var(--deck-a),.16);color:var(--text);font-size:.9rem;line-height:1.35}.deck-why span{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px}.deck-progress{padding:.75rem .25rem 0}.deck-progress-bar{height:4px;border-radius:4px;background:#ffffff24;overflow:hidden}.deck-progress-bar i{display:block;height:100%;background:rgb(var(--deck-c));transition:width .25s linear}.deck-progress-time{display:flex;justify-content:space-between;margin-top:4px;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-faint)}.deck-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.deck-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;border-radius:999px;border:0;cursor:pointer;font-size:1rem;font-weight:600;font-family:inherit}.deck-btn:disabled{opacity:.5;cursor:default}.deck-btn-skip{background:#ffffff1a;color:var(--text)}.deck-btn-like{background:#f3f1ec;color:#1a1612}.deck-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.deck-card,.deck-card.is-exiting,.deck{transition:none}}.discover-controls-actions{display:flex;gap:.4rem}.discover-icon-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text);cursor:pointer}.discover-icon-btn:disabled{opacity:.5;cursor:default}.dlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.dlist-row{display:grid;grid-template-columns:56px 1fr auto;gap:.85rem;align-items:center;padding:.5rem .75rem .5rem .5rem;border-radius:16px;background:var(--bg-card);border:1px solid var(--border-subtle)}.dlist-row.is-playing{border-color:var(--border);background:var(--bg-hover)}.dlist-cover{position:relative;width:56px;height:56px;border-radius:10px;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--bg-elevated)}.dlist-cover img{width:100%;height:100%;object-fit:cover;display:block}.dlist-cover i{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#00000059;opacity:0;transition:opacity .15s}.dlist-cover:hover i,.dlist-row.is-playing .dlist-cover i{opacity:1}.dlist-text{min-width:0;display:flex;flex-direction:column;gap:1px}.dlist-text strong{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dlist-text span{color:var(--text-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dlist-text em{font-style:normal;color:var(--text-faint);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dlist-actions{display:flex;gap:.4rem}.dlist-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer;background:#ffffff1a;color:var(--text)}.dlist-btn-save{background:#f3f1ec;color:#1a1612}.dlist-btn:disabled{opacity:.4;cursor:default}@media(max-width:560px){.dlist-text em{display:none}}.tune{display:flex;flex-direction:column;gap:1rem;padding-top:1rem}.tune-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:999px;background:#ffffff14}.tune-mode{border:0;cursor:pointer;padding:.55rem .5rem;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:.9rem;font-weight:600}.tune-mode.is-active{background:#f3f1ec;color:#1a1612}.tune-slider-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;color:var(--text);margin-bottom:4px}.tune-slider-head em{font-style:normal;color:var(--text-faint)}.tune-slider-head button{border:0;background:none;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.8rem;text-decoration:underline}.tune-slider input[type=range]{width:100%;accent-color:#f3f1ec}.tune-slider input[type=range].is-off{opacity:.4}.tune-slider-scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-faint)}.tune-years{display:grid;gap:2px}.tune-reset{align-self:flex-start;border:0;background:none;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.85rem;text-decoration:underline;padding:0}.tune-details{margin:-1rem 0 1.5rem;padding:.75rem 1rem;border-radius:16px;background:var(--bg-card);border:1px solid var(--border-subtle)}.tune-details summary{cursor:pointer;font-size:.9rem;color:var(--text-muted)}.deck-panel .tune{border-top:1px solid var(--border-subtle);margin-top:1rem}.pers{margin-bottom:2rem}.pers-heading{margin:0 0 .9rem;font-size:1.1rem;color:var(--text)}.pers-empty{margin:0;color:var(--text-muted);font-size:.95rem}.pers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}.pers-card{display:flex;flex-direction:column;gap:.6rem;padding:1.1rem 1.2rem 1rem;border-radius:26px;background:linear-gradient(180deg,#ecd3a0,#dcbc7e);color:#2e2110}.pers-top{display:flex;align-items:center;gap:.6rem}.pers-icon{display:grid;place-items:center}.pers-kicker{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#6b5330}.pers-title{margin:.2rem 0 0;font-size:1.7rem;line-height:1.1;font-weight:700}.pers-blurb{margin:0;font-size:.95rem;line-height:1.35;color:#4a3820}.pers-axis{margin-top:.4rem}.pers-track{position:relative;height:4px;border-radius:4px;background:#2e211040;margin:8px 7px}.pers-track i{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#2e2110}.pers-scale{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#6b5330}.pers-stat{margin:.2rem 0 0;font-size:.85rem;font-weight:600}.pers-share{align-self:stretch;margin-top:.3rem;border:0;cursor:pointer;padding:.7rem 1rem;border-radius:999px;background:#2e2110;color:#f6e9cb;font:inherit;font-weight:600}.recap{margin-bottom:2rem;padding:1.5rem 1.4rem;border-radius:28px;color:#fff;background:linear-gradient(135deg,#4b3fd6,#241a6b)}.recap-empty{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-subtle)}.recap-empty p{margin:0}.recap-heading{margin:0 0 .4rem;font-size:1.1rem;color:var(--text)}.recap-kicker{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3}.recap-vibe{margin:.5rem 0 0;font-size:clamp(2.2rem,7vw,3.4rem);line-height:1;font-weight:700;color:#fff}.recap-sub{margin:.4rem 0 0;color:#ffffffd9}.recap-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:1.2rem 0}.recap-big strong{font-size:clamp(3rem,12vw,5rem);line-height:1;font-variant-numeric:tabular-nums}.recap-big span{color:#fffc}.recap-delta{font-style:normal;font-size:.85rem;padding:2px 10px;border-radius:999px;background:#ffffff24}.recap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:0 0 1.2rem}.recap-grid div{padding:.7rem .85rem;border-radius:16px;background:#ffffff1a;min-width:0}.recap-grid dt{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6}.recap-grid dd{margin:2px 0 0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recap-share{border:0;cursor:pointer;padding:.8rem 1.4rem;border-radius:999px;background:#f3f1ec;color:#1a1612;font:inherit;font-weight:600}.gap-queue-live-toggle{border:1px solid var(--border, rgba(255, 255, 255, .16));background:transparent;color:inherit;font:inherit;font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer;opacity:.75}.gap-queue-live-toggle.is-active{opacity:1;border-color:currentColor;background:#ffffff1a}.gap-queue-item-reason{font-size:11px;opacity:.55}.gap-queue-live-note{font-size:12px;opacity:.7;padding:0 16px 8px}.mobile-menu-listen{display:block;margin:0 20px 12px;padding:12px 0;border-bottom:1px solid var(--border-subtle);color:var(--text);text-decoration:none;font-weight:600}.listen{max-width:720px;margin:0 auto;padding:8vh 20px 160px}.listen-start{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.listen-kicker{font-size:13px;color:var(--text-faint);letter-spacing:.04em}.listen-intent{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--text);font:inherit;font-size:clamp(28px,6vw,44px);font-weight:600;letter-spacing:-.02em;padding:6px 0 14px;outline:none;transition:border-color .2s ease}.listen-intent::placeholder{color:var(--text-faint)}.listen-intent:focus{border-bottom-color:var(--text)}.listen-hint{margin:0;color:var(--text-muted);font-size:15px}.listen-begin{margin-top:10px;padding:12px 28px;border:0;border-radius:999px;background:var(--text);color:var(--bg);font:inherit;font-weight:600;cursor:pointer}.listen-begin:disabled{opacity:.6;cursor:default}.listen-error{margin:0;color:var(--text-muted);font-size:14px}.listen-history{margin-top:72px}.listen-block-title{margin:0 0 12px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.listen-past{border-top:1px solid var(--border-subtle);padding:14px 0}.listen-past summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.listen-past summary::-webkit-details-marker{display:none}.listen-past-intent{color:var(--text);font-weight:500}.listen-past-meta{color:var(--text-faint);font-size:13px;white-space:nowrap}.listen-past-tracks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;font-size:14px;color:var(--text-muted)}.listen-past-tracks em{font-style:normal;color:var(--text-faint)}.listen-past-tracks .is-skipped{opacity:.5}.listen-past-tracks q{display:block;margin-top:2px;color:var(--text-muted);font-style:italic}.listen-active{padding-top:32px}.listen-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px}.listen-top-text{display:grid;gap:2px;min-width:0}.listen-top-intent{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listen-top-meta{color:var(--text-faint);font-size:13px}.listen-end{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:7px 16px;font:inherit;font-size:13px;cursor:pointer}.listen-end:hover{color:var(--text);border-color:var(--text-muted)}.listen-wait{color:var(--text-muted)}.listen-wait a{color:var(--text)}.listen-hero{display:grid;grid-template-columns:minmax(0,280px) 1fr;gap:32px;align-items:end;margin-bottom:48px}.listen-cover{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 24px 60px #00000073;background:var(--bg-card)}.listen-title{margin:0 0 6px;font-size:clamp(28px,5vw,44px);line-height:1.05;letter-spacing:-.02em}.listen-artist{margin:0;color:var(--text-muted);font-size:17px}.listen-artist span{color:var(--text-faint)}.listen-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0}.listen-chips li{padding:4px 12px;border:1px solid var(--border);border-radius:999px;font-size:13px;color:var(--text-muted)}.listen-controls{display:flex;align-items:center;gap:18px;margin-top:24px}.listen-controls button{background:transparent;border:0;color:var(--text);cursor:pointer;display:grid;place-items:center;padding:6px}.listen-controls .listen-play{width:56px;height:56px;border-radius:50%;background:var(--text);color:var(--bg)}.listen-spin{width:20px;height:20px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:listen-spin .8s linear infinite}@keyframes listen-spin{to{transform:rotate(360deg)}}.listen-block{margin-bottom:40px}.listen-meaning{margin:0;color:var(--text-muted);font-size:17px;line-height:1.6}.listen-lyrics-live{display:grid;gap:6px}.listen-lyrics-live p{margin:0;color:var(--text-faint);font-size:18px;transition:color .3s ease}.listen-lyrics-live p.is-active{color:var(--text);font-size:26px;font-weight:600;letter-spacing:-.01em}.listen-lyrics-plain{margin:0 0 8px;white-space:pre-line;color:var(--text-muted);line-height:1.7;max-height:9em;overflow:hidden}.listen-lyrics-plain.is-open{max-height:none}.listen-link{background:transparent;border:0;padding:0;margin-top:8px;color:var(--text-muted);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.listen-link:disabled{text-decoration:none;cursor:default;color:var(--text-faint)}.listen-meters{display:grid;gap:12px}.listen-meter{display:grid;grid-template-columns:64px 1fr 110px;align-items:center;gap:14px;font-size:14px}.listen-meter-label{color:var(--text-faint)}.listen-meter-track{height:3px;border-radius:2px;background:var(--border-subtle);overflow:hidden}.listen-meter-fill{display:block;height:100%;background:var(--text);border-radius:2px;transition:width .5s ease}.listen-meter-text{color:var(--text-muted);text-align:right}.listen-note{width:100%;resize:none;background:transparent;border:0;border-bottom:1px solid var(--border-subtle);color:var(--text);font:inherit;padding:6px 0 10px;outline:none}.listen-note:focus{border-bottom-color:var(--text-muted)}.listen-note::placeholder{color:var(--text-faint)}.listen-next{list-style:none;margin:0;padding:0;display:grid;gap:10px}.listen-next li{display:flex;justify-content:space-between;gap:16px;color:var(--text-muted);font-size:15px}.listen-next em{font-style:normal;color:var(--text-faint)}.listen-next small{color:var(--text-faint);white-space:nowrap}@media(max-width:640px){.listen{padding-top:4vh}.listen-hero{grid-template-columns:1fr;gap:20px}.listen-cover{max-width:280px}.listen-meter{grid-template-columns:56px 1fr 96px}}@media(prefers-reduced-motion:reduce){.listen-spin{animation:none}.listen-meter-fill,.listen-lyrics-live p{transition:none}}.listen-insights{list-style:none;margin:0;padding:0;display:grid;gap:12px;color:var(--text);font-size:17px;line-height:1.5}.listen-history+.listen-history{margin-top:48px}.listen-sync{display:flex;align-items:center;flex-wrap:wrap;gap:.9rem;margin-top:.9rem}.listen-sync-value{font-size:.8rem;color:var(--text-muted, #8a8a98);min-width:2.8rem;text-align:center;font-variant-numeric:tabular-nums}.listen-examples{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 1.2rem}.listen-example{font:inherit;font-size:.82rem;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--border, rgba(128, 128, 140, .3));background:transparent;color:var(--text-muted, #7a7a88);cursor:pointer;text-align:left}.listen-example:hover{color:var(--text, #111);border-color:currentColor}.listen-past-delete{margin-top:10px;background:none;border:0;padding:0;color:var(--text-faint);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.listen-past-delete:hover{color:var(--text)}
