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