    .vip-modal-mask {
        position: fixed;
        inset: 0;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 32px 16px;
        background: rgba(17, 24, 39, .5);
        z-index: 3200;
    }
    .vip-modal-mask.is-open {
        display: flex;
    }
    .vip-modal {
        width: 700px;
        max-width: calc(100vw - 32px);
        max-height: calc(100vh - 64px);
        border-radius: 18px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 20px 60px rgba(15, 23, 42, .24);
    }
    .ant-modal-content,
    .ant-modal-body,
    .vip-content {
        height: 100%;
    }
    .ant-modal-body {
        padding: 0;
        background: #fff;
        overflow-y: auto;
    }
    .vip-head {
        position: relative;
        min-height: 92px;
        padding: 0 36px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background:
    radial-gradient(circle at 52% 106%, rgba(255, 255, 255, .10) 0, rgba(255, 255, 255, 0) 30%),
    radial-gradient(circle at 50% 118%, rgba(255, 255, 255, .12) 0, rgba(255, 255, 255, 0) 18%),
    linear-gradient(180deg, #F5C04A 0%, #FFD978 100%);
    }
    .vip-head::before,
    .vip-head::after {
        content: '';
        position: absolute;
        pointer-events: none;
    }
    .vip-head::before {
        left: 156px;
        right: 56px;
        top: 6px;
        bottom: 8px;
        background:
            radial-gradient(ellipse at 35% 42%, rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, 0) 48%),
            radial-gradient(ellipse at 56% 84%, rgba(255, 255, 255, .13) 0, rgba(255, 255, 255, 0) 37%);
        opacity: .9;
    }
    .vip-head::after {
        left: 176px;
        right: 76px;
        top: 12px;
        bottom: 4px;
        background:
            radial-gradient(ellipse at 32% 68%, rgba(255, 255, 255, .11) 0, rgba(255, 255, 255, 0) 40%),
            radial-gradient(ellipse at 60% 30%, rgba(255, 255, 255, .08) 0, rgba(255, 255, 255, 0) 34%);
    }
    .vip-head .info {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
    }
    .vip-head .avatar {
        width: 56px;
        margin-right: 18px;
        flex-shrink: 0;
    }
    .vip-head .avatar span {
        display: block;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        overflow: hidden;
        background: rgba(255, 255, 255, .76);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32);
    }
    .vip-head .avatar img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .vip-head .user {
        color: #fff;
    }
    .vip-head .user p {
        margin: 0;
        font-size: 18px;
        line-height: 26px;
        font-weight: 700;
        letter-spacing: .2px;
    }
    .vip-head .user span {
        display: block;
        margin-top: 4px;
        font-size: 13px;
        line-height: 20px;
        color: rgba(255, 255, 255, .96);
    }
    .vip-head-note {
        display: none;
    }
    .vip-head .close {
        position: relative;
        z-index: 1;
        width: 32px;
        height: 32px;
        padding: 0;
        border: none;
        background: transparent;
        cursor: pointer;
    }
    .vip-head .close::before,
    .vip-head .close::after {
        content: '';
        position: absolute;
        left: 6px;
        top: 15px;
        width: 20px;
        height: 3px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .95);
    }
    .vip-head .close::before {
        transform: rotate(45deg);
    }
    .vip-head .close::after {
        transform: rotate(-45deg);
    }
    .product-content {
        padding: 24px 38px 30px;
        background: #fff;
    }
    .vip-plan-view.is-hidden,
    .vip-payment-view {
        display: none;
    }
    .vip-payment-view.is-active {
        display: block;
    }
    .product-content .list {
        display: flex;
        gap: 16px;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .product-content .list li {
        position: relative;
        flex: 1 1 0;
        min-width: 0;
        min-height: 150px;
        padding: 24px 14px 18px;
        border: 1px solid #f1d398;
        border-radius: 14px;
        background: #fff;
        box-sizing: border-box;
        cursor: pointer;
        transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
    }
    .product-content .list li:hover {
        transform: translateY(-1px);
    }
    .product-content .list li.selected {
        background: linear-gradient(180deg, #FFE092 0%, #FFEFC7 100%);
        border: 1px solid #FFCE79;
    }
    .product-content .list li .recommend {
        position: absolute;
        left: -1px;
        top: -14px;
        min-width: 108px;
        height: 28px;
        padding: 0 14px;
        border-radius: 8px 8px 8px 3px;
        background: linear-gradient(180deg, #ff7d38 0%, #f05b30 100%);
        color: #fff;
        font-size: 13px;
        line-height: 28px;
        font-weight: 700;
        white-space: nowrap;
        box-sizing: border-box;
    }
    .product-content .list li .suit_name {
        text-align: center;
        font-size: 18px;
        line-height: 26px;
        color: #1d1e25;
        font-weight: 700;
    }
    .product-content .list li .price {
        margin-top: 18px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        color: #99611b;
        font-weight: 700;
        line-height: 1;
    }
    .product-content .list li .price .currency {
        margin-right: 2px;
        font-size: 18px;
        line-height: 30px;
    }
    .product-content .list li .price b {
        font-size: 34px;
        line-height: 1;
        font-weight: 700;
    }
    .product-content .list li .price .unit {
        margin-left: 2px;
        margin-bottom: 2px;
        font-size: 18px;
        line-height: 24px;
    }
    .product-content .list li .origin_price {
        margin-top: 18px;
        text-align: center;
        font-size: 16px;
        line-height: 22px;
        color: #b9bfce;
        text-decoration: line-through;
    }
    .tips {
        margin-top: 14px;
        min-height: 48px;
        padding: 0 18px;
        display: flex;
        align-items: center;
        border-radius: 6px;
        background: linear-gradient(90deg, #fbf3de 0%, #fff8e7 100%);
    }
    .tips p {
        margin: 0;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0;
        font-size: 16px;
        line-height: 24px;
        color: #1f1f1f;
    }
    .tips-icon {
        position: relative;
        width: 18px;
        height: 18px;
        margin-right: 12px;
        flex-shrink: 0;
    }
    .tips-icon::before,
    .tips-icon::after {
        content: '';
        position: absolute;
        background: #9b5f14;
        border-radius: 4px;
    }
    .tips-icon::before {
        left: 0;
        top: 5px;
        width: 9px;
        height: 9px;
        box-shadow: 9px -5px 0 #9b5f14;
    }
    .tips-icon::after {
        right: 0;
        bottom: 0;
        width: 9px;
        height: 9px;
        clip-path: polygon(0 48%, 52% 0, 100% 48%, 76% 48%, 76% 100%, 28% 100%, 28% 48%);
    }
    .tips .tips-prefix {
        margin-right: 6px;
    }
    .tips .tips-count {
        color: #f1653b;
    }
    .vip-pay-method-grid {
        display: none;
    }
    .notice {
        margin-top: 18px;
        color: #1f1f1f;
    }
    .notice .title {
        font-size: 16px;
        line-height: 24px;
        font-weight: 700;
    }
    .notice p {
        margin: 8px 0 0;
        font-size: 14px;
        line-height: 1.55;
        color: #1f1f1f;
    }
    .buy-box {
        margin-top: 32px;
        display: flex;
        align-items: center;
        gap: 16px;
        flex-wrap: wrap;
    }
    .buyNow {
        width: 218px;
        height: 58px;
        border: none;
        border-radius: 8px;
        background: linear-gradient(180deg, #fbe294 0%, #f7d978 100%);
        color: #98601b;
        font-size: 18px;
        line-height: 58px;
        font-weight: 700;
        text-align: center;
        cursor: pointer;
        box-shadow: none;
    }
    .buyNow:disabled {
        opacity: .7;
        cursor: not-allowed;
    }
    .buy-box span {
        font-size: 14px;
        line-height: 22px;
        color: #6f7683;
    }
    .agreement {
        margin-top: 12px;
        font-size: 14px;
        line-height: 20px;
        color: #afb4bd;
    }
    .agreement a {
        color: #8f949d;
    }
    .vip-modal-mask.is-payment-mode .vip-modal {
        width: 748px;
        border-radius: 12px;
    }
    .vip-modal-mask.is-payment-mode .vip-head {
        display: none;
    }
    .vip-modal-mask.is-payment-mode .product-content {
        padding: 0;
    }
    .vip-modal-mask.is-payment-mode .ant-modal-body {
        overflow: hidden;
    }
    .vip-payment-shell {
        position: relative;
    }
    .vip-payment-layout {
        display: grid;
        grid-template-columns: 374px 374px;
        min-height: 480px;
        background: #fff;
    }
    .vip-payment-left {
        padding: 92px 28px 34px;
        background: #fff;
    }
    .vip-payment-right {
        position: relative;
        padding: 46px 28px 30px;
        background: #fff7f4;
        text-align: center;
    }
    .vip-payment-close {
        position: absolute;
        right: 18px;
        top: 14px;
        width: 22px;
        height: 22px;
        padding: 0;
        border: none;
        background: transparent;
        cursor: pointer;
    }
    .vip-payment-close::before,
    .vip-payment-close::after {
        content: '';
        position: absolute;
        left: 2px;
        top: 10px;
        width: 18px;
        height: 2px;
        background: #8f8a87;
        border-radius: 999px;
    }
    .vip-payment-close::before {
        transform: rotate(45deg);
    }
    .vip-payment-close::after {
        transform: rotate(-45deg);
    }
    .vip-payment-avatar-wrap {
        width: 96px;
        height: 96px;
        margin: 0 auto;
        border-radius: 50%;
        overflow: hidden;
        background: #cce7ff;
        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .03);
    }
    .vip-payment-avatar-wrap img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .vip-payment-account {
        margin: 24px 0 0;
        text-align: center;
        font-size: 15px;
        line-height: 22px;
        color: #646464;
    }
    .vip-payment-account strong {
        font-weight: 400;
        color: #4f4f4f;
    }
    .vip-payment-account-source {
        color: #747474;
    }
    .vip-payment-order-card {
        margin-top: 56px;
        padding: 16px 18px;
        border-radius: 6px;
        background: #f6f6f6;
    }
    .vip-payment-order-line + .vip-payment-order-line {
        margin-top: 10px;
    }
    .vip-payment-order-label,
    .vip-payment-order-value {
        display: inline;
        font-size: 15px;
        line-height: 28px;
        color: #666;
    }
    .vip-payment-order-value {
        color: #555;
        word-break: break-all;
    }
    .vip-payment-amount {
        margin: 0;
        font-size: 40px;
        line-height: 48px;
        font-weight: 700;
        color: #ff5b3f;
    }
    .vip-payment-amount-label {
        margin-top: 8px;
        font-size: 16px;
        line-height: 24px;
        color: #353535;
    }
    .vip-qr-box {
        width: 164px;
        height: 164px;
        margin: 20px auto 0;
        padding: 8px;
        background: #fff;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, .03);
    }
    .vip-qr-box img {
        width: 148px;
        height: 148px;
        display: block;
        margin: 0 auto;
        object-fit: contain;
    }
    .vip-payment-scan-tip {
        margin: 16px 0 0;
        font-size: 14px;
        line-height: 22px;
        color: #555;
    }
    .vip-payment-icon-row {
        margin-top: 18px;
        display: flex;
        justify-content: center;
        gap: 18px;
    }
    .vip-payment-channel-icon {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 17px;
        font-weight: 700;
        color: #fff;
        opacity: .42;
        transform: scale(.96);
        transition: opacity .18s ease, transform .18s ease;
    }
    .vip-payment-channel-icon.is-active {
        opacity: 1;
        transform: scale(1);
    }
    .vip-payment-channel-icon.is-alipay {
        background: #1590df;
    }
    .vip-payment-channel-icon.is-wechat {
        background: #49be53;
    }
    .vip-payment-webpay {
        margin-top: 40px;
        min-height: 22px;
        font-size: 14px;
        line-height: 22px;
        color: #434343;
    }
    .vip-payment-webpay.is-hidden {
        visibility: hidden;
    }
    .vip-payment-webpay a {
        color: #0b70ff;
        text-decoration: none;
    }
    .vip-payment-status-line {
        margin-top: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }
    .vip-payment-status {
        display: inline-block;
        font-size: 13px;
        line-height: 20px;
        color: #7a6c56;
    }
    .vip-payment-status.is-success {
        color: #15753c;
    }
    .vip-payment-status.is-expired {
        color: #c34232;
    }
    .vip-payment-expire {
        font-size: 13px;
        line-height: 20px;
        color: #8e8b87;
    }
    .vip-payment-expire em {
        font-style: normal;
        color: #66615c;
    }
    .vip-payment-actions {
        margin-top: 16px;
        display: flex;
        justify-content: center;
        gap: 12px;
    }
    .vip-secondary-btn {
        min-width: 96px;
        height: 34px;
        padding: 0 16px;
        border: 1px solid #ead2bf;
        border-radius: 4px;
        background: rgba(255, 255, 255, .85);
        color: #8e6245;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
    }
    .vip-secondary-btn:disabled {
        opacity: .7;
        cursor: not-allowed;
    }
    @media (max-width: 860px) {
        .vip-modal {
            width: 100%;
            max-height: calc(100vh - 24px);
        }
        .vip-modal-mask.is-payment-mode .vip-modal {
            width: 100%;
        }
        .vip-head {
            padding: 22px 24px;
            min-height: 132px;
        }
        .vip-head .avatar {
            margin-right: 18px;
        }
        .vip-head .avatar,
        .vip-head .avatar span {
            width: 60px;
            height: 60px;
        }
        .vip-head .user p {
            font-size: 20px;
            line-height: 28px;
        }
        .vip-head .user span {
            margin-top: 10px;
            font-size: 17px;
            line-height: 24px;
        }
        .product-content {
            padding: 24px 22px 30px;
        }
        .product-content .list {
            flex-direction: column;
            gap: 18px;
        }
        .tips p,
        .notice .title {
            font-size: 20px;
            line-height: 30px;
        }
        .notice p {
            font-size: 18px;
        }
        .buy-box {
            margin-top: 36px;
        }
        .buyNow {
            width: 100%;
            max-width: 360px;
        }
        .vip-payment-layout {
            grid-template-columns: 1fr;
            min-height: 0;
        }
        .vip-payment-left,
        .vip-payment-right {
            padding: 28px 22px;
        }
        .vip-payment-order-card {
            margin-top: 28px;
        }
        .vip-payment-webpay {
            margin-top: 26px;
        }
    }
