/* 鐏炴洜銇氶崘鍛啇閻ㄥ垻ss */
@font-face {
    font-family: 'MiSans-Bold';
    /* 缂備胶鍠嶇粩瀵糕偓娑欍仦缂嶅鈧鍩栧Λ宀勫触瀹ュ泦鐐烘晬瀹€鍕ㄥ亾濮樺磭绠杦eight闁告牕鎼崹?*/
    src: url('/fonts/subset/MiSans-Bold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MiSans-Demibold';
    /* 缂備胶鍠嶇粩瀵糕偓娑欍仦缂嶅鈧鍩栧Λ宀勫触瀹ュ泦鐐烘晬瀹€鍕ㄥ亾濮樺磭绠杦eight闁告牕鎼崹?*/
    src: url('/fonts/subset/MiSans-Demibold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MiSans-Medium';
    /* 閻庢稒銇炵紞瀣触瀹ュ泦鐐烘晬鐏炶姤鍊电紓渚囧弨閻ㄧ喖鎮介妸銈呪枏闁?*/
    src: url('/fonts/subset/MiSans-Medium.woff2') format('woff2');
    /* 閻庢稒銇炵紞瀣棘閸ワ附顐介悹渚灠缁?*/
    font-weight: normal;
    font-style: normal;
    font-display: swap;
    /* 濞村吋锚鐎佃尙鈧稒銇炵紞瀣礉閻樼儤绁板ù锝嗘崌閻?*/
}

@font-face {
    font-family: 'MiSans-Light';
    /* 閻庢稒銇炵紞瀣触瀹ュ泦鐐烘晬鐏炶姤鍊电紓渚囧弨閻ㄧ喖鎮介妸銈呪枏闁?*/
    src: url('/fonts/subset/MiSans-Light.woff2') format('woff2');
    /* 閻庢稒銇炵紞瀣棘閸ワ附顐介悹渚灠缁?*/
    font-weight: normal;
    font-style: normal;
    font-display: swap;
    /* 濞村吋锚鐎佃尙鈧稒銇炵紞瀣礉閻樼儤绁板ù锝嗘崌閻?*/
}

/* 闁糕晞娅ｉ、鍛存煂瀹ュ洨鏋?*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background-color: #f8f8f8;
}

/* 濞戞捁顕ч鎰板闯椤帞绐楅悗纭呮鐎?93.75% */
.display-container {
    width: 93.75%;
    margin: 0 auto;
    padding: 0px 0;
}

/* 闁告帒妫涚悮顐﹀礌閸濆嫭鍋ラ梻鍌滎棎缁?*/
.display-section {
    margin-bottom: 0;
    padding: 48px 0;
    background-color: var(--display-section-background, #f8f8f8);
    box-shadow: 0 0 0 100vmax var(--display-section-background, #f8f8f8);
    clip-path: inset(0 -100vmax);
}
 
/* 闁告帒妫涚悮顐ｅ緞瑜庨悥锝嗭紣濡崵澹夌€?*/
.display-category-title {
    /* 閻犲鍟伴弫銈夋嚊椤忓嫮鏆板☉鏂款槸閻⊙勬媴?*/
    font-family: 'MiSans-Demibold', sans-serif;
    /* 閻庢稒顨呰ぐ?*/
    font-size: 36px;
    margin-bottom: 20px;
    overflow: hidden;
}

.display-category-title .char {
    display: inline-block;
}

/* 缂傚啯鍨堕悧鍝ユ暜閸愩劎婀伴柨娑欏哺缁垳鎷?440px濞寸姰鍎扮粭?闁告帗顨愮槐婵嬪籍閻樼粯锛熼悹?*/
.display-grid {
    display: grid;
    grid-template-columns: repeat(var(--display-columns-pc, 3), minmax(0, 1fr));
    gap: 0;
}

/* 闁告娲戦柌婊呬沪閺囩姰浠涘銈囨嚀瀹曢亶鎮?- 缂佸顭峰▍搴ｇ矓鐠囨彃袟缂佹棏鍨甸幗鎴︽嚌閼碱剙浠柛鎴濐煼閻濐喗绂?*/
.display-card {
    position: relative;
    aspect-ratio: var(--display-cover-ratio-pc, 3 / 4);
    overflow: hidden;
    cursor: pointer;
    background: #e0e0e0;
    opacity: 0;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    contain: layout paint;
    /* 闁哄秶顭堢缓楣冩晬濮橀硸娲ｉ柣顫妿浜涢柛鏂诲妿椤忣剟鎮欓悷鏉挎瘖闁藉啯绻嗘竟濠冾殗濡懓鐦?*/
}

.display-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
}

/* 闁诡噮鍓氱拠鐐烘焼椤旀儳鍏婇悘?*/
.display-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    pointer-events: none;
    will-change: opacity;
}

/* 閻庢稒淇烘晶鐘诲闯閵娾晛纾?*/
.display-text-wrapper {
    overflow: hidden;
}

/* 閻庢稒銇炵紞瀣礆閹佃姤锛旈柨鐔绘閺嗙喖鎮ч崼鐔封枏閿?*/
.display-brand,
.display-title {
    color: #fff;
    overflow: hidden;
}

.display-brand {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px;
}

.display-title {
    font-size: 24px;
    font-weight: 700;
}

.display-brand .char,
.display-title .char {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    will-change: transform, opacity;
}

/* Hover 娴溿倓绨?*/
.display-card:hover .display-overlay {
    opacity: 1;
}

.display-card:hover img {
    transform: scale(1.05);
}

/* 缁夎濮╃粩顖涚负濞茬粯鐗卞?*/
.display-card.active .display-overlay {
    opacity: 1;
}

.display-detail-open {
    overflow: hidden;
}

.display-detail-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: none;
    opacity: 0;
    transition: opacity 0.15s cubic-bezier(0.22, 0.01, 0.05, 1.00);
}

.display-detail-backdrop.is-visible {
    display: block;
}

.display-detail-backdrop::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    opacity: 0;
    transition: opacity 0.52s cubic-bezier(0.22, 0.01, 0.05, 1.00);
}

.display-detail-backdrop.is-active {
    opacity: 1;
}

.display-detail-backdrop.is-active::before {
    opacity: 1;
}

.display-detail-meta {
    position: absolute;
    left: 4.5vw;
    bottom: 4.5vw;
    z-index: 1;
    max-width: 32vw;
    color: #101010;
}

.display-detail-meta-brand {
    font-family: 'MiSans-Medium', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 8px;
}

.display-detail-meta-title {
    font-family: 'MiSans-Bold', sans-serif;
    font-size: 46px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.display-detail-mobile-bar {
    display: contents;
}

.display-detail-close {
    display: none;
}

.display-detail-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 40vw;
    min-width: 360px;
    height: 100%;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: -24px 0 60px rgba(0, 0, 0, 0.12);
    transform: translateX(100%);
    transition: transform 0.42s cubic-bezier(0.23, 1, 0.32, 1);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.display-detail-panel::-webkit-scrollbar {
    display: none;
}

.display-detail-backdrop.is-active .display-detail-panel {
    transform: translateX(0);
}

.display-detail-backdrop.is-video .display-detail-panel {
    top: 50%;
    right: 0;
    left: auto;
    width: auto;
    min-width: 0;
    max-width: calc(100vw - 48px);
    height: auto;
    max-height: 100%;
    background: transparent;
    box-shadow: none;
    transform: translate(100%, -50%);
    overflow: visible;
}

.display-detail-backdrop.is-video.is-active .display-detail-panel {
    transform: translate(0, -50%);
}

.display-detail-panel-inner {
    min-height: 100%;
}

.display-detail-panel-inner.is-pdf {
    height: 100%;
}

.display-detail-panel-inner.is-video {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.display-detail-backdrop.is-video .display-detail-content {
    width: auto;
    padding: 0;
}

.display-detail-video-wrap {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    align-self: center;
    overflow: hidden;
}

.display-detail-video {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 80vh;
    aspect-ratio: auto;
    object-fit: contain;
}

.display-detail-content {
    padding: 0px 0px 0px;
    color: #111;
    font-family: 'MiSans-Light', sans-serif;
    font-size: 16px;
    line-height: 1.9;
}

.display-detail-content h1,
.display-detail-content h2,
.display-detail-content h3,
.display-detail-content h4,
.display-detail-content h5,
.display-detail-content h6 {
    color: #111;
    font-family: 'MiSans-Bold', sans-serif;
    line-height: 1.35;
    margin-bottom: 18px;
}

.display-detail-content h1 {
    font-size: 30px;
    margin-top: 0;
}

.display-detail-content h2 {
    font-size: 22px;
    margin-top: 32px;
}

.display-detail-content h3,
.display-detail-content h4,
.display-detail-content h5,
.display-detail-content h6 {
    font-size: 18px;
    margin-top: 24px;
}

.display-detail-content p,
.display-detail-content ul {
    margin: 0 0 18px;
}

.display-detail-content ul {
    padding-left: 20px;
}

.display-detail-content li {
    margin-bottom: 10px;
}

.display-detail-content strong {
    font-family: 'MiSans-Demibold', sans-serif;
}

.display-detail-content code {
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.05);
    font-family: 'SourceHanMono', monospace;
    font-size: 0.92em;
}

.display-detail-content a {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.display-detail-media {
    margin: 0 0 24px;
}

.display-detail-media img,
.display-detail-media video {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0px;
    background: rgba(0, 0, 0, 0.06);
    object-fit: cover;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
}

.display-detail-media figcaption {
    margin-top: 10px;
    color: rgba(17, 17, 17, 0.68);
    font-size: 13px;
    line-height: 1.7;
}

.display-detail-pdf {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background: #f3f3f3;
}

.display-detail-pdf-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    border: 0;
    background: #fff;
    -webkit-touch-callout: none;
    user-select: none;
}

/* 1440px 娴犮儰绗?閳?2閸?*/
@media (max-width: 1439px) and (min-width: 720px) {
    .display-detail-content {
        padding: 0;
    }

    .display-detail-meta-title {
        font-size: 36px;
    }
}

/* 720px 娴犮儰绗?閳?1閸?*/
@media (max-width: 719px) {
    .display-section {
        padding: 28px 0;
    }

    .display-grid {
        grid-template-columns: repeat(var(--display-columns-mobile, 2), minmax(0, 1fr));
    }

    .display-card {
        aspect-ratio: var(--display-cover-ratio-mobile, 3 / 4);
    }

    .display-card img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .display-overlay {
        padding: 7px;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0) 33%);
        opacity: 1;
    }

    .display-brand {
        font-size: 8px;
        line-height: 1.25;
        margin-bottom: 2px;
    }

    .display-title {
        font-size: 11px;
        line-height: 1.25;
    }

    .display-brand .char,
    .display-title .char {
        opacity: 1 !important;
        transform: none !important;
    }

    .display-category-title {
        font-size: 20px;
    }

    .display-detail-meta {
        position: static;
        flex: 1;
        min-width: 0;
        padding: 0 20px;
        max-width: none;
    }

    .display-detail-meta-title {
        font-size: 24px;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        white-space: nowrap;
    }

    .display-detail-meta-brand {
        margin-bottom: -4px;
    }

    .display-detail-panel {
        bottom: 72px;
        width: 100vw;
        min-width: 0;
        height: calc(100% - 72px);
    }

    /* Mobile video details use the full content area above the fixed title bar. */
    .display-detail-backdrop.is-video .display-detail-panel {
        top: 0;
        right: 0;
        bottom: 72px;
        left: 0;
        width: 100vw;
        max-width: none;
        height: calc(100% - 72px);
        max-height: none;
        transform: translateX(100%);
        overflow: hidden;
    }

    .display-detail-backdrop.is-video.is-active .display-detail-panel {
        transform: translateX(0);
    }

    .display-detail-backdrop.is-video .display-detail-panel-inner,
    .display-detail-backdrop.is-video .display-detail-content,
    .display-detail-video-wrap {
        width: 100%;
        height: 100%;
    }

    .display-detail-backdrop.is-video .display-detail-panel-inner {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .display-detail-backdrop.is-video .display-detail-video-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        max-width: none;
        margin: 0;
    }

    .display-detail-backdrop.is-video .display-detail-video {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    .display-detail-mobile-bar {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        height: 72px;
        background: #fff;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.1);
    }

    .display-detail-close {
        position: relative;
        display: block;
        flex: 0 0 72px;
        width: 72px;
        height: 72px;
        border: 0;
        padding: 0;
        background: #f5d742;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
    }

    .display-detail-close:focus,
    .display-detail-close:active {
        outline: none;
        background: #f5d742;
    }

    .display-detail-close svg {
        display: block;
        width: 50px;
        height: 50px;
        margin: 0 auto;
    }

    .display-detail-meta {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .display-detail-content {
        padding: 0;
    }

    .display-detail-pdf,
    .display-detail-pdf-frame {
        min-height: calc(100dvh - 72px);
    }
}
