:root{--bg: #0a0a0a;--surface: #141414;--surface-2: #1d1d1d;--line: rgba(255, 255, 255, .09);--text: #f2f2f2;--muted: #9b9b9b;--accent: #f2f2f2;--on-accent: #0a0a0a;--accent-rgb: 242, 242, 242;--fg-rgb: 255, 255, 255;--nav-bg: rgba(10, 10, 10, .82);--sidebar-bg: rgba(20, 20, 20, .7);--card-bg: rgba(20, 20, 20, .75);--mini-bg: rgba(24, 24, 24, .94);--shadow: rgba(0, 0, 0, .5);--radius: 18px;--nav-h: 68px;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark;font-family:Inter,Segoe UI Variable,Segoe UI,system-ui,-apple-system,Roboto,sans-serif}:root[data-theme=light]{--bg: #f3f3f3;--surface: #ffffff;--surface-2: #ebebeb;--line: rgba(0, 0, 0, .11);--text: #141414;--muted: #666666;--accent: #141414;--on-accent: #ffffff;--accent-rgb: 20, 20, 20;--fg-rgb: 0, 0, 0;--nav-bg: rgba(243, 243, 243, .86);--sidebar-bg: rgba(255, 255, 255, .75);--card-bg: rgba(255, 255, 255, .82);--mini-bg: rgba(255, 255, 255, .95);--shadow: rgba(0, 0, 0, .18);color-scheme:light}@media (prefers-color-scheme: light){:root:not([data-theme]){--bg: #f3f3f3;--surface: #ffffff;--surface-2: #ebebeb;--line: rgba(0, 0, 0, .11);--text: #141414;--muted: #666666;--accent: #141414;--on-accent: #ffffff;--accent-rgb: 20, 20, 20;--fg-rgb: 0, 0, 0;--nav-bg: rgba(243, 243, 243, .86);--sidebar-bg: rgba(255, 255, 255, .75);--card-bg: rgba(255, 255, 255, .82);--mini-bg: rgba(255, 255, 255, .95);--shadow: rgba(0, 0, 0, .18);color-scheme:light}}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.muted{color:var(--muted)}.splash{height:100%;display:grid;place-items:center;color:var(--accent)}.splash svg{width:72px;height:72px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.92)}}.login{min-height:100%;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.login-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(40% 40% at 25% 20%,rgba(var(--fg-rgb),.13),transparent 70%),radial-gradient(35% 35% at 80% 80%,rgba(var(--fg-rgb),.08),transparent 70%);filter:blur(40px);animation:drift 18s ease-in-out infinite alternate}@keyframes drift{to{transform:translate(3%,-3%) scale(1.08)}}.login-card{position:relative;width:min(420px,100%);display:flex;flex-direction:column;gap:16px;padding:36px 28px;border-radius:28px;background:var(--card-bg);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);border:1px solid var(--line);box-shadow:0 30px 80px var(--shadow)}.brand-mark{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);box-shadow:0 12px 30px var(--shadow)}.brand-mark svg{width:36px;height:36px}.login-card h1{font-size:2.2rem;font-weight:800;letter-spacing:-.03em}.login-card label{display:flex;flex-direction:column;gap:8px;font-size:.85rem;color:var(--muted)}.login-card input{height:52px;padding:0 16px;font:inherit;font-size:1rem;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;outline:none;transition:border-color .2s,box-shadow .2s}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.18)}.error{color:#ff7a90;font-size:.9rem}.btn-primary{height:54px;border-radius:999px;font-weight:700;font-size:1.05rem;color:var(--on-accent);background:var(--accent);transition:transform .15s,filter .2s}.btn-primary:hover{opacity:.88}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.6;cursor:wait}.shell{height:100%;display:flex;flex-direction:column}.sidebar{display:none}.content{flex:1;overflow-y:auto;padding:24px 20px calc(var(--nav-h) + var(--safe-b) + 24px)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border-top:1px solid var(--line)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--muted);transition:color .2s,transform .15s}.nav-item:active{transform:scale(.94)}.nav-item.active{color:var(--text)}.bottom-nav .nav-item.active svg{color:var(--accent)}.page-title{font-size:clamp(2rem,6vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:24px}.empty{display:grid;justify-items:center;gap:20px;text-align:center;color:var(--muted);padding:56px 24px;border:1px dashed var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(var(--fg-rgb),.04),transparent)}.empty-art{width:120px;height:120px;border-radius:28px;background:linear-gradient(135deg,rgba(var(--fg-rgb),.2),rgba(var(--fg-rgb),.06));box-shadow:0 20px 50px var(--shadow)}@media (min-width: 900px){.shell{flex-direction:row;background:radial-gradient(60% 50% at 70% 0%,rgba(var(--fg-rgb),.07),transparent)}.bottom-nav{display:none}.sidebar{display:flex;flex-direction:column;gap:28px;width:260px;flex-shrink:0;padding:28px 16px;background:var(--sidebar-bg);border-right:1px solid var(--line)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 12px;font-size:1.3rem;font-weight:800;letter-spacing:-.02em;color:var(--accent)}.sidebar-brand span{color:var(--text)}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar .nav-item{flex-direction:row;justify-content:flex-start;gap:14px;height:48px;padding:0 14px;border-radius:12px;font-size:1rem}.sidebar .nav-item:hover{background:rgba(var(--fg-rgb),.06);color:var(--text)}.sidebar .nav-item.active{background:rgba(var(--accent-rgb),.16)}.sidebar .nav-item.active svg{color:var(--accent)}.sidebar-user{display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:.85rem;color:var(--muted)}.link{color:var(--accent);font-weight:600}.link:hover{text-decoration:underline}.content{padding:40px 48px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.pad{padding:16px 4px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.page-head .page-title{margin-bottom:0}.section-title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:8px 0 14px}.icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--text);transition:background .2s,transform .15s,color .2s;flex-shrink:0}.icon-btn:hover{background:rgba(var(--fg-rgb),.08)}.icon-btn:active{transform:scale(.9)}.icon-btn.on{color:var(--accent)}.icon-btn:focus-visible,.btn-soft:focus-visible,.btn-primary:focus-visible,.row:focus-visible,.card:focus-visible,.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-soft{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:999px;font-weight:600;background:rgba(var(--fg-rgb),.08);transition:background .2s,transform .15s}.btn-soft:hover{background:rgba(var(--fg-rgb),.14)}.btn-soft:active{transform:scale(.96)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary.slim{height:44px;padding:0 22px;font-size:1rem}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.count{margin-left:auto;font-size:.9rem}.cover{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;background:var(--surface-2)}.cover-fallback{display:grid;place-items:center;color:rgba(var(--fg-rgb),.85)}.rows{display:flex;flex-direction:column;gap:2px}.row{display:flex;align-items:center;gap:14px;width:100%;padding:8px;border-radius:14px;text-align:left;transition:background .15s}.row:hover{background:rgba(var(--fg-rgb),.06)}.row.active{background:rgba(var(--accent-rgb),.14)}.row.active .row-text strong{color:var(--accent)}.row-cover{position:relative;width:52px;height:52px;border-radius:10px;overflow:hidden;flex-shrink:0}.row-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.row-text strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-text span{font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-dur{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.eq{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:14px;background:#00000080}.eq i{width:4px;background:#fff;border-radius:2px;animation:eq .9s ease-in-out infinite;height:8px}.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}@keyframes eq{50%{height:22px}}.shelf{display:flex;gap:16px;overflow-x:auto;padding:4px 4px 16px;margin:0 -4px;scroll-snap-type:x proximity;scrollbar-width:none}.shelf::-webkit-scrollbar{display:none}.card{flex:0 0 150px;display:flex;flex-direction:column;gap:4px;text-align:left;scroll-snap-align:start;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card-cover{aspect-ratio:1;height:auto;border-radius:16px;box-shadow:0 12px 28px var(--shadow);margin-bottom:8px}.card strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card span{font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card.active strong{color:var(--accent)}@media (min-width: 900px){.card{flex-basis:180px}}.search{display:flex;align-items:center;gap:12px;height:56px;padding:0 18px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);margin-bottom:20px;transition:border-color .2s,box-shadow .2s}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2);color:var(--text)}.search input{flex:1;min-width:0;height:100%;background:none;border:0;outline:none;color:var(--text);font:inherit;font-size:1.05rem}.shell.has-player .content{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 104px)}.mini{position:fixed;z-index:20;left:8px;right:8px;bottom:calc(var(--nav-h) + var(--safe-b) + 8px);height:64px;display:flex;align-items:center;gap:2px;padding:0 6px 0 8px;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(var(--c),.28),var(--mini-bg) 70%),var(--mini-bg);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 10px 30px var(--shadow);animation:rise .35s ease-out}@keyframes rise{0%{transform:translateY(20px);opacity:0}}.mini-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left;height:100%}.mini-cover{width:46px;height:46px;flex-shrink:0;border-radius:10px}.mini-text{display:flex;flex-direction:column;min-width:0}.mini-text strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-text span{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-progress{position:absolute;left:12px;right:12px;bottom:0;height:3px;background:rgba(var(--fg-rgb),.15);border-radius:2px}.mini-progress div{height:100%;background:var(--text);border-radius:2px}@media (min-width: 900px){.mini{left:276px;right:16px;bottom:16px;max-width:720px}.shell.has-player .content{padding-bottom:120px}}.full{--bg: #0a0a0a;--text: #f4f4f4;--muted: rgba(255, 255, 255, .7);--accent: #ffffff;--on-accent: #0a0a0a;--accent-rgb: 255, 255, 255;--fg-rgb: 255, 255, 255;color:var(--text);color-scheme:dark;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0) 0 var(--safe-b);overflow:hidden;transform:translateY(100%);visibility:hidden;transition:transform .45s cubic-bezier(.32,.72,0,1),visibility 0s .45s;background:var(--bg)}.full.open{transform:translateY(0);visibility:visible;transition:transform .45s cubic-bezier(.32,.72,0,1),visibility 0s}.full-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 70% at 50% 0%,rgba(var(--c),.8),rgba(var(--c),.28) 45%,transparent 75%),var(--bg)}.full-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000001a,#0b0b12bf 70%)}.full-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:12px 12px 4px}.full-top-title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffbf}.full-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 24px 28px;gap:20px}.full-art{flex:1;min-height:0;display:grid;place-items:center}.full-cover{width:min(86vw,52vh);height:min(86vw,52vh);border-radius:22px;box-shadow:0 30px 70px #0000008c}.full.open .full-cover{animation:pop .6s cubic-bezier(.2,.9,.3,1.1)}@keyframes pop{0%{transform:scale(.88)}}.full-controls{display:flex;flex-direction:column;gap:14px;width:100%;max-width:560px;margin:0 auto}.full-info h2{font-size:clamp(1.5rem,5.5vw,2rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.full-info p{color:#ffffffb8;margin-top:4px;font-size:1.05rem}.seek input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;background:none;cursor:pointer;--p: 0%;touch-action:none;margin:-6px 0}.seek input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,#fff var(--p),rgba(255,255,255,.22) var(--p))}.seek input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000080;transition:transform .15s}.seek input[type=range]:active::-webkit-slider-thumb{transform:scale(1.35)}.seek input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:#ffffff38}.seek input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:#fff}.seek input[type=range]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#fff}.seek input[type=range]:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}.seek-times{display:flex;justify-content:space-between;font-size:.8rem;color:#ffffffb3;font-variant-numeric:tabular-nums;margin-top:-2px}.transport{display:flex;align-items:center;justify-content:space-between;padding:4px 0 8px}.transport .icon-btn{width:48px;height:48px;color:#fffc}.transport .icon-btn.on{color:#fff;position:relative}.transport .icon-btn.on:after{content:"";position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:#fff}.transport .icon-btn.big{color:#fff}.play-btn{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b0b12;box-shadow:0 10px 30px #0006;transition:transform .15s}.play-btn:hover{transform:scale(1.05)}.play-btn:active{transform:scale(.94)}.queue{list-style:none;padding:0;width:100%;max-width:560px;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.queue-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border-radius:12px;text-align:left}.queue-item:hover{background:#ffffff14}.queue-item.active{background:#ffffff24}.queue-cover{width:44px;height:44px;border-radius:8px;flex-shrink:0}.queue-text{flex:1;min-width:0;display:flex;flex-direction:column}.queue-text strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-text span{font-size:.82rem;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-dur{font-size:.8rem;color:#fff9;font-variant-numeric:tabular-nums}@media (min-width: 900px){.full-body{flex-direction:row;align-items:center;gap:64px;padding:24px 72px 56px}.full-art{flex:1;height:100%}.full-cover{width:min(44vw,62vh);height:min(44vw,62vh)}.full-controls{flex:1;margin:0}.queue{max-height:100%}}@media (max-height: 640px){.full-cover{width:40vh;height:40vh}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;align-items:end;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .2s}@keyframes fade{0%{opacity:0}}.sheet{display:flex;flex-direction:column;max-height:92dvh;background:var(--surface);border-radius:26px 26px 0 0;border:1px solid var(--line);animation:sheet-up .35s cubic-bezier(.32,.72,0,1)}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet.dragging{outline:2px dashed var(--accent);outline-offset:-8px}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 6px 22px}.sheet-head h2{font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.sheet-body{flex:1;overflow-y:auto;padding:8px 18px 16px;display:flex;flex-direction:column;gap:12px}.sheet-foot{padding:12px 18px calc(16px + var(--safe-b));border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.sheet-foot .btn-primary:disabled{background:var(--surface-2);color:var(--muted);opacity:1;cursor:default}.dropzone{display:grid;justify-items:center;gap:6px;padding:28px 16px;text-align:center;border:2px dashed rgba(var(--accent-rgb),.5);border-radius:20px;background:rgba(var(--accent-rgb),.07);color:var(--text);transition:background .2s,border-color .2s}.dropzone:hover{background:rgba(var(--accent-rgb),.14);border-color:var(--accent)}.dropzone svg{color:var(--accent);width:32px;height:32px}.dropzone span{font-size:.85rem;color:var(--muted)}.up-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}.up-item.duplicate{border-color:#fabe3c66}.up-item.error{border-color:#ff7a9073}.up-cover{width:76px;height:76px;border-radius:12px;flex-shrink:0;align-self:flex-start}.up-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.up-fields input{width:100%;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-size:.95rem;outline:none}.up-fields input:focus{border-color:var(--accent)}.up-fields input:first-child{font-weight:600}.up-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}.up-status{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.up-status strong{font-weight:600;word-break:break-all;font-size:.95rem}.bar{height:6px;border-radius:3px;background:rgba(var(--fg-rgb),.1);overflow:hidden}.bar div{height:100%;background:var(--accent);transition:width .15s}.warn{color:#f5c04a;font-size:.88rem}@media (min-width: 900px){.sheet-backdrop{align-items:center;justify-items:center}.sheet{width:min(720px,92vw);max-height:86vh;border-radius:26px}}.cf{position:relative;width:100%;height:100%}.cf-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;opacity:0;transition:opacity .7s ease}.cf-layer.on{opacity:1}.cf-layer .full-cover{animation:none!important;box-shadow:0 14px 32px #00000073}.full-info{height:108px;align-items:flex-start}.full-info-text{min-width:0;flex:1}.full-info h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.full-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.off{opacity:.4}.row.off .row-main{cursor:default}.row-text span svg{color:var(--accent);vertical-align:-2px;margin-right:4px}.howto{margin:10px 0 4px;padding:10px 14px;border-radius:14px;background:rgba(var(--fg-rgb),.06);font-size:.9rem}.howto summary{cursor:pointer;font-weight:600}.howto ol{margin:8px 0 2px;padding-left:20px;display:grid;gap:6px;color:var(--muted)}.howto a{color:var(--accent)}@media (max-width: 899px){.content{padding-top:calc(env(safe-area-inset-top,0px) + 16px)}.login{padding:calc(env(safe-area-inset-top,0px) + 24px) 24px calc(env(safe-area-inset-top,0px) + 24px)}}.card{width:150px;min-width:0;overflow:hidden}.card strong,.card span{display:block;max-width:100%}@media (min-width: 900px){.card{width:180px}}.cover-fallback{color:#fffc}.card-cover{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover}.card-cover:not(.cover-fallback){display:block}.card-cover.cover-fallback{display:grid;place-items:center}.link{color:var(--text);font-weight:600;padding:8px 10px;border-radius:10px}.link:hover{background:rgba(var(--fg-rgb),.08);text-decoration:none}.topbar{display:flex;align-items:center;justify-content:space-between;margin:-8px -4px 14px}.topbar-brand{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.topbar-brand svg{color:var(--accent)}.topbar-actions{display:flex;align-items:center;gap:4px}.sidebar-user{gap:4px}.sidebar-user span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 900px){.topbar{display:none}}:where(button.sidebar-brand,button.topbar-brand){background:none;border:0;padding-block:0;font-family:inherit;cursor:pointer;text-align:left}button.sidebar-brand:hover{opacity:.85}.small{font-size:.85rem}.head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.back-btn{display:inline-flex;align-items:center;gap:4px;margin:-4px 0 12px -8px;padding:6px 12px 6px 4px;border-radius:999px;font-weight:600;color:var(--muted)}.back-btn:hover{color:var(--text);background:rgba(var(--fg-rgb),.07)}.chips{display:flex;gap:8px;margin-bottom:16px}.chip{height:38px;padding:0 18px;border-radius:999px;font-weight:600;background:rgba(var(--fg-rgb),.08);transition:background .2s,color .2s}.chip:hover{background:rgba(var(--fg-rgb),.14)}.chip.on{background:var(--accent);color:var(--on-accent)}.row{gap:4px;padding:6px 4px 6px 8px}.row-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;text-align:left;padding:2px 0;border-radius:10px}.row-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row-link{gap:14px;padding:8px}.row-text span svg{vertical-align:-1px;margin-right:2px}.row-fav{width:40px;height:40px;color:var(--muted)}.row-fav.on{color:var(--text)}.row-more{width:40px;height:40px;color:var(--muted)}.row-dur{min-width:40px;text-align:right}@media (min-width: 900px){.row-fav:not(.on),.row-more{opacity:0;transition:opacity .15s}.row:hover .row-fav,.row:hover .row-more,.row:focus-within .row-fav,.row:focus-within .row-more{opacity:1}}.pl-fav{display:grid;place-items:center;color:var(--on-accent);background:linear-gradient(135deg,var(--text),var(--muted))}.pl-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;overflow:hidden}.pl-mosaic img{width:100%;height:100%;object-fit:cover;display:block}.pl-empty{background:linear-gradient(135deg,rgba(var(--fg-rgb),.22),rgba(var(--fg-rgb),.08));color:var(--muted)}.row-cover .cover,.row-cover .pl-mosaic{border-radius:10px}.pl-header{display:flex;align-items:flex-end;gap:22px;margin-bottom:20px}.pl-art{width:clamp(120px,34vw,232px);aspect-ratio:1;flex-shrink:0;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px var(--shadow)}.pl-art .cover,.pl-art .pl-fav{width:100%;height:100%;border-radius:0}.pl-meta{min-width:0;display:flex;flex-direction:column;gap:6px}.pl-title{font-size:clamp(1.7rem,6vw,3.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;overflow-wrap:anywhere}@media (max-width: 520px){.pl-header{flex-direction:column;align-items:flex-start}.pl-art{width:min(70vw,260px)}}.menu-sheet{padding-bottom:calc(10px + var(--safe-b))}.menu-head{display:flex;align-items:center;gap:14px;padding:18px 20px 12px;border-bottom:1px solid var(--line)}.menu-cover{width:52px;height:52px;border-radius:10px;flex-shrink:0}.menu-title{display:flex;flex-direction:column;min-width:0}.menu-title strong{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-title span{color:var(--muted);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item{display:flex;align-items:center;gap:16px;width:100%;height:56px;padding:0 22px;font-weight:600;text-align:left}.menu-item:hover{background:rgba(var(--fg-rgb),.07)}.menu-item svg{color:var(--muted)}.new-pl{display:flex;gap:8px}.new-pl input,.field input{width:100%;height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;outline:none}.new-pl input:focus,.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.pick{display:flex;align-items:center;gap:14px;width:100%;padding:8px;border-radius:14px;text-align:left}.pick:hover:not(:disabled){background:rgba(var(--fg-rgb),.07)}.pick span{display:flex;flex-direction:column;min-width:0}.pick em{font-style:normal;color:var(--muted);font-size:.85rem}.pick-cover{width:52px;height:52px;border-radius:10px;flex-shrink:0;overflow:hidden}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-art{display:flex;align-items:center;gap:18px}.edit-cover{width:132px;height:132px;border-radius:14px;flex-shrink:0;overflow:hidden;box-shadow:0 10px 30px var(--shadow)}.edit-art-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.danger{display:flex;align-items:center;gap:10px;align-self:flex-start;height:44px;padding:0 16px;border-radius:999px;font-weight:600;color:#ff7a90;background:#ff7a901a}.danger.armed{background:#ff5470;color:#fff}.toast{position:fixed;z-index:80;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + var(--safe-b) + 92px);max-width:min(92vw,420px);padding:12px 20px;border-radius:999px;background:var(--text);color:var(--bg);font-weight:600;box-shadow:0 10px 30px var(--shadow);animation:rise .25s ease-out}.full-info{display:flex;align-items:center;gap:12px}.full-info-text{flex:1;min-width:0}.full-fav{width:48px;height:48px;color:#ffffffd9}.full-fav.on{color:#fff}.pbar{display:none}@media (min-width: 900px){.mini{display:none}.shell.has-player{padding-bottom:92px}.shell.has-player .content{padding-bottom:24px}.toast{bottom:108px}.pbar{position:fixed;z-index:30;left:0;right:0;bottom:0;height:92px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr) minmax(220px,1fr);align-items:center;gap:16px;padding:0 16px;background:var(--nav-bg);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);border-top:1px solid var(--line)}.pbar-left{display:flex;align-items:center;gap:6px;min-width:0}.pbar-cover{width:60px;height:60px;border-radius:10px;overflow:hidden;flex-shrink:0;margin-right:8px}.pbar-info{display:flex;flex-direction:column;min-width:0;margin-right:6px}.pbar-info strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pbar-info span{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pbar-left .icon-btn{color:var(--muted)}.pbar-left .icon-btn:hover,.pbar-left .icon-btn.on{color:var(--text)}.pbar-center{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.pbar-transport{display:flex;align-items:center;gap:10px}.pbar-transport .icon-btn{color:var(--muted);width:40px;height:40px;position:relative}.pbar-transport .icon-btn:hover,.pbar-transport .icon-btn.on{color:var(--text)}.pbar-transport .icon-btn.on:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--text)}.pbar-play{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--bg);transition:transform .15s}.pbar-play:hover{transform:scale(1.07)}.pbar-play:active{transform:scale(.95)}.seek-inline{display:flex;align-items:center;gap:10px;width:100%;max-width:640px;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.seek-inline span{min-width:38px}.seek-inline span:first-child{text-align:right}.seek-inline input[type=range]{flex:1;height:20px}.seek-inline input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--text) var(--p),rgba(var(--fg-rgb),.2) var(--p))}.seek-inline input[type=range]::-webkit-slider-thumb{background:var(--text);width:12px;height:12px;margin-top:-4px;opacity:0;transition:opacity .15s}.seek-inline:hover input[type=range]::-webkit-slider-thumb,.seek-inline input[type=range]:focus-visible::-webkit-slider-thumb{opacity:1}.seek-inline input[type=range]::-moz-range-track{height:4px;background:rgba(var(--fg-rgb),.2)}.seek-inline input[type=range]::-moz-range-progress{height:4px;background:var(--text)}.seek-inline input[type=range]::-moz-range-thumb{background:var(--text)}.pbar-right{display:flex;align-items:center;justify-content:flex-end;gap:4px}.pbar-right .icon-btn{color:var(--muted)}.pbar-right .icon-btn:hover,.pbar-right .icon-btn.on{color:var(--text)}.volume{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:110px;height:20px;background:none;cursor:pointer;--p: 100%}.volume::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--text) var(--p),rgba(var(--fg-rgb),.2) var(--p))}.volume::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:var(--text);opacity:0;transition:opacity .15s}.volume:hover::-webkit-slider-thumb,.volume:focus-visible::-webkit-slider-thumb{opacity:1}.volume::-moz-range-track{height:4px;background:rgba(var(--fg-rgb),.2)}.volume::-moz-range-progress{height:4px;background:var(--text)}.volume::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--text)}.pbar-queue{position:absolute;right:16px;bottom:100px;width:min(420px,90vw);max-height:min(60vh,520px);display:flex;flex-direction:column;padding:14px 8px 8px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 20px 60px var(--shadow);animation:rise .2s ease-out}.pbar-queue h3{font-size:1.05rem;font-weight:700;padding:0 12px 8px}.pbar-queue .queue{max-width:none;overflow-y:auto}.pbar-queue .queue-item{color:var(--text)}.pbar-queue .queue-item:hover{background:rgba(var(--fg-rgb),.07)}.pbar-queue .queue-item.active{background:rgba(var(--fg-rgb),.13)}.pbar-queue .queue-text span,.pbar-queue .queue-dur{color:var(--muted)}}.chips.scroll{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;margin-right:-20px;padding-right:20px;scrollbar-width:none}.chips.scroll::-webkit-scrollbar{display:none}.chips.scroll .chip{flex-shrink:0}.chip em{font-style:normal;font-size:.78rem;opacity:.6;margin-left:4px}.bulk{display:flex;gap:8px;margin:4px 0 16px}.bulk input,.up-fields input.missing{height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;outline:none;min-width:0;flex:1}.up-fields input.missing{height:38px;border-color:#f5c04ab3}.bulk input:focus{border-color:var(--accent)}.btn-soft.armed{background:#ff5470;color:#fff}.btn-soft:disabled{opacity:.6;cursor:default}.storage{margin:-8px 0 16px;font-size:.9rem}.dl-progress{display:flex;flex-direction:column;gap:8px;padding:14px 16px;margin-bottom:16px;border-radius:16px;background:rgba(var(--fg-rgb),.06)}.dl-wait{display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:50%;border:2px solid var(--muted);border-top-color:transparent;vertical-align:-1px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.row-text span svg{color:var(--text)}.menu-item:disabled{opacity:.55}.user-form{display:grid;gap:10px;margin:20px 0 8px;max-width:520px}.user-form input,.user-form select{height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:rgba(var(--fg-rgb),.06);color:inherit;font:inherit}.user-list{list-style:none;padding:0;margin:20px 0;display:grid;gap:8px;max-width:720px}.user-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(var(--fg-rgb),.05)}.user-list li.off{opacity:.55}.user-actions{display:flex;flex-wrap:wrap;gap:8px}.user-actions .btn-soft{height:36px;padding:0 14px;font-size:.85rem}.dl-head{display:flex;justify-content:flex-end;margin:4px 0 8px}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--bg, #fff);font-weight:800;flex:none}.avatar.big{width:64px;height:64px;font-size:1.6rem}.avatar-btn{display:grid;place-items:center;padding:4px;border-radius:50%}.sidebar-user{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border-radius:14px}.sidebar-user:hover,.sidebar-user.active{background:rgba(var(--fg-rgb),.08)}.sidebar-user .who{display:grid;min-width:0}.sidebar-user .who strong{color:var(--text);overflow:hidden;text-overflow:ellipsis}.sidebar-user .who em{font-style:normal;font-size:.78rem}.profile-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}.profile-head .page-title{margin:0}.profile-card{max-width:520px;margin:0 0 16px;padding:16px;border-radius:16px;background:rgba(var(--fg-rgb),.05)}.profile-card h3{margin:0 0 12px;font-size:1rem}.profile-card.user-form{display:grid;gap:10px;margin-top:0}.profile-card.user-form h3{margin-bottom:2px}.btn-soft.logout{color:#e5484d}.sidebar-user span.avatar{flex:none}.cover.wide{object-fit:contain}.order-row{cursor:grab}.order-row.dragging{opacity:.4}.order-row .grip{color:var(--muted);display:grid;place-items:center}.order-row .icon-btn:disabled{opacity:.25}.update-banner{position:fixed;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 10px);z-index:80;display:flex;align-items:center;gap:14px;padding:10px 12px 10px 18px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px #00000040;font-size:.9rem;max-width:calc(100vw - 24px)}.update-banner .btn-primary{height:36px;padding:0 16px;display:inline-flex;align-items:center;text-decoration:none}.devices-btn{position:relative;display:inline-flex;align-items:center;gap:8px}.devices-btn .dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#3ecf6e}.devices-btn span{font-size:.9rem;font-weight:600}.sidebar-devices{margin:auto 0 4px;padding:0 4px}.sidebar-devices .devices-btn{width:100%;justify-content:flex-start;padding:10px 12px;border-radius:14px}.sidebar-devices .devices-btn .dot{top:12px;left:28px;right:auto}.devices-sheet{max-width:520px;width:100%;margin:0 auto}.devices-body{display:grid;gap:10px;padding:4px 18px 24px;overflow:auto}.device-card{display:grid;gap:4px;padding:14px;border-radius:16px;background:rgba(var(--fg-rgb),.06)}.device-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.device-actions .btn-soft{height:38px;padding:0 16px;font-size:.9rem}.pl-hero{position:relative;margin:-24px -20px 4px;padding:76px 20px 12px;overflow:hidden;isolation:isolate;display:grid;gap:18px;justify-items:center}.pl-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(160deg,rgba(var(--fg-rgb),.16),transparent 70%)}.pl-hero[style] .pl-hero-bg{top:-40px;right:-40px;bottom:-40px;left:-40px;background:var(--hero) center / cover no-repeat;filter:blur(34px) saturate(1.2);opacity:.8}.pl-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to bottom,rgba(var(--bg-rgb, 0, 0, 0),.1) 0%,transparent 30%,var(--bg) 100%)}.pl-art-big{width:min(62vw,250px);aspect-ratio:1;border-radius:8px;overflow:hidden;box-shadow:0 22px 50px #00000080;background:var(--surface-2)}.pl-art-big .cover{width:100%;height:100%;border-radius:0;object-fit:cover}.pl-art-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.pl-art-big.pl-fav{display:grid;place-items:center;background:linear-gradient(135deg,var(--text),var(--muted));color:var(--bg)}.pl-hero .pl-meta{justify-self:stretch;padding:0 2px}.pl-hero .pl-title{font-size:clamp(1.6rem,6vw,2.4rem)}.pl-page .pl-header{display:none}.pl-bar{position:fixed;top:0;left:0;right:0;z-index:20;height:56px;padding:0 12px;display:flex;align-items:center;gap:12px;transition:background .2s}.pl-bar.solid{background:var(--bg);box-shadow:0 1px 0 var(--line)}.pl-bar-title{flex:1;text-align:center;font-size:1.05rem;opacity:0;transition:opacity .2s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pl-bar.solid .pl-bar-title{opacity:1}.circle-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#00000073;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex:none}.pl-bar.solid .circle-btn{background:rgba(var(--fg-rgb),.1);color:var(--text)}.fab-mini{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--bg);opacity:0;pointer-events:none;transform:scale(.7);transition:opacity .2s,transform .2s;flex:none}.pl-bar.solid .fab-mini{opacity:1;pointer-events:auto;transform:none}.action-bar .grow{flex:1}.pl-search{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0 14px;height:44px;border-radius:10px;background:rgba(var(--fg-rgb),.08);color:var(--muted)}.pl-search input{flex:1;min-width:0;height:100%;background:transparent;border:0;outline:0;color:var(--text);font:inherit}.lib-head{display:flex;align-items:center;gap:6px;margin-bottom:14px}.lib-title{flex:1;margin:0 0 0 8px;font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.lib-search{width:100%;height:44px;margin-bottom:12px;padding:0 14px;border-radius:10px;border:0;background:rgba(var(--fg-rgb),.08);color:var(--text);font:inherit;outline:none}.lib-sort{display:flex;align-items:center;justify-content:space-between;margin:4px 0 8px;font-weight:600;font-size:.9rem}.lib-sort span{display:inline-flex;align-items:center;gap:8px}.lib-list{display:flex;flex-direction:column;gap:4px}.lib-item{display:flex;align-items:center;gap:14px;width:100%;padding:6px 4px;border-radius:12px;text-align:left}.lib-item:hover{background:rgba(var(--fg-rgb),.06)}.lib-cover{width:72px;height:72px;flex:none;border-radius:6px;overflow:hidden;display:block}.lib-cover .cover,.lib-cover .pl-mosaic,.lib-cover .pl-fav{width:100%;height:100%;border-radius:0}.lib-text{display:grid;gap:4px;min-width:0}.lib-text strong{font-size:1.05rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-text strong.accent{color:var(--accent)}.lib-text span{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 14px}@media (min-width: 700px){.lib-grid{grid-template-columns:repeat(4,1fr)}}.lib-grid .lib-item{flex-direction:column;align-items:stretch;gap:8px;padding:0}.lib-grid .lib-cover{width:100%;height:auto;aspect-ratio:1;border-radius:8px}.lib-grid .lib-text span{white-space:normal}.action-bar{display:flex;align-items:center;gap:14px;margin:6px 0 18px;flex-wrap:wrap}.fab-play{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--bg);box-shadow:0 8px 22px var(--shadow);transition:transform .15s,opacity .15s}.fab-play:hover{transform:scale(1.05)}.fab-play:active{transform:scale(.95)}.fab-play:disabled{opacity:.35;cursor:default;transform:none}.round-btn{min-width:46px;height:46px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text);border:1.5px solid rgba(var(--fg-rgb),.28);font-size:.85rem;font-weight:600;transition:background .15s,transform .15s}.round-btn:hover{background:rgba(var(--fg-rgb),.1)}.round-btn:active{transform:scale(.94)}.round-btn:disabled{opacity:.4;cursor:default}.round-btn.on{background:var(--text);color:var(--bg);border-color:transparent}.round-btn.armed{background:#ff5470;color:#fff;border-color:transparent}.action-bar .count{margin-left:auto}.row .grip{display:grid;place-items:center;width:28px;align-self:stretch;color:var(--muted);cursor:grab;touch-action:none;flex:none;margin-left:-4px}.row .grip:active{cursor:grabbing}.row.dragging{background:rgba(var(--fg-rgb),.12);box-shadow:0 8px 24px var(--shadow);position:relative;z-index:2}.update-banner{white-space:nowrap}.topbar{position:relative;z-index:3}.device-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px;border-radius:16px;text-align:left;background:rgba(var(--fg-rgb),.05);transition:background .15s}.device-row:hover{background:rgba(var(--fg-rgb),.1)}.device-row.on{background:rgba(var(--fg-rgb),.12);box-shadow:inset 0 0 0 1.5px var(--text)}.device-row:disabled{opacity:.6;cursor:wait}.device-eq{width:22px;height:18px;display:flex;align-items:flex-end;justify-content:center;gap:3px;color:var(--text);font-size:.8rem;flex:none}.device-eq i{width:4px;background:var(--text);border-radius:2px;animation:eq .9s ease-in-out infinite;height:8px}.device-eq i:nth-child(2){animation-delay:.2s}.device-eq i:nth-child(3){animation-delay:.4s}.device-text{display:grid;gap:2px;min-width:0}.device-text span{color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar.hide{display:none}@media (min-width: 900px){.lib-head .avatar-btn{display:none}.lib-title{margin-left:0}}@media (max-width: 899px){.pl-hero{margin-top:calc(-1*(env(safe-area-inset-top,0px) + 16px));padding-top:calc(env(safe-area-inset-top,0px) + 72px)}.pl-bar{padding-top:env(safe-area-inset-top,0px);height:calc(56px + env(safe-area-inset-top,0px))}}@media (min-width: 900px){.pl-bar{left:260px}}.profile-page .profile-head{margin:8px 0 22px}.role-chip{display:inline-block;margin-top:6px;padding:4px 12px;border-radius:999px;background:rgba(var(--fg-rgb),.1);font-size:.8rem;font-weight:600;color:var(--muted)}.set-title{margin:22px 4px 8px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.set-group{max-width:560px;border-radius:16px;background:rgba(var(--fg-rgb),.05);overflow:hidden;margin-bottom:14px}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;text-align:left;min-height:58px}.set-row+.set-row,.set-row+.set-action{border-top:1px solid var(--line)}.set-row:not(:disabled):hover{background:rgba(var(--fg-rgb),.06)}.set-text{display:grid;gap:2px;min-width:0}.set-text strong{font-weight:600}.set-text span{color:var(--muted);font-size:.88rem}.set-row.set-danger strong{color:#ff5470}.set-action{margin:4px 16px 14px;display:flex;justify-content:center;align-items:center;text-decoration:none}.field{height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:rgba(var(--fg-rgb),.06);color:inherit;font:inherit;width:100%}.create-ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--fg-rgb),.1);flex:none}.users-intro{margin:-8px 0 18px;max-width:560px}.users-page .page-head{margin-bottom:18px}.fab-mini.show{opacity:1;pointer-events:auto;transform:none;width:46px;height:46px}.user-row{gap:14px}.user-row .set-text{flex:1}.user-row.off{opacity:.55}.sheet-form{display:grid;gap:10px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:12px;background:rgba(var(--fg-rgb),.08)}.seg button{height:40px;border-radius:9px;font-weight:600}.seg button.on{background:var(--text);color:var(--bg)}.set-group .set-row:disabled{opacity:.6}.login-wrap{position:relative;width:min(400px,100%);display:grid;gap:28px}.login-brand{display:grid;justify-items:center;gap:8px;text-align:center}.login-brand .brand-mark{width:76px;height:76px;border-radius:22px;margin-bottom:8px}.login-brand .brand-mark svg{width:42px;height:42px}.login-brand h1{font-size:2.1rem;font-weight:800;letter-spacing:-.03em;margin:0}.login-brand p{margin:0;color:var(--muted)}.login-wrap .login-card{width:100%;padding:28px 24px;gap:18px;border-radius:24px}.login-card h2{margin:0 0 2px;font-size:1.25rem;font-weight:700}.field-box{display:grid;gap:8px;font-size:.85rem;font-weight:600;color:var(--muted)}.field-line{display:flex;align-items:center;gap:10px;height:54px;padding:0 14px;border-radius:14px;background:var(--surface-2);border:1.5px solid var(--line);color:var(--muted);transition:border-color .2s,box-shadow .2s}.field-line:focus-within{border-color:var(--text);box-shadow:0 0 0 4px rgba(var(--fg-rgb),.12);color:var(--text)}.login-card .field-line input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:1rem;color:var(--text);outline:none}.login-card .field-line input:focus{box-shadow:none;border:0}.eye{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--muted)}.eye:hover{color:var(--text);background:rgba(var(--fg-rgb),.08)}.login-error{margin:0;padding:10px 14px;border-radius:12px;background:#ff54701f;color:#ff7a90;font-size:.9rem}.login-card .btn-primary{width:100%;margin-top:4px}.login-card .btn-primary:disabled{opacity:.45;cursor:default}.login-foot{margin:0;text-align:center;color:var(--muted);font-size:.85rem}*{-webkit-tap-highlight-color:transparent}button,a,[role=button],.nav-item{outline:none}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:none}.nav-item:focus,.nav-item:focus-visible,.nav-item:active{outline:none;box-shadow:none;background:transparent}.bottom-nav .nav-item{-webkit-user-select:none;user-select:none}.pl-back{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);left:12px;z-index:20}@media (min-width: 900px){.pl-back{left:272px;top:14px}}.pl-page{--p: 0}.pl-art-big{transform-origin:50% 0;transform:scale(calc(1 - var(--p) * .5));opacity:calc(1 - var(--p) * .85);will-change:transform,opacity}.quality{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.78rem;color:var(--muted);max-width:100%;white-space:nowrap;overflow:hidden}.quality i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted)}.quality b{font-weight:700;color:var(--text)}.quality em{font-style:normal;overflow:hidden;text-overflow:ellipsis}.full .quality{color:#ffffffb3}.full .quality b{color:#fff}.q-lossless i,.q-high i{background:#3ecf6e}.q-good i{background:#9ad04a}.q-fair i{background:#f0b429}.q-low i{background:#ff5470}.nav-item{position:relative}.nav-badge{position:absolute;top:4px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff5470;color:#fff;font-style:normal;font-size:.7rem;font-weight:700;display:grid;place-items:center}.sidebar .nav-badge{position:static;margin-left:auto}.req-row{gap:10px}.req-chip{padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;background:rgba(var(--fg-rgb),.12)}.req-chip.done{background:#3ecf6e2e;color:#3ecf6e}.req-chip.rejected{background:#ff547026;color:#ff5470}.req-admin{gap:12px;flex-wrap:wrap}.req-admin .set-text{flex:1;min-width:180px}.req-actions{display:flex;gap:8px}.req-actions .btn-soft{height:36px;padding:0 14px;font-size:.85rem}.ptr{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;z-index:70;display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px #00000040;font-size:.85rem;font-weight:600;pointer-events:none}.ptr-spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--muted);border-top-color:var(--text)}.ptr-spin.on{animation:ptrspin .7s linear infinite}@keyframes ptrspin{to{transform:rotate(360deg)}}.set-sub{margin:14px 4px 8px;font-size:.95rem;font-weight:700}.requests-panel{margin-top:28px}.remote{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + var(--safe-b) + 8px);z-index:12;display:grid;gap:6px;padding:10px 12px;border-radius:18px;background:var(--mini-bg, var(--surface));border:1px solid var(--line);box-shadow:0 10px 30px #00000059;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@media (min-width: 900px){.remote{left:276px;right:16px;bottom:16px;max-width:760px}}.remote-row{display:flex;align-items:center;gap:4px}.remote-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left}.remote-dev{display:inline-flex;align-items:center;gap:6px;color:#3ecf6e!important;font-size:.78rem}.remote-dev svg{width:16px;height:16px}.remote-play{width:48px;height:48px}.remote-seek,.remote-vol{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.remote-seek span{min-width:34px}.remote-seek span:last-child{text-align:right}.remote-vol svg{width:20px;height:20px;flex:none}.remote input[type=range],.remote-vol input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:28px;background:none;touch-action:none;--p: 0%}.remote input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:linear-gradient(to right,var(--text) var(--p),rgba(var(--fg-rgb),.2) var(--p))}.remote input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-4.5px;border-radius:50%;background:var(--text)}.remote{grid-template-columns:minmax(0,1fr);overflow:hidden}.remote>*{min-width:0}.remote-main{flex:1 1 0}.remote-main .mini-text{min-width:0}.remote-main .mini-text strong,.remote-main .mini-text .remote-dev{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.remote-dev{display:flex!important}.remote-row .icon-btn{flex:none}.menu-item.danger-item{color:#ff5470}.menu-item.danger-armed{background:#ff5470;color:#fff;border-radius:12px}
