#lib {
    position: fixed;
    inset: 0;
    z-index: 25;
    background: linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .7));
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s;
    padding: 9vh var(--pad) 10vh;
    scrollbar-width: none
}

#lib.show {
    opacity: 1;
    pointer-events: auto
}

.lib #main {
    visibility: hidden
}

.lib #bg {
    filter: blur(70px) brightness(.5) saturate(1.5)
}

.lib #dim {
    opacity: .35
}

.lib #dim2 {
    opacity: 0 !important
}

#lib h1 {
    font-size: clamp(28px, 3.4vw, 56px);
    font-weight: 700;
    letter-spacing: -.02em;
    display: flex;
    align-items: baseline;
    gap: 18px
}

#lib h1 small {
    font-size: clamp(13px, 1.1vw, 19px);
    font-weight: 500;
    color: rgba(255, 255, 255, .6);
    letter-spacing: 0
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--cw), 1fr));
    gap: 22px;
    padding: 30px 10px
}

.grid .card {
    height: auto;
    aspect-ratio: 2/3
}

.grid .none {
    grid-column: 1/-1
}