body.acv2-dialog-open { overflow: hidden !important; }
.acv2-record-bridge { position: fixed !important; width: 1px !important; height: 1px !important; left: -10000px !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; }
body #app .pageBox.activity.activity-center-v2-mounted { box-sizing: border-box !important; height: 100% !important; min-height: 0 !important; padding-bottom: 0 !important; overflow-x: hidden !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; touch-action: pan-y !important; overscroll-behavior-y: auto !important; background: #f3f7fc !important; }
body #app .pageBox.activity.activity-center-v2-mounted > .my-header,
body #app .pageBox.activity.activity-center-v2-mounted > .van-tabs { display: none !important; visibility: hidden !important; height: 0 !important; min-height: 0 !important; overflow: hidden !important; }
#activity-center-v2 { box-sizing: border-box; width: 100%; max-width: 500px; min-height: 100%; margin: 0 auto; color: #17233b; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
.acv2-hero { position: relative; box-sizing: border-box; min-height: 2.08rem; padding: .42rem .46rem .34rem; color: #fff; overflow: hidden; background: linear-gradient(135deg, #285faf 0%, #418eea 58%, #6bb8ff 100%); }
.acv2-hero::after { position: absolute; right: -.6rem; bottom: -.95rem; width: 2.6rem; height: 2.6rem; content: ""; border: .34rem solid rgba(255,255,255,.11); border-radius: 50%; }
.acv2-hero > div { position: relative; z-index: 1; }
.acv2-hero span { display: block; margin-bottom: .04rem; color: rgba(255,255,255,.72); font-size: .24rem; font-weight: 700; letter-spacing: .08em; }
.acv2-hero h1 { margin: 0; font-size: .52rem; font-weight: 750; line-height: 1.28; letter-spacing: .02em; }
.acv2-hero p { margin: .12rem 0 0; color: rgba(255,255,255,.86); font-size: .26rem; line-height: 1.45; }
.acv2-top-nav { display: flex; box-sizing: border-box; gap: .08rem; width: 100%; padding: .18rem .2rem .16rem; overflow-x: auto; white-space: nowrap; background: #fff; border-bottom: 1px solid #e4edf8; scrollbar-width: none; }
.acv2-top-nav::-webkit-scrollbar { display: none; }
.acv2-top-link { flex: 0 0 auto; min-height: .72rem; padding: 0 .28rem; color: #5b6880; font: inherit; font-size: .28rem; font-weight: 650; background: #f3f7fc; border: 1px solid transparent; border-radius: .36rem; }
.acv2-top-link.is-active { color: #1768c5; background: #eaf4ff; border-color: #c9e3ff; }
.acv2-layout { display: grid; grid-template-columns: 1.74rem minmax(0, 1fr); align-items: start; gap: .18rem; padding: .22rem .2rem calc(2rem + env(safe-area-inset-bottom)); }
.acv2-category-list { position: sticky; top: .18rem; display: flex; flex-direction: column; gap: .12rem; min-width: 0; }
.acv2-category { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; width: 100%; min-height: .9rem; padding: .16rem .18rem; color: #61708b; font: inherit; font-size: .27rem; font-weight: 650; text-align: left; background: #fff; border: 1px solid #e2ebf6; border-radius: .18rem; box-shadow: 0 .06rem .18rem rgba(35,77,130,.04); }
.acv2-category small { min-width: .4rem; color: #9aabc1; font-size: .21rem; font-weight: 700; text-align: right; }
.acv2-category.is-active { color: #1766bf; background: linear-gradient(135deg, #eef7ff, #fff); border-color: #7eb8ef; box-shadow: 0 .1rem .28rem rgba(47,129,212,.12); }
.acv2-category.is-active small { color: #2f81d4; }
.acv2-card-list { display: flex; flex-direction: column; min-width: 0; gap: .2rem; }
.acv2-card { position: relative; min-width: 0; overflow: hidden; background: #fff; border: 1px solid #e1ebf5; border-radius: .22rem; box-shadow: 0 .12rem .34rem rgba(35,74,122,.09); }
.acv2-card-hit { position: absolute; z-index: 3; inset: 0; width: 100%; padding: 0; background: transparent; border: 0; }
.acv2-card-media { position: relative; min-height: 1.62rem; overflow: hidden; background: #eef5fd; }
.acv2-card-media > img { display: block; width: 100%; height: auto; min-height: 1.62rem; object-fit: contain; background: #eef5fd; }
.acv2-image-fallback { display: none; align-items: center; justify-content: center; flex-direction: column; gap: .08rem; min-height: 1.62rem; color: #51729b; font-size: .25rem; font-weight: 700; background: #edf6ff; }
.acv2-image-fallback img { width: .56rem; height: .56rem; object-fit: contain; }
.acv2-card-media.is-image-missing > img:first-child { display: none; }
.acv2-card-media.is-image-missing .acv2-image-fallback { display: flex; }
.acv2-hot { position: absolute; top: .12rem; left: .12rem; padding: .06rem .16rem; color: #8c4d00; font-size: .21rem; font-weight: 800; background: #ffdc8b; border-radius: .22rem; box-shadow: 0 .06rem .14rem rgba(143,83,6,.16); }
.acv2-card-body { padding: .2rem .2rem .22rem; }
.acv2-card-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: .12rem; }
.acv2-card h3 { min-width: 0; margin: 0; color: #15233b; font-size: .3rem; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
.acv2-status { flex: 0 0 auto; padding: .04rem .12rem; color: #2878c7; font-size: .2rem; font-style: normal; font-weight: 750; white-space: nowrap; background: #eaf4ff; border-radius: .2rem; }
.acv2-status-ended { color: #79869b; background: #eef1f5; }
.acv2-status-upcoming { color: #9a6200; background: #fff4d9; }
.acv2-subtitle { display: -webkit-box; margin: .08rem 0 .16rem; overflow: hidden; color: #77849a; font-size: .24rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.acv2-card-meta { display: flex; align-items: center; justify-content: flex-end; gap: .12rem; color: #8d9aad; font-size: .21rem; }
.acv2-card-meta > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acv2-cta { position: relative; z-index: 4; flex: 0 0 auto; min-height: .58rem; padding: 0 .2rem; color: #fff; font: inherit; font-size: .23rem; font-weight: 750; background: linear-gradient(135deg, #2c7fd0, #4da5ed); border: 0; border-radius: .3rem; box-shadow: 0 .08rem .18rem rgba(35,127,211,.22); }
.acv2-loading,
.acv2-dialog-loading,
.acv2-empty { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: .1rem; box-sizing: border-box; min-height: 2.6rem; padding: .4rem; color: #7a879a; font-size: .27rem; text-align: center; background: #fff; border: 1px solid #e2ebf5; border-radius: .22rem; }
.acv2-empty strong { color: #35455f; font-size: .31rem; }
.acv2-empty span { color: #8794a6; font-size: .25rem; }
.acv2-dialog-backdrop { position: fixed; z-index: 10020; inset: 0; display: flex; align-items: flex-end; justify-content: center; box-sizing: border-box; padding: 12px; background: rgba(11,28,52,.5); backdrop-filter: blur(3px); }
.acv2-dialog { position: relative; display: flex; flex-direction: column; box-sizing: border-box; width: calc(100vw - 24px); max-width: 500px; max-height: min(84vh, 780px); max-height: min(84dvh, 780px); overflow: hidden; background: #f5f8fc; border: 1px solid rgba(255,255,255,.8); border-radius: .28rem .28rem .18rem .18rem; box-shadow: 0 -.12rem .48rem rgba(9,30,57,.22); }
.acv2-dialog-close { position: absolute; z-index: 2; top: .2rem; right: .2rem; display: flex; align-items: center; justify-content: center; width: .7rem; height: .7rem; padding: 0; color: #53637a; font: inherit; font-size: .48rem; line-height: 1; background: rgba(255,255,255,.92); border: 1px solid #dbe6f3; border-radius: 50%; }
.acv2-dialog-content { box-sizing: border-box; width: 100%; max-height: min(84vh, 780px); max-height: min(84dvh, 780px); padding: .3rem; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; touch-action: pan-y; overscroll-behavior: contain; }
.acv2-detail-head { padding: .14rem .92rem .24rem .08rem; border-bottom: 1px solid #dfe9f4; }
.acv2-detail-head span { display: block; color: #4588cb; font-size: .22rem; font-weight: 800; letter-spacing: .06em; }
.acv2-detail-head h2 { margin: .08rem 0 .06rem; color: #14243e; font-size: .4rem; line-height: 1.4; }
.acv2-detail-time { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .12rem; margin-top: .14rem; color: #7b889c; font-size: .24rem; line-height: 1.55; }
.acv2-detail-time b { color: #3d78b5; font-weight: 750; white-space: nowrap; }
.acv2-detail-time time { min-width: 0; overflow-wrap: anywhere; }
.acv2-detail-body { width: 100%; padding: .22rem .08rem .18rem; color: #33435b; font-size: .27rem; line-height: 1.72; overflow-wrap: anywhere; word-break: break-word; }
.acv2-detail-body * { box-sizing: border-box; }
.acv2-detail-body p,
.acv2-detail-body div:not(.acv2-table-scroll) { width: auto !important; max-width: 100% !important; height: auto !important; margin: 0 0 .16rem; color: #33435b; font: inherit; line-height: 1.72; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.acv2-detail-body .acv2-section-title { margin: .3rem 0 .14rem; padding-left: .14rem; color: #245f9d; font-size: .29rem; font-weight: 800; line-height: 1.45; border-left: 3px solid #4a98df; }
.acv2-detail-body .acv2-section-title:first-child { margin-top: .06rem; }
.acv2-detail-body ul,
.acv2-detail-body ol { max-width: 100%; margin: .12rem 0 .2rem; padding-left: .46rem; }
.acv2-detail-body li { margin: .06rem 0; }
.acv2-detail-body img { display: block; width: auto !important; max-width: 100% !important; height: auto !important; margin: .16rem auto; border-radius: .12rem; }
.acv2-detail-body .acv2-table-scroll { width: 100%; max-width: 100%; margin: .16rem 0 .22rem; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; border: 1px solid #d8e5f2; border-radius: .1rem; }
.acv2-detail-body table { display: table; width: max-content !important; min-width: 100%; max-width: none !important; height: auto !important; margin: 0; table-layout: auto; border-collapse: collapse; color: #33435b; font-size: .23rem; background: #fff; }
.acv2-detail-body td,
.acv2-detail-body th { min-width: 1.35rem; padding: .12rem; line-height: 1.45; text-align: center; vertical-align: middle; white-space: normal; overflow-wrap: anywhere; border: 1px solid #d8e5f2; }
.acv2-detail-body th { color: #285e91; font-weight: 800; background: #edf6ff; }
.acv2-detail-body a { color: #2678bf; overflow-wrap: anywhere; }
.acv2-detail-body .promo-apply-action { margin: .28rem 0; text-align: center; }
.acv2-detail-body .promo-apply-button,
.acv2-detail-body .promo-apply-fallback { display: inline-flex; align-items: center; justify-content: center; min-height: .72rem; padding: 0 .4rem; color: #fff !important; font-weight: 750; text-decoration: none; background: #347fce; border-radius: .38rem; }
.acv2-detail-body .promo-apply-fallback.is-disabled { color: #7b8797 !important; background: #e8edf3; }
.acv2-record-list { display: flex; flex-direction: column; gap: .18rem; padding: .24rem 0 .1rem; }
.acv2-record { padding: .24rem; background: #fff; border: 1px solid #e0eaf5; border-radius: .2rem; box-shadow: 0 .06rem .18rem rgba(34,74,124,.05); }
.acv2-record header { display: flex; align-items: flex-start; justify-content: space-between; gap: .16rem; }
.acv2-record header span { color: #4b8dd0; font-size: .21rem; font-weight: 800; }
.acv2-record h3 { margin: .04rem 0 0; color: #1d2d45; font-size: .29rem; line-height: 1.45; }
.acv2-record header em { flex: 0 0 auto; padding: .05rem .13rem; font-size: .21rem; font-style: normal; font-weight: 750; border-radius: .22rem; }
.acv2-record header em.is-success { color: #178150; background: #e2f7ed; }
.acv2-record header em.is-pending { color: #956100; background: #fff1cf; }
.acv2-record header em.is-failed { color: #b34242; background: #fee9e9; }
.acv2-record-meta { display: flex; align-items: center; justify-content: space-between; gap: .16rem; margin-top: .18rem; color: #8693a6; font-size: .23rem; }
.acv2-record-meta b { color: #e07b20; font-size: .27rem; }
.acv2-record p { margin: .14rem 0 0; color: #69778b; font-size: .23rem; }
.acv2-login-required { padding: .78rem .28rem .62rem; text-align: center; }
.acv2-login-required h2 { margin: 0; color: #1d2d45; font-size: .4rem; }
.acv2-login-required p { margin: .18rem auto .36rem; color: #77869a; font-size: .26rem; line-height: 1.6; }
.acv2-primary { min-width: 2.5rem; min-height: .78rem; padding: 0 .4rem; color: #fff; font: inherit; font-size: .28rem; font-weight: 750; background: linear-gradient(135deg, #2d79c7, #53a9ed); border: 0; border-radius: .4rem; }
@media (min-width: 520px) {
    .acv2-dialog-backdrop { align-items: center; }
    .acv2-dialog { border-radius: .28rem; }
}
@media (max-width: 360px) {
    .acv2-layout { grid-template-columns: 1.52rem minmax(0, 1fr); gap: .14rem; padding-right: .14rem; padding-left: .14rem; }
    .acv2-category { padding: .14rem; font-size: .25rem; }
    .acv2-card-body { padding: .17rem; }
}
