.lib-page{z-index:1;max-width:1120px;padding-top:var(--top-tool);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto;padding-bottom:120px;position:relative}.page-sub b{color:var(--text-primary);font-weight:var(--fw-semibold)}.sec-head{flex-direction:column;align-items:center;gap:18px;margin:10px 0 28px;display:flex}.sec-head .shead{text-align:center;margin:0}.sec-tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.btn-play{border-radius:var(--r-md);background:linear-gradient(180deg, var(--accent), var(--accent-deep));color:var(--ink);cursor:pointer;box-shadow:var(--glow-accent-lo);border:none;align-items:center;gap:9px;padding:11px 20px;font-family:inherit;font-size:13.5px;font-weight:700;transition:transform .12s,box-shadow .15s;display:inline-flex}.btn-play:hover{box-shadow:var(--glow-accent);transform:translateY(-1px)}.btn-play svg{width:15px;height:15px;fill:var(--ink)}.tool-btn{border-radius:var(--r-md);border:var(--hair) solid var(--bd-default);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:11px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.tool-btn:hover{border-color:var(--bd-emph);color:#fff}.tool-btn svg{width:14px;height:14px}.sort-wrap{position:relative}.sort-menu{z-index:40;border-radius:var(--r-lg);background:linear-gradient(180deg, var(--pop-fill-top), var(--pop-fill-bot));min-width:196px;-webkit-backdrop-filter:blur(var(--blur-pop));backdrop-filter:blur(var(--blur-pop));border:var(--hair) solid var(--pop-border);box-shadow:var(--pop-edge), var(--pop-elev);padding:7px;display:none;position:absolute;top:calc(100% + 8px);right:0}.sort-menu.on{animation:navdrop .2s var(--ease);display:block}.sort-opt{border-radius:var(--r-md);text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:13px;transition:background .12s,color .12s;display:flex}.sort-opt:hover{background:var(--bg-hover);color:#fff}.sort-opt.sel{color:var(--accent-bright)}.sort-opt .tick{opacity:0;flex:none;place-items:center;width:14px;height:14px;display:grid}.sort-opt.sel .tick{opacity:1}.sort-opt .tick svg{width:14px;height:14px;stroke:var(--accent-bright);stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round}.ftracks{flex-direction:column;gap:2px;display:flex}.ftrk{border-radius:var(--r-lg);cursor:pointer;--cover:#ffc50a;grid-template-columns:22px 96px 1fr auto 52px 34px;align-items:center;gap:14px;padding:9px 12px;transition:background .12s,opacity .15s;display:grid}.ftrk:hover{background:var(--bg-hover)}.ft-grip{width:22px;height:34px;color:var(--text-hint);cursor:grab;opacity:0;place-items:center;transition:opacity .14s,color .14s;display:grid}.ftracks.reordering .ft-grip{opacity:.8}.ftracks.reordering .ftrk:hover .ft-grip{opacity:1;color:var(--cover-bright)}.ft-grip:hover{color:var(--text-secondary)}.ft-grip:active{cursor:grabbing}.ft-grip svg{width:16px;height:16px}.ft-cov{border-radius:var(--r-md);border:var(--hair) solid var(--bd-default);background:linear-gradient(140deg, var(--cover-bright), var(--cover) 46%, var(--cover-deep));flex:none;width:96px;height:96px;position:relative;overflow:hidden}.ft-cov .ft-art{background-position:50%;background-size:cover;position:absolute;inset:0}.ft-cov .ft-pl{background:#0806046b;place-items:center;display:none;position:absolute;inset:0}.ftrk:hover .ft-cov .ft-pl{display:grid}.ft-cov .ft-pl svg{fill:#fff;width:22px;height:22px}.ft-main{min-width:0}.ft-main h4{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:500;transition:color .15s;overflow:hidden}.ft-main p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.ftrk:hover .ft-main h4{color:var(--cover-bright)}.ft-alb{border-radius:var(--r-sm);border:var(--hair) solid var(--bd-default);background:var(--bg-raised);max-width:170px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:5px 11px;font-size:11.5px;font-weight:600;text-decoration:none;transition:border-color .14s,color .14s,background .14s;display:inline-flex;overflow:hidden}.ft-alb:hover{border-color:color-mix(in srgb, var(--cover) 55%, transparent);color:var(--cover-bright);background:var(--cover-tint)}.ft-dur{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.ft-fav{cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:transform .12s,background .12s;display:grid}.ft-fav:hover{background:var(--bg-hover);transform:scale(1.08)}.ft-fav svg{width:17px;height:17px;fill:var(--accent-bright);stroke:none}.ftrk.playing{background:var(--cover-tint)}.ftrk.playing .ft-main h4{color:var(--cover-bright);font-weight:600}.ftrk.playing .ft-cov .ft-pl{display:grid}.ftrk.dragging{opacity:.38}.ftrk.drag-over{box-shadow:inset 0 2px 0 0 var(--cover-bright)}.ftracks.reordering .ftrk{cursor:grab;background:#ffffff06}.ftracks.reordering .ftrk:active{cursor:grabbing}.ftracks.reordering .ft-fav,.ftracks.reordering .ft-alb{opacity:.3;pointer-events:none}.rbar{align-items:center;gap:7px;display:none}.rbar.on{display:inline-flex}.rb-btn{border-radius:var(--r-md);border:var(--hair) solid var(--bd-default);background:var(--bg-raised);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;place-items:center;transition:border-color .15s,color .15s,opacity .15s;display:grid}.rb-btn:hover:not(:disabled){border-color:var(--bd-emph);color:#fff}.rb-btn:disabled{opacity:.28;cursor:default}.rb-btn svg{width:17px;height:17px}#lockBtn svg{width:15px;height:15px}#lockBtn.act{background:linear-gradient(180deg, var(--accent), var(--accent-deep));color:var(--ink);box-shadow:var(--glow-accent-lo);border-color:#0000}#lockBtn.act:hover{color:var(--ink);box-shadow:var(--glow-accent)}.removing{animation:favout .32s var(--ease) forwards;pointer-events:none}@keyframes favout{to{opacity:0;transform:scale(.94)}}.lib-empty{text-align:center;max-width:470px;animation:fadein .3s var(--ease);margin:84px auto 60px}.lib-empty .em-mark{opacity:.92;filter:drop-shadow(0 0 18px #ffc50a4d);width:74px;height:74px;margin:0 auto 24px}.lib-empty .em-mark svg{width:100%;height:100%}.lib-empty h2{letter-spacing:-.02em;margin-bottom:12px;font-size:25px;font-weight:800}.lib-empty p{color:var(--text-secondary);margin-bottom:26px;font-size:14.5px;line-height:1.6}.lib-empty p .hl{color:var(--accent-bright);font-weight:700}@keyframes fadein{0%{opacity:0}to{opacity:1}}.lib-loading{z-index:1;min-height:60vh;color:var(--text-muted);place-items:center;font-size:14px;display:grid;position:relative}.toast{z-index:200;opacity:0;pointer-events:none;border-radius:var(--r-lg);background:linear-gradient(180deg, var(--pop-fill-top), var(--pop-fill-bot));-webkit-backdrop-filter:blur(var(--blur-pop));backdrop-filter:blur(var(--blur-pop));border:var(--hair) solid var(--pop-border);box-shadow:var(--pop-edge), var(--pop-elev);transition:opacity .22s var(--ease), transform .22s var(--ease);align-items:center;gap:16px;padding:13px 16px 13px 18px;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)translateY(18px)}.toast.on{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.toast .tx{color:var(--text-secondary);font-size:13.5px}.toast .undo{color:var(--accent-bright);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:4px 6px;font-family:inherit;font-size:13px;font-weight:700;transition:background .12s}.toast .undo:hover{background:var(--bg-hover)}@media (max-width:640px){.lib-page{padding-left:var(--gutter);padding-right:var(--gutter);padding-bottom:110px}.sec-head{align-items:center}.sec-tools{flex-wrap:wrap}.btn-play,.tool-btn{padding:10px 14px}.ftrk{grid-template-rows:auto auto;grid-template-columns:20px 96px 1fr 46px 30px;gap:6px 11px}.ftrk .ft-grip,.ftrk .ft-cov{grid-row:1/3}.ftrk .ft-main{grid-area:1/3}.ftrk .ft-dur{grid-area:1/4}.ftrk .ft-fav{grid-area:1/5}.ftrk .ft-alb{grid-area:2/3/auto/6;justify-self:start;max-width:100%}}
