/* Scoped to the full library; profile carousel and product controls are unchanged. */
.sc-creator-library {
    box-sizing: border-box;
    padding: 24px;
    background: #1e1b29;
    color: #fff;
    font-family: 'Poppins', sans-serif;
}
.sc-creator-library *, .sc-creator-library *::before, .sc-creator-library *::after { box-sizing: border-box; }
.sc-creator-library a { text-decoration: none; }
.sc-library-back, .sc-library-filters > a { color: #c7bad6; }
.sc-library-header { display: flex; align-items: center; gap: 16px; margin: 24px 0; }
.sc-library-header img { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 14px; object-fit: cover; }
.sc-library-header h1 { margin: 0; color: #fff; font-size: clamp(1.2rem, 3vw, 1.85rem); overflow-wrap: anywhere; }
.sc-library-header p { margin: 6px 0 0; color: #b9acc9; font-size: .85rem; }
.sc-library-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) auto auto; align-items: end; gap: 12px; }
.sc-library-filters label { display: grid; gap: 7px; min-width: 0; font-size: .82rem; color: #c7bad6; }
.sc-library-filters input, .sc-library-filters select, .sc-library-filters button {
    width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0 12px;
    border: 1px solid rgba(255,255,255,.18); border-radius: 7px;
    background: #14111e; color: #fff; font: inherit; font-size: .85rem;
}
.sc-library-filters button { background: #483048; cursor: pointer; }
.sc-library-filters > a { display: flex; align-items: center; height: 44px; font-size: .85rem; }
.sc-library-message { min-height: 24px; margin: 10px 0 0; color: #c7bad6; font-size: .82rem; }
.sc-library-stage { position: relative; }
.sc-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sc-creator-library .sc-clip-card, .sc-library-empty-slot, .sc-library-loading-card {
    min-width: 0; margin: 0; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; overflow: hidden;
}
.sc-creator-library .sc-clip-player, .sc-library-slot-media { aspect-ratio: 16 / 9; width: 100%; flex: 0 0 auto; }
.sc-creator-library .sc-clip-player > video { position: absolute; inset: 0; width: 100%; height: 100%; }
.sc-creator-library .sc-clip-card-body, .sc-library-slot-meta {
    height: 116px; min-height: 116px; max-height: 116px; flex: 0 0 116px;
    padding: 12px; overflow: hidden;
}
.sc-creator-library .sc-clip-card-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: 48px 32px; gap: 8px; }
.sc-creator-library .sc-clip-card-meta { width: 100%; gap: 2px; }
.sc-creator-library .sc-clip-attribution, .sc-creator-library .sc-clip-game { max-width: 100%; }
.sc-creator-library .sc-clip-game { line-height: 20px; }
.sc-creator-library .sc-clip-reactions { justify-content: flex-start; height: 32px; }
.sc-creator-library .sc-clip-reaction { height: 32px; max-width: 48%; font-variant-numeric: tabular-nums; }
.sc-creator-library .sc-clip-reaction span { overflow: hidden; text-overflow: ellipsis; }
.sc-library-empty-slot { visibility: hidden; }
.sc-library-empty { position: absolute; top: 24px; left: 0; width: 100%; margin: 0; padding: 24px; text-align: center; color: #c7bad6; }
.sc-library-loading { display: none; position: absolute; inset: 0; pointer-events: none; }
.sc-library-loading-card { background: #181421; }
.sc-library-loading-card .sc-library-slot-media {
    background: linear-gradient(100deg, #241e30 20%, #352c44 45%, #241e30 70%);
    background-size: 220% 100%; animation: sc-library-shimmer 1.6s linear infinite;
}
.sc-library-slot-meta span { display: block; height: 12px; width: 68%; background: #302739; border-radius: 4px; margin: 6px 0 12px; }
.sc-library-slot-meta span + span { width: 44%; }
[data-sc-library-results][aria-busy="true"] .sc-library-loading { display: grid; }
/* Descendants can override visibility (the shared attribution does), but
   cannot override an ancestor's opacity. Keep the grid's dimensions intact. */
[data-sc-library-results][aria-busy="true"] .sc-library-stage > .sc-library-grid:not(.sc-library-loading),
[data-sc-library-results][aria-busy="true"] .sc-library-empty {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}
.sc-library-pagination { display: flex; min-height: 60px; padding-top: 20px; gap: 6px; align-items: center; justify-content: center; }
.sc-library-pagination:first-child { padding-top: 0; padding-bottom: 20px; }
.sc-library-pagination a, .sc-library-pagination span { display: grid; place-items: center; height: 36px; min-width: 32px; padding: 0 9px; border-radius: 6px; background: #292234; color: #fff; font-size: .8rem; }
.sc-library-pagination [aria-current="page"] { background: #644055; }
.sc-library-pagination [aria-disabled="true"] { opacity: .4; }
.sc-creator-library a:focus-visible, .sc-creator-library button:focus-visible, .sc-creator-library input:focus-visible, .sc-creator-library select:focus-visible { outline: 2px solid #ea6a97; outline-offset: 3px; }
.sc-library-enter { animation: sc-library-enter .2s ease-out; }
@keyframes sc-library-shimmer { to { background-position: -220% 0; } }
@keyframes sc-library-enter { from { opacity: .5; } to { opacity: 1; } }
@media (max-width: 1000px) {
    .sc-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sc-library-filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .sc-creator-library { padding: 16px; }
    .sc-library-grid { grid-template-columns: minmax(0, 1fr); }
    .sc-library-filters { grid-template-columns: minmax(0, 1fr); }
    .sc-library-pagination { gap: 3px; }
    .sc-library-pagination a, .sc-library-pagination span { min-width: 24px; padding: 0 5px; font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
    .sc-library-enter, .sc-library-loading-card .sc-library-slot-media { animation: none; }
}
