.anime-cover-stack {
    width: 200px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.anime-cover-stack-desktop-shell {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.anime-cover-stack-mobile-rail {
    display: none;
}

.anime-cover-stack-mobile-shell {
    display: none;
}

.anime-cover-side-link {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
    display: none;
}

.anime-cover-side-link.anime-cover-side-left {
    left: -74px;
}

.anime-cover-side-link.anime-cover-side-right {
    right: -74px;
}

.anime-cover-side {
    width: 92px;
    height: 132px;
    border-radius: 12px;
    object-fit: cover;
    opacity: 0.55;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

@media (max-width: 768px) {
    .anime-cover-stack {
        width: 100%;
        max-width: none;
        margin: 0 auto;
    }

    .anime-cover-stack-desktop-shell {
        display: none;
    }

    .anime-cover-stack-mobile-shell {
        position: relative;
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        overflow: hidden;
    }

    .anime-cover-stack-mobile-shell::before,
    .anime-cover-stack-mobile-shell::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 34px;
        width: 28px;
        z-index: 2;
        pointer-events: none;
    }

    .anime-cover-stack-mobile-shell::before {
        left: 0;
        background: linear-gradient(90deg, rgba(7, 7, 9, 0.78), rgba(7, 7, 9, 0));
    }

    .anime-cover-stack-mobile-shell::after {
        right: 0;
        background: linear-gradient(270deg, rgba(7, 7, 9, 0.78), rgba(7, 7, 9, 0));
    }

    .anime-cover-stack-mobile-rail {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-snap-stop: always;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        touch-action: pan-x pinch-zoom;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-padding-inline: max(16px, calc(50% - 126.5px));
        padding: 4px max(16px, calc(50% - 126.5px)) 12px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .anime-cover-stack-mobile-rail::-webkit-scrollbar {
        display: none;
    }

    .anime-cover-season-link {
        flex: 0 0 253px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        transition: transform 0.22s ease, opacity 0.22s ease, filter 0.22s ease;
        transform: scale(0.8);
        transform-origin: center center;
        opacity: 0.44;
        filter: brightness(0.34);
        text-decoration: none;
        will-change: transform, opacity, filter;
    }

    .anime-cover-season-link.is-current,
    .anime-cover-season-link.is-focused {
        transform: scale(1);
        opacity: 1;
        filter: none;
        z-index: 1;
    }

    .anime-cover-season-link.is-focused:not(.is-current) {
        opacity: 0.86;
    }

    .anime-cover-season-image {
        width: 253px;
        height: 364px;
        border-radius: 16px;
        object-fit: cover;
        display: block;
    }
}
