.tm-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:0 14px;border:0;border-radius:var(--tm-radius-sm, 10px);color:var(--control-fg, var(--tm-colors-text, #f7f2ea));background:var(--surface-bg-strong, var(--tm-colors-surface-strong, rgba(255, 255, 255, .14)));font:inherit;font-weight:var(--tm-typography-weight-bold, 800);text-decoration:none;transition:transform var(--tm-motion-fast, .14s) var(--tm-motion-easing, ease),background var(--tm-motion-fast, .14s) var(--tm-motion-easing, ease),color var(--tm-motion-fast, .14s) var(--tm-motion-easing, ease),opacity var(--tm-motion-fast, .14s) var(--tm-motion-easing, ease);-webkit-user-select:none;user-select:none}.tm-button:hover:not(:disabled){transform:translateY(-1px)}.tm-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent, var(--tm-colors-accent, #f6a84b)) 76%,white);outline-offset:2px}.tm-button:disabled{cursor:not-allowed;opacity:.42}.tm-button-primary{color:#120c0d;background:color-mix(in srgb,var(--accent, var(--tm-colors-accent, #f6a84b)) 86%,white)}.tm-button-danger{color:#fff;background:color-mix(in srgb,var(--tm-colors-danger, #ff6b7a) 72%,transparent)}.tm-button-ghost{background:transparent}.tm-button.compact{min-height:34px;padding:0 12px}:root{color:var(--control-fg);background:#070809;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}button,input,label,textarea{font:inherit}button,label{cursor:pointer}button{border:0}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{--accent: #f6a84b;--page-text: #f8f4ee;--page-text-strong: #fffaf2;--page-bg-a: #070809;--page-bg-b: #181115;--page-bg-c: #07090c;--panel-bg: rgba(7, 8, 9, calc(var(--glass-alpha) * .86));--surface-bg: rgba(255, 255, 255, .055);--surface-bg-strong: rgba(255, 255, 255, .1);--surface-border: rgba(255, 255, 255, .12);--muted-text: rgba(248, 244, 238, .56);--soft-text: rgba(248, 244, 238, .46);--control-bg: rgba(0, 0, 0, .22);--control-fg: #f8f4ee;--glass-alpha: .72;--surface-density: 12px;--ambient-blur: 34px;--lyric-size: 42px;--lyric-font-family: Inter;--lyric-font-weight: 800;--lyric-line-height: 1.18;--lyric-letter-spacing: 0px;--lyric-gap: 18px;--lyric-active-scale: 1.04;--lyric-inactive-opacity: .28;--lyric-passed-opacity: .18;--lyric-glow-intensity: .18;--lyric-position-duration: .24s;--lyric-scale-duration: .24s;--word-fade-width: .5;--flow-speed: 15s;--grain-opacity: .32;--render-scale: .75;--low-freq-volume: .64;--vignette-opacity: .32;--beat-zoom: .18;--bg-saturation: 1.08;--bg-brightness: 1;--bg-contrast: 1.04;--bottom-control-display: grid;--volume-control-display: flex;position:relative;display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);height:100svh;min-height:100svh;overflow:hidden;color:var(--page-text);background:radial-gradient(circle at 28% 10%,color-mix(in srgb,var(--accent) 40%,transparent),transparent 34%),radial-gradient(circle at 85% 18%,rgba(216,63,93,.34),transparent 31%),radial-gradient(circle at 38% 92%,rgba(44,181,171,.24),transparent 38%),linear-gradient(135deg,var(--page-bg-a) 0%,var(--page-bg-b) 52%,var(--page-bg-c) 100%)}.app-shell.theme-light{--page-text: #241d1d;--page-text-strong: #100b0c;--page-bg-a: #f8f4ee;--page-bg-b: #f0e8dc;--page-bg-c: #fffaf2;--panel-bg: rgba(255, 250, 242, calc(var(--glass-alpha) * .92));--surface-bg: rgba(255, 255, 255, .48);--surface-bg-strong: rgba(255, 255, 255, .7);--surface-border: rgba(80, 54, 42, .16);--muted-text: rgba(36, 29, 29, .6);--soft-text: rgba(36, 29, 29, .46);--control-bg: rgba(255, 255, 255, .58);--control-fg: #241d1d}@media(prefers-color-scheme:light){.app-shell.theme-system{--page-text: #241d1d;--page-text-strong: #100b0c;--page-bg-a: #f8f4ee;--page-bg-b: #f0e8dc;--page-bg-c: #fffaf2;--panel-bg: rgba(255, 250, 242, calc(var(--glass-alpha) * .92));--surface-bg: rgba(255, 255, 255, .48);--surface-bg-strong: rgba(255, 255, 255, .7);--surface-border: rgba(80, 54, 42, .16);--muted-text: rgba(36, 29, 29, .6);--soft-text: rgba(36, 29, 29, .46);--control-bg: rgba(255, 255, 255, .58);--control-fg: #241d1d}}.ambient-layer,.grain-layer{position:absolute;inset:0;pointer-events:none}.ambient-layer{inset:-22%;background:conic-gradient(from 200deg at 50% 50%,rgba(255,255,255,.12),transparent,color-mix(in srgb,var(--accent) 38%,transparent),rgba(79,198,184,.12),transparent),repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 92px);opacity:calc(.34 + var(--low-freq-volume) * .48);transform:rotate(-8deg) scale(calc(.78 + var(--render-scale) * .24 + var(--beat-zoom) * .08));animation:ambientDrift var(--flow-speed) ease-in-out infinite alternate;filter:blur(var(--ambient-blur)) saturate(var(--bg-saturation)) brightness(var(--bg-brightness)) contrast(var(--bg-contrast))}.ambient-layer:after{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 42%,rgba(0,0,0,var(--vignette-opacity)) 100%);content:""}.grain-layer{opacity:var(--grain-opacity);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;mix-blend-mode:overlay}.app-shell.is-static .ambient-layer,.app-shell.background-off .ambient-layer,.app-shell.background-off .grain-layer,.app-shell.reduce-motion .ambient-layer,.app-shell.reduce-motion .cover-ring,.app-shell.reduce-motion .cover-stage{animation:none}.app-shell.background-off .ambient-layer,.app-shell.background-off .grain-layer,.app-shell.background-disabled .ambient-layer,.app-shell.background-disabled .grain-layer{opacity:0}.app-shell.background-fluid .ambient-layer{background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--accent) 54%,transparent),transparent 36%),radial-gradient(circle at 72% 42%,rgba(79,198,184,.32),transparent 34%),conic-gradient(from 90deg at 50% 50%,transparent,rgba(216,63,93,.28),transparent,color-mix(in srgb,var(--accent) 28%,transparent))}.app-shell.background-eplor .ambient-layer,.app-shell.background-pixi .ambient-layer{background:radial-gradient(circle at 22% 24%,color-mix(in srgb,var(--accent) 62%,transparent),transparent 34%),radial-gradient(circle at 70% 22%,rgba(79,198,184,.36),transparent 32%),radial-gradient(circle at 55% 78%,rgba(216,63,93,.26),transparent 36%),conic-gradient(from 130deg at 50% 52%,transparent,rgba(255,255,255,.12),transparent)}.app-shell.background-css .ambient-layer{background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 30%,transparent),transparent 48%),repeating-linear-gradient(90deg,rgba(255,255,255,.032) 0 1px,transparent 1px 54px),repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 54px)}.app-shell.background-classic .ambient-layer{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 24%,transparent),transparent 42%),repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 36px)}.sidebar,.workspace{position:relative;z-index:1}.sidebar{display:flex;flex-direction:column;gap:22px;height:100svh;min-height:100svh;padding:26px 20px;background:var(--panel-bg);border-right:1px solid var(--surface-border);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--accent),#d83f5d 52%,#4fc6b8);color:#100b0c;font-size:13px;font-weight:850}.brand p,.brand span,.track-meta h1,.track-meta p,.playlist-row p,.analysis-panel p,.backend-spec p{margin:0}.brand p{color:var(--page-text-strong);font-size:16px;font-weight:780}.brand span{color:var(--muted-text);font-size:12px}.view-tabs{display:grid;gap:6px}.view-tab{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border-radius:8px;color:var(--muted-text);background:transparent;text-align:left;transition:color .16s ease,background .16s ease,transform .16s ease}.view-tab:hover,.view-tab.active{color:var(--page-text-strong);background:var(--surface-bg-strong)}.view-tab.active{transform:translate(2px)}.import-actions{display:grid;gap:10px}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none;white-space:nowrap}.import-action,.import-action:visited,.action-row .tm-button,.reset-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border-radius:9px;color:var(--control-fg);background:var(--surface-bg-strong);font-weight:760;transition:transform .16s ease,background .16s ease,color .16s ease;-webkit-user-select:none;user-select:none}.import-action.primary,.action-row .tm-button:first-child{color:#120c0d;background:#f8f4ee}.import-action:hover,.import-action:focus-visible,.action-row .tm-button:hover,.reset-button:hover{transform:translateY(-1px)}.import-action:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 76%,white);outline-offset:2px}.drop-zone{display:grid;gap:8px;min-height:112px;place-items:center;padding:18px 14px;border:1px dashed rgba(248,244,238,.24);border-radius:12px;color:var(--muted-text);background:var(--surface-bg);text-align:center;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.drop-zone.dragging{border-color:color-mix(in srgb,var(--accent) 82%,white);color:var(--page-text-strong);background:color-mix(in srgb,var(--accent) 16%,transparent);transform:translateY(-1px)}.drop-zone strong{color:var(--page-text-strong);font-size:14px}.drop-zone span{max-width:230px;color:var(--muted-text);font-size:12px;line-height:1.45}.drop-zone small{max-width:250px;color:color-mix(in srgb,var(--accent) 70%,white);font-size:11px;line-height:1.45}.queue-section{display:flex;min-height:0;flex:1;flex-direction:column;gap:14px}.section-heading,.surface-heading{display:flex;align-items:center;justify-content:space-between;color:#f8f4ee8c;font-size:12px;letter-spacing:0;text-transform:uppercase}.section-heading strong,.surface-heading strong{color:var(--accent)}.track-list{display:grid;gap:7px;overflow:auto;padding-right:4px}.empty-state{margin:0;color:var(--muted-text);font-size:14px;line-height:1.6}.track-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px;border-radius:9px;color:#f8f4eec7;background:transparent;text-align:left;transition:background .16s ease,transform .16s ease,color .16s ease}.track-row:hover,.track-row.active{color:var(--page-text-strong);background:var(--surface-bg-strong)}.track-row.active{transform:translate(3px)}.track-row span{display:grid;min-width:0;gap:4px}.track-row strong,.track-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-row small,.track-row em{color:var(--soft-text);font-size:12px;font-style:normal}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100svh;min-height:100svh;padding:24px 34px 26px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:48px}.topbar div{display:flex;align-items:center;gap:12px;color:var(--muted-text);font-size:13px}.topbar strong{color:var(--control-fg);font-size:12px;font-weight:700;text-transform:capitalize}.now-playing-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(360px,1fr);min-height:0;align-items:center;gap:52px}.cover-stage{position:relative;display:grid;justify-items:center;gap:26px;animation:stageIn .62s ease both}.cover-layout-compact{gap:16px}.cover-layout-compact .cover-art{width:min(34vw,360px)}.cover-layout-cover-first{align-self:stretch;align-content:center}.cover-aura{position:absolute;width:min(48vw,540px);aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--accent) 32%,black);filter:blur(62px);opacity:.38;transform:translateY(40px) scaleX(.88)}.cover-art{position:relative;display:grid;width:min(40vw,430px);min-width:286px;aspect-ratio:1;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 92%,white),#d83f5d 50%,#4fc6b8),linear-gradient(45deg,rgba(255,255,255,.18),transparent);box-shadow:0 34px 88px #00000070,inset 0 1px #ffffff3d}.cover-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-art:before{position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 38%,rgba(255,255,255,.2) 39% 41%,transparent 42%),repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 18px);content:"";mix-blend-mode:overlay}.cover-art.has-artwork:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.64)),radial-gradient(circle at 50% 20%,transparent,rgba(0,0,0,.2));content:""}.cover-ring{position:absolute;z-index:1;width:58%;aspect-ratio:1;border:1px solid rgba(255,250,242,.35);border-radius:50%;box-shadow:0 0 0 34px #ffffff0f,0 0 0 74px #ffffff0a;animation:slowSpin 18s linear infinite}.cover-title{position:relative;z-index:2;display:grid;max-width:74%;gap:8px;color:#120c0d;text-align:center}.cover-art.has-artwork .cover-title{align-self:end;padding-bottom:30px;color:var(--page-text-strong);text-shadow:0 8px 22px rgba(0,0,0,.42)}.cover-title span{font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}.cover-title strong{display:-webkit-box;overflow:hidden;font-size:clamp(24px,4vw,46px);line-height:1.05;-webkit-box-orient:vertical;-webkit-line-clamp:3}.track-meta{display:grid;gap:8px;text-align:center}.track-meta h1{max-width:min(50vw,640px);overflow-wrap:anywhere;color:var(--page-text-strong);font-size:clamp(30px,5vw,64px);line-height:.98}.track-meta p{color:var(--muted-text);font-size:16px}.metadata-badge{justify-self:center;padding:6px 9px;border-radius:999px;color:color-mix(in srgb,var(--accent) 78%,white);background:var(--surface-bg-strong);font-size:12px;font-weight:760}.lyrics-stage{--lyric-align-position: .52;min-height:0;max-height:calc(100svh - 214px);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,black 13%,black 87%,transparent);mask-image:linear-gradient(to bottom,transparent,black 13%,black 87%,transparent)}.lyrics-disabled{display:grid;align-content:center;gap:8px;color:var(--soft-text);-webkit-mask-image:none;mask-image:none}.lyrics-disabled strong{color:var(--page-text-strong);font-size:28px}.lyrics-disabled span{font-size:14px}.lyrics-scroll{display:grid;align-content:start;gap:var(--lyric-gap);max-height:inherit;overflow:auto;padding:calc(52px + var(--lyric-align-position) * 70px) 8px;scroll-behavior:smooth}.lyrics-line{display:flex;gap:12px;align-items:baseline;width:100%;margin:0;padding:0;color:rgba(248,244,238,var(--lyric-inactive-opacity));background:transparent;font-family:var(--lyric-font-family),Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(24px,3.2vw,var(--lyric-size));font-weight:var(--lyric-font-weight);letter-spacing:var(--lyric-letter-spacing);line-height:var(--lyric-line-height);text-align:left;transition:color var(--lyric-position-duration) ease,opacity var(--lyric-position-duration) ease,filter .24s ease,transform var(--lyric-scale-duration) cubic-bezier(.2,.8,.2,1)}.lyrics-line em{min-width:28px;color:#f8f4ee47;font-size:.32em;font-style:normal;font-weight:760}.lyrics-line span{display:grid;gap:6px;min-width:0}.lyrics-line strong{font:inherit}.lyrics-line small{color:var(--soft-text);font-size:.38em;font-weight:720;line-height:1.2}.lyrics-line.active small{color:color-mix(in srgb,var(--accent) 48%,white)}.lyrics-gradient .lyrics-line:not(.active) strong{background:linear-gradient(90deg,#f8f4eeb8,#f8f4ee2e);-webkit-background-clip:text;background-clip:text;color:transparent}.lyrics-blur .lyrics-line:not(.active){filter:blur(.2px)}.lyrics-line.passed{color:rgba(248,244,238,var(--lyric-passed-opacity))}.lyrics-line.hidden-passed{height:0;overflow:hidden;opacity:0;pointer-events:none}.lyrics-line.active{color:var(--page-text-strong);opacity:1;transform:translate(10px) scale(var(--lyric-active-scale));transform-origin:left center}.lyrics-emphasis .lyrics-line.active{text-shadow:0 0 calc(var(--lyric-glow-intensity) * 42px) color-mix(in srgb,var(--accent) 72%,white)}.word-highlight-clip .lyrics-line.active strong{background:linear-gradient(90deg,#fffaf2 calc((var(--word-fade-width) + var(--word-fade-offset)) * 100%),color-mix(in srgb,var(--accent) 74%,white));-webkit-background-clip:text;background-clip:text;color:transparent}.word-highlight-underline .lyrics-line.active strong{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 82%,white);text-decoration-thickness:.08em;text-underline-offset:.14em}.word-mask .lyrics-line.active{-webkit-mask-image:linear-gradient(90deg,#000 0% calc((1 - var(--word-fade-width)) * 100%),#0000006b);mask-image:linear-gradient(90deg,#000 0% calc((1 - var(--word-fade-width)) * 100%),#0000006b)}.word-mask.word-fade-center-out .lyrics-line.active{-webkit-mask-image:linear-gradient(90deg,#00000080,#000 calc(var(--word-fade-width) * 50%) calc(100% - var(--word-fade-width) * 50%),#00000080);mask-image:linear-gradient(90deg,#00000080,#000 calc(var(--word-fade-width) * 50%) calc(100% - var(--word-fade-width) * 50%),#00000080)}.interlude-dots{color:var(--soft-text);font-size:28px;letter-spacing:4px}.bottom-lyric-line{position:sticky;bottom:0;overflow:hidden;padding-top:18px;color:color-mix(in srgb,var(--accent) 74%,white);background:linear-gradient(transparent,#070809db 42%);font-size:13px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.secondary-lyric-line,.remaining-time{color:#f8f4ee61;font-size:12px;font-weight:700}.remaining-time{justify-self:start;color:color-mix(in srgb,var(--accent) 66%,white)}.music-info-medium .track-meta h1{font-size:clamp(38px,5.8vw,86px)}.music-info-small .track-meta h1{font-size:clamp(32px,5vw,72px)}.music-info-extra-small .track-meta h1{font-size:clamp(26px,4.4vw,58px)}.surface-view{min-height:0;max-height:100%;overflow:auto;padding:10px 0 24px;animation:stageIn .36s ease both}.playlists-view{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}.settings-view{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-auto-rows:max-content;gap:18px;align-items:start;align-content:start}.settings-hero{display:flex;grid-column:1 / -1;align-items:end;justify-content:space-between;gap:18px;padding:4px 2px 10px}.settings-hero span{color:var(--accent);font-size:12px;font-weight:780;text-transform:uppercase}.settings-hero h2,.settings-hero p{margin:0}.settings-hero h2{margin-top:8px;color:var(--page-text-strong);font-size:clamp(28px,4vw,54px);line-height:1}.settings-hero p{max-width:680px;margin-top:10px;color:var(--muted-text);line-height:1.55}.settings-rail{position:sticky;top:0;display:grid;gap:8px;max-height:calc(100svh - 150px);overflow:auto;padding:12px;border:1px solid var(--surface-border);border-radius:12px;background:color-mix(in srgb,var(--panel-bg) 72%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.settings-search{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-height:38px;padding:0 10px;border-radius:9px;color:var(--soft-text);background:var(--surface-bg)}.settings-search input{min-width:0;border:0;color:var(--page-text-strong);background:transparent;outline:0}.settings-search input::placeholder{color:var(--soft-text)}.settings-rail-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px;padding:8px 10px;border-radius:9px;color:var(--muted-text);background:transparent;text-align:left}.settings-rail-item:hover,.settings-rail-item.active{color:var(--page-text-strong);background:var(--surface-bg-strong)}.settings-rail-item.active{box-shadow:inset 3px 0 0 var(--accent)}.settings-rail-item span,.settings-rail-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-rail-item span{font-size:13px;font-weight:760}.settings-rail-item small,.settings-rail-item strong{color:var(--soft-text);font-size:11px;font-weight:700}.settings-content{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:18px;align-items:start}.settings-content-header,.settings-empty{display:grid;grid-column:1 / -1;gap:6px;padding:16px 18px;border-radius:12px;background:var(--surface-bg)}.settings-content-header span{color:var(--accent);font-size:12px;font-weight:780;text-transform:uppercase}.settings-content-header strong,.settings-empty strong{color:var(--page-text-strong);font-size:18px}.settings-content-header p,.settings-empty span{margin:0;color:var(--muted-text);font-size:13px;line-height:1.45}.surface-column,.settings-group{display:grid;align-content:start;gap:14px;height:max-content;padding:18px;border:1px solid var(--surface-border);border-radius:12px;background:rgba(7,8,9,calc(var(--glass-alpha) * .48));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.library-overview,.library-track-strip,.playlist-studio,.playlist-detail,.playlist-track-board,.track-inspector,.playlist-table,.import-workbench,.backend-strip{border:1px solid var(--surface-border);background:color-mix(in srgb,var(--panel-bg) 72%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.library-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:18px;align-items:end;padding:20px;border-radius:12px}.library-title{display:grid;gap:8px}.library-title span,.analysis-title span{color:var(--accent);font-size:12px;font-weight:780;text-transform:uppercase}.library-title h2,.library-title p,.analysis-title p{margin:0}.library-title h2{color:var(--page-text-strong);font-size:clamp(32px,4.4vw,58px);line-height:.98}.library-title p,.analysis-title p{color:var(--muted-text);line-height:1.55}.library-status{display:grid;padding:12px;border-radius:10px;background:#ffffff0f}.library-track-strip{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:1px;min-height:292px;overflow:hidden;border-radius:12px}.library-facets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-facet-column{display:grid;align-content:start;gap:12px;padding:16px 18px;border:1px solid var(--surface-border);border-radius:12px;background:rgba(7,8,9,calc(var(--glass-alpha) * .4));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.library-facet-list{display:grid;gap:2px;max-height:228px;overflow:auto}.library-facet-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:48px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}.library-facet-row:last-child{border-bottom:0}.library-facet-row div{display:grid;min-width:0;gap:3px}.library-facet-row strong,.library-facet-row span,.library-facet-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-facet-row strong{color:var(--page-text-strong);font-size:14px}.library-facet-row span,.library-facet-row em{color:var(--soft-text);font-size:12px;font-style:normal}.library-facet-row em{color:color-mix(in srgb,var(--accent) 70%,white)}.playlist-studio{display:grid;grid-template-columns:minmax(240px,.8fr) repeat(3,minmax(150px,1fr)) minmax(220px,.72fr);gap:12px;align-items:end;padding:16px 18px;border-radius:12px}.playlist-studio-copy,.playlist-studio label{display:grid;min-width:0;gap:7px}.playlist-studio-copy span,.playlist-studio label span{color:var(--accent);font-size:12px;font-weight:780;text-transform:uppercase}.playlist-studio-copy strong,.playlist-studio-copy p{margin:0}.playlist-studio-copy strong{overflow:hidden;color:var(--page-text-strong);font-size:18px;text-overflow:ellipsis;white-space:nowrap}.playlist-studio-copy p{color:var(--muted-text);font-size:12px;line-height:1.45}.playlist-studio input{width:100%;min-height:38px;border:1px solid var(--surface-border);border-radius:9px;padding:0 10px;color:var(--control-fg);background:var(--control-bg);outline:none}.playlist-studio input::placeholder{color:#f8f4ee52}.playlist-studio-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.playlist-studio-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 10px;border-radius:9px;color:#120c0d;background:color-mix(in srgb,var(--accent) 86%,white);font-size:12px;font-weight:760;white-space:nowrap}.playlist-studio-actions button.danger{color:#ffe8ea;background:#ff6d7a29}.playlist-studio-actions button.danger.confirm{color:#120c0d;background:#ff6d7a}.library-filter-bar{display:grid;grid-column:1 / -1;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff09}.library-search{display:flex;align-items:center;gap:9px;min-width:0;min-height:40px;padding:0 12px;border-radius:10px;color:var(--soft-text);background:var(--control-bg)}.library-search input{width:100%;min-width:0;border:0;color:var(--page-text-strong);background:transparent;outline:none}.library-search input::placeholder{color:var(--soft-text)}.library-filter-segments{display:flex;gap:5px;padding:4px;border-radius:999px;background:#ffffff0f}.library-filter-segments button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:999px;color:#f8f4ee94;background:transparent;font-size:12px;font-weight:720;transition:background .16s ease,color .16s ease}.library-filter-segments button.active{color:#120c0d;background:color-mix(in srgb,var(--accent) 86%,white)}.library-filter-segments span{color:inherit;opacity:.68}.library-track-pane{display:grid;align-content:start;gap:12px;min-width:0;padding:16px;background:#ffffff0a}.library-song-list{display:grid;gap:4px;max-height:174px;overflow:auto}.library-song-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.32fr);gap:14px;align-items:center;min-height:52px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}.library-song-row:last-child{border-bottom:0}.library-song-row div{display:grid;min-width:0;gap:3px}.library-song-row div:last-child{justify-items:end}.library-song-row strong,.library-song-row span,.library-song-row em,.library-song-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-song-row strong{color:var(--page-text-strong);font-size:14px}.library-song-row span,.library-song-row em,.library-song-row small{color:var(--soft-text);font-size:12px;font-style:normal}.library-song-row small{color:color-mix(in srgb,var(--accent) 74%,white)}.playlist-detail{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(240px,auto);gap:22px;align-items:end;padding:20px;border-radius:12px}.playlist-detail-art{display:grid;width:150px;aspect-ratio:1;place-items:center;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.42),transparent 24%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 92%,white),#d83f5d 52%,#4fc6b8);box-shadow:0 22px 58px #00000052,inset 0 1px #ffffff38}.playlist-detail-art span{color:#120c0dc2;font-size:38px;font-weight:860;letter-spacing:0}.playlist-detail-main{display:grid;min-width:0;gap:8px}.playlist-detail-main>span{color:var(--accent);font-size:12px;font-weight:780;text-transform:uppercase}.playlist-detail-main h3,.playlist-detail-main p{margin:0}.playlist-detail-main h3{overflow-wrap:anywhere;color:var(--page-text-strong);font-size:clamp(30px,4.2vw,58px);line-height:.98}.playlist-detail-main p{max-width:720px;color:#f8f4ee94;line-height:1.5}.analysis-title small{margin-top:6px;color:color-mix(in srgb,var(--accent) 68%,white);font-size:12px;font-weight:700}.playlist-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.playlist-detail-tags span{padding:5px 8px;border-radius:999px;color:#f8f4eeb8;background:var(--surface-bg-strong);font-size:12px}.playlist-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(74px,1fr));gap:1px;overflow:hidden;border-radius:10px;background:var(--surface-bg-strong)}.playlist-detail-stats div{display:grid;gap:4px;min-height:72px;align-content:center;justify-items:center;background:#ffffff0b}.playlist-detail-stats strong{color:var(--page-text-strong);font-size:24px;line-height:1}.playlist-detail-stats span{color:var(--soft-text);font-size:12px}.playlist-track-board{display:grid;gap:12px;padding:16px 18px;border-radius:12px}.playlist-track-list{display:grid;gap:2px;max-height:280px;overflow:auto}.playlist-track-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(130px,.32fr) 72px;gap:14px;align-items:center;width:100%;min-height:54px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07);color:inherit;background:transparent;text-align:left;transition:background .16s ease,color .16s ease}button.playlist-track-row{cursor:pointer}.playlist-track-row.active,button.playlist-track-row:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.playlist-track-row:last-child{border-bottom:0}.playlist-track-row>span,.playlist-track-row small,.playlist-track-row em,.playlist-track-row>strong{overflow:hidden;color:var(--soft-text);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.playlist-track-row div{display:grid;min-width:0;gap:3px}.playlist-track-row div strong{overflow:hidden;color:var(--page-text-strong);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.playlist-track-row>strong{justify-self:end;color:color-mix(in srgb,var(--accent) 74%,white);font-weight:650}.playlist-track-row.pending div strong{color:#f8f4ee99}.track-inspector{display:grid;grid-template-columns:minmax(220px,.82fr) repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end;padding:16px 18px;border-radius:12px}.track-inspector>div{display:grid;min-width:0;gap:5px}.track-inspector>div span{color:var(--accent);font-size:12px;font-weight:780;text-transform:uppercase}.track-inspector>div strong,.track-inspector>div p{margin:0}.track-inspector>div strong{overflow:hidden;color:var(--page-text-strong);font-size:18px;text-overflow:ellipsis;white-space:nowrap}.track-inspector>div p{color:var(--soft-text);font-size:12px;line-height:1.45}.track-inspector label{display:grid;gap:7px}.track-inspector label span{color:#f8f4ee94;font-size:12px}.track-inspector input{width:100%;min-height:38px;border:1px solid var(--surface-border);border-radius:9px;padding:0 10px;color:var(--control-fg);background:var(--control-bg);outline:none}.track-inspector button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 13px;border-radius:9px;color:#120c0d;background:color-mix(in srgb,var(--accent) 86%,white);font-size:12px;font-weight:760;white-space:nowrap}.playlist-table{display:grid;overflow:hidden;border-radius:12px}.playlist-table-head,.playlist-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.24fr) 86px 104px;gap:16px;align-items:center;padding:14px 18px}.playlist-table-head{min-height:42px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--soft-text);font-size:12px;text-transform:uppercase}.playlist-row{border-bottom:1px solid rgba(255,255,255,.075);background:transparent;transition:background .16s ease,color .16s ease}.playlist-row.active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.playlist-row:last-child{border-bottom:0}.playlist-main,.playlist-source,.playlist-count,.mini-track-list,.analysis-title{display:grid;min-width:0}.playlist-main{gap:5px;justify-items:start;padding:0;color:inherit;background:transparent;text-align:left}.playlist-source,.playlist-count{gap:4px}.playlist-count{justify-items:end}.mini-track-list{gap:3px;margin-top:4px}.mini-track-list span,.playlist-source span,.playlist-source small,.playlist-count small{overflow:hidden;color:var(--soft-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.playlist-source span{color:#f8f4eeb8}.playlist-add-button{min-height:34px;padding:0 12px;border-radius:8px;color:#120c0d;background:color-mix(in srgb,var(--accent) 84%,white);font-size:12px;font-weight:760}.playlist-actions{display:grid;justify-items:end;gap:8px}.playlist-actions button{min-height:30px;padding:0 10px;border-radius:8px;color:#120c0d;background:color-mix(in srgb,var(--accent) 84%,white);font-size:12px;font-weight:760}.playlist-row strong,.analysis-panel strong,.backend-spec strong{color:var(--page-text-strong)}.playlist-row p,.analysis-panel p,.backend-spec p{margin-top:4px;color:var(--muted-text);font-size:13px;line-height:1.5}.playlist-row>span{color:var(--soft-text);font-size:12px}.playlist-actions span{color:var(--soft-text);font-size:12px}.import-workbench{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(320px,1fr);gap:18px;padding:18px;border-radius:12px}.import-editor{display:grid;align-content:start;gap:14px}.backend-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:12px}.backend-strip div{display:grid;gap:4px;padding:14px 16px;background:#ffffff0b}textarea,.setting-control input[type=text]{width:100%;border:1px solid var(--surface-border);border-radius:10px;color:var(--control-fg);background:var(--control-bg);outline:none}textarea{min-height:170px;resize:vertical;padding:13px;line-height:1.55}.textarea-control textarea{min-height:124px;max-height:280px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.action-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.analysis-panel,.backend-spec{display:grid;gap:12px}.backend-status{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.status-dot{width:9px;height:9px;border-radius:999px;background:#f8f4ee5c}.status-dot.online{background:#68e0a0}.status-dot.syncing,.status-dot.checking{background:var(--accent)}.status-dot.offline{background:#ff6d7a}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.import-plan{display:grid;gap:12px;padding:13px;border:1px solid var(--surface-border);border-radius:11px;background:var(--surface-bg)}.import-plan.source-server{border-color:color-mix(in srgb,var(--accent) 42%,transparent)}.import-plan span{color:var(--accent);font-size:11px;font-weight:780;text-transform:uppercase}.import-plan p{margin:4px 0 0}.import-plan-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.import-plan-metrics span{display:grid;gap:2px;min-width:0;padding:8px;border-radius:9px;color:var(--soft-text);background:#0000002e;text-align:center}.import-plan-metrics strong{color:var(--page-text-strong);font-size:16px}.tag-row span{padding:5px 8px;border-radius:999px;color:#120c0d;background:color-mix(in srgb,var(--accent) 84%,white);font-size:12px;font-weight:760}.candidate-list{display:grid;gap:8px}.candidate-list div,.backend-spec div{display:grid;gap:4px;padding:11px;border-radius:10px;background:#ffffff0f}.candidate-list div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.candidate-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-list em{color:var(--accent);font-size:12px;font-style:normal}.candidate-exists em{color:#68e0a0}.candidate-duplicate em,.candidate-skipped em{color:var(--soft-text)}.settings-grid{display:grid;gap:12px}.portability-status{display:grid;gap:5px;padding:var(--surface-density);border-radius:9px;background:#ffffff0f}.portability-status strong{color:var(--page-text-strong);font-size:13px}.portability-status span{color:#f8f4ee8c;font-size:12px;line-height:1.45}.setting-control,.setting-toggle{display:grid;gap:8px;padding:var(--surface-density);border-radius:9px;background:#ffffff0f}.setting-note{margin:0;padding:0 4px;color:var(--muted-text);font-size:12px;line-height:1.45}.setting-control>span,.setting-toggle>span{display:flex;justify-content:space-between;gap:12px;color:#f8f4eead;font-size:13px}.setting-control em{color:var(--accent);font-style:normal}.setting-control input[type=range],.timeline input,.volume-row input{width:100%;accent-color:var(--accent)}.setting-control input[type=text]{min-height:38px;padding:0 10px}.color-control{grid-template-columns:1fr auto;align-items:center}.color-control input{width:42px;height:34px;padding:0;border:0;border-radius:8px;background:transparent}.setting-toggle{grid-template-columns:1fr auto;align-items:center}.setting-toggle input{width:42px;height:24px;accent-color:var(--accent)}.segments{display:flex;flex-wrap:wrap;gap:7px}.segments .tm-button,.segments button{min-height:32px;padding:0 10px;border-radius:999px;color:var(--muted-text);background:var(--surface-bg-strong)}.segments .tm-button.active,.segments button.active{color:#120c0d;background:color-mix(in srgb,var(--accent) 86%,white)}.reset-button{width:100%}.reset-button.compact{width:auto;min-width:124px;padding:0 18px}.spring-control{display:grid;gap:10px;padding:12px;border-radius:10px;background:var(--surface-bg)}.spring-control .setting-control{padding:0;background:transparent}.spring-heading{display:flex;justify-content:space-between;gap:12px;color:#f8f4eeb8;font-size:13px;font-weight:720}.spring-heading em{color:var(--accent);font-style:normal;font-weight:650}.control-deck{display:grid;display:var(--bottom-control-display);gap:14px;padding-top:18px}.mini-player{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(160px,.34fr) auto;gap:14px;align-items:center;min-height:74px;padding:12px 14px;border:1px solid var(--surface-border);border-radius:14px;background:rgba(7,8,9,calc(var(--glass-alpha) * .4));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.mini-art{display:grid;width:48px;aspect-ratio:1;place-items:center;border-radius:11px;color:#120c0dc7;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.42),transparent 26%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 90%,white),#d83f5d 54%,#4fc6b8);font-size:13px;font-weight:860}.mini-track-meta{display:grid;min-width:0;gap:3px}.mini-track-meta span,.mini-track-meta small{overflow:hidden;color:var(--soft-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mini-track-meta strong{overflow:hidden;color:var(--page-text-strong);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.mini-progress{height:4px;overflow:hidden;border-radius:999px;background:#ffffff1f}.mini-progress span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--accent) 82%,white);transition:width .18s ease}.mini-shortcuts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.mini-shortcuts span{min-height:24px;padding:5px 8px;border-radius:999px;color:var(--muted-text);background:var(--surface-bg);font-size:11px;line-height:1;white-space:nowrap}.timeline,.transport-row,.volume-row{display:flex;align-items:center}.timeline{gap:14px}.timeline span{min-width:44px;color:var(--muted-text);font-size:12px;text-align:center}.transport-row{justify-content:center;gap:14px}.transport-row.controls-fft .icon-button{background:linear-gradient(180deg,rgba(255,255,255,.16),transparent),color-mix(in srgb,var(--accent) 12%,transparent)}.transport-row.controls-fft .play-button{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 9%,transparent)}.icon-button,.play-button{display:grid;place-items:center;border-radius:999px;transition:transform .16s ease,background .16s ease,color .16s ease}.icon-button{width:42px;height:42px;color:#f8f4eebd;background:var(--surface-bg-strong)}.icon-button.small{width:34px;height:34px}.icon-button:hover,.icon-button.active,.icon-button.liked{color:var(--page-text-strong);background:color-mix(in srgb,var(--accent) 24%,transparent)}.play-button{width:66px;height:66px;color:#120c0d;background:#f8f4ee}.icon-button:hover,.play-button:hover{transform:translateY(-1px) scale(1.02)}.volume-row{display:var(--volume-control-display);max-width:280px;gap:12px;margin:0 auto;color:var(--muted-text)}@keyframes ambientDrift{0%{transform:rotate(-8deg) translate3d(-2%,-1%,0)}to{transform:rotate(-2deg) translate3d(2%,1%,0)}}@keyframes stageIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slowSpin{to{transform:rotate(360deg)}}@media(max-width:1180px){.playlists-view,.settings-view,.library-facets,.library-overview,.library-track-strip,.library-filter-bar,.playlist-studio,.playlist-detail,.track-inspector,.import-workbench,.backend-strip{grid-template-columns:1fr}.playlist-detail{align-items:start}.playlist-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.library-filter-bar{align-items:stretch}.library-filter-segments{width:100%;overflow-x:auto}.library-filter-segments button{flex:1 0 auto}.playlist-table-head{display:none}.playlist-row{grid-template-columns:minmax(0,1fr) auto}.playlist-track-row{grid-template-columns:32px minmax(0,1fr) 72px}.playlist-track-row em,.playlist-source,.playlist-count{display:none}}@media(max-width:980px){.app-shell{grid-template-columns:1fr;height:auto;overflow:auto}.sidebar{height:auto;min-height:auto;border-right:0;border-bottom:1px solid var(--surface-border)}.track-list{max-height:260px}.workspace{height:auto;min-height:auto;padding:22px 18px 26px}.mini-player{grid-template-columns:44px minmax(0,1fr)}.mini-progress,.mini-shortcuts{grid-column:1 / -1}.mini-shortcuts{justify-content:flex-start}.now-playing-grid{grid-template-columns:1fr;gap:30px}.cover-art{width:min(72vw,380px)}.track-meta h1{max-width:100%}.lyrics-stage{max-height:360px}.lyrics-scroll{padding:60px 0}.settings-view,.settings-content{grid-template-columns:1fr}.settings-rail{position:relative;top:auto;max-height:none}.surface-view{max-height:none}}@media(max-width:560px){.sidebar{padding:20px 16px}.settings-hero{display:grid;align-items:start}.reset-button.compact{width:100%}.library-overview,.library-filter-bar,.library-track-pane,.playlist-studio,.playlist-detail,.playlist-track-board,.track-inspector,.playlist-row,.import-workbench,.backend-strip div{padding:14px}.playlist-detail-art{width:118px;border-radius:16px}.playlist-detail-main h3{font-size:32px}.library-filter-segments{border-radius:10px}.library-song-row{grid-template-columns:1fr}.library-song-row div:last-child{justify-items:start}.playlist-row{grid-template-columns:1fr}.playlist-add-button{width:100%}.playlist-track-row{grid-template-columns:28px minmax(0,1fr)}.playlist-track-row>strong{display:none}.track-inspector button{width:100%}.action-row{grid-template-columns:1fr}.cover-art{min-width:0;width:100%;border-radius:18px}.transport-row{gap:8px}.mini-player{padding:12px}.icon-button{width:38px;height:38px}.play-button{width:58px;height:58px}}
