body.site-shell.search-layout {
    --site-footer-margin-top: min(30px, 1.5625vw);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: #fff;
    background: #0f0f0f;
}

.search-layout .site-header,
.search-layout .footer-box,
.search-layout .home-mobile-footer {
    flex-shrink: 0;
}

.search-layout .download-fab,
.search-layout .floating-action {
    display: none !important;
}

@media (min-width: 768px) {
    body.site-shell.search-layout > .footer-box {
        margin-top: var(--site-footer-margin-top);
    }
}

.search-page {
    width: 100%;
    flex: 1 0 auto;
    padding: min(30px, 1.5625vw) 60px 0;
    display: flex;
    box-sizing: border-box;
    background: #0f0f0f;
}

.search-inner {
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(30px, 1.5625vw);
    box-sizing: border-box;
}

.search-results {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(30px, 1.5625vw);
}

.mobile-search-landing,
.search-breadcrumb-search-root {
    display: none;
}

.search-breadcrumb {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: min(8px, 0.416667vw);
    overflow: hidden;
    color: rgba(255, 255, 255, 0.55);
    font: 400 clamp(14px, 0.9375vw, 18px)/1.333333 "PingFang SC", "Noto Sans SC", sans-serif;
    white-space: nowrap;
}

.search-breadcrumb-link,
.search-breadcrumb-sep,
.search-breadcrumb-current {
    color: inherit;
    text-decoration: none;
}

.search-breadcrumb-link,
.search-breadcrumb-current {
    transition: color 180ms ease;
}

.search-breadcrumb-link:hover,
.search-breadcrumb-link:focus-visible,
.search-breadcrumb-current {
    color: #ec237f;
}

.search-page-title {
    width: 100%;
    min-width: 0;
    color: #fff;
    font: 600 clamp(22px, 1.667vw, 32px)/1.35 "PingFang SC", "Noto Sans SC", sans-serif;
    overflow-wrap: anywhere;
}

.search-summary {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(30px, 1.5625vw);
    box-sizing: border-box;
}

.search-summary-title,
.search-summary-description,
.search-summary-count {
    width: 100%;
    margin: 0;
}

.search-summary-title {
    color: #fff;
    font: 600 clamp(18px, 1.25vw, 24px)/1.333333 "PingFang SC", "Noto Sans SC", sans-serif;
}

.search-summary-title span,
.search-summary-count span {
    color: #ec237f;
}

.search-summary-description,
.search-summary-count {
    color: rgba(255, 255, 255, 0.55);
    font: 400 clamp(13px, 0.833333vw, 16px)/1.375 "PingFang SC", "Noto Sans SC", sans-serif;
}

.search-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: min(10px, 0.520833vw);
    row-gap: min(30px, 1.5625vw);
    align-items: stretch;
}

.search-grid > .empty-state {
    width: 100%;
    grid-column: 1 / -1;
    justify-self: center;
    align-items: center;
}

.search-card {
    width: 100%;
    min-width: 0;
    min-height: min(519px, 27.03125vw);
    border-radius: min(18px, 0.9375vw);
    color: inherit;
    text-decoration: none;
}

.search-card .poster-cover {
    height: min(417px, 21.71875vw);
    padding: 0;
    aspect-ratio: auto;
}

.search-card .poster-card-body {
    min-height: min(102px, 5.3125vw);
    padding: min(12px, 0.625vw) min(10px, 0.520833vw);
    gap: min(6px, 0.3125vw);
    background: rgba(255, 255, 255, 0.05);
}

.search-card .poster-card-title {
    min-height: min(22px, 1.145833vw);
    color: #fff;
    font-size: clamp(13px, 0.833333vw, 16px);
    font-weight: 600;
    line-height: 1.375;
}

.search-card .poster-card-subtitle {
    min-height: min(20px, 1.041667vw);
    color: rgba(255, 255, 255, 0.55);
    font-size: clamp(12px, 0.729167vw, 14px);
    line-height: 1.428571;
}

.search-card .poster-card-tag {
    width: max-content;
    max-width: 100%;
    padding: min(2px, 0.104167vw) min(8px, 0.416667vw);
    overflow: hidden;
    color: #ec237f;
    background: rgba(255, 74, 74, 0.08);
    border: 0;
    border-radius: min(9px, 0.46875vw);
    box-sizing: border-box;
    box-shadow: inset 0 0 0 1px rgba(255, 74, 74, 0.08);
    font-size: clamp(12px, 0.729167vw, 14px);
    line-height: 1.428571;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.search-card .poster-like-badge,
.search-card .poster-card-heat {
    display: none;
}

.search-card .poster-card-spacer {
    flex: 1 1 0;
    min-width: 0;
}

.search-card .episode-badge,
.search-card .episode-badge-shifted {
    right: min(14px, 0.729167vw);
    bottom: min(14px, 0.729167vw);
    min-height: min(28px, 1.458333vw);
    height: min(28px, 1.458333vw);
    padding: min(3px, 0.15625vw) min(8px, 0.416667vw);
    border-radius: min(6px, 0.3125vw);
}

.search-card .episode-badge .text-white-xs,
.search-card .episode-badge-shifted .text-white-xs {
    color: #fff;
    font-size: clamp(12px, 0.833333vw, 16px);
    line-height: 1.375;
}

.search-inner .pagination {
    width: 100%;
    margin: 0;
}

.search-inner .pagination-btn {
    width: min(48px, 2.5vw);
    min-width: min(48px, 2.5vw);
    height: min(48px, 2.5vw);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.55);
    font-size: clamp(12px, 0.833333vw, 16px);
    line-height: 1.375;
}

.search-inner .pagination-btn--wide {
    width: min(48px, 2.5vw);
    min-width: min(48px, 2.5vw);
}

.search-inner .pagination-btn--active,
.search-inner .pagination-jump-submit {
    color: #fff;
    background: #ec237f;
}

.search-inner .pagination-arrow {
    width: min(24px, 1.25vw);
    height: min(24px, 1.25vw);
}

.search-inner .pagination-ellipsis,
.search-inner .pagination-jump-label,
.search-inner .pagination-jump-input,
.search-inner .pagination-jump-submit {
    font-size: clamp(12px, 0.833333vw, 16px);
    line-height: 1.375;
}

.search-inner .pagination-jump-input {
    width: min(72px, 3.75vw);
    height: min(48px, 2.5vw);
    border-radius: 999px;
}

.search-inner .pagination-jump-submit {
    width: min(96px, 5vw);
    height: min(48px, 2.5vw);
    border-radius: 999px;
}

.search-inner .pagination-jump-submit:hover,
.search-inner .pagination-jump-submit:focus-visible {
    background: #f04493;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .search-page {
        padding: 24px 24px 0;
    }

    .search-inner,
    .search-summary {
        gap: 24px;
    }

    .search-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px 10px;
    }

    .search-card {
        min-height: 0;
        border-radius: 14px;
    }

    .search-card .poster-card-body {
        min-height: 96px;
        padding: 10px;
        gap: 5px;
    }

    .search-card .poster-cover {
        height: auto;
        aspect-ratio: 5 / 7;
    }

    .search-card .poster-card-title,
    .search-card .poster-card-subtitle {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    body.site-shell.search-layout {
        --site-footer-margin-top: 18px;
    }

    .search-page {
        padding: 12px var(--site-shell-gutter) 0;
    }

    .search-inner {
        gap: 18px;
    }

    .search-results {
        gap: 18px;
    }

    body.is-search-landing .search-results {
        display: none;
    }

    .search-breadcrumb-search-root {
        display: inline;
    }

    .search-breadcrumb {
        gap: 8px;
        font-size: 12px;
        line-height: 18px;
    }

    .search-page-title {
        font-size: 22px;
        line-height: 30px;
    }

    .search-summary {
        gap: 12px;
    }

    .search-summary-title {
        font-size: 16px;
        line-height: 22px;
    }

    .search-summary-description,
    .search-summary-count {
        font-size: 12px;
        line-height: 18px;
    }

    .search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 7px;
        row-gap: 12px;
    }

    .search-grid > .empty-state {
        min-height: 320px;
        padding: 42px 16px 54px;
        margin: 0 auto;
        text-align: center;
    }

    .search-grid > .empty-state .empty-actions {
        width: 100%;
        justify-content: center;
    }

    .search-card {
        min-height: 0;
        border-radius: 0;
    }

    .search-card .poster-cover {
        height: auto;
        padding: 0;
        aspect-ratio: 3 / 4;
        border-radius: 12px;
    }

    .search-card .poster-card-body {
        min-height: 80px;
        padding: 8px 0;
        gap: 4px;
        background: transparent;
    }

    .search-card .poster-card-title {
        min-height: 20px;
        font-size: 14px;
        line-height: 20px;
        font-weight: 400;
    }

    .search-card .poster-card-subtitle {
        min-height: 18px;
        font-size: 12px;
        line-height: 18px;
    }

    .search-card .poster-card-tag {
        padding: 2px 8px;
        border-radius: 9px;
        font-size: 12px;
        line-height: 18px;
    }

    .search-card .episode-badge,
    .search-card .episode-badge-shifted {
        right: 8px;
        bottom: 8px;
        min-height: 24px;
        height: 24px;
        padding: 3px 8px;
        border-radius: 6px;
    }

    .search-card .episode-badge .text-white-xs,
    .search-card .episode-badge-shifted .text-white-xs {
        font-size: 12px;
        line-height: 18px;
    }

    .search-inner .pagination-jump {
        display: none;
    }

    .mobile-search-landing {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
    }

    .mobile-search-form {
        width: 100%;
        height: 46px;
        padding: 8px 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        box-sizing: border-box;
        border-radius: 36px;
        background: rgba(255, 255, 255, 0.05);
    }

    .mobile-search-input {
        min-width: 0;
        flex: 1 1 auto;
        height: 24px;
        padding: 0;
        border: 0;
        outline: 0;
        color: #fff;
        background: transparent;
        font: 400 14px/20px "PingFang SC", "Noto Sans SC", sans-serif;
        appearance: none;
    }

    .mobile-search-input::placeholder {
        color: #757575;
        opacity: 1;
    }

    .mobile-search-input::-webkit-search-cancel-button {
        display: none;
    }

    .mobile-search-submit {
        flex: 0 0 auto;
        height: 30px;
        padding: 6px 12px;
        border: 0;
        border-radius: 999px;
        color: #fff;
        background: #ec237f;
        font: 400 12px/18px "PingFang SC", "Noto Sans SC", sans-serif;
        cursor: pointer;
    }

    .mobile-search-section {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }

    .mobile-search-section[hidden],
    .mobile-search-divider[hidden] {
        display: none !important;
    }

    .mobile-search-heading {
        width: 100%;
        min-height: 22px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .mobile-search-heading h1,
    .mobile-search-heading h2 {
        margin: 0;
        color: #fff;
        font: 600 16px/22px "PingFang SC", "Noto Sans SC", sans-serif;
    }

    .mobile-search-heading button {
        padding: 0;
        border: 0;
        color: #ec237f;
        background: transparent;
        font: 400 12px/18px "PingFang SC", "Noto Sans SC", sans-serif;
        cursor: pointer;
    }

    .mobile-search-history-list {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
    }

    .mobile-search-history-tag {
        min-width: 0;
        max-width: 100%;
        padding: 7px 12px;
        overflow: hidden;
        border: 0;
        border-radius: 999px;
        color: rgba(255, 255, 255, 0.55);
        background: rgba(255, 255, 255, 0.1);
        font: 400 12px/18px "PingFang SC", "Noto Sans SC", sans-serif;
        text-overflow: ellipsis;
        white-space: nowrap;
        cursor: pointer;
    }

    .mobile-search-divider {
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.1);
    }

    .mobile-search-hot {
        gap: 8px;
    }

    .mobile-search-hot-list {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .mobile-search-hot-item {
        width: 100%;
        min-height: 46px;
        padding: 9px 0;
        display: flex;
        align-items: center;
        gap: 12px;
        border: 0;
        color: inherit;
        background: transparent;
        text-align: left;
        cursor: pointer;
    }

    .mobile-search-hot-rank {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: rgba(255, 255, 255, 0.55);
        background: rgba(255, 255, 255, 0.1);
        font: 600 14px/20px "PingFang SC", "Noto Sans SC", sans-serif;
    }

    .mobile-search-hot-item:nth-child(1) .mobile-search-hot-rank {
        color: #8f4e18;
        background: linear-gradient(225deg, #ffcd9a 0%, #e88a33 100%);
    }

    .mobile-search-hot-item:nth-child(2) .mobile-search-hot-rank {
        color: #536d82;
        background: linear-gradient(225deg, #cce9ff 0%, #8da9bf 100%);
    }

    .mobile-search-hot-item:nth-child(3) .mobile-search-hot-rank {
        color: #874728;
        background: linear-gradient(225deg, #ffbfa4 0%, #d88867 100%);
    }

    .mobile-search-hot-keyword {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        color: #fff;
        font: 400 14px/20px "PingFang SC", "Noto Sans SC", sans-serif;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-search-hot-count {
        flex: 0 0 auto;
        color: rgba(255, 255, 255, 0.55);
        font: 400 12px/18px "PingFang SC", "Noto Sans SC", sans-serif;
    }

    .mobile-search-guess {
        gap: 16px;
    }

    .mobile-search-guess-list {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

    .mobile-search-guess-card {
        width: 100%;
        min-width: 0;
        overflow: hidden;
        border-radius: 12px;
        color: inherit;
        background: rgba(255, 255, 255, 0.05);
        text-decoration: none;
    }

    .mobile-search-guess-cover {
        position: relative;
        width: 100%;
        aspect-ratio: 164 / 219;
        overflow: hidden;
        border-radius: 12px 12px 0 0;
        background: #262626;
    }

    .mobile-search-guess-cover img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .mobile-search-guess-episode {
        position: absolute;
        right: 12px;
        bottom: 12px;
        min-height: 24px;
        padding: 3px 8px;
        display: flex;
        align-items: center;
        box-sizing: border-box;
        border-radius: 6px;
        color: #fff;
        background: rgba(15, 15, 15, 0.65);
        backdrop-filter: blur(5px);
        font: 400 12px/18px "PingFang SC", "Noto Sans SC", sans-serif;
    }

    .mobile-search-guess-copy {
        min-height: 102px;
        padding: 12px 10px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        box-sizing: border-box;
    }

    .mobile-search-guess-title,
    .mobile-search-guess-desc {
        width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-search-guess-title {
        color: #fff;
        font: 600 16px/22px "PingFang SC", "Noto Sans SC", sans-serif;
    }

    .mobile-search-guess-desc {
        color: rgba(255, 255, 255, 0.55);
        font: 400 14px/20px "PingFang SC", "Noto Sans SC", sans-serif;
    }

    .mobile-search-guess-tag-row {
        min-width: 0;
        display: flex;
        align-items: center;
    }

    .mobile-search-guess-tag {
        max-width: 100%;
        padding: 2px 8px;
        overflow: hidden;
        box-sizing: border-box;
        border-radius: 9px;
        color: #ec237f;
        background: rgba(255, 74, 74, 0.08);
        font: 400 12px/18px "PingFang SC", "Noto Sans SC", sans-serif;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
