.library-skeleton,.library-cover-pending{--ls-base:color-mix(in srgb,var(--text,#fff) 7%,var(--solid,#10131a));--ls-shine:color-mix(in srgb,var(--text,#fff) 13%,transparent)}
.library-skeleton{width:100%;padding:12px 0 24px;contain:layout paint style}
.library-skeleton__status{margin:0 0 18px!important;color:var(--muted,#a5acba);font-size:11px!important;font-weight:400}
.library-skeleton__heading{width:180px;height:20px;border-radius:5px;background:var(--ls-base);margin-bottom:24px}
.library-skeleton__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px}
.library-skeleton__card{position:relative;overflow:hidden;min-width:0;border:1px solid var(--line,#ffffff14);border-radius:12px;padding:12px;background:var(--surface,#ffffff03)}
.library-skeleton__cover{aspect-ratio:3/4;width:100%;border-radius:7px;background:var(--ls-base);margin-bottom:14px}
.library-skeleton__line{height:11px;margin:10px 0;border-radius:4px;background:var(--ls-base);width:90%}
.library-skeleton__line--short{width:58%;height:8px}
.library-skeleton--directory .library-skeleton__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.library-skeleton--directory .library-skeleton__cover{aspect-ratio:2/1}
.library-skeleton__card::after,.library-cover-pending::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 25%,var(--ls-shine) 50%,transparent 75%);transform:translateX(-100%)}
.library-skeleton__card::after,.library-cover-pending.library-cover-inview::after{animation:library-skeleton-shine 1.8s linear infinite}
.library-cover-pending{position:relative;overflow:hidden}
.library-cover-pending img{opacity:0!important}
.library-cover-pending::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--ls-base);pointer-events:none}
@keyframes library-skeleton-shine{to{transform:translateX(100%)}}
@media(max-width:1000px){.library-skeleton__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-skeleton--directory .library-skeleton__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.library-skeleton__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.library-skeleton__card{padding:9px}.library-skeleton__status{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.library-skeleton__card::after,.library-cover-pending.library-cover-inview::after{animation:none;transform:none}}
