:root{--bg:#030303;--surface:#1d1d1d;--surface-2:#2a2a2a;--text:#fff;--text-2:#aaa;--accent:#ff4e6a;--radius:8px;--nav-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:Roboto,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior:none;touch-action:manipulation;position:fixed;inset:0;overflow:hidden}#root{overflow:hidden}.app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app input,.app textarea{-webkit-user-select:text;user-select:text}.content,.eq-body,.credits-body,.fp-queue,.pl-pick-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.carousel,.chips,.shortcut-pages{overscroll-behavior-x:contain;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;overflow-y:hidden}body{color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;background:#000}button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}button:disabled{cursor:default}h1,h2,h3{margin:0}.app{background:radial-gradient(120% 40% at 30% 0%, #1b2a4a 0%, #0b1020 45%, var(--bg) 80%);flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}.topbar{z-index:6;justify-content:space-between;align-items:center;padding:10px 16px;transition:transform .25s,background-color .25s;display:flex;position:sticky;top:0}.topbar.hidden{transform:translateY(-100%)}.topbar.floating{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0d18eb}.safe-top{height:env(safe-area-inset-top);flex-shrink:0}.brand{letter-spacing:-.5px;align-items:center;gap:8px;font-size:22px;font-weight:700;display:flex}.content{scrollbar-width:none;flex:1;padding-bottom:24px;overflow-y:auto}.content::-webkit-scrollbar{display:none}.bottom-nav{height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#0f0f0f;border-top:1px solid #1f1f1f;display:flex}.bottom-nav button{color:var(--text-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.bottom-nav button.active{color:var(--text)}.chips{scrollbar-width:none;gap:10px;padding:10px 16px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border-radius:var(--radius);white-space:nowrap;background:#ffffff1a;flex:none;padding:9px 14px;font-size:14px;font-weight:500}.chip.active{background:var(--text);color:#000}.chip:disabled{opacity:.85}section{margin-top:22px}.section-head{padding:0 16px 12px}.section-kicker{color:var(--text-2);text-transform:uppercase;letter-spacing:.5px;font-size:13px}.section-head h2{letter-spacing:-.3px;font-size:24px;font-weight:800}.sub-head{padding:0 16px 10px;font-size:18px;font-weight:700}.shortcut-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px;display:grid}.shortcut{aspect-ratio:1;border-radius:var(--radius);cursor:pointer;position:relative;overflow:hidden}.shortcut .cover{border-radius:0;width:100%;height:100%}.shortcut span{white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000,#000000d9);padding:24px 8px 7px;font-size:13px;font-weight:700;position:absolute;inset:auto 0 0;overflow:hidden}.cover{aspect-ratio:1;object-fit:cover;background:var(--surface);border-radius:4px;width:100%;display:block}.cover.round{border-radius:50%}.cover-empty{color:#ffffff8c;justify-content:center;align-items:center;display:flex}.cover.thumb{flex:none;width:48px;height:48px}.cover.thumb svg{width:22px;height:22px}.carousel{scrollbar-width:none;gap:12px;padding:0 16px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.card{flex:none;width:140px}.card .cover{margin-bottom:8px}.card-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.card-sub{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.card.artist{text-align:center}.album-grid{grid-template-columns:repeat(2,1fr);gap:16px 12px;padding:8px 16px;display:grid}.album-grid .card{width:auto;min-width:0}.list{padding:4px 0}.list-count{color:var(--text-2);padding:4px 16px 8px;font-size:13px}.track-row,.artist-row{align-items:center;gap:14px;width:100%;padding:8px 16px;display:flex}.track-row:active,.artist-row:active{background:#ffffff0f}.track-text{flex:1;min-width:0}.track-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.track-sub{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.track-dur{color:var(--text-2);font-size:13px}.track-index{text-align:center;width:24px;color:var(--text-2);font-size:14px}.import-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.import-buttons.compact{justify-content:flex-start;padding:4px 16px 8px}.pill{border:1px solid #3a3a3a;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.pill.primary{background:var(--text);color:#000;border-color:var(--text)}.pill:disabled{opacity:.5}.empty{text-align:center;padding:48px 28px}.empty h2{margin-bottom:12px;font-size:24px}.empty p{color:var(--text-2);margin:0 0 24px;line-height:1.5}.toast{left:12px;right:12px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 80px);z-index:5;background:#282828;border-radius:10px;padding:12px 14px;position:absolute;box-shadow:0 8px 24px #00000080}.toast-title{padding-right:24px;font-size:14px;font-weight:600}.toast-sub{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.toast-close{color:var(--text-2);position:absolute;top:10px;right:10px}.progress{background:#444;border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.progress div{background:var(--accent);height:100%;transition:width .2s}.search-box{background:var(--surface-2);color:var(--text-2);border-radius:999px;align-items:center;gap:10px;margin:6px 16px 4px;padding:10px 14px;display:flex}.search-box input{color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:16px}.search section{margin-top:16px}.detail{padding-top:env(safe-area-inset-top)}.back-btn{padding:14px 16px;display:flex}.detail-hero{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:0 24px 12px;display:flex}.hero-cover{width:62%;max-width:260px;margin-bottom:10px;box-shadow:0 12px 32px #0009}.hero-cover.cover-empty svg{width:64px;height:64px}.detail-hero h1{font-size:24px;font-weight:800}.link{font-weight:600}.muted{color:var(--text-2)}.small{font-size:13px}.pad{padding:8px 16px}.icon-btn{color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon-btn:active{background:#ffffff1a}.icon-btn.dim{color:#ffffff8c}.icon-btn.on{color:var(--text)}.icon-btn.more{color:var(--text-2);margin-right:-8px}.round-btn{background:#ffffff1a;width:44px;height:44px;margin-left:8px}.round-btn.on{background:var(--text);color:#000}.track-row{cursor:pointer}.track-row.current .track-title{color:var(--accent);font-weight:600}.track-row.disliked .track-text{opacity:.45}.track-row.played{opacity:.5}.thumb-wrap{flex:none;position:relative}.thumb-overlay{background:#0000008c;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.np-bars{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.np-bars i{background:var(--accent);border-radius:1px;width:3px;animation:.9s ease-in-out infinite np}.np-bars i:nth-child(2){animation-delay:-.3s}.np-bars i:nth-child(3){animation-delay:-.6s}.np-bars.paused i{animation-play-state:paused}@keyframes np{0%,to{height:30%}50%{height:100%}}.play-buttons{gap:10px;margin-top:12px;display:flex}.mini-player{cursor:pointer;background:#212121;border-radius:10px;flex:none;align-items:center;gap:12px;margin:0 8px 8px;padding:8px 6px 8px 8px;display:flex;position:relative;overflow:hidden}.mini-progress{background:var(--text);height:2px;position:absolute;bottom:0;left:0}.mini-cover.cover{flex:none;width:44px;height:44px}.mini-cover.cover-empty svg{width:20px;height:20px}.full-player{z-index:20;padding:env(safe-area-inset-top) 0 calc(16px + env(safe-area-inset-bottom));flex-direction:column;transition:background .4s;animation:.25s ease-out slide-up;display:flex;position:absolute;inset:0}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:none}}.fp-top{justify-content:space-between;align-items:center;padding:8px 8px 0;display:flex}.fp-tabs{background:#0000004d;border-radius:999px;padding:3px;display:flex}.fp-tabs button{color:var(--text-2);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.fp-tabs button.active{color:var(--text);background:#ffffff2e}.fp-art{flex:1;justify-content:center;align-items:center;min-height:0;padding:16px 24px;display:flex}.fp-cover.cover{aspect-ratio:1;border-radius:8px;width:100%;max-width:360px;max-height:100%;box-shadow:0 16px 40px #00000080}.fp-cover.cover-empty svg{width:80px;height:80px}.fp-queue{scrollbar-width:none;flex:1;min-height:0;padding-top:8px;padding-bottom:48px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 64px),#0000);mask-image:linear-gradient(#000 calc(100% - 64px),#0000)}.fp-bottom{padding:0 24px}.fp-title-row{align-items:center;margin-bottom:12px;display:flex}.fp-title{white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:700;overflow:hidden}.fp-artist{color:#ffffffb3;white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.seek input{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0}.seek input::-webkit-slider-runnable-track{background:linear-gradient(to right, #fff var(--pct), #ffffff40 var(--pct));border-radius:2px;height:3px}.seek input::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:13px;height:13px;margin-top:-5px}.seek input::-moz-range-track{background:#ffffff40;border-radius:2px;height:3px}.seek input::-moz-range-progress{background:#fff;height:3px}.seek input::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:13px;height:13px}.seek-times{color:#ffffffb3;justify-content:space-between;margin-top:2px;font-size:12px;display:flex}.fp-controls{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.play-big{color:#000;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.play-big:active{transform:scale(.95)}.sheet-backdrop{z-index:30;background:#0009;align-items:flex-end;animation:.15s fade;display:flex;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.sheet{width:100%;padding:8px 0 calc(12px + env(safe-area-inset-bottom));background:#212121;border-radius:14px 14px 0 0;animation:.2s ease-out slide-up}.sheet-head{border-bottom:1px solid #333;align-items:center;gap:12px;margin-bottom:6px;padding:8px 12px 12px 16px;display:flex}.sheet-head .icon-btn.on{color:var(--accent)}.sheet-item{align-items:center;gap:18px;width:100%;padding:13px 20px;font-size:15px;display:flex}.sheet-item:active{background:#ffffff14}:root{--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1)}.screen{animation:screen-fade .22s var(--ease-out)}.screen.push{animation:screen-push .26s var(--ease-out)}@keyframes screen-fade{0%{opacity:0;transform:translateY(6px)}}@keyframes screen-push{0%{opacity:0;transform:translate(28px)}}.card,.shortcut,.chip,.pill,.play-big,.bottom-nav button,.back-btn{transition:transform .15s var(--ease-out), opacity .15s, background-color .15s}.card:active,.shortcut:active{transform:scale(.96)}.chip:not(:disabled):active,.pill:active{transform:scale(.94)}.bottom-nav button:active{transform:scale(.9)}.track-row,.artist-row,.sheet-item,.icon-btn{transition:background-color .2s, transform .15s var(--ease-out)}.icon-btn:active{transform:scale(.88)}.bottom-nav button.active svg{animation:pop .3s var(--ease-out)}.icon-btn.on svg{animation:pop .35s var(--ease-out)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}img.cover{animation:.3s fade}.swap{animation:swap .3s var(--ease-out)}@keyframes swap{0%{opacity:0;transform:scale(.96)}}.mini-player{animation:mini-in .3s var(--ease-out)}@keyframes mini-in{0%{opacity:0;transform:translateY(16px)}}.full-player{animation:slide-up .3s var(--ease-out)}.full-player.closing{animation:slide-down .22s var(--ease-in) forwards;pointer-events:none}@keyframes slide-down{to{transform:translateY(100%)}}.sheet{animation:slide-up .25s var(--ease-out)}.sheet-backdrop.closing{animation:.18s forwards fade-out}.sheet-backdrop.closing .sheet{animation:slide-down .18s var(--ease-in) forwards}@keyframes fade-out{to{opacity:0}}.mini-progress{transition:width .25s linear}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.credits{z-index:25;background:var(--bg);animation:screen-push .26s var(--ease-out);flex-direction:column;display:flex;position:absolute;inset:0}.credits.closing{animation:credits-out .22s var(--ease-in) forwards;pointer-events:none}@keyframes credits-out{to{opacity:0;transform:translate(28px)}}.credits-top{padding:8px;padding-top:calc(8px + env(safe-area-inset-top));flex:none;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.credits-body{scrollbar-width:none;flex:1;padding:0 16px 32px;overflow-y:auto}.credits-hero{align-items:center;gap:14px;padding:8px 0 16px;display:flex}.credits-cover.cover{flex:none;width:72px;height:72px}.credits-title{font-size:18px;font-weight:700}.credits-head{margin:18px 0 6px;font-size:16px;font-weight:700}.credit-row{border-bottom:1px solid #ffffff0f;padding:8px 0}.credit-label{color:var(--text-2);font-size:13px}.credit-value{word-break:break-word;margin-top:2px;font-size:15px}.credit-value.strong{margin:0 0 2px;font-weight:600}.net-tag{color:#7fd8ff;vertical-align:1px;background:#7fd8ff1f;border-radius:10px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.credits-status{color:var(--text-2);align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.credits-source{color:var(--text-2);margin-top:20px;font-size:13px}.credits-source a{color:var(--text);text-decoration:underline}.spinner{border:2px solid #fff3;border-top-color:var(--text);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shortcut:after{content:"";border-radius:inherit;opacity:0;transition:opacity .25s, transform .25s var(--ease-out);pointer-events:none;border:3px solid #fff;position:absolute;inset:0;transform:scale(1.04)}.shortcut.now-playing:after{opacity:1;transform:none}.eq-screen{z-index:25;background:var(--bg);animation:screen-push .26s var(--ease-out);flex-direction:column;display:flex;position:absolute;inset:0}.eq-screen.closing{animation:credits-out .22s var(--ease-in) forwards;pointer-events:none}.eq-title{flex:1}.eq-body{scrollbar-width:none;flex:1;padding:8px 16px 32px;overflow-y:auto}.switch{background:#4a4a4a;border-radius:13px;flex:none;width:46px;height:26px;margin-right:8px;transition:background-color .2s;position:relative}.switch span{width:20px;height:20px;transition:transform .2s var(--ease-out), background-color .2s;background:#ddd;border-radius:50%;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent)}.switch.on span{background:#fff;transform:translate(20px)}.eq-zero{stroke:#ffffff26;stroke-width:1px;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}.eq-line{fill:none;stroke:var(--accent);stroke-width:2.5px}.eq-presets{flex-wrap:wrap;gap:8px;display:flex}.eq-note{color:var(--text-2);margin-top:18px;font-size:13px}.settings{padding:4px 0 24px}.settings-title{padding:4px 16px 8px;font-size:24px;font-weight:800}.settings-group{color:var(--text-2);text-transform:uppercase;letter-spacing:.5px;padding:16px 16px 6px;font-size:13px;font-weight:700}.settings-row{text-align:left;width:100%;color:var(--text-2);align-items:center;gap:16px;padding:12px 12px 12px 16px;transition:background-color .2s;display:flex}.settings-row:active{background:#ffffff0f}.settings-icon{width:40px;height:40px;color:var(--text);background:#222;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.settings-label{color:var(--text);font-size:16px;display:block}.settings-sub{color:var(--text-2);margin-top:2px;font-size:13px;display:block}.app.eq-open .mini-player,.app.eq-open .bottom-nav{z-index:26;position:relative}.eq-body{padding-bottom:calc(var(--nav-h) + 96px + env(safe-area-inset-bottom))}.eq-chip{align-items:center;padding:0;display:inline-flex}.eq-chip>button{color:inherit;font:inherit;padding:8px 14px}.eq-chip .eq-chip-x{padding:6px 10px 6px 0;display:inline-flex}.eq-chip .eq-chip-x svg{width:16px;height:16px}.eq-add{justify-content:center;align-items:center;width:38px;padding:0;display:inline-flex}.eq-add:disabled{opacity:.35}.eq-save{align-items:center;gap:8px;margin-top:12px;display:flex}.eq-save input{min-width:0;color:var(--text);font:inherit;background:#222;border:1px solid #333;border-radius:10px;outline:none;flex:1;padding:10px 12px;font-size:16px}.eq-save input:focus{border-color:var(--accent)}.eq-save .pill{flex:none}.eq-modes{background:#ffffff14;border-radius:12px;flex:none;margin:0 16px 10px;padding:3px;display:flex}.eq-modes button{text-align:center;color:var(--text-2);border-radius:9px;flex:1;justify-content:center;padding:8px 0;font-size:14px;font-weight:600;transition:background-color .2s,color .2s;display:flex}.eq-modes button.active{background:var(--text);color:#000}.pultec-curve{height:160px;margin:0 0 22px 26px;transition:opacity .25s;position:relative}.pultec-curve.off{opacity:.4}.pultec-curve svg{width:100%;height:100%;display:block;overflow:visible}.pultec-axis{height:14px;color:var(--text-2);font-size:11px;position:absolute;bottom:-18px;left:0;right:0}.pultec-axis span{position:absolute;transform:translate(-50%)}.pultec-axis span:first-child{transform:none}.pultec-db{color:var(--text-2);flex-direction:column;justify-content:space-between;font-size:11px;display:flex;position:absolute;top:0;bottom:0;left:-26px}.pultec-actions{justify-content:center;margin-top:6px;display:flex}.pt-panel{-webkit-user-select:none;user-select:none;background:linear-gradient(#232a33 0%,#1a1f26 100%);border:1px solid #2f3742;border-radius:14px;padding:12px 6px 8px;position:relative;box-shadow:inset 0 1px #ffffff0d}.pt-screw{background:radial-gradient(circle at 35% 35%,#6b737d,#3a4049);border-radius:50%;width:9px;height:9px;position:absolute}.pt-screw:after{content:"";background:#262b31;height:1px;position:absolute;top:4px;left:1px;right:1px;transform:rotate(-35deg)}.pt-screw.tl{top:8px;left:8px}.pt-screw.tr{top:8px;right:8px}.pt-screw.bl{bottom:8px;left:8px}.pt-screw.br{bottom:8px;right:8px}.pt-head{justify-content:space-between;align-items:center;padding:0 22px 4px 20px;display:flex}.pt-name{letter-spacing:2.5px;text-transform:uppercase;color:#8b95a1;font-size:10px}.pt-toggle{width:26px;height:34px;display:flex}.pt-toggle svg{width:100%;height:100%;overflow:visible}.pt-toggle-base{fill:#3a4049}.pt-toggle-nut{fill:#9aa3ad}.pt-toggle-lever{fill:#111;stroke:#555;stroke-width:.6px}.pt-lamp{background:radial-gradient(circle at 40% 35%,#6b2a2f,#3a1416);border-radius:50%;width:16px;height:16px;transition:background .25s,box-shadow .25s}.pt-lamp.on{background:radial-gradient(circle at 40% 35%,#ffb3b3,#ff2b3a 45%,#a4000f);box-shadow:0 0 12px 3px #ff2b3a8c}.pt-section{border-top:1px solid #ffffff0d;margin-top:4px;padding-top:8px}.pt-title{text-align:center;letter-spacing:2px;text-transform:uppercase;color:#c7cfd8;font-size:11px;font-weight:700}.pt-row{justify-content:space-around;display:flex}.pk{flex-direction:column;align-items:center;width:104px;display:flex}.pk-caption{letter-spacing:1.5px;color:#8b95a1;margin-top:2px;font-size:10px}.pk-dial{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;cursor:ns-resize;border-radius:12px;outline:none;width:100px;height:92px;position:relative}.pk-dial:focus-visible{box-shadow:0 0 0 2px #fff6}.pk-dial svg{width:100%;height:100%;display:block;overflow:visible}.pk-num{fill:#9aa3ad;font-size:8.5px;font-weight:600}.pk-num.on{fill:#fff}.pk-arc{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;opacity:.9}.pk-knurl{fill:#121417;stroke:#2c3138;stroke-width:3px;stroke-dasharray:2.2 2.2}.pk-cap{fill:#1d2126;stroke:#343a42;stroke-width:1px}.pk-chicken{fill:#15181c;stroke:#3a4048;stroke-width:1px}.pk-pointer{stroke:#fff;stroke-width:2.4px;stroke-linecap:round}.pk.active .pk-cap{fill:#262b31}.pk-tip{white-space:nowrap;color:#000;pointer-events:none;background:#fff;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:700;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.pt-panel:not(.on) .pk-arc{opacity:.35}.shortcut-pages{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:32px;padding:0 16px;scroll-padding:0 16px;display:flex;overflow-x:auto}.shortcut-pages::-webkit-scrollbar{display:none}.shortcut-pages .shortcut-grid{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;align-content:start;padding:0}.shortcut-shuffle{background:linear-gradient(135deg,#07070c 35%,#2a2140 75%,#4a3466 100%);width:100%;display:block}.shortcut-shuffle i{aspect-ratio:1;background:#aaa4e0;border-radius:50%;width:20%;position:absolute}.shortcut-shuffle i:first-child{top:13%;left:14%}.shortcut-shuffle i:nth-child(2){top:39%;left:39%}.shortcut-shuffle i:nth-child(3){top:65%;left:64%}.page-dots{justify-content:center;gap:8px;padding-top:12px;display:flex}.page-dots button{background:#ffffff59;border-radius:50%;width:8px;height:8px;padding:0;transition:background-color .25s}.page-dots button.on{background:#fff}.bands{-webkit-user-select:none;user-select:none;transition:opacity .25s}.bands.off{opacity:.45}.bands-main{gap:4px;display:flex}.bands-scale{width:24px;height:240px;color:var(--text-2);text-align:right;flex-direction:column;flex:none;justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.bands-grid{flex:1;min-width:0;display:flex}.bands-col-wrap{flex:1 1 0;min-width:0;display:flex}.bands-col-wrap:first-child{flex:none}.bands-col{flex-direction:column;flex:0 0 44px;align-items:center;display:flex}.bands-freq{color:var(--text-2);margin-top:10px;font-size:13px}.bs-ticks{flex-direction:column;flex:1;justify-content:space-between;align-items:center;min-width:12px;height:240px;padding:11px 0;display:flex}.bs-ticks i{background:#ffffff4d;width:32%;height:1px;display:block}.bs-ticks i.major{background:#ffffff80;width:55%}.bs{touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent;outline:none;position:relative}.bs.drag{cursor:grabbing}.bs.v{width:44px;height:240px;padding:11px 0}.bs.h{height:44px;padding:0 11px}.bs-track{width:100%;height:100%;position:relative}.bs-rail{background:#fff9;border-radius:1px;position:absolute}.bs.v .bs-rail{width:2px;margin-left:-1px;top:0;bottom:0;left:50%}.bs.h .bs-rail{height:2px;margin-top:-1px;top:50%;left:0;right:0}.bs-thumb{width:22px;height:22px;transition:transform .15s var(--ease-out), box-shadow .15s;background:#e8e8e8;border-radius:50%;position:absolute;box-shadow:0 1px 3px #0006}.bs.v .bs-thumb{margin:-11px 0 0 -11px;left:50%}.bs.h .bs-thumb{margin:-11px 0 0 -11px;top:50%}.bs.drag .bs-thumb{transform:scale(1.15);box-shadow:0 0 0 7px #ffffff1f,0 1px 4px #00000080}.bs:focus-visible .bs-thumb{box-shadow:0 0 0 4px #ffffff73}.bs-tip{white-space:nowrap;color:#000;pointer-events:none;background:#fff;border-radius:7px;padding:3px 7px;font-size:12px;font-weight:700;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.bass-row{border-top:1px solid #ffffff1f;align-items:flex-start;gap:10px;margin-top:22px;padding-top:18px;display:flex}.bass-badge{flex-direction:column;flex:none;align-items:center;gap:2px;width:46px;padding-top:9px;display:flex}.bass-badge b{letter-spacing:.5px;font-size:10px;font-weight:800;line-height:1}.bass-badge i{background:var(--text);border-radius:1px;width:40px;height:2.5px;display:block}.bass-slider{flex:1;min-width:0}.bass-ticks{justify-content:space-between;align-items:flex-start;margin-top:0;padding:0 11px;display:flex}.bass-ticks i{background:#fff6;width:1px;height:6px;display:block}.bass-ticks i.major{background:#fff9;height:11px}.bass-labels{color:var(--text-2);justify-content:space-between;padding:4px 0 0;font-size:12px;display:flex}.bass-labels span{text-align:center;width:22px}.library{min-height:100%;position:relative}.lib-bar{justify-content:space-between;align-items:center;padding:6px 8px 4px 16px;display:flex}.sort{position:relative}.sort-btn{align-items:center;gap:4px;padding:6px 0;font-size:16px;font-weight:700;display:flex}.sort-menu{z-index:6;background:#282828;border-radius:12px;min-width:220px;padding:6px 0;animation:.15s fade;position:absolute;top:100%;left:0;box-shadow:0 10px 30px #00000080}.sort-menu button{text-align:left;width:100%;color:var(--text-2);padding:11px 16px;font-size:15px;display:block}.sort-menu button.on{color:var(--text);font-weight:600}.sort-menu button:active{background:#ffffff14}.lib-row{cursor:pointer;align-items:center;gap:14px;padding:8px 8px 8px 16px;transition:background-color .2s;display:flex}.lib-row:active{background:#ffffff0f}.lib-thumb.cover,.lib-thumb.pl-cover{width:56px;height:56px}.lib-thumb.cover-empty svg{width:24px;height:24px}.lib-title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.lib-sub{align-items:center;gap:4px;display:flex}.lib-sub svg{flex:none}.lib-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px;padding:8px 16px;display:grid}.lib-card{cursor:pointer;width:auto;min-width:0}.lib-card .cover,.lib-card .pl-cover{margin-bottom:8px}.lib-card.artist{text-align:center}.lib-card.artist .lib-sub{justify-content:center}.pl-cover{aspect-ratio:1;border-radius:4px;flex:none;width:100%;display:block;overflow:hidden}.pl-cover.grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid}.pl-cover.grid img,.pl-cover.grid span{object-fit:cover;width:100%;height:100%;display:block}.pl-cover.liked{color:#fff;background:linear-gradient(135deg,#8b6cff 0%,#c85fd8 55%,#ff6fae 100%);justify-content:center;align-items:center;display:flex}.pl-cover.liked.thumb svg{width:26px;height:26px}.pl-cover.thumb{width:48px;height:48px}.hero-cover.pl-cover{box-shadow:0 12px 32px #0009}.fab-wrap{pointer-events:none;z-index:4;justify-content:flex-end;align-items:flex-end;height:0;padding-right:16px;display:flex;position:sticky;bottom:14px}.fab{pointer-events:auto;color:#000;transition:transform .15s var(--ease-out);background:#fff;border-radius:28px;flex:none;align-items:center;gap:8px;padding:13px 22px 13px 18px;font-size:17px;font-weight:700;display:flex;box-shadow:0 6px 20px #00000080}.fab:active{transform:scale(.95)}.library>.list:last-of-type,.library>.lib-grid{padding-bottom:84px}.pl-form{padding:14px 20px 6px}.pl-form h3{margin-bottom:14px;font-size:18px;font-weight:700}.pl-form input{width:100%;color:var(--text);font:inherit;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:10px;outline:none;padding:12px 14px;font-size:16px}.pl-form input:focus{border-color:var(--accent)}.pl-form-buttons{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.pl-pick-head{padding:10px 20px 8px;font-size:16px;font-weight:700}.pl-pick-new{background:#2e2e2e;border-radius:4px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;margin:-6px 0;display:flex}.pl-pick-list{max-height:50vh;overflow-y:auto}.pl-pick-row{text-align:left;align-items:center;gap:18px;width:100%;padding:8px 20px;display:flex}.pl-pick-row:active{background:#ffffff14}.pl-pick-row .track-title,.pl-pick-row .track-sub{display:block}.sheet-item:disabled{opacity:.4}.sheet-item.danger{color:#ff8a8a}.snack{left:16px;right:16px;bottom:calc(var(--nav-h) + 86px + env(safe-area-inset-bottom));z-index:40;color:#111;animation:snack-in .25s var(--ease-out), fade-out .3s 2.3s forwards;pointer-events:none;background:#f1f1f1;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;position:absolute;box-shadow:0 6px 20px #00000073}@keyframes snack-in{0%{opacity:0;transform:translateY(10px)}}.hero-cover.pl-cover.liked svg{width:84px;height:84px}.confirm-box{padding:16px 20px 6px}.confirm-box h3{margin-bottom:8px;font-size:18px;font-weight:700}.confirm-box p{color:var(--text-2);font-size:14px;line-height:1.45}.pill.danger{color:#fff;background:#e5394f}.eq-confirm span{flex:1;min-width:0;font-size:14px}.settings-row .switch{pointer-events:none}.settings-row.static{cursor:default}.settings-row.static:active{background:0 0}.vinyl{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab;width:100%;max-width:340px;max-height:100%;animation:swap .3s var(--ease-out);border-radius:50%;position:relative;box-shadow:0 18px 44px #0009}.vinyl:active{cursor:grabbing}.vinyl-disc{will-change:transform;background:radial-gradient(circle closest-side,#0000 0 49.4%,#ffffff14 49.6% 50.4%,#0000 50.6%),radial-gradient(circle closest-side,#0000 0 61.4%,#ffffff14 61.6% 62.4%,#0000 62.6%),radial-gradient(circle closest-side,#0000 0 73.4%,#ffffff14 73.6% 74.4%,#0000 74.6%),radial-gradient(circle closest-side,#0000 0 85.4%,#ffffff14 85.6% 86.4%,#0000 86.6%),repeating-radial-gradient(circle,#151515 0 1.2px,#262626 1.2px 2.6px);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 6px #111,inset 0 0 0 7px #3a3a3a,0 0 0 1px #ffffff12}.vinyl-disc:before{content:"";background:#121212;border-radius:50%;position:absolute;inset:31%;box-shadow:0 0 0 1px #ffffff17}.vinyl-label{background-position:50%;background-size:cover;border-radius:50%;position:absolute;inset:33.5%;box-shadow:0 0 0 2px #ffffff17}.vinyl-hole{background:#d8d8d8;border-radius:50%;width:3.2%;height:3.2%;margin:-1.6% 0 0 -1.6%;position:absolute;top:50%;left:50%;box-shadow:inset 0 1px 2px #0009}.vinyl-sheen{pointer-events:none;mix-blend-mode:screen;background:conic-gradient(from 15deg,#0000 0deg,#ffffff26 32deg,#0000 68deg 180deg,#ffffff1c 212deg,#0000 248deg),radial-gradient(circle at 30% 24%,#ffffff0f,#0000 62%);border-radius:50%;position:absolute;inset:0}.rack-tempo{letter-spacing:1px;color:#8b95a1;justify-content:center;align-items:center;gap:8px;margin:2px 0 8px;font-size:11px;display:flex}.rack-led{background:#3a2a14;border-radius:50%;width:7px;height:7px;transition:background .25s,box-shadow .25s}.rack-led.on{background:#ffb02e;box-shadow:0 0 8px 2px #ffb02e8c}.settings-row .switch[role=switch]{pointer-events:auto}.vu{margin:4px 22px 2px}.vu svg{width:100%;display:block}.vu-face{fill:#3a342a;stroke:#12100c;stroke-width:3px;transition:fill .3s}.vu.on .vu-face{fill:url(#vuFace)}.vu-arc{fill:none;stroke:#2a2318;stroke-width:1.5px;opacity:.55}.vu-tick{stroke:#2a2318;stroke-width:1.6px;opacity:.7}.vu-num{fill:#2a2318;opacity:.75;font-size:9px;font-weight:700}.vu-label{letter-spacing:1.5px;fill:#2a2318;opacity:.6;font-size:7.5px}.vu:not(.on) .vu-arc,.vu:not(.on) .vu-tick,.vu:not(.on) .vu-num,.vu:not(.on) .vu-label{stroke:#8b7d63;fill:#8b7d63}.vu-needle{stroke:#1a1a1a;stroke-width:1.8px;stroke-linecap:round}.rack-gap{height:12px}.diag{padding:4px 16px 16px}.diag-buttons{gap:10px;margin-bottom:10px;display:flex}.diag-text{color:#cfcfcf;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;background:#111;border:1px solid #262626;border-radius:10px;max-height:280px;margin:0;padding:10px;font-size:11px;line-height:1.45;overflow:auto}.section-link{justify-content:space-between;align-items:center;width:100%;display:flex}.section-link svg{color:var(--text-2)}.lib-cards{scroll-snap-type:x mandatory;align-items:flex-start;scroll-padding:0 16px}.lib-card{scroll-snap-align:start;border-radius:16px;flex:none;width:calc(100% - 40px);max-width:400px;padding:18px 16px 10px}.lib-card-cover{cursor:pointer;width:46%;margin:0 auto 16px}.lib-card-cover .cover,.lib-card-cover .pl-cover{border-radius:6px;box-shadow:0 6px 18px #00000059}.lib-card-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.lib-card-text{cursor:pointer;flex:1;min-width:0}.lib-card-title{letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:800;overflow:hidden}.lib-card-sub{color:#ffffffb3;font-size:14px}.lib-card-play{background:#ffffff24;border-radius:50%;flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.lib-card-row{cursor:pointer;align-items:center;gap:12px;padding:7px 0;display:flex}.lib-card-row .track-text{flex:1;min-width:0}.lib-card-row.current .track-title{color:var(--accent);font-weight:600}.search-box .search-clear{color:var(--text-2);margin-right:-6px}.search-recent-head{justify-content:space-between;align-items:center;padding-right:16px;display:flex}.search-recent-head .sub-head{padding-bottom:10px}.search-recent-clear{color:var(--text-2);padding:0 0 10px;font-size:14px}.search-recent-tracks{margin-bottom:8px}.search-recent-tracks .card{width:112px}.search-history-row{cursor:pointer;color:var(--text-2);align-items:center;gap:18px;padding:10px 8px 10px 20px;display:flex}.search-history-text{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:16px;overflow:hidden}.badge-exp{vertical-align:2px;letter-spacing:.06em;text-transform:uppercase;color:#ffcf6b;border:1px solid #ffcf6b8c;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.seek.locked input{cursor:default;opacity:1}.seek.locked input::-webkit-slider-thumb{opacity:0}.seek.locked input::-moz-range-thumb{opacity:0}.cuenta-screen{z-index:40;background:var(--bg);padding:calc(16px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));justify-content:center;animation:.2s fade;display:flex;position:absolute;inset:0;overflow-y:auto}.cuenta-screen.closing{animation:.2s forwards fade-out}.cuenta-box{flex-direction:column;gap:20px;width:min(400px,100%);display:flex}.cuenta-box h1{letter-spacing:-.02em;text-wrap:balance;margin:4px 0;font-size:28px;font-weight:800;line-height:1.15}.cuenta-inicio{justify-content:flex-end;gap:12px;min-height:100%;padding-bottom:8px}.cuenta-inicio h1{margin-bottom:28px;font-size:32px}.cuenta-logo{background:radial-gradient(circle, var(--bg) 0 16%, var(--accent) 17% 100%);border-radius:50%;width:56px;height:56px;margin-bottom:20px;box-shadow:inset 0 0 0 9px #00000040}.cuenta-btn{background:var(--text);color:#000;width:100%;min-height:54px;transition:transform .15s var(--ease-out), opacity .15s;border-radius:999px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.cuenta-btn:active{transform:scale(.97)}.cuenta-btn:disabled{opacity:.6}.cuenta-btn.secundario{color:var(--text);background:0 0;box-shadow:inset 0 0 0 1px #555}.cuenta-link{min-height:44px;color:var(--text-2);align-self:center;padding:0 16px;font-size:15px}.cuenta-arriba{justify-content:space-between;align-items:center;min-height:44px;margin:0 -10px -8px;display:flex}.cuenta-atras{width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;display:grid}.cuenta-atras:active{background:var(--surface)}.cuenta-paso{color:var(--text-2);padding-right:10px;font-size:14px;font-weight:600}.cuenta-avance{background:var(--surface-2);border-radius:4px;height:4px;overflow:hidden}.cuenta-avance span{background:var(--accent);transform-origin:0;height:100%;transition:transform .45s var(--ease-out);display:block}.cuenta-campo{flex-direction:column;gap:8px;display:flex}.cuenta-etiqueta{color:var(--text);font-size:14px;font-weight:600}.cuenta-campo input{background:var(--surface);width:100%;min-height:54px;color:var(--text);font:inherit;border:1.5px solid #0000;border-radius:12px;outline:none;padding:0 16px;font-size:17px;transition:border-color .15s}.cuenta-campo input:focus{border-color:#777}.cuenta-campo.mal input{border-color:#ff6b6b}.cuenta-codigo{letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Consolas,monospace!important}.cuenta-codigo::placeholder{color:#555}.cuenta-clave{position:relative}.cuenta-clave input{padding-right:56px}.cuenta-ojo{width:44px;height:44px;color:var(--text-2);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.cuenta-ojo[aria-pressed=true]{color:var(--text)}.cuenta-error{color:#ff8a8a;font-size:14px;line-height:1.4}.cuenta-error.general{background:#ff6b6b1a;border-radius:12px;padding:12px 14px}.cuenta-ayuda{color:var(--text-2);font-size:14px}.cuenta-ayuda.ok{color:#4ade80;align-items:center;gap:6px;display:flex}.cuenta-reglas{flex-direction:column;gap:8px;margin:4px 0 2px;padding:0;list-style:none;display:flex}.cuenta-reglas li{color:var(--text-2);align-items:center;gap:10px;font-size:14px;transition:color .2s;display:flex}.cuenta-reglas li.ok{color:var(--text)}.cuenta-reglas li.falta{color:#ff8a8a}.cuenta-reglas li.falta .cuenta-check{box-shadow:inset 0 0 0 1.5px #ff6b6b}.cuenta-check{color:#000;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;transition:background-color .2s,box-shadow .2s;display:grid;box-shadow:inset 0 0 0 1.5px #555}.cuenta-reglas li.ok .cuenta-check{box-shadow:none;animation:cuenta-pop .25s var(--ease-out);background:#4ade80}@keyframes cuenta-pop{0%{transform:scale(.5)}}.oculto{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.settings-row .pill{flex:none}.perfil-btn{width:44px;height:44px;transition:transform .15s var(--ease-out);border-radius:50%;place-items:center;margin:-6px -6px -6px 0;display:grid}.perfil-btn:active{transform:scale(.9)}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:grid}.avatar.vacio{background:var(--surface-2);color:var(--text-2)}.perfil-head{padding-right:16px}.pronto{background:var(--surface-2);color:var(--text-2);border-radius:999px;margin-left:auto;padding:3px 9px;font-size:12px;font-weight:600}.page-title{padding:0 16px 16px;font-size:28px;font-weight:800}.empty-note{padding:0 16px}.perfil-btn{position:relative}.perfil-punto{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:6px;right:6px}.contador{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:700;display:grid}.amigos-buscar{background:var(--surface);min-height:48px;color:var(--text-2);border-radius:12px;align-items:center;gap:10px;margin:0 16px 12px;padding:0 6px 0 14px;display:flex}.amigos-buscar input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.amigos-error{color:#ff8a8a;padding:0 16px 8px;font-size:14px}.amigo-row{align-items:center;gap:12px;min-height:60px;padding:8px 16px;display:flex}.amigo-row:active{background:#ffffff0d}.amigo-row .pill{flex:none}.amigo-avatar{flex:none;display:grid;position:relative}.amigo-vivo{width:13px;height:13px;box-shadow:0 0 0 2.5px var(--bg);background:#4ade80;border-radius:50%;position:absolute;bottom:-1px;right:-1px}.track-sub.vivo{color:#4ade80}.juntos-btn{width:44px;height:44px;color:var(--text-2)}.juntos-btn.on{color:#4ade80}.ahora-card{background:var(--surface);border-radius:12px;align-items:center;gap:12px;margin:0 16px;padding:10px 12px;display:flex}.pad-x{justify-content:flex-start;padding:12px 16px 0}.pill.danger-text{color:#ff8a8a}.detail-hero .avatar{margin:8px 0 6px}.sheet-sub{color:var(--text-2);margin-top:2px;font-size:13px;display:block}.juntos-banner{color:#b7f7c9;animation:mini-in .3s var(--ease-out);background:#14361f;border-radius:12px;align-items:center;gap:10px;margin:0 8px 6px;padding:8px 8px 8px 14px;font-size:13px;display:flex}.juntos-banner svg{flex:none}.juntos-texto{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.juntos-banner button{color:#fff;background:#ffffff1f;border-radius:999px;flex:none;min-height:36px;padding:0 14px;font-size:13px;font-weight:600}[aria-disabled=true].icon-btn{opacity:.3}.vinyl.bloqueado{cursor:not-allowed;touch-action:auto}.play-big[aria-disabled=true]{opacity:.45}.juntos-banner.anfitrion{color:#c7d7ff;background:#1d2a4a}.empty-note.conectado{color:#4ade80}.sugerir{flex-direction:column;gap:16px;padding:10px 20px 8px;display:flex}.sugerir h3{letter-spacing:-.01em;font-size:22px;font-weight:800}.conexion-banner{color:#ffc9cf;animation:mini-in .3s var(--ease-out);background:#3a1418;border-radius:12px;align-items:center;gap:10px;margin:0 8px 6px;padding:9px 14px;font-size:13px;display:flex}.conexion-punto{background:#ff6b6b;border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s ease-in-out infinite conexion-latido}@keyframes conexion-latido{50%{opacity:.35}}.track-row.no-disponible,.shortcut.no-disponible{opacity:.35;filter:grayscale()}
