/*
 * Figma desktop baseline shared by public poster-list pages.
 * Design canvas: 1920px; content: 1700px; six 266 x 451px cards.
 */

@media (min-width: 768px) {
    :is(.list-page, .rank-page, .today-update-page, .tag-list-page).page-shell {
        width: min(1700px, 88.541667vw);
        max-width: none;
        padding-right: 0;
        padding-left: 0;
    }

    :is(.list-hero, .rank-hero, .today-update-hero) {
        max-width: none;
        padding-top: min(43px, 2.239583vw);
        padding-bottom: min(43px, 2.239583vw);
        gap: min(24px, 1.25vw);
    }

    :is(.list-channel, .rank-channel, .today-update-channel) {
        max-width: none;
        gap: min(7px, 0.364583vw);
    }

    :is(.list-channel-label, .rank-channel-label, .today-update-channel-label) {
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    :is(.list-channel-title, .rank-channel-title, .today-update-channel-title) {
        font-size: calc(min(34px, 1.770833vw) + var(--pc-font-boost, 0px));
        line-height: min(40px, 2.083333vw);
    }

    :is(.list-channel-desc, .rank-channel-desc, .today-update-channel-desc) {
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    .list-filters {
        max-width: none;
        padding: min(17px, 0.885417vw) min(21px, 1.09375vw);
        gap: min(21px, 1.09375vw);
        border-radius: min(17px, 0.885417vw);
    }

    .filter-row {
        gap: min(9px, 0.46875vw);
    }

    .filter-label {
        width: min(47px, 2.447917vw);
        height: min(26px, 1.354167vw);
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    .filter-chip {
        padding: min(6px, 0.3125vw) min(12px, 0.625vw);
        border-radius: min(14px, 0.729167vw);
    }

    .filter-chip-text {
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    .rank-tabs {
        gap: min(9px, 0.46875vw);
    }

    .rank-tab {
        padding: min(7px, 0.364583vw) min(16px, 0.833333vw);
        border-radius: min(16px, 0.833333vw);
    }

    .rank-tab-text {
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .home-ad-icons {
        gap: min(28px, 1.458333vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .home-ad-icon {
        width: min(80px, 4.166667vw);
        gap: min(4px, 0.208333vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .home-ad-icon-cover {
        width: min(80px, 4.166667vw);
        height: min(80px, 4.166667vw);
        border-radius: min(12px, 0.625vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .home-ad-icon-name {
        font-size: calc(min(14px, 0.729167vw) + var(--pc-font-boost, 0px));
        line-height: min(20px, 1.041667vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero) .card-grid,
    .search-inner .search-grid {
        width: 100%;
        max-width: none;
        display: grid;
        grid-template-columns: repeat(6, min(266px, 13.854167vw));
        justify-content: space-between;
        align-items: start;
        column-gap: 0;
        row-gap: min(20px, 1.041667vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .poster-card {
        width: 100%;
        border-radius: min(20px, 1.041667vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .poster-cover {
        width: 100%;
        height: auto;
        aspect-ratio: 266 / 355;
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .poster-card-body {
        width: 100%;
        height: min(96px, 5vw);
        padding: min(12px, 0.625vw) min(10px, 0.520833vw);
        gap: min(6px, 0.3125vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .poster-card-title {
        font-size: calc(min(16px, 0.833333vw) + var(--pc-font-boost, 0px));
        line-height: min(22px, 1.145833vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .poster-card-subtitle {
        min-height: min(20px, 1.041667vw);
        font-size: calc(min(14px, 0.729167vw) + var(--pc-font-boost, 0px));
        line-height: min(20px, 1.041667vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) :is(.poster-card-tag, .poster-card-heat, .text-white-xs) {
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .flex-spacer {
        height: min(13.33px, 0.694271vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) :is(.episode-badge, .episode-badge-shifted) {
        right: min(12px, 0.625vw);
        bottom: min(12px, 0.625vw);
        padding: min(8px, 0.416667vw) min(12px, 0.625vw);
        border-radius: min(6px, 0.3125vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .poster-corner-badges {
        top: min(8px, 0.416667vw);
        right: min(8px, 0.416667vw);
        gap: min(4px, 0.208333vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) :is(.free-badge-large, .hot-badge-large, .community-badge) {
        padding: min(4px, 0.208333vw) min(8px, 0.416667vw);
        border-radius: min(8px, 0.416667vw);
    }

    .rank-hero .poster-rank-badge,
    .rank-hero :is(.poster-rank-bg-gold, .poster-rank-bg-silver, .poster-rank-bg-bronze, .poster-rank-bg-dark) {
        width: min(43px, 2.239583vw);
        height: min(34px, 1.770833vw);
    }

    .rank-hero .poster-rank-text {
        width: min(43px, 2.239583vw);
        height: min(35px, 1.822917vw);
        font-size: calc(min(18px, 0.9375vw) + var(--pc-font-boost, 0px));
        line-height: min(24px, 1.25vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .pagination {
        gap: min(8px, 0.416667vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .pagination-btn {
        min-width: min(36px, 1.875vw);
        height: min(32px, 1.666667vw);
        padding: 0 min(10px, 0.520833vw);
        border-radius: min(16px, 0.833333vw);
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .pagination-btn--wide {
        min-width: min(42px, 2.1875vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .pagination-btn--arrow {
        width: min(36px, 1.875vw);
        padding: 0;
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .pagination-arrow {
        width: min(14px, 0.729167vw);
        height: min(14px, 0.729167vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .pagination-ellipsis {
        font-size: calc(min(12px, 0.625vw) + var(--pc-font-boost, 0px));
        line-height: min(18px, 0.9375vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .home-banner-row {
        gap: min(20px, 1.041667vw);
    }

    :is(.list-hero, .rank-hero, .today-update-hero, .tag-list-hero, .search-inner) .home-banner-ad {
        width: calc((100% - min(20px, 1.041667vw)) / 2);
        height: min(97px, 5.052083vw);
        border-radius: min(12px, 0.625vw);
    }

    /* Other public poster lists reuse the same 1700 / six-column baseline. */
    .tag-list-hero {
        max-width: none;
        padding-top: min(30px, 1.5625vw);
        padding-bottom: min(42px, 2.1875vw);
        gap: min(18px, 0.9375vw);
    }

    .search-page {
        padding: min(30px, 1.5625vw) min(110px, 5.729167vw) min(42px, 2.1875vw);
    }

    .search-inner {
        width: min(1700px, 88.541667vw);
        max-width: none;
        gap: min(18px, 0.9375vw);
    }
}
