.topNav .van-nav-bar .van-icon{font-size:.42rem}.topNav .van-nav-bar__title,.topNav .van-nav-bar .van-icon{color:var(--txtColor)}.topNav [class*=van-hairline]::after{border:none}

.customer-service-badge[data-v-7ec129de] {
  position: absolute;
  top: -0.18rem;
  right: -0.34rem;
  z-index: 2;
  min-width: 0.28rem;
  height: 0.28rem;
  padding: 0 0.07rem;
  border-radius: 0.2rem;
  color: #fff;
  background: #ff3b30;
  box-sizing: border-box;
  box-shadow: 0 0.04rem 0.12rem rgba(255, 59, 48, 0.35);
  font-size: 0.19rem;
  font-weight: 700;
  line-height: 0.28rem;
  text-align: center;
  pointer-events: none;
}
.customer-service-badge--dot[data-v-7ec129de] {
  top: -0.1rem;
  right: -0.1rem;
  min-width: 0;
  width: 0.16rem;
  height: 0.16rem;
  padding: 0;
  border: 0.03rem solid #fff;
  border-radius: 50%;
}


.layout--ordinary-tabbar[data-v-51df4406] {
  padding-bottom: calc(50px + constant(safe-area-inset-bottom));
  padding-bottom: calc(50px + env(safe-area-inset-bottom, 0px));
}
.layout--target-home[data-v-51df4406] {
  width: 100%;
  height: 100vh;
  min-height: 0;
  padding-bottom: 0 !important;
  overflow: hidden;
  box-sizing: border-box;
}
.van-tabbar-item--active[data-v-51df4406] {
  color: var(--bg1);
  font-weight: 700;
  background: transparent;
}
.van-tabbar[data-v-51df4406] {
  z-index: 999;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 0.28rem 0.28rem 0 0;
  box-shadow: 0 -0.08rem 0.28rem rgba(110, 64, 28, 0.12);
  overflow: visible;
  border-top: 1px solid rgba(255, 98, 25, 0.08);
}
.van-tabbar--fixed[data-v-51df4406] {
  height: 72px;
  padding: 0.08rem 0.08rem 0.04rem;
  box-sizing: border-box;
  line-height: 1;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(8px);
}
.van-tabbar-item[data-v-51df4406] {
  min-width: 0;
  font-size: 0.21rem;
  line-height: 1;
  color: #333333;
}
.tabbar-icon-wrap[data-v-51df4406] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.58rem;
  height: 0.46rem;
  margin: 0 auto 0.03rem;
  border-radius: 0.28rem;
  color: #333333;
  transition: background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease,
    transform 0.16s ease;
}
.tabbar-icon-wrap .tabbar-message-badge[data-v-51df4406] {
  top: -0.08rem;
  right: -0.12rem;
}
.tabbar-icon-wrap.active[data-v-51df4406] {
  color: #ffffff;
  background: linear-gradient(to right, var(--bg1), var(--bg2));
  box-shadow: 0 0.08rem 0.16rem rgba(255, 128, 42, 0.25);
  transform: translateY(-0.03rem);
}
.tabbar-icon[data-v-51df4406] {
  display: block;
  font-size: 0.42rem;
  line-height: 1;
}
.shop-tabbar .tabbar-icon-wrap[data-v-51df4406] {
  position: relative;
  width: 0.56rem;
  height: 0.42rem;
  margin-bottom: 0.03rem;
  border: 0;
  border-radius: 0;
  color: #2f3133;
  background: transparent;
  box-shadow: none;
}
.shop-tabbar .tabbar-icon-wrap.active[data-v-51df4406] {
  color: var(--bg1);
  background: transparent;
  box-shadow: none;
  transform: translateY(-0.02rem);
}
.shop-tabbar .tabbar-icon[data-v-51df4406] {
  position: relative;
  font-size: 0.43rem;
}
.shop-tabbar .tabbar-icon-wrap.active .tabbar-icon[data-v-51df4406] {
  text-shadow: none;
}
.shop-tabbar .van-tabbar-item--active .tabbar-label[data-v-51df4406] {
  color: var(--bg1);
}
.shop-tabbar.van-tabbar[data-v-51df4406] {
  height: 50px;
  /* Target footer uses the full 500px canvas: three 1/3 hit areas. */
  padding: 2px 0 1px;
  border-top: 1px solid #eeeeee;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}
.shop-tabbar .van-tabbar-item[data-v-51df4406] {
  color: #222222;
  font-size: 12px;
}
.shop-tabbar .tabbar-icon-wrap[data-v-51df4406],
.shop-tabbar .tabbar-icon-wrap.active[data-v-51df4406] {
  width: 26px;
  height: 25px;
  margin-bottom: 1px;
  color: #222222;
  transform: none;
}
.shop-tabbar .tabbar-icon[data-v-51df4406],
.shop-tabbar .tabbar-icon-wrap.active .tabbar-icon[data-v-51df4406] {
  font-size: 24px;
}
.shop-tabbar .tabbar-label[data-v-51df4406],
.shop-tabbar .van-tabbar-item--active .tabbar-label[data-v-51df4406] {
  margin: 0;
  color: #222222;
  font-family: "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
  font-size: 11px;
  font-weight: 400;
}
.shop-tabbar .tabbar-icon-wrap img[data-v-51df4406] {
  display: block;
  width: 24px !important;
  height: 24px !important;
}
.shop-tabbar .van-tabbar-item[data-v-51df4406] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 50px;
  padding-top: 3px;
  box-sizing: border-box;
}
.shop-tabbar .van-tabbar-item__icon[data-v-51df4406] {
  height: 24px;
  margin: 0 !important;
  line-height: 24px !important;
}
.shop-tabbar .tabbar-icon-wrap[data-v-51df4406],
.shop-tabbar .tabbar-icon-wrap.active[data-v-51df4406] {
  width: 24px;
  height: 24px;
  margin: 0;
}
.shop-tabbar .van-tabbar-item__text[data-v-51df4406] {
  height: 14px;
  margin-top: 4px;
  line-height: 14px !important;
}
.shop-tabbar .tabbar-label[data-v-51df4406],
.shop-tabbar .van-tabbar-item--active .tabbar-label[data-v-51df4406] {
  font-size: 12px !important;
  line-height: 14px !important;
  transform: translateY(1px);
}
.points-mall-tabbar[data-v-51df4406] {
  height: 50px;
  padding: 0;
  border-top: 1px solid #eee;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.points-mall-tabbar .tabbar-icon-wrap[data-v-51df4406] {
  width: 0.58rem;
  height: 0.42rem;
  margin-bottom: 0.03rem;
  border-radius: 0;
  color: #25272a;
  background: transparent;
  box-shadow: none;
}
.points-mall-tabbar .tabbar-icon-wrap.active[data-v-51df4406] {
  color: #f4bb4e;
  background: transparent;
  box-shadow: none;
  transform: translateY(-0.02rem);
}
.points-mall-tabbar .tabbar-icon[data-v-51df4406] {
  font-size: 0.43rem;
}
.points-mall-tabbar[data-v-51df4406] .van-info {
  top: 0.75px !important;
  right: 2px !important;
  width: 16px;
  min-width: 16px;
  height: 16px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #ff5b58;
  box-shadow: none;
  font-size: 10px;
  line-height: 14px;
}
.points-mall-tabbar .van-tabbar-item--active .tabbar-label[data-v-51df4406] { color: #333;
}
.points-mall-tabbar .van-tabbar-item[data-v-51df4406] {
  height: 50px;
  padding-top: 6.25px;
  box-sizing: border-box;
  justify-content: flex-start;
  font-weight: 400;
}
.points-mall-tabbar .tabbar-icon-wrap[data-v-51df4406],
.points-mall-tabbar .tabbar-icon-wrap.active[data-v-51df4406] { width: 24px; height: 24px; margin-bottom: 2px; transform: none;
}
.points-mall-tabbar .van-tabbar-item img[data-v-51df4406] { width: 24px; height: 24px;
}
.points-mall-tabbar .tabbar-label[data-v-51df4406],
.points-mall-tabbar .van-tabbar-item--active .tabbar-label[data-v-51df4406] { margin: 0; color: #333; font-size: 11px; font-weight: 400; line-height: 16.5px;
}
.points-mall-tabbar[data-v-51df4406],
.points-mall-tabbar .van-tabbar-item[data-v-51df4406],
.points-mall-tabbar .tabbar-label[data-v-51df4406] {
  font-family: "微软雅黑", "宋体", arial !important;
}
.tabbar-label[data-v-51df4406] {
  display: block;
  max-width: 100%;
  margin-top: 0.02rem;
  overflow: hidden;
  font-size: 0.21rem;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.van-tabbar-item--active .tabbar-label[data-v-51df4406] {
  color: var(--bg1);
  font-weight: 800;
}
.van-tabbar-item img[data-v-51df4406] {
  width: 0.45rem;
  height: 0.45rem;
  -o-object-fit: contain;
     object-fit: contain;
}
[data-v-51df4406] .van-tabbar-item__icon {
  margin-bottom: 0;
  line-height: 1;
}
[data-v-51df4406] .van-tabbar-item__text {
  line-height: 1;
}
[data-v-51df4406] .van-info {
  top: -0.08rem;
  right: 0.14rem;
  min-width: 0.28rem;
  height: 0.28rem;
  padding: 0 0.08rem;
  border: 1px solid #ffffff;
  border-radius: 0.18rem;
  background: var(--bg1);
  box-shadow: 0 0.04rem 0.1rem rgba(255, 128, 42, 0.25);
  font-size: 0.18rem;
  line-height: 0.26rem;
}

.win-notice[data-v-5b211c76]{position:fixed;inset:0;z-index:9999;display:flex;width:100%;max-width:500px;margin:0 auto;align-items:center;justify-content:center;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}.win-notice__mask[data-v-5b211c76]{position:absolute;inset:0;background:rgba(13,19,31,.72)}.win-notice__panel[data-v-5b211c76]{position:relative;z-index:1;width:min(6.72rem,100vw - .56rem);overflow:hidden;border-radius:.2rem;background:#fff;box-shadow:0 .26rem .7rem rgba(0,0,0,.34)}.win-notice__header[data-v-5b211c76]{position:relative;overflow:hidden;min-height:1.78rem;padding:.3rem .36rem .27rem;box-sizing:border-box;background:linear-gradient(123deg, #223c6b 0%, #2f568f 100%);color:#fff}.win-notice__header[data-v-5b211c76]::before,.win-notice__header[data-v-5b211c76]::after{position:absolute;border-radius:50%;content:""}.win-notice__header[data-v-5b211c76]::before{top:-0.72rem;right:-0.43rem;width:1.7rem;height:1.7rem;border:.14rem solid rgba(255,210,100,.19)}.win-notice__header[data-v-5b211c76]::after{right:.55rem;bottom:-0.58rem;width:.92rem;height:.92rem;background:rgba(255,255,255,.055)}.win-notice__header-mark[data-v-5b211c76]{position:relative;z-index:1;display:flex;align-items:center;width:-moz-max-content;width:max-content;padding:.035rem .12rem .035rem .065rem;gap:.06rem;border:1px solid rgba(245,207,123,.52);border-radius:.18rem;background:rgba(19,37,69,.12);color:#f5d58a;font-size:.18rem;letter-spacing:.03rem;line-height:.28rem}.win-notice__header-icon[data-v-5b211c76]{display:flex;width:.27rem;height:.27rem;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,0);font-size:.18rem}.win-notice__header h2[data-v-5b211c76]{position:relative;z-index:1;margin:.11rem 0 0;color:#fff;font-size:.4rem;font-weight:650;letter-spacing:.02rem;line-height:.52rem}.win-notice__header p[data-v-5b211c76]{position:relative;z-index:1;margin:.04rem 0 0;color:rgba(255,255,255,.74);font-size:.18rem;line-height:.27rem}.win-notice__content[data-v-5b211c76]{padding:.26rem .28rem .25rem}.win-notice__product[data-v-5b211c76]{display:grid;min-height:1.42rem;padding:.13rem;align-items:center;grid-template-columns:1.12rem minmax(0, 1fr);gap:.16rem;border:1px solid #e9edf3;border-radius:.14rem;background:#fff;box-shadow:0 .05rem .14rem rgba(27,49,86,.08);box-sizing:border-box}.win-notice__product-image-wrap[data-v-5b211c76]{display:flex;width:1.12rem;height:1.12rem;align-items:center;justify-content:center;border-radius:.1rem;background:#f5f7fa}.win-notice__product-image[data-v-5b211c76]{display:block;width:1rem;height:1rem;-o-object-fit:contain;object-fit:contain}.win-notice__product-copy[data-v-5b211c76]{display:flex;min-width:0;height:100%;flex-direction:column;justify-content:center;text-align:left}.win-notice__issue[data-v-5b211c76]{display:inline-flex;width:-moz-max-content;width:max-content;padding:.02rem .09rem;border-radius:.04rem;background:#fff0d0;color:#ad751d;font-size:.16rem;line-height:.24rem}.win-notice__product-copy h3[data-v-5b211c76]{display:-webkit-box;margin:.055rem 0 0;overflow:hidden;color:#26334a;font-size:.23rem;font-weight:600;line-height:.31rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.win-notice__address-action[data-v-5b211c76]{display:flex;width:100%;min-height:.9rem;padding:.12rem .16rem;align-items:center;gap:.12rem;border:1px solid #dbe4f1;border-radius:.13rem;background:#f8fbff;box-shadow:none;box-sizing:border-box;color:#26334a;text-align:left}.win-notice__address-icon[data-v-5b211c76]{display:flex;width:.5rem;height:.5rem;flex:0 0 .5rem;align-items:center;justify-content:center;border-radius:.12rem;background:#2f568f;color:#fff;font-size:.28rem}.win-notice__address-copy[data-v-5b211c76]{display:flex;min-width:0;flex:1;flex-direction:column}.win-notice__address-copy strong[data-v-5b211c76]{color:#293a57;font-size:.23rem;font-weight:650;line-height:.31rem}.win-notice__address-copy small[data-v-5b211c76]{margin-top:.01rem;color:#8c9aae;font-size:.16rem;line-height:.23rem}.win-notice__address-cta[data-v-5b211c76]{display:inline-flex;height:.42rem;flex:0 0 auto;padding:0 .12rem;align-items:center;border-radius:.08rem;background:#f7b844;color:#493818;font-size:.17rem;font-weight:650;line-height:.42rem;white-space:nowrap}.win-notice__footnote[data-v-5b211c76]{margin:.12rem 0 0;color:#a1a9b5;font-size:.16rem;line-height:.24rem;text-align:center}.win-notice-fade-enter-active[data-v-5b211c76],.win-notice-fade-leave-active[data-v-5b211c76]{transition:opacity .2s ease}.win-notice-fade-enter[data-v-5b211c76],.win-notice-fade-leave-to[data-v-5b211c76]{opacity:0}@media(max-width: 350px){.win-notice__header[data-v-5b211c76]{min-height:1.66rem;padding-top:.27rem}.win-notice__header h2[data-v-5b211c76]{font-size:.37rem}.win-notice__product-copy h3[data-v-5b211c76]{font-size:.21rem}.win-notice__address-copy strong[data-v-5b211c76]{font-size:.21rem}}

.safari-chrome-debug[data-v-1e1ed8db] {
  position: fixed;
  top: 8px;
  right: 8px;
  left: 8px;
  z-index: 2147483647;
  width: auto;
  max-width: 484px;
  max-height: calc(100vh - 16px);
  max-height: calc(100dvh - 16px);
  margin: 0 auto;
  padding: 10px;
  overflow: auto;
  box-sizing: border-box;
  border: 1px solid #475569;
  border-radius: 10px;
  color: #f8fafc;
  background: rgba(15, 23, 42, 0.96);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.38);
  font-family: Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  line-height: 1.45;
  text-align: left;
  -webkit-overflow-scrolling: touch;
}
.safari-chrome-debug__head[data-v-1e1ed8db] {
  position: sticky;
  top: -10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: -10px -10px 8px;
  padding: 10px;
  background: #0f172a;
}
.safari-chrome-debug__head strong[data-v-1e1ed8db] {
  color: #fff;
  font-size: 13px;
}
.safari-chrome-debug__head > div[data-v-1e1ed8db] {
  display: flex;
  gap: 6px;
}
.safari-chrome-debug button[data-v-1e1ed8db] {
  min-width: 76px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #22c55e;
  border-radius: 8px;
  color: #fff;
  background: #15803d;
  font: inherit;
  font-weight: 700;
}
.safari-chrome-debug pre[data-v-1e1ed8db] {
  margin: 0;
  color: inherit;
  font: inherit;
  white-space: pre-wrap;
  word-break: break-all;
}

#app{font-family:PingFangSC-Regular,Helvetica Neue,Helvetica,STHeiTi,sans-serif}header:not([class]){position:fixed;z-index:100;width:100%;max-width:500px;margin:0 auto}#app{--points-mall-nav-bg: #FBBB3F;--ordinary-mall-nav-bg: #F7B844;--mall-nav-bg: var(--points-mall-nav-bg);--mall-nav-color: #fff;--mall-nav-title-size: 17.664px;--mall-nav-title-weight: 500}#app .pointsMall header:not(.home_top),#app .users>header,#app .detail_head,#app .invite-task-nav{width:100%;max-width:500px;height:calc(46px + var(--app-safe-area-top)) !important;min-height:calc(46px + var(--app-safe-area-top)) !important;padding-top:var(--app-safe-area-top) !important;box-sizing:border-box;background:var(--mall-nav-bg) !important;color:var(--mall-nav-color) !important;box-shadow:none !important;border:0 !important}#app .pointsMall header:not(.home_top) .van-nav-bar,#app .pointsMall header:not(.home_top) .van-nav-bar__content,#app .users>header .van-nav-bar,#app .users>header .van-nav-bar__content,#app .info-nav,#app .info-nav .van-nav-bar__content,#app .trend-nav,#app .trend-nav .van-nav-bar__content{height:46px !important;min-height:46px !important;background:var(--mall-nav-bg) !important}#app .pointsMall header:not(.home_top) .van-nav-bar__title,#app .users>header .van-nav-bar__title,#app .info-nav .van-nav-bar__title,#app .trend-nav .van-nav-bar__title,#app .detail_head .title,#app .invite-task-nav h1{color:var(--mall-nav-color) !important;font-size:var(--mall-nav-title-size) !important;font-weight:var(--mall-nav-title-weight) !important;line-height:46px !important;letter-spacing:0 !important}#app .pointsMall header:not(.home_top) .van-icon,#app .users>header .van-icon,#app .info-nav .van-icon,#app .trend-nav .van-icon,#app .detail_head .van-icon,#app .invite-task-nav .van-icon{color:var(--mall-nav-color) !important}#app .users.withdraw-bind-shell>header,#app .users.withdraw-bind-shell>header .van-nav-bar,#app .users.withdraw-bind-shell>header .van-nav-bar__content{height:44px !important;min-height:44px !important}#app .users.withdraw-bind-shell>header .van-nav-bar__title{line-height:44px !important}#mescroll1{padding-top:var(--app-fixed-header-height)}#mescroll{padding-top:var(--app-fixed-header-height)}#app .category header,#app .search header,#app .searchList header,#app .cart .cart_top,#app .detail_head,#app .topNav,#app .topNav .van-nav-bar,#app .topNav .van-nav-bar__content,#app .user_home .user_top{background:var(--ordinary-mall-nav-bg) !important}#app .category header,#app .search header,#app .searchList header,#app .cart .cart_top,#app .detail_head,#app .topNav,#app .topNav .van-nav-bar__title,#app .topNav .van-icon,#app .detail_head .title,#app .detail_head .van-icon{color:#fff !important}#app .pointsMall header:not(.home_top),#app .pointsMall header:not(.home_top) .van-nav-bar,#app .pointsMall header:not(.home_top) .van-nav-bar__content,#app .pointsMall .detail_head,#app .pointsMall .info-nav,#app .pointsMall .info-nav .van-nav-bar__content,#app .pointsMall .trend-nav,#app .pointsMall .trend-nav .van-nav-bar__content,#app .trade-detail-page .detail_head,#app .user-draw-page header,#app .user-draw-page .detail_head,#app .userSetInfo header,#app .userSetInfo .detail_head,#app .userCollect header,#app .userCollect .detail_head,#app .infoCompute .detail_head,#app .users.points-user-page>header,#app .users.points-user-page>header .van-nav-bar,#app .users.points-user-page>header .van-nav-bar__content,#app .users:has(>.go-record-order)>header,#app .users:has(>.go-record-order)>header .van-nav-bar,#app .users:has(>.go-record-order)>header .van-nav-bar__content,#app .users:has(>.userDraw)>header,#app .users:has(>.userCommission)>header,#app .users:has(>.userShareRecord)>header,#app .users:has(>.userCollect)>header,#app .users:has(>.userProduct)>header,#app .users:has(>.infoUser)>header,#app .users:has(>.userSetInfo)>header,#app .users:has(>.userProductAddress)>header,#app .users:has(>.drawExplain)>header,#app .users:has(>.integralOrder)>header,#app .invite-task-nav{background:var(--points-mall-nav-bg) !important;color:#fff !important}#app .users:has(>.userOrder)>header,#app .users:has(>.userOrder)>header .van-nav-bar,#app .users:has(>.userOrder)>header .van-nav-bar__content,#app .users:has(>.vipOrder)>header,#app .users:has(>.vipOrder)>header .van-nav-bar,#app .users:has(>.vipOrder)>header .van-nav-bar__content,#app .users:has(>.settings-page)>header,#app .users:has(>.settings-page)>header .van-nav-bar,#app .users:has(>.settings-page)>header .van-nav-bar__content,#app .settings-page .settings-nav,#app .password-page .password-nav,#app .userSetInfo header,#app .userSetInfo .detail_head,#app .users:has(>.userSetInfo)>header,#app .users:has(>.userSetInfo)>header .van-nav-bar,#app .users:has(>.userSetInfo)>header .van-nav-bar__content,#app .users:has(>.userSetPassword)>header,#app .users:has(>.userSetPassword)>header .van-nav-bar,#app .users:has(>.userSetPassword)>header .van-nav-bar__content,#app .users:has(>.mall-order-detail)>header,#app .users:has(>.mall-order-detail)>header .van-nav-bar,#app .users:has(>.mall-order-detail)>header .van-nav-bar__content,#app .mall-order-detail.detail_head,#app .mall-order-detail .detail_head,#app .users:has(>.merchant-order-detail)>header,#app .users:has(>.merchant-order-detail)>header .van-nav-bar,#app .users:has(>.merchant-order-detail)>header .van-nav-bar__content,#app .merchant-order-detail.detail_head,#app .merchant-order-detail .detail_head{background:var(--ordinary-mall-nav-bg) !important;color:#fff !important}#app .pointsMall header:not(.home_top) .van-nav-bar__title,#app .pointsMall header:not(.home_top) .van-icon,#app .pointsMall .detail_head .title,#app .pointsMall .detail_head .van-icon,#app .pointsMall .info-nav .van-nav-bar__title,#app .pointsMall .info-nav .van-icon,#app .pointsMall .trend-nav .van-nav-bar__title,#app .pointsMall .trend-nav .van-icon,#app .user-draw-page .detail_head .title,#app .user-draw-page .detail_head .van-icon,#app .user-draw-page .detail_head .operate,#app .userSetInfo .detail_head .title,#app .userSetInfo .detail_head .van-icon,#app .userSetInfo .detail_head .operate,#app .userCollect .detail_head .title,#app .userCollect .detail_head .van-icon,#app .userCollect .detail_head .operate,#app .infoCompute .detail_head .title,#app .infoCompute .detail_head .van-icon,#app .infoCompute .detail_head .operate,#app .users.points-user-page>header .van-nav-bar__title,#app .users.points-user-page>header .van-icon,#app .users:has(>.go-record-order)>header .van-nav-bar__title,#app .users:has(>.go-record-order)>header .van-icon,#app .users:has(>.userDraw)>header .van-nav-bar__title,#app .users:has(>.userDraw)>header .van-icon,#app .users:has(>.userCommission)>header .van-nav-bar__title,#app .users:has(>.userCommission)>header .van-icon,#app .users:has(>.userShareRecord)>header .van-nav-bar__title,#app .users:has(>.userShareRecord)>header .van-icon,#app .users:has(>.userCollect)>header .van-nav-bar__title,#app .users:has(>.userCollect)>header .van-icon,#app .users:has(>.userProduct)>header .van-nav-bar__title,#app .users:has(>.userProduct)>header .van-icon,#app .users:has(>.infoUser)>header .van-nav-bar__title,#app .users:has(>.infoUser)>header .van-icon,#app .users:has(>.userSetInfo)>header .van-nav-bar__title,#app .users:has(>.userSetInfo)>header .van-icon,#app .users:has(>.userProductAddress)>header .van-nav-bar__title,#app .users:has(>.userProductAddress)>header .van-icon,#app .users:has(>.drawExplain)>header .van-nav-bar__title,#app .users:has(>.drawExplain)>header .van-icon,#app .users:has(>.integralOrder)>header .van-nav-bar__title,#app .users:has(>.integralOrder)>header .van-icon,#app .invite-task-nav h1,#app .invite-task-nav .van-icon{color:#fff !important}#app .users:has(>.userOrder)>header .van-nav-bar__title,#app .users:has(>.userOrder)>header .van-icon,#app .users:has(>.vipOrder)>header .van-nav-bar__title,#app .users:has(>.vipOrder)>header .van-icon,#app .users:has(>.settings-page)>header .van-nav-bar__title,#app .users:has(>.settings-page)>header .van-icon,#app .settings-page .settings-nav,#app .settings-page .settings-nav .van-icon,#app .settings-page .settings-nav span,#app .password-page .password-nav,#app .password-page .password-nav .van-icon,#app .password-page .password-nav span,#app .userSetInfo .detail_head .title,#app .userSetInfo .detail_head .van-icon,#app .userSetInfo .detail_head .operate,#app .users:has(>.userSetInfo)>header .van-nav-bar__title,#app .users:has(>.userSetInfo)>header .van-icon,#app .users:has(>.userSetPassword)>header .van-nav-bar__title,#app .users:has(>.userSetPassword)>header .van-icon,#app .users:has(>.mall-order-detail)>header .van-nav-bar__title,#app .users:has(>.mall-order-detail)>header .van-icon,#app .mall-order-detail .detail_head .title,#app .mall-order-detail .detail_head .van-icon,#app .mall-order-detail .detail_head .operate,#app .users:has(>.merchant-order-detail)>header .van-nav-bar__title,#app .users:has(>.merchant-order-detail)>header .van-icon,#app .merchant-order-detail .detail_head .title,#app .merchant-order-detail .detail_head .van-icon,#app .merchant-order-detail .detail_head .operate{color:#fff !important}#app .users.points-user-page>header,#app .users.points-user-page>header .van-nav-bar,#app .users.points-user-page>header .van-nav-bar__content,#app .users:has(>.go-record-order)>header,#app .users:has(>.go-record-order)>header .van-nav-bar,#app .users:has(>.go-record-order)>header .van-nav-bar__content,#app .users:has(>.user-product-order)>header,#app .users:has(>.user-product-order)>header .van-nav-bar,#app .users:has(>.user-product-order)>header .van-nav-bar__content{background:var(--points-mall-nav-bg) !important;color:#fff !important}#app .users.points-user-page>header .van-nav-bar__title,#app .users.points-user-page>header .van-icon,#app .users:has(>.go-record-order)>header .van-nav-bar__title,#app .users:has(>.go-record-order)>header .van-icon,#app .users:has(>.user-product-order)>header .van-nav-bar__title,#app .users:has(>.user-product-order)>header .van-icon{color:#fff !important}#app .users>.go-record-order,#app .users>.user-product-order,#app .users>.integral-order-page,#app .users>.collect-page,#app .users>.commission-page,#app .users>.user-draw-page,#app .users>.infoUser.shopList,#app .pointsMall .trade-list-page{height:calc(100vh - var(--app-fixed-header-height)) !important;height:calc(100dvh - var(--app-fixed-header-height)) !important;margin-top:var(--app-fixed-header-height) !important;padding-top:0 !important}#app .custom_hero_wrap,#app .activity,#app .buy.userRecharge,#app .orderPayPage{padding-top:var(--app-fixed-header-height) !important}#app .buy.userRecharge.order-confirm-page{padding-top:calc(var(--app-fixed-header-height) + .2rem) !important}
#app{--site-nav-height: 44px;--site-nav-side-width: 40px;--site-nav-title-size: 17px;--site-nav-title-weight: 500;--site-nav-action-size: 14px;--site-nav-back-offset: 10px;--site-nav-back-width: 24px;--site-nav-back-size: 24px;--site-nav-font-family: "Microsoft YaHei", "微软雅黑", SimSun, Arial, sans-serif}#app .van-nav-bar,#app .van-nav-bar__content,#app header:has(>button[aria-label=返回]),#app .detail_head,#app .invite-task-nav,#app .points-info-user-nav{height:var(--site-nav-height) !important;min-height:var(--site-nav-height) !important;box-sizing:border-box !important;font-family:var(--site-nav-font-family) !important}html body #app#app .van-nav-bar__title,html body #app#app header:has(>button[aria-label=返回])>h1,html body #app#app .detail_head>.title,html body #app#app .invite-task-nav>h1,html body #app#app .points-info-user-nav>h1,html body #app#app .trade-empty-head>span{position:absolute !important;top:var(--app-safe-area-top) !important;right:var(--site-nav-side-width) !important;left:var(--site-nav-side-width) !important;width:auto !important;max-width:none !important;height:var(--site-nav-height) !important;margin:0 !important;overflow:hidden !important;color:var(--site-nav-foreground) !important;font-family:var(--site-nav-font-family) !important;font-size:var(--site-nav-title-size) !important;font-style:normal !important;font-weight:var(--site-nav-title-weight) !important;line-height:var(--site-nav-height) !important;letter-spacing:0 !important;text-align:center !important;text-overflow:ellipsis !important;white-space:nowrap !important;transform:none !important}#app .van-nav-bar__right,#app .van-nav-bar__text{height:var(--site-nav-height) !important;padding:0 10px !important;font-family:var(--site-nav-font-family) !important;font-size:var(--site-nav-action-size) !important;font-style:normal !important;font-weight:400 !important;line-height:var(--site-nav-height) !important}html body #app#app .van-nav-bar__left{top:0 !important;left:var(--site-nav-back-offset) !important;display:flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;margin:0 !important;padding:0 !important}html body #app#app .van-nav-bar__left>.van-icon-arrow-left{position:absolute !important;top:50% !important;left:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-back-size) !important;height:var(--site-nav-back-size) !important;margin:0 !important;padding:0 !important;font-size:0 !important;line-height:1 !important;transform:translateY(-50%) !important}html body #app#app .van-nav-bar__left>.van-icon-arrow-left::before{width:var(--site-nav-back-size) !important;height:var(--site-nav-back-size) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-weight:400 !important;line-height:var(--site-nav-back-size) !important;text-align:center !important}html body #app#app header:has(>button[aria-label=返回])>button[aria-label=返回],html body #app#app .invite-task-nav>button[aria-label=返回],html body #app#app .points-info-user-nav>button[aria-label=返回]{position:absolute !important;top:var(--app-safe-area-top) !important;left:var(--site-nav-back-offset) !important;display:flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;margin:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;color:var(--site-nav-foreground) !important;font-size:0 !important;line-height:0 !important}#app header:has(>button[aria-label=返回])>button[aria-label=返回]::before,#app .invite-task-nav>button[aria-label=返回]::before,#app .points-info-user-nav>button[aria-label=返回]::before{width:var(--site-nav-back-size) !important;height:var(--site-nav-height) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:var(--site-nav-height) !important;text-align:center !important}#app .detail_head>.van-icon-arrow-left{position:absolute !important;top:var(--app-safe-area-top) !important;left:var(--site-nav-back-offset) !important;display:flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;margin:0 !important;padding:0 !important}

#app .pointsMall.zone-page-shell header:not(.home_top),
#app .pointsMall.zone-page-shell header:not(.home_top) .van-nav-bar,
#app .pointsMall.zone-page-shell header:not(.home_top) .van-nav-bar__content {
  background: #f7b844 !important;
}
#app .pointsMall.zone-page-shell header:not(.home_top) .van-nav-bar__title {
  font-size: 16px !important;
  font-weight: 400 !important;
}

@font-face{font-family:"SiteNavMui";src:url(../fonts/mui.ea3957ed.ttf) format("truetype");font-display:block}#app{--site-nav-height: 44px;--site-nav-side-width: 40px;--site-nav-title-size: 17px;--site-nav-title-weight: 500;--site-nav-back-offset: 10px;--site-nav-back-width: 24px;--site-nav-back-size: 24px;--site-nav-foreground: #333;--site-nav-font-family: "Microsoft YaHei", "微软雅黑", SimSun, Arial, sans-serif}#app .van-nav-bar__left{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;padding:0 !important}#app header:has(>button[aria-label=返回])>button[aria-label=返回],#app .invite-task-nav>button[aria-label=返回],#app .points-info-user-nav>button[aria-label=返回]{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;overflow:visible !important;font-size:0 !important}#app header:has(>button[aria-label=返回])>button[aria-label=返回]::before,#app .invite-task-nav>button[aria-label=返回]::before,#app .points-info-user-nav>button[aria-label=返回]::before{content:"" !important;display:block !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;background:none !important;color:var(--site-nav-foreground) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:var(--site-nav-height) !important;text-align:center !important;-webkit-font-smoothing:antialiased}#app header:has(>button[aria-label=返回])>button[aria-label=返回]>.van-icon-arrow-left,#app .invite-task-nav>button[aria-label=返回]>.van-icon-arrow-left,#app .points-info-user-nav>button[aria-label=返回]>.van-icon-arrow-left{display:none !important}#app .van-icon-arrow-left::before{content:"" !important;display:block !important;background:none !important;color:var(--site-nav-foreground) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:1 !important;-webkit-font-smoothing:antialiased}#app .detail_head>.van-icon-arrow-left{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important}html body #app#app .van-nav-bar__title,html body #app#app header:has(>button[aria-label=返回])>h1,html body #app#app .detail_head>.title,html body #app#app .invite-task-nav>h1,html body #app#app .points-info-user-nav>h1,html body #app#app .trade-empty-head>span{color:var(--site-nav-foreground) !important;font-family:var(--site-nav-font-family) !important;font-size:var(--site-nav-title-size) !important;font-weight:var(--site-nav-title-weight) !important;line-height:var(--site-nav-height) !important;letter-spacing:0 !important}html body #app#app .van-nav-bar__left{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;padding:0 !important;color:var(--site-nav-foreground) !important}html body #app#app header:has(>button[aria-label=返回])>button[aria-label=返回],html body #app#app .invite-task-nav>button[aria-label=返回],html body #app#app .points-info-user-nav>button[aria-label=返回]{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;padding:0 !important;color:var(--site-nav-foreground) !important;font-size:0 !important}html body #app#app header:has(>button[aria-label=返回])>button[aria-label=返回]::before,html body #app#app .invite-task-nav>button[aria-label=返回]::before,html body #app#app .points-info-user-nav>button[aria-label=返回]::before{content:"" !important;display:block !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;background:none !important;color:var(--site-nav-foreground) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:var(--site-nav-height) !important;text-align:center !important}html body #app#app header:has(>button[aria-label=返回])>button[aria-label=返回]>.van-icon-arrow-left,html body #app#app .invite-task-nav>button[aria-label=返回]>.van-icon-arrow-left,html body #app#app .points-info-user-nav>button[aria-label=返回]>.van-icon-arrow-left{display:none !important}html body #app#app .van-icon-arrow-left::before{content:"" !important;display:block !important;color:var(--site-nav-foreground) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:1 !important}html body #app#app .detail_head>.van-icon-arrow-left{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;color:var(--site-nav-foreground) !important}html body #app#app .home_top>a:first-child,html body #app#app .search_back,html body #app#app .search-back{flex-basis:44px !important;width:44px !important;height:var(--site-nav-height) !important;color:var(--site-nav-foreground) !important}
#app{--site-nav-height: var(--app-nav-height);--site-nav-side-width: 40px;--site-nav-title-size: 17px;--site-nav-title-weight: 500;--site-nav-back-offset: 10px;--site-nav-back-width: 24px;--site-nav-back-size: 24px;--site-nav-foreground: #333;--site-nav-font-family: "Microsoft YaHei", "微软雅黑", SimSun, Arial, sans-serif}#app .van-nav-bar,#app .van-nav-bar__content{height:var(--site-nav-height) !important;min-height:var(--site-nav-height) !important;font-family:var(--site-nav-font-family) !important}#app .van-nav-bar__title,#app header:has(>button[aria-label=返回])>h1,#app .detail_head>.title,#app .invite-task-nav>h1,#app .points-info-user-nav>h1,#app .trade-empty-head>span{margin-top:0 !important;margin-bottom:0 !important;font-family:var(--site-nav-font-family) !important;font-size:var(--site-nav-title-size) !important;font-weight:var(--site-nav-title-weight) !important;font-style:normal !important;line-height:var(--site-nav-height) !important;letter-spacing:0 !important}#app .van-nav-bar__left{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;padding:0 !important;justify-content:center !important}#app .van-nav-bar__left .van-icon-arrow-left,#app header:has(>button[aria-label=返回])>button[aria-label=返回]>.van-icon-arrow-left,#app .invite-task-nav>button[aria-label=返回]>.van-icon-arrow-left,#app .points-info-user-nav>button[aria-label=返回]>.van-icon-arrow-left,#app .detail_head>.van-icon-arrow-left,#app .home_top>a:first-child .van-icon-arrow-left,#app .search_back>.van-icon-arrow-left,#app .search-back>.van-icon-arrow-left{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-back-size) !important;height:var(--site-nav-back-size) !important;font-size:var(--site-nav-back-size) !important;line-height:1 !important}#app header:has(>button[aria-label=返回])>button[aria-label=返回],#app .invite-task-nav>button[aria-label=返回],#app .points-info-user-nav>button[aria-label=返回]{position:absolute !important;z-index:2 !important;top:var(--app-safe-area-top) !important;left:var(--site-nav-back-offset) !important;display:flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;margin:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;color:var(--site-nav-foreground) !important;font-family:var(--site-nav-font-family) !important;line-height:1 !important}#app header:has(>button[aria-label=返回])>button[aria-label=返回]::before,#app .invite-task-nav>button[aria-label=返回]::before,#app .points-info-user-nav>button[aria-label=返回]::before{content:"" !important;display:block !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;background:none !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:var(--site-nav-height) !important;text-align:center !important;-webkit-font-smoothing:antialiased}#app header:has(>button[aria-label=返回])>button[aria-label=返回]::after,#app .invite-task-nav>button[aria-label=返回]::after,#app .points-info-user-nav>button[aria-label=返回]::after{content:none !important;display:none !important;background:none !important}#app .detail_head>.van-icon-arrow-left{position:absolute !important;z-index:2 !important;top:var(--app-safe-area-top) !important;left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important}#app .home_top>a:first-child,#app .search_back,#app .search-back{flex:0 0 var(--site-nav-side-width) !important;display:flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-side-width) !important;height:var(--site-nav-height) !important;margin:0 !important;padding:0 !important;border:0 !important;background:none !important;box-shadow:none !important;color:var(--site-nav-foreground) !important}
#app .pointsMall header:not(.home_top),#app .users>header,#app .pointsMall header:not(.home_top) .van-nav-bar,#app .pointsMall header:not(.home_top) .van-nav-bar__content,#app .users.points-user-page>header,#app .users.points-user-page>header .van-nav-bar,#app .users.points-user-page>header .van-nav-bar__content,#app .users:has(>.go-record-order)>header,#app .users:has(>.go-record-order)>header .van-nav-bar,#app .users:has(>.go-record-order)>header .van-nav-bar__content,#app .users:has(>.user-product-order)>header,#app .users:has(>.user-product-order)>header .van-nav-bar,#app .users:has(>.user-product-order)>header .van-nav-bar__content,#app .users:has(>.userCollect)>header,#app .users:has(>.userCollect)>header .van-nav-bar,#app .users:has(>.userCollect)>header .van-nav-bar__content,#app .users:has(>.drawExplain)>header,#app .users:has(>.drawExplain)>header .van-nav-bar,#app .users:has(>.drawExplain)>header .van-nav-bar__content,#app .info-nav,#app .info-nav .van-nav-bar__content,#app .trend-nav,#app .trend-nav .van-nav-bar__content,#app .infoCompute .detail_head{height:44px !important;min-height:44px !important;background:#fbbb3f !important;color:#333 !important}#app .users:has(>.userCollect)>header,#app .users:has(>.userCollect)>header .van-nav-bar,#app .users:has(>.userCollect)>header .van-nav-bar__content{background:#f7b844 !important}#app .pointsMall header:not(.home_top) .van-nav-bar__title,#app .pointsMall header:not(.home_top) .van-icon,#app .users.points-user-page>header .van-nav-bar__title,#app .users.points-user-page>header .van-icon,#app .users:has(>.go-record-order)>header .van-nav-bar__title,#app .users:has(>.go-record-order)>header .van-icon,#app .users:has(>.user-product-order)>header .van-nav-bar__title,#app .users:has(>.user-product-order)>header .van-icon,#app .users:has(>.userCollect)>header .van-nav-bar__title,#app .users:has(>.userCollect)>header .van-icon,#app .users:has(>.drawExplain)>header .van-nav-bar__title,#app .users:has(>.drawExplain)>header .van-icon,#app .info-nav .van-nav-bar__title,#app .info-nav .van-icon,#app .trend-nav .van-nav-bar__title,#app .trend-nav .van-icon,#app .infoCompute .detail_head .title,#app .infoCompute .detail_head .van-icon{color:#333 !important;font-size:16px !important;font-weight:400 !important;line-height:44px !important}#app .go-record-order .van-tabs__wrap,#app .user-product-order .van-tabs__wrap,#app .integral-order-page .van-tabs__wrap{height:38px !important}#app .go-record-order .van-tab,#app .user-product-order .van-tab,#app .integral-order-page .van-tab{height:38px !important;border-radius:0 !important;color:#555 !important;background:#fff !important;box-shadow:none !important;font-size:13px !important;font-weight:400 !important;line-height:38px !important}#app .go-record-order .van-tab--active,#app .user-product-order .van-tab--active,#app .integral-order-page .van-tab--active{color:#111 !important}#app .go-record-order .van-tabs__line,#app .user-product-order .van-tabs__line,#app .integral-order-page .van-tabs__line{width:36px !important;height:2px !important;border-radius:0 !important;background:#333 !important}#app .detail.product-detail-page .play_boll>div button,#app .detail.product-detail-page .play_boll .is_countdown a,#app .userCollect .addAll,#app .cart .addAll{color:#333 !important;background:linear-gradient(to right, #f8d68f, #f5bf55) !important;box-shadow:none !important}

/* Final target d-index mobile geometry: the content begins directly below the
   44px title bar; regular iOS browser mode is handled separately below. */
html body #app .pointsMall .home_top,
html.ios-webkit.ios-browser body #app .pointsMall .home_top {
  height: 44px !important;
  min-height: 44px !important;
}
html body #app .pointsMallhome.points-home-redesign,
html.ios-webkit body #app .pointsMallhome.points-home-redesign {
  top: 44px !important;
  height: calc(100% - 94px) !important;
  margin-top: 0 !important;
  padding: 0 0 18px !important;
}

/* In regular iOS browser mode the sticky search bar remains in normal flow;
   applying its 44px height again as `top` creates the visible blank strip. */
html.ios-webkit.ios-browser body #app .pointsMallhome.points-home-redesign {
  top: 0 !important;
}
#app .pointsMallhome.points-home-redesign section .grid {
  padding: 0 10px 5px !important;
}
#app .pointsMallhome.points-home-redesign section .grid .nav {
  margin: 0 !important;
  padding: 6px 0 !important;
  border-radius: 10px !important;
  background: #fff !important;
}

/* Shared d-* secondary-page geometry. */
html body #app .users > .go-record-order,
html body #app .users > .user-product-order,
html body #app .users > .integral-order-page,
html body #app .users > .collect-page,
html body #app .users > .user-draw-page,
html body #app .users > .infoUser.shopList,
html body #app .pointsMall .trade-list-page {
  height:calc(100vh - 44px) !important;
  height:calc(100dvh - 44px) !important;
  margin-top:44px !important;
  padding-top:0 !important;
  background:#f6f6f6 !important;
}

/* d-tradeOrder owns its 44px title bar.  Do not reserve a second shell header. */
html body #app .users > .integral-order-page {
  height:100vh !important;
  height:100dvh !important;
  margin-top:0 !important;
}
#app .userCollect button,
#app .userCollect .addAll,
#app .pointsMall .cart button,
#app .pointsMall .detail button {
  border-color:#fbbb3f !important;
}
#app .userCollect button:not(.van-nav-bar__text),
#app .userCollect .addAll,
#app .pointsMall .cart .addAll,
#app .pointsMall .detail .play_boll button {
  color:#333 !important;
  background:linear-gradient(90deg,#f8d68f,#f5bf55) !important;
  box-shadow:none !important;
}
#app .go-record-order .order-pill-tabs,
#app .user-product-order .order-pill-tabs,
#app .integral-order-page .order-pill-tabs {
  display:flex !important; height:38px !important; margin:0 !important; padding:0 !important;
  border-radius:0 !important; background:#fff !important; box-shadow:none !important;
}
#app .go-record-order .order-pill-tabs button,
#app .user-product-order .order-pill-tabs button,
#app .integral-order-page .order-pill-tabs button,
#app .go-record-order .order-pill-tabs button.active,
#app .user-product-order .order-pill-tabs button.active,
#app .integral-order-page .order-pill-tabs button.active {
  position:relative; flex:1; height:38px !important; border:0 !important; border-radius:0 !important;
  background:#fff !important; box-shadow:none !important; color:#555 !important;
  font-size:13px !important; font-weight:400 !important;
}
#app .go-record-order .order-pill-tabs button.active,
#app .user-product-order .order-pill-tabs button.active,
#app .integral-order-page .order-pill-tabs button.active { color:#111 !important;
}
#app .go-record-order .order-pill-tabs button.active::after,
#app .user-product-order .order-pill-tabs button.active::after,
#app .integral-order-page .order-pill-tabs button.active::after {
  content:""; position:absolute; left:50%; bottom:0; width:36px; height:2px;
  background:#333; transform:translateX(-50%);
}
html body #app #mall_home .mine-scroll {
  top:auto !important; bottom:auto !important; margin-top:0 !important; padding:0 15px 14px !important;
}
html body #app #mall_home .quick-panel {
  width:calc(100% + 30px) !important; height:75px !important; min-height:75px !important;
  max-height:75px !important; margin:0 -15px 20px !important; padding:0 !important;
}
html body #app #mall_home .points-card {
  height:152px !important; min-height:152px !important; max-height:152px !important;
  padding:18px 10px 0 !important;
}
html body #app #mall_home .service-card {
  min-height:120px !important; height:120px !important;
}
html body #app .user-product-order .user-product-flow,
html body #app .go-record-order .go-record-flow,
html body #app .integral-order-page .integral-order-flow {
  padding-top:0 !important;
}

/*
 * The application shell is 500px wide on desktop.  Fixed layers do not take
 * part in the shell's normal centering, so they need the same anchor instead
 * of being pinned to the browser's left edge.  Keep this desktop-only: the
 * target mobile layout still uses the viewport edges directly.
 */
@media (min-width:501px) {
html,
  body {
    overflow-x:hidden !important;
}

  /*
   * Desktop still renders the mall as a 500px mobile canvas.  Normal-flow
   * pages inherit that width, but a route may use a fixed layer with
   * `left: 0; width: 100%`, which otherwise attaches to the browser window.
   */
#app,
  #app .layout,
  #app .app-route-view {
    width:min(500px, 100vw) !important;
    max-width:100vw !important;
    min-width:0 !important;
    margin-right:auto !important;
    margin-left:auto !important;
    overflow-x:clip;
}
#app .app-route-view > * {
    max-width:100%;
    min-width:0;
}
#app .app-route-view img,
  #app .app-route-view video,
  #app .app-route-view canvas,
  #app .app-route-view svg {
    max-width:100%;
}
header:not([class]),
  #app .searchList .search_sticky,
  #app .searchList .search_head,
  #app .searchList .filter,
  #app .searchList .content,
  #app .activity_head,
  #app .custom_head,
  #app .guide-head,
  #app .target-help-head,
  #app .target-help-tabs,
  #app .target-help-info-head,
  #app .target-service-head,
  #app .target-service-footer,
  #app .detail_head,
  #app .cart .cart_top,
  #app .topNav,
  #app .user_home .user_top,
  #app .invite-task-nav {
    right:0 !important;
    left:0 !important;
    width:min(500px, 100%) !important;
    max-width:100% !important;
    margin-right:auto !important;
    margin-left:auto !important;
    transform:none !important;
}

  /*
   * A points-mall child page is already laid out inside the centred 500px
   * route shell. Re-anchoring its own header to 50% applies a second
   * translateX(-50%) and moves the bar 250px left on desktop. Keep page-owned
   * headers in the shell coordinate system; the shared mall header is a
   * sibling of `.border`, so it intentionally remains on the rule above.
   */
#app .pointsMall.app-route-view > .border > .app-route-view > header,
  #app .pointsMall.app-route-view > .border > .app-route-view .detail_head,
  #app .pointsMall.app-route-view > .border > .app-route-view .header:not(#desktop-fixed-shell-anchor) {
    right:auto !important;
    left:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    margin-left:0 !important;
    transform:none !important;
}

  /*
   * `.cart-header` is a sticky bar inside the already-centred points-mall
   * route shell, rather than a viewport-level header.  The shared fixed-bar
   * anchor above must not re-anchor it to the desktop viewport; doing so
   * shifts the \"心愿单\" title to the edge of the 500px canvas.
   */
#app .pointsMall .cart .cart-header:not(#desktop-fixed-shell-anchor) {
    right:auto !important;
    left:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    transform:none !important;
}
#app .pointsMall .cart .cart-header > span {
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    white-space:nowrap;
}

  /*
   * A handful of legacy points pages mount overlays/actions inside the
   * transformed route shell but size/offset them with viewport units.  On a
   * desktop that re-expands only the overlay back to the browser width.  Keep
   * those fixed children in the same 500px coordinate system as their route.
   */
#app .pointsMall .points-detail-more-backdrop {
    width:100% !important;
    max-width:100% !important;
}
#app .pointsMall .trade-notice-link {
    right:12px !important;
}

  /* 客服页本身是全屏 fixed 层，也必须收回到桌面商城画布。 */
#app .target-service-page.app-route-view {
    inset:0 auto 0 50% !important;
    width:min(500px, 100vw) !important;
    max-width:100vw !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
}

  /*
   * Account subpages frequently add their own `width: 100% !important` to
   * the outer header.  A fixed element resolves that percentage against the
   * desktop viewport, not the 500px application shell.  This higher-specificity
   * shared anchor wins over those page-local rules while remaining a no-op on
   * the mobile viewport.
   */
#app .users > header:not(#desktop-fixed-shell-anchor) {
    right:0 !important;
    left:0 !important;
    width:min(500px, 100%) !important;
    max-width:100% !important;
    margin-right:auto !important;
    margin-left:auto !important;
    transform:none !important;
}

  /*
   * iOS scrolling compatibility intentionally turns the two independently
   * scrolling account shells into full-viewport fixed layers.  On a desktop
   * browser that layer otherwise resolves `inset: 0; width: 100%` against the
   * whole window and escapes the 500px mobile canvas.  Keep the same fixed
   * behavior, but anchor it to the canvas.  The id inside :not() raises this
   * above the compatibility selectors without changing the mobile rules.
   */
#app .users.mall-user-shell:not(#desktop-fixed-shell-anchor),
  #app .users.collect-shell:not(#desktop-fixed-shell-anchor) {
    position:fixed !important;
    inset:0 auto 0 50% !important;
    width:min(500px, 100vw) !important;
    max-width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    margin:0 !important;
    overflow:hidden !important;
    transform:translateX(-50%) !important;
}

  /*
   * All points-mall routes live below one `.pointsMall.app-route-view`
   * shell.  The iOS compatibility stylesheet makes several variants of that
   * shell `position: fixed; inset: 0; width: 100%`.  On a wide desktop that
   * percentage is the browser window, so the list/content stays at x=0 while
   * the independently fixed title and bottom bars are centred.  Anchor the
   * route shell itself once, rather than attempting to repair every category,
   * search, cart, lottery and account page independently.
   */
#app .pointsMall.app-route-view:not(#desktop-fixed-shell-anchor) {
    position:fixed !important;
    inset:0 auto 0 50% !important;
    width:min(500px, 100vw) !important;
    max-width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    transform:translateX(-50%) !important;
}
#app .users.mall-user-shell:not(#desktop-fixed-shell-anchor) > .mall-mine-page,
  #app .users.collect-shell:not(#desktop-fixed-shell-anchor) > .userCollect {
    inset:0 !important;
    width:100% !important;
    max-width:100% !important;
}

  /*
   * Public authentication routes are normal-flow mobile pages.  The legacy
   * `.pc .layout { height: calc(100vh - 54px) }` rule reserves space for a
   * bottom tab bar that these routes do not have.  On a desktop that makes the
   * scroll shell 54px too short and can hide the registration form.  Keep the
   * desktop mobile canvas centred while restoring a full-height, scrollable
   * authentication shell.  Scope this to the four public auth route classes
   * so regular store and account routes retain their existing behavior.
   */
body.ordinary-login-route #app,
  body.ordinary-code-login-route #app,
  body.ordinary-register-route #app,
  body.ordinary-forgot-route #app,
  body.ordinary-login-route #app .layout,
  body.ordinary-code-login-route #app .layout,
  body.ordinary-register-route #app .layout,
  body.ordinary-forgot-route #app .layout,
  body.ordinary-login-route #app .app-route-view,
  body.ordinary-code-login-route #app .app-route-view,
  body.ordinary-register-route #app .app-route-view,
  body.ordinary-forgot-route #app .app-route-view {
    width:min(500px, 100vw) !important;
    max-width:500px !important;
    min-height:100dvh !important;
    margin-right:auto !important;
    margin-left:auto !important;
}
body.ordinary-login-route #app .layout,
  body.ordinary-code-login-route #app .layout,
  body.ordinary-register-route #app .layout,
  body.ordinary-forgot-route #app .layout,
  body.ordinary-login-route #app .app-route-view,
  body.ordinary-code-login-route #app .app-route-view,
  body.ordinary-register-route #app .app-route-view,
  body.ordinary-forgot-route #app .app-route-view {
    height:100dvh !important;
}
body.ordinary-login-route #app .app-route-view,
  body.ordinary-code-login-route #app .app-route-view,
  body.ordinary-register-route #app .app-route-view,
  body.ordinary-forgot-route #app .app-route-view {
    overflow-x:hidden !important;
    overflow-y:auto !important;
}
body.ordinary-login-route #app .target-login-page,
  body.ordinary-code-login-route #app .target-code-page,
  body.ordinary-register-route #app .target-register-page,
  body.ordinary-forgot-route #app .target-forgot-page {
    width:100% !important;
    min-height:100dvh !important;
}
}

#app .pointsMall header:not(.home_top),#app .pointsMall header:not(.home_top) .van-nav-bar,#app .pointsMall header:not(.home_top) .van-nav-bar__content,#app .users>header .van-nav-bar,#app .users>header .van-nav-bar__content,#app .info-nav,#app .info-nav .van-nav-bar__content,#app .trend-nav,#app .trend-nav .van-nav-bar__content,#app .detail_head,#app .invite-task-nav{height:var(--site-nav-height) !important;min-height:var(--site-nav-height) !important}#app .van-nav-bar__title,#app header:has(>button[aria-label=返回])>h1,#app .detail_head>.title,#app .invite-task-nav>h1,#app .points-info-user-nav>h1,#app .trade-empty-head>span{font-family:var(--site-nav-font-family) !important;font-size:var(--site-nav-title-size) !important;font-weight:var(--site-nav-title-weight) !important;line-height:var(--site-nav-height) !important}#app header:has(>button[aria-label=返回])>h1,#app .detail_head>.title,#app .invite-task-nav>h1,#app .points-info-user-nav>h1,#app .trade-empty-head>span{position:absolute !important;top:var(--app-safe-area-top) !important;right:var(--site-nav-side-width) !important;left:var(--site-nav-side-width) !important;width:auto !important;height:var(--site-nav-height) !important;margin:0 !important;overflow:hidden !important;text-align:center !important;text-overflow:ellipsis !important;white-space:nowrap !important;transform:none !important}
#app{--site-nav-height: 44px;--site-nav-side-width: 40px;--site-nav-title-size: 17px;--site-nav-title-weight: 500;--site-nav-back-offset: 10px;--site-nav-back-width: 24px;--site-nav-back-size: 24px;--site-nav-foreground: #333;--site-nav-font-family: "Microsoft YaHei", "微软雅黑", SimSun, Arial, sans-serif}#app .van-nav-bar__title,#app header:has(>button[aria-label=返回])>h1,#app .detail_head>.title,#app .invite-task-nav>h1,#app .points-info-user-nav>h1,#app .trade-empty-head>span{color:var(--site-nav-foreground) !important;font-family:var(--site-nav-font-family) !important;font-size:var(--site-nav-title-size) !important;font-weight:var(--site-nav-title-weight) !important;line-height:var(--site-nav-height) !important;letter-spacing:0 !important}#app .van-nav-bar__left{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;padding:0 !important;color:var(--site-nav-foreground) !important}#app header:has(>button[aria-label=返回])>button[aria-label=返回],#app .invite-task-nav>button[aria-label=返回],#app .points-info-user-nav>button[aria-label=返回]{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;padding:0 !important;overflow:visible !important;color:var(--site-nav-foreground) !important;font-size:0 !important}#app header:has(>button[aria-label=返回])>button[aria-label=返回]::before,#app .invite-task-nav>button[aria-label=返回]::before,#app .points-info-user-nav>button[aria-label=返回]::before{content:"" !important;display:block !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;background:none !important;color:var(--site-nav-foreground) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:var(--site-nav-height) !important;text-align:center !important;-webkit-font-smoothing:antialiased}#app header:has(>button[aria-label=返回])>button[aria-label=返回]>.van-icon-arrow-left,#app .invite-task-nav>button[aria-label=返回]>.van-icon-arrow-left,#app .points-info-user-nav>button[aria-label=返回]>.van-icon-arrow-left{display:none !important}#app .van-icon-arrow-left::before{content:"" !important;display:block !important;background:none !important;color:var(--site-nav-foreground) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-style:normal !important;font-weight:400 !important;line-height:1 !important;-webkit-font-smoothing:antialiased}#app .detail_head>.van-icon-arrow-left{left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;color:var(--site-nav-foreground) !important}#app .pointsMall.search-shell .searchList .content .shopList .odd_list{padding-top:10px !important}#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list>.items{width:calc(100% - 11px) !important;height:134px !important;margin-left:5px !important;padding:0 !important;grid-template-columns:80px minmax(0, 1fr) !important;gap:10px !important}#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list>.items .imgs,#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list>.items .imgs img{width:80px !important;height:80px !important}#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list>.items .title{height:42px !important;min-height:42px !important;padding:0 !important;font-size:12px !important;line-height:18px !important}#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list>.items .points-price{height:20px !important;min-height:20px !important}#app .pointsMall.search-shell .searchList .result-shell>.content{left:auto !important;right:auto !important;transform:none !important}html body #app#app .search_back,html body #app#app .search-back,html body #app#app .home_top>a:first-child{position:relative !important;top:auto !important;left:auto !important;flex:0 0 44px !important;width:44px !important;height:44px !important;margin:0 !important;padding:0 !important;transform:none !important}html body #app#app .search_back::before,html body #app#app .search-back::before{content:none !important}html body #app#app .search_back>.van-icon-arrow-left,html body #app#app .search-back>.van-icon-arrow-left,html body #app#app .home_top>a:first-child>.van-icon-arrow-left{position:absolute !important;top:10px !important;left:10px !important;display:block !important;width:24px !important;height:24px !important;margin:0 !important;transform:none !important}html body #app#app header:has(>button[aria-label=返回]),html body #app#app .detail_head,html body #app#app .invite-task-nav,html body #app#app .points-info-user-nav{right:0 !important;left:0 !important;width:min(500px,100%) !important;max-width:500px !important;height:calc(var(--site-nav-height) + var(--app-safe-area-top)) !important;min-height:calc(var(--site-nav-height) + var(--app-safe-area-top)) !important;padding-top:var(--app-safe-area-top) !important;box-sizing:border-box !important;margin:0 auto !important;transform:none !important}html body #app#app .van-nav-bar__title,html body #app#app header:has(>button[aria-label=返回])>h1,html body #app#app .detail_head>.title,html body #app#app .invite-task-nav>h1,html body #app#app .points-info-user-nav>h1,html body #app#app .cart-header>span,html body #app#app .trade-empty-head>span{position:absolute !important;top:var(--app-safe-area-top) !important;right:var(--site-nav-side-width) !important;left:var(--site-nav-side-width) !important;width:auto !important;max-width:none !important;height:var(--site-nav-height) !important;margin:0 !important;font-family:var(--site-nav-font-family) !important;font-size:var(--site-nav-title-size) !important;font-style:normal !important;font-weight:var(--site-nav-title-weight) !important;line-height:var(--site-nav-height) !important;letter-spacing:0 !important;text-align:center !important;transform:none !important}html body #app#app .van-nav-bar__left{top:0 !important;left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;margin:0 !important;padding:0 !important}html body #app#app .van-nav-bar__left>.van-icon-arrow-left{position:absolute !important;top:50% !important;left:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;width:var(--site-nav-back-size) !important;height:var(--site-nav-back-size) !important;margin:0 !important;padding:0 !important;font-size:0 !important;line-height:1 !important;transform:translateY(-50%) !important}html body #app#app .van-nav-bar__left>.van-icon-arrow-left::before{width:var(--site-nav-back-size) !important;height:var(--site-nav-back-size) !important;font-family:"SiteNavMui" !important;font-size:var(--site-nav-back-size) !important;font-weight:400 !important;line-height:var(--site-nav-back-size) !important;text-align:center !important}html body #app#app header:has(>button[aria-label=返回])>button[aria-label=返回],html body #app#app .invite-task-nav>button[aria-label=返回],html body #app#app .points-info-user-nav>button[aria-label=返回]{top:var(--app-safe-area-top) !important;left:var(--site-nav-back-offset) !important;width:var(--site-nav-back-width) !important;height:var(--site-nav-height) !important;margin:0 !important;padding:0 !important}

/* The home toolbar already supplies the shared 10px left inset. */
html body #app#app .home_top > a:first-child > .van-icon-arrow-left {
  left: 0 !important;
}


:root{
    --bg1:#FF8746;
    --bg2:#f7b844;
    --status-bar-color:#F7B844;
    --status-bar-bg:none;
    /* Target ordinary-mall pages use the neutral site canvas; the previous
       warm fallback became visible whenever a scroll surface was narrower
       than the viewport. */
    --browser-bottom-color:#f6f6f6;
    --desktop-outer-canvas-color:#f6f6f6;
    --mobile-status-fill-height:64px;
    --app-nav-height:44px;
    --app-safe-area-top:0px;
    --app-safe-area-top:constant(safe-area-inset-top);
    --app-safe-area-top:env(safe-area-inset-top, 0px);
    --app-fixed-header-height:calc(var(--app-nav-height) + var(--app-safe-area-top));
    --shrink:0.3rem;
    --borderRadius:0.15rem;
    --webBg:#F6F6F6;
    --textColor:#A2A2A2;
    --textColor1:#666666;
    --textColor2:#333333;
    --textColor3:#999999;
    --textColor4:#888888;
    --pointsMallBg:#f7b844;
    --pointsMallBg1:#f5bf55;
    view-transition-name: root;
}
html,
body{
    min-height: 100%;
    /* Keep Safari's bottom toolbar on the page canvas color. Top tint is
       supplied by a separate viewport-edge layer, never the whole document. */
    background-color: var(--browser-bottom-color);
    background-image: none;
}
html::before,
body::before{
    content: "";
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 2147483000;
    width: min(500px, 100vw);
    height: constant(safe-area-inset-top);
    height: env(safe-area-inset-top, 0px);
    background-color: var(--status-bar-color);
    background-image: var(--status-bar-bg);
    transform: translateX(-50%);
    pointer-events: none;
}
html.points-detail-status-fill,
body.points-detail-status-fill {
    background-color: var(--browser-bottom-color) !important;
    background-image: none !important;
}
html.points-detail-status-fill::before {
    left: -2px;
    right: -2px;
    width: auto;
    background-color: #ff4630 !important;
    background-image: none !important;
    transform: none;
    z-index: 2147483000;
    height: constant(safe-area-inset-top);
    height: env(safe-area-inset-top, 0px);
}
*{
    font-style: normal;
    margin: 0;
}
#app{
    padding-bottom: 0;
    min-height: 100%;
    background-color: var(--browser-bottom-color);
    background-image: none;
}

/* A regular Safari viewport already starts below the status bar. Painting
   env(safe-area-inset-top) over y=0 obscures the page's own header artwork.
   Native APP / standalone retain their existing safe-area layout. */
html.ios-browser::before,
html.ios-browser body::before {
    content: none !important;
    display: none !important;
}

/* Expose the REAL painted header to Safari's scroll-edge sampling. Auto
   insets retain normal scrolling (including the tall account hero); do not
   introduce a newly pinned header. Fixed/absolute headers are untouched.
   No extra box, height, padding or color is introduced. */
html.ios-browser #app [data-browser-chrome-flow="true"] {
    position: sticky !important;
    top: auto !important;
    bottom: auto !important;
}

/* These transparent bars sit over a solid 180px yellow part of their parent
   gradient. Give the navigation its own identical paint for Safari sampling. */
html body #app .target-login-head,
html body #app .target-code-head,
html body #app .target-forgot-head,
html body #app .target-register-head {
    background-color: #f7b844 !important;
}

.pc .pointsMall{
    position: static!important;
}
.pc,.pc .van-sticky--fixed,.pc .help-wrapper{
    max-width: 500px!important;
    margin: 0 auto;
}
.pc .detail{
    height: calc(100% - 0px)!important;
}
.pc .layout{
    height: calc(100vh - 54px);
}
.pc{
    position: relative;
}

.pc #mall_home{
    overflow: hidden!important;
}
.pc .user_home,.pc .users{
    /* position: static!important; */
}

.pc .van-tabbar,.pc .play_boll,.pc .foot_opa,.pc .login_out,.pc .van-submit-bar{
    width: 500px!important;
    margin: 0 auto!important;
    left: 50%!important;
    transform: translateX(-50%)!important;
}
.pc .play_boll{
    width: 100%!important;
    height: .75rem;
    position: relative;
}
.pc .detail_ .play_boll{
    width: 500px!important;
}
.pc .play_boll div{
    /* overflow: hidden; */
}
.layout{
    height: auto;
    min-height: 100%;
}
.layout--with-tabbar{
    padding-bottom: calc(72px + constant(safe-area-inset-bottom));
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
}
body {
    background-color: var(--browser-bottom-color);
    background-image: none;
    height: 100%;
}   
@media (max-width: 500px) {
    :root {
        --mobile-status-fill-height: 64px;
    }
    html {
        background-color: var(--browser-bottom-color);
        background-image: linear-gradient(
            to bottom,
            var(--status-bar-color) 0,
            var(--status-bar-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) 100%
        );
        background-image: linear-gradient(
            to bottom,
            var(--status-bar-color) 0,
            var(--status-bar-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) 100%
        );
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-size: 100% 100%;
    }
    body {
        background-color: var(--browser-bottom-color);
        background-image: linear-gradient(
            to bottom,
            var(--status-bar-color) 0,
            var(--status-bar-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) 100%
        );
        background-image: linear-gradient(
            to bottom,
            var(--status-bar-color) 0,
            var(--status-bar-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) 100%
        );
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-size: 100% 100%;
    }
    body.ordinary-status-active {
        background-color: var(--browser-bottom-color) !important;
        background-image: linear-gradient(
            to bottom,
            var(--status-bar-color) 0,
            var(--status-bar-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) 100%
        ) !important;
        background-repeat: no-repeat !important;
        background-attachment: fixed !important;
        background-size: 100% 100% !important;
    }
    html.points-detail-status-fill,
    body.points-detail-status-fill {
        background-color: var(--browser-bottom-color) !important;
        background-image: linear-gradient(
            to bottom,
            #ff4630 0,
            #ff4630 var(--mobile-status-fill-height),
            var(--browser-bottom-color) var(--mobile-status-fill-height),
            var(--browser-bottom-color) 100%
        ) !important;
        background-repeat: no-repeat !important;
        background-attachment: fixed !important;
        background-size: 100% 100% !important;
    }
    #app {
        min-height: 100vh;
        background-color: var(--browser-bottom-color);
        background-image: none;
    }
    html::before,
    body::before {
        left: 0;
        right: 0;
        width: 100vw;
        transform: none;
    }
    html.points-detail-status-fill::before {
        left: -4px;
        right: -4px;
        width: auto;
        transform: none;
        height: constant(safe-area-inset-top);
        height: env(safe-area-inset-top, 0px);
    }
}
.container{
    padding: var(--shrink);
}
.pd{
    padding: 0 var(--shrink);
}
.containerWidth{
    width: calc(100% - var(--shrink) * 2);
    margin: 0 auto;
    padding:var(--shrink);

}
.clamp1{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.clamp2{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.van-sku-actions .van-button--danger,.van-submit-bar__button--danger,.van-stepper__plus,.van-stepper__minus{
    background: linear-gradient(var(--bg1), var(--bg2));
}
.van-stepper__plus,.van-stepper__minus{
    color: #fff;
    font-weight: bold;
    border-radius: 0.1rem;
    width: 0.4rem;
    height: 0.4rem;
}
.van-stepper__minus--disabled{
    background: #D4D4D4!important;   
}
.van-submit-bar__price{
    color: var(--bg1);
}
.van-checkbox__icon--checked .van-icon{
    background: var(--bg1);
    border-color: var(--bg1);
}
.van-stepper__input{
    font-size: 0.3rem;
	width:50px;
    background-color: transparent;
}
::v-deep .van-count-down ,.count_down{
    display: flex;
    align-items: center;
    justify-content: center;
    .colon {
        display: inline-block;
        margin: 0 0.05rem;
        color: var(--bg2);
    }
    .block {
    display:flex;
    align-items: center;
    justify-content: center;
    width: 0.35rem;
    height: 0.35rem;
    color: #000;
    font-size: 0.22rem;
    font-weight: 400;
    text-align: center;
    background: linear-gradient(#FFA06A, #F8CC85);
    border-radius: 0.05rem;
    }
}

.bj-t3{
    background: linear-gradient(to right, #f8d68f, #f5bf55);
}


.van-badge-right .van-badge{
    right: 0.05rem!important;
    top: 0.05rem!important;
}

[data-kefu-entry].mine-menu-text--customer > [class*="badge"],
[data-kefu-entry].mine-menu-text--customer > [class*="unread"],
[data-kefu-entry].service-label--customer > [class*="badge"],
[data-kefu-entry].service-label--customer > [class*="unread"]{
    position: absolute!important;
    top: -0.16rem!important;
    right: -0.3rem!important;
    margin: 0!important;
    transform: none!important;
}

/* ::v-deep .van-dialog__confirm{
    color: var(--bg2)!important;
  } */

.van-list__loading,.van-list__placeholder{
    /* height: 50px; */
}
.van-tabs__track{
    height: auto;
}


img{
    font-size: 0.2rem;
    color: var(--textColor2);
}

.countdown-number::before {
    content: counter(countdown);
    counter-reset: countdown 100;
    animation: countdown 1s steps(100) infinite;
}

@keyframes countdown {
    0% {
        counter-reset: countdown 99;
    }

    1% {
        counter-reset: countdown 98;
    }

    2% {
        counter-reset: countdown 97;
    }

    3% {
        counter-reset: countdown 96;
    }

    4% {
        counter-reset: countdown 95;
    }

    5% {
        counter-reset: countdown 94;
    }

    6% {
        counter-reset: countdown 93;
    }

    7% {
        counter-reset: countdown 92;
    }

    8% {
        counter-reset: countdown 91;
    }

    9% {
        counter-reset: countdown 90;
    }

    10% {
        counter-reset: countdown 89;
    }

    11% {
        counter-reset: countdown 88;
    }

    12% {
        counter-reset: countdown 87;
    }

    13% {
        counter-reset: countdown 86;
    }

    14% {
        counter-reset: countdown 85;
    }

    15% {
        counter-reset: countdown 84;
    }

    16% {
        counter-reset: countdown 83;
    }

    17% {
        counter-reset: countdown 82;
    }

    18% {
        counter-reset: countdown 81;
    }

    19% {
        counter-reset: countdown 80;
    }

    20% {
        counter-reset: countdown 79;
    }

    21% {
        counter-reset: countdown 78;
    }

    22% {
        counter-reset: countdown 77;
    }

    23% {
        counter-reset: countdown 76;
    }

    24% {
        counter-reset: countdown 75;
    }

    25% {
        counter-reset: countdown 74;
    }

    26% {
        counter-reset: countdown 73;
    }

    27% {
        counter-reset: countdown 72;
    }

    28% {
        counter-reset: countdown 71;
    }

    29% {
        counter-reset: countdown 70;
    }

    30% {
        counter-reset: countdown 69;
    }

    31% {
        counter-reset: countdown 68;
    }

    32% {
        counter-reset: countdown 67;
    }

    33% {
        counter-reset: countdown 66;
    }

    34% {
        counter-reset: countdown 65;
    }

    35% {
        counter-reset: countdown 64;
    }

    36% {
        counter-reset: countdown 63;
    }

    37% {
        counter-reset: countdown 62;
    }

    38% {
        counter-reset: countdown 61;
    }

    39% {
        counter-reset: countdown 60;
    }

    40% {
        counter-reset: countdown 59;
    }

    41% {
        counter-reset: countdown 58;
    }

    42% {
        counter-reset: countdown 57;
    }

    43% {
        counter-reset: countdown 56;
    }

    44% {
        counter-reset: countdown 55;
    }

    45% {
        counter-reset: countdown 54;
    }

    46% {
        counter-reset: countdown 53;
    }

    47% {
        counter-reset: countdown 52;
    }

    48% {
        counter-reset: countdown 51;
    }

    49% {
        counter-reset: countdown 50;
    }

    50% {
        counter-reset: countdown 49;
    }

    51% {
        counter-reset: countdown 48;
    }

    52% {
        counter-reset: countdown 47;
    }

    53% {
        counter-reset: countdown 46;
    }

    54% {
        counter-reset: countdown 45;
    }

    55% {
        counter-reset: countdown 44;
    }

    56% {
        counter-reset: countdown 43;
    }

    57% {
        counter-reset: countdown 42;
    }

    58% {
        counter-reset: countdown 41;
    }

    59% {
        counter-reset: countdown 40;
    }

    60% {
        counter-reset: countdown 39;
    }

    61% {
        counter-reset: countdown 38;
    }

    62% {
        counter-reset: countdown 37;
    }

    63% {
        counter-reset: countdown 36;
    }

    64% {
        counter-reset: countdown 35;
    }

    65% {
        counter-reset: countdown 34;
    }

    66% {
        counter-reset: countdown 33;
    }

    67% {
        counter-reset: countdown 32;
    }

    68% {
        counter-reset: countdown 31;
    }

    69% {
        counter-reset: countdown 30;
    }

    70% {
        counter-reset: countdown 29;
    }

    71% {
        counter-reset: countdown 28;
    }

    72% {
        counter-reset: countdown 27;
    }

    73% {
        counter-reset: countdown 26;
    }

    74% {
        counter-reset: countdown 25;
    }

    75% {
        counter-reset: countdown 24;
    }

    76% {
        counter-reset: countdown 23;
    }

    77% {
        counter-reset: countdown 22;
    }

    78% {
        counter-reset: countdown 21;
    }

    79% {
        counter-reset: countdown 20;
    }

    80% {
        counter-reset: countdown 19;
    }

    81% {
        counter-reset: countdown 18;
    }

    82% {
        counter-reset: countdown 17;
    }

    83% {
        counter-reset: countdown 16;
    }

    84% {
        counter-reset: countdown 15;
    }

    85% {
        counter-reset: countdown 14;
    }

    86% {
        counter-reset: countdown 13;
    }

    87% {
        counter-reset: countdown 12;
    }

    88% {
        counter-reset: countdown 11;
    }

    89% {
        counter-reset: countdown 10;
    }

    90% {
        counter-reset: countdown 9;
    }

    91% {
        counter-reset: countdown 8;
    }

    92% {
        counter-reset: countdown 7;
    }

    93% {
        counter-reset: countdown 6;
    }

    94% {
        counter-reset: countdown 5;
    }

    95% {
        counter-reset: countdown 4;
    }

    96% {
        counter-reset: countdown 3;
    }

    97% {
        counter-reset: countdown 2;
    }

    98% {
        counter-reset: countdown 1;
    }

    99% {
        counter-reset: countdown 0;
    }
}

.van-list__placeholder{
    margin-bottom: 50px!important;
}

.points-exchange-popup.exchange {
    overflow: visible;
    background: transparent !important;
}

.points-exchange-popup.exchange .content_exchange {
    width: min(6.35rem, calc(100vw - 0.48rem)) !important;
    max-width: 430px;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0.28rem !important;
    border-radius: 0.28rem !important;
    background: linear-gradient(180deg, #fff 0%, #fff8f2 100%) !important;
    box-shadow: 0 0.28rem 0.7rem rgba(72, 33, 12, 0.22);
    box-sizing: border-box;
}

.points-exchange-popup.exchange .exchange-head {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 0.2rem;
    padding: 0 0.4rem 0.24rem 0 !important;
    margin: 0 0 0.22rem !important;
    border-bottom: 1px solid #f3e4da;
}

.points-exchange-popup.exchange .exchange-head .imgs {
    flex: 0 0 1.18rem;
    width: 1.18rem;
    height: 1.18rem;
    border-radius: 0.18rem;
    overflow: hidden;
    background: #f8f8f8;
}

.points-exchange-popup.exchange .exchange-head .imgs img {
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: contain;
       object-fit: contain;
}

.points-exchange-popup.exchange .exchange-head .text {
    flex: 1;
    min-width: 0;
    margin-left: 0 !important;
    color: #1c1c1c !important;
}

.points-exchange-popup.exchange .exchange-head .title {
    min-height: 0;
    margin: 0 0 0.12rem;
    color: #171717;
    font-size: 0.27rem !important;
    font-weight: 800;
    line-height: 0.38rem;
}

.points-exchange-popup.exchange .exchange-head .residue {
    margin-top: 0 !important;
    color: #8b6b58 !important;
    font-size: 0.23rem !important;
}

.points-exchange-popup.exchange .exchange-head .residue i {
    color: #ff3b1a;
    font-size: 0.3rem;
    font-weight: 900;
}

.points-exchange-popup.exchange .popup-close {
    position: absolute;
    top: -0.08rem;
    right: -0.04rem;
    color: #9b7a65;
    font-size: 0.34rem !important;
}

.points-exchange-popup.exchange .exchange-balance {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.16rem;
    margin: 0 0 0.22rem !important;
    padding: 0.2rem !important;
    border-radius: 0.22rem;
    background: #fff2e9;
    border: 1px solid #ffe0ce;
}

.points-exchange-popup.exchange .exchange-balance span {
    display: block;
    margin-bottom: 0.06rem;
    color: #9a7561;
    font-size: 0.21rem;
    line-height: 1;
}

.points-exchange-popup.exchange .exchange-balance strong {
    color: #ff3518;
    font-size: 0.32rem;
    font-weight: 900;
}

.points-exchange-popup.exchange .exchange-balance label {
    flex: 0 0 2rem;
    display: block;
    padding: 0.12rem 0.16rem;
    border-radius: 0.18rem;
    background: #fff;
    box-sizing: border-box;
}

.points-exchange-popup.exchange .exchange-balance input {
    width: 100%;
    border: 0 !important;
    outline: none;
    padding: 0;
    color: #ff3518;
    font-size: 0.32rem;
    font-weight: 900;
    background: transparent;
    text-align: center;
}

.points-exchange-popup.exchange .exchange-balance a {
    flex: 0 0 auto;
    border-radius: 0.32rem !important;
    padding: 0.12rem 0.28rem !important;
    color: #fff !important;
    font-size: 0.23rem !important;
    font-weight: 800;
    background: linear-gradient(90deg, #ff2f1a 0%, #ff6b00 100%) !important;
}

.points-exchange-popup.exchange .proportion {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.12rem;
    margin: 0 0 0.26rem !important;
}

.points-exchange-popup.exchange .proportion span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 0.56rem;
    border: 1px solid #ffc7ae;
    border-radius: 0.3rem;
    color: #8b6b58;
    background: #fff;
    font-size: 0.23rem;
    font-weight: 800;
    box-sizing: border-box;
}

.points-exchange-popup.exchange .proportion span.active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(90deg, #ff2f1a 0%, #ff6b00 100%);
    box-shadow: 0 0.08rem 0.18rem rgba(255, 73, 18, 0.22);
}

.points-exchange-popup.exchange .check {
    display: block !important;
    margin: 0 !important;
    font-size: 0.23rem;
}

.points-exchange-popup.exchange .check .btns {
    margin: 0 0 0.2rem !important;
}

.points-exchange-popup.exchange .check .btns button {
    width: 100%;
    height: 0.78rem;
    border: 0;
    border-radius: 0.42rem;
    color: #fff !important;
    background: linear-gradient(90deg, #ff2f1a 0%, #ff6b00 100%) !important;
    box-shadow: 0 0.1rem 0.22rem rgba(255, 73, 18, 0.24);
    font-size: 0.28rem;
    font-weight: 900;
}

.points-exchange-popup.exchange .check .btns button[disabled] {
    color: #999 !important;
    background: #e4e4e4 !important;
    box-shadow: none;
}

.points-exchange-popup.exchange .check .btns button[aria-busy="true"] {
    color: #fff !important;
    background: linear-gradient(90deg, #ff2f1a 0%, #ff8a00 50%, #ff2f1a 100%) !important;
    background-size: 200% 100% !important;
    box-shadow: 0 0.08rem 0.18rem rgba(255, 73, 18, 0.2);
    animation: points-exchange-busy 0.9s linear infinite;
    opacity: 0.9;
}

@keyframes points-exchange-busy {
    to {
        background-position: -200% 0;
    }
}

.pointsMall .play_boll button[aria-busy="true"] {
    color: #fff !important;
    background: linear-gradient(90deg, #ff2f1a 0%, #ff8a00 50%, #ff2f1a 100%) !important;
    background-size: 200% 100% !important;
    animation: points-exchange-busy 0.9s linear infinite;
    opacity: 0.9;
}

.points-exchange-popup.exchange .exchange-tip {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.08rem;
    color: #8b6b58;
    font-size: 0.22rem;
}

.points-exchange-popup.exchange .exchange-tip .van-icon {
    color: #ff5b19;
    font-size: 0.3rem !important;
}

/* Ordinary mall theme */
:root {
    --ordinary-mall-nav-bg: #F7B844;
    --ordinary-mall-gradient: linear-gradient(to right, var(--bg1), var(--bg2));
    --ordinary-mall-bg: #f6f6f6;
    --ordinary-mall-card: #fff;
    --ordinary-mall-border: #e4e4e4;
    --ordinary-mall-text: #333;
    --ordinary-mall-muted: #999;
    --ordinary-mall-shadow: none;
    --ordinary-mall-radius: 0.22rem;
}

.home,
.ordinary-category,
.detail,
.search,
.searchList,
.buy,
.orderPay,
.recommend,
.activity,
.custom,
.users > .user_home,
.users > .userOrder:not(.userProduct),
.users > .userOrderInfo:not(.order-detail-page) {
    background: var(--ordinary-mall-bg) !important;
    color: var(--ordinary-mall-text);
    font-family: PingFang SC, Helvetica Neue, Helvetica, Arial, sans-serif;
}

.home header,
.ordinary-category header,
.search header,
.searchList header,
.searchList .search_head,
.detail .detail_head,
.recommend .navTop,
.topNav,
.topNav .van-nav-bar,
.topNav .van-nav-bar__content,
.users > header,
.users > header .van-nav-bar,
.users > header .van-nav-bar__content,
.user_home .user_top,
.auth-nav,
.login-nav,
.settings-page .settings-nav,
.password-page .password-nav {
    background: var(--ordinary-mall-nav-bg) !important;
    color: #fff !important;
}

.auth-nav .van-icon,
.auth-nav span,
.login-nav .van-icon,
.login-nav span,
.settings-page .settings-nav .van-icon,
.settings-page .settings-nav span,
.password-page .password-nav .van-icon,
.password-page .password-nav span,
.searchList .search_head .van-icon,
.searchList .search_head .search_back {
    color: #fff !important;
}

.ordinary-category .van-search__content,
.search .van-search__content,
.searchList .van-search__content,
.home header .van-search__content {
    min-height: 0.64rem !important;
    border-radius: 0.34rem !important;
    background: rgba(255, 255, 255, 0.88) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}

.ordinary-category .van-search__action,
.search .van-search__action .search_btn,
.searchList .van-search__action .search_btn,
.home header .van-search__action {
    border-radius: 0.34rem !important;
    background: var(--ordinary-mall-gradient) !important;
    color: #fff !important;
    font-weight: 800 !important;
}

.home .banner {
    width: calc(100% - var(--shrink) * 2) !important;
    height: 3.12rem !important;
    max-height: 3.12rem !important;
    margin: 0.2rem auto 0 !important;
    border-radius: 0.26rem !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.home .banner .van-swipe,
.home .banner .van-swipe__track,
.home .banner .van-swipe-item,
.home .banner a,
.home .banner img {
    height: 100% !important;
    max-height: 100% !important;
}

.home .banner a,
.home .banner img {
    display: block !important;
    width: 100% !important;
}

.home .banner img {
    -o-object-fit: cover !important;
       object-fit: cover !important;
}

.detail .banner,
.custom .custom_hero_wrap {
    background: var(--ordinary-mall-nav-bg) !important;
}

.search .van-icon-arrow-left,
.searchList .van-icon-arrow-left,
.search .van-search__action .iconfont,
.searchList .van-search__action .iconfont {
    color: #fff !important;
}

.van-dialog,
.van-popup,
.van-sku-container {
    border-radius: 0.24rem !important;
    overflow: hidden;
}

.agreement-popup-shell {
    border-radius: 0 !important;
    background: transparent !important;
}

.van-dialog__header,
.van-sku-header__goods-info {
    color: var(--ordinary-mall-text) !important;
    font-weight: 800 !important;
}

.van-dialog__confirm,
.van-button--danger,
.van-button--primary,
.van-submit-bar__button--danger,
.van-sku-actions .van-button--danger,
.van-stepper__plus,
.van-stepper__minus {
    border-color: transparent !important;
    background: var(--ordinary-mall-gradient) !important;
    color: #fff !important;
}

.van-dialog__cancel {
    color: var(--ordinary-mall-muted) !important;
}

.van-checkbox__icon--checked .van-icon,
.van-radio__icon--checked .van-icon {
    border-color: var(--bg1) !important;
    background: var(--ordinary-mall-gradient) !important;
}

.van-submit-bar {
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 -0.08rem 0.24rem rgba(158, 92, 38, 0.12) !important;
}

.van-submit-bar__price,
.home .price,
.home .price i,
.ordinary-category .price,
.ordinary-category .price i,
.detail .price,
.detail .price i,
.searchList .price,
.searchList .price i,
.buy .price,
.buy .price i,
.recommend .price,
.recommend .price i,
.activity .price,
.activity .price i,
.custom .price,
.custom .price i,
.user_home .price,
.user_home .price i,
.userOrder .price,
.userOrder .price i,
.userOrderInfo .price,
.userOrderInfo .price i,
.detail .price_num,
.detail .price_box .price_item .mon,
.buy .submit_bar span {
    color: var(--bg1) !important;
}

.ordinary-category .filter,
.searchList .filter,
.recommend .filter,
.userOrder .menu_body .van-tabs__wrap {
    margin: 0.16rem auto !important;
    padding: 0.08rem !important;
    border-radius: 0.42rem !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: var(--ordinary-mall-shadow) !important;
    box-sizing: border-box !important;
}

.ordinary-category .filter span,
.searchList .filter span,
.recommend .filter span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 0.58rem;
    border-radius: 0.34rem !important;
    background: transparent !important;
    color: #7a6a5e !important;
    font-size: 0.24rem !important;
    font-weight: 700 !important;
}

.ordinary-category .filter span.active,
.searchList .filter span.active,
.recommend .filter span.active,
.ordinary-category .filter #sort.active {
    background: var(--ordinary-mall-gradient) !important;
    color: #fff !important;
    box-shadow: 0 0.08rem 0.18rem rgba(255, 135, 70, 0.22) !important;
}

.userOrder .menu_body .van-tab {
    min-width: 1.15rem;
    height: 0.6rem;
    margin: 0 0.04rem;
    border-radius: 0.32rem;
    color: #7a6a5e;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 0.6rem;
}

.userOrder .menu_body .van-tab--active {
    color: #fff !important;
    background: var(--ordinary-mall-gradient) !important;
    box-shadow: 0 0.08rem 0.18rem rgba(255, 135, 70, 0.22);
}

.userOrder .menu_body .van-tabs__line {
    display: none !important;
}

.ordinary-category .van-sidebar {
    background: #fff5eb !important;
}

.ordinary-category .van-sidebar-item,
.ordinary-category .van-tree-select__nav {
    background: #fff5eb !important;
}

.ordinary-category .van-sidebar-item--select {
    color: var(--bg1) !important;
    background: #fff !important;
    font-weight: 900 !important;
}

.ordinary-category .van-sidebar-item--select::before {
    background: var(--ordinary-mall-gradient) !important;
}

.ordinary-category .van-tree-select__content,
.ordinary-category .van-tree-select__content .filter {
    background: var(--ordinary-mall-bg) !important;
}

.ordinary-category .list a,
.shopList .list:not(#pointsMall):not(#pointsMall_cart) .items,
.shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) .items,
.buy .shopList .items,
.userOrder .group,
.userOrderInfo .obligation_box,
.userOrderInfo .content .ts,
.buy .address_box,
.buy .ts,
.orderPay .content .box,
.orderPay .content > .item,
.user_home .user_order,
.user_home #tables,
.user_home .user_activity .item,
.recommend .shopList .items,
.activity .shopList .items,
.custom .shopList .items {
    border: 1px solid rgba(255, 228, 207, 0.72) !important;
    border-radius: var(--ordinary-mall-radius) !important;
    background: var(--ordinary-mall-card) !important;
    box-shadow: var(--ordinary-mall-shadow) !important;
    overflow: hidden;
}

.ordinary-category .list a,
.buy .shopList .items,
.userOrder .group,
.userOrderInfo .content .shop_info {
    padding: 0.22rem !important;
}

.shopList .list:not(#pointsMall):not(#pointsMall_cart) {
    gap: 0.18rem !important;
    padding: 0 0.18rem 0.28rem !important;
    box-sizing: border-box;
}

.shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.18rem !important;
}

.shopList .list:not(#pointsMall):not(#pointsMall_cart) .items {
    margin: 0 !important;
}

.shopList .list:not(#pointsMall):not(#pointsMall_cart) .imgs,
.ordinary-category .list a .img,
.buy .shopList .img,
.userOrder .group_body .img,
.userOrderInfo .shop_info .img {
    border-radius: 0.18rem !important;
    background: linear-gradient(180deg, #fffaf5 0%, #fff 100%) !important;
    overflow: hidden !important;
}

.shopList .list:not(#pointsMall):not(#pointsMall_cart) img,
.ordinary-category .list a img,
.buy .shopList img,
.userOrder .group_body img,
.userOrderInfo .shop_info img {
    -o-object-fit: contain !important;
       object-fit: contain !important;
}

.shopList .list:not(#pointsMall):not(#pointsMall_cart) .title,
.ordinary-category .list .title,
.buy .title,
.userOrder .title,
.userOrderInfo .title {
    color: var(--ordinary-mall-text) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.shopList .list:not(#pointsMall):not(#pointsMall_cart) .integral,
.ordinary-category .tag span,
.detail .title_item .tag span,
.userOrderInfo .tag span {
    border-radius: 0.24rem !important;
    background: linear-gradient(to right, var(--bg1), var(--bg2)) !important;
    color: #fff !important;
    font-size: 0.2rem !important;
    font-weight: 700 !important;
}

.shopList .list:not(#pointsMall):not(#pointsMall_cart) button,
.userOrder .group_footer a,
.userOrderInfo .submit button,
.detail .play_boll button,
.buy .customized span,
.buy .customizedText .van-icon {
    border: 0 !important;
    border-radius: 0.4rem !important;
    background: var(--ordinary-mall-gradient) !important;
    color: #fff !important;
    font-weight: 800 !important;
}

.detail .price_box > .price_item,
.detail .play_boll .play,
.buy .address_box .tag {
    background: var(--ordinary-mall-gradient) !important;
}

.detail .title_item,
.detail .delivery,
.detail .content,
.detail .play_boll {
    border-radius: var(--ordinary-mall-radius) !important;
    background: var(--ordinary-mall-card) !important;
    box-shadow: var(--ordinary-mall-shadow) !important;
}

.detail .content .tab_title {
    border-radius: var(--ordinary-mall-radius) var(--ordinary-mall-radius) 0 0 !important;
    background: #fff !important;
}

.detail .content .tab_title .active {
    border-bottom-color: transparent !important;
    background: var(--ordinary-mall-gradient) !important;
    color: #fff !important;
    box-shadow: 0 0.08rem 0.18rem rgba(255, 135, 70, 0.22) !important;
    font-weight: 900 !important;
}

.detail .play_boll {
    border-radius: 0.28rem 0.28rem 0 0 !important;
}

.detail .play_boll .addCar {
    background: linear-gradient(to right, #3b342f, #62564b) !important;
}

.buy.userRecharge {
    background: var(--ordinary-mall-bg) !important;
}

.buy .shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) {
    display: block !important;
    grid-template-columns: none !important;
    width: calc(100% - 0.36rem) !important;
    margin: 0 auto 0.18rem !important;
    padding: 0 !important;
}

.buy .shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) .items {
    display: block !important;
    width: 100% !important;
    min-height: 2.06rem !important;
    margin: 0 !important;
    padding: 0.18rem !important;
    box-sizing: border-box !important;
}

.buy .shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) .items a {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.18rem !important;
}

.buy .shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) .items .imgs {
    flex: 0 0 1.72rem !important;
    width: 1.72rem !important;
    height: 1.72rem !important;
    margin: 0 !important;
}

.buy .shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) .items a > div:last-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin-left: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.buy .shopList .odd_list.list:not(#pointsMall):not(#pointsMall_cart) .option {
    margin-top: auto !important;
}

.buy .delsubmit.van-submit-bar {
    width: 100% !important;
    max-width: 500px !important;
    height: auto !important;
    min-height: 1.08rem !important;
    padding: 0.14rem 0.18rem calc(0.14rem + env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
}

.buy .delsubmit .van-submit-bar__bar {
    height: auto !important;
    min-height: 0.82rem !important;
    padding: 0 !important;
}

.buy .delsubmit .van-submit-bar__button {
    width: 2.18rem !important;
    height: 0.76rem !important;
    padding: 0 !important;
    border-radius: 0.42rem !important;
    line-height: 0.76rem !important;
}

.orderPay.userRecharge {
    min-height: 100%;
    background: var(--ordinary-mall-bg) !important;
}

.orderPay .content .box,
.orderPay .content > .item {
    margin-top: 0.22rem !important;
    padding: 0.22rem !important;
}

.orderPay .text {
    color: var(--ordinary-mall-text) !important;
    font-size: 0.28rem !important;
    font-weight: 700 !important;
}

.orderPay .text img {
    margin-right: 0.12rem !important;
}

.orderPay .login_out .item {
    border: 0 !important;
    border-radius: 0.44rem !important;
    background: var(--ordinary-mall-gradient) !important;
    box-shadow: 0 0.1rem 0.24rem rgba(255, 135, 70, 0.24) !important;
    color: #fff !important;
    font-weight: 900 !important;
}

.buy .list .item {
    color: var(--ordinary-mall-text) !important;
}

.user_home .user_top {
    box-shadow: 0 0.16rem 0.32rem rgba(255, 135, 70, 0.18);
}

.user_home .user_order {
    padding: 0.28rem !important;
}

.user_home .user_order .head {
    color: var(--ordinary-mall-text) !important;
}

.user_home .user_order .content .item {
    border-radius: 0.18rem !important;
    background: #f6f6f6 !important;
}

.user_home .order_list .item img {
    filter: drop-shadow(0 0.06rem 0.08rem rgba(255, 135, 70, 0.18));
}

.userOrder .order-page-list,
.userOrder .menu_body_s {
    background: var(--ordinary-mall-bg) !important;
}

.userOrder .group {
    margin-bottom: 0.22rem !important;
}

.userOrder .group_header {
    border-bottom: 1px solid rgba(255, 228, 207, 0.78) !important;
}

.userOrder .state,
.userOrder .wait_state {
    color: var(--bg1) !important;
    font-weight: 800 !important;
}

.userOrder .group_footer {
    border-top: 1px solid rgba(255, 228, 207, 0.78) !important;
}

.userOrder .over {
    color: var(--ordinary-mall-muted) !important;
}

.userOrderInfo .obligation_box {
    margin-top: 0.16rem !important;
    background: var(--ordinary-mall-gradient) !important;
    color: #fff !important;
}

.userOrderInfo .obligation_box .title,
.userOrderInfo .obligation_box .tips,
.userOrderInfo .obligation_box .van-icon {
    color: #fff !important;
}

.userOrderInfo .content {
    padding-bottom: 1.4rem;
}

.userOrderInfo .list .item {
    color: var(--ordinary-mall-text) !important;
}

.userOrderInfo .list .p,
.userOrderInfo .list .p i {
    color: var(--bg1) !important;
}

.recommend,
.activity,
.custom {
    min-height: 100%;
    padding-bottom: 0.5rem;
}

.recommend .filter {
    width: calc(100% - 0.36rem) !important;
}

.activity > img,
.custom > img {
    display: block;
    width: calc(100% - 0.36rem) !important;
    margin: 0.18rem auto !important;
    border-radius: var(--ordinary-mall-radius) !important;
    box-shadow: var(--ordinary-mall-shadow) !important;
    -o-object-fit: cover;
       object-fit: cover;
}

.custom .shopList #custom.odd_list.list {
    display: block !important;
    width: calc(100% - 0.36rem) !important;
    margin: 0 auto !important;
    padding: 0 0 0.36rem !important;
}

.custom .shopList #custom.odd_list.list .items {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 1.98rem !important;
    margin: 0 0 0.18rem !important;
    padding: 0.18rem !important;
    box-sizing: border-box !important;
    gap: 0.18rem !important;
}

.custom .shopList #custom.odd_list.list .items > a {
    flex: 0 0 1.9rem !important;
    display: block !important;
    min-width: 0 !important;
}

.custom .shopList #custom.odd_list.list .items .imgs {
    width: 1.9rem !important;
    height: 1.9rem !important;
    margin: 0 !important;
    border-radius: 0.2rem !important;
}

.custom .shopList #custom.odd_list.list .items > div {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.custom .shopList #custom.odd_list.list .title {
    height: auto !important;
    min-height: 0.64rem !important;
    margin: 0.02rem 0 0.08rem !important;
    font-size: 0.28rem !important;
    line-height: 0.34rem !important;
}

.custom .shopList #custom.odd_list.list .tag {
    min-height: 0.28rem !important;
    margin: 0 0 0.08rem !important;
    overflow: hidden !important;
}

.custom .shopList #custom.odd_list.list .integral {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    width: auto !important;
    margin: 0 0 0.12rem !important;
    padding: 0.04rem 0.14rem !important;
    white-space: nowrap !important;
}

.custom .shopList #custom.odd_list.list .option {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 0.12rem !important;
    margin-top: auto !important;
}

.custom .shopList #custom.odd_list.list .option > div {
    min-width: 0 !important;
    display: block !important;
}

.custom .shopList #custom.odd_list.list .price {
    margin: 0 !important;
    font-size: 0.32rem !important;
    line-height: 1.2 !important;
}

.custom .shopList #custom.odd_list.list button {
    position: static !important;
    flex: 0 0 auto !important;
    height: 0.58rem !important;
    margin: 0 !important;
    padding: 0 0.22rem !important;
    font-size: 0.22rem !important;
    line-height: 0.58rem !important;
    white-space: nowrap !important;
}

/* 积分商城商品进度条：保留红橙配色的目标站充电能量流效果。 */
#app .points-energy-progress {
    overflow: hidden;
    border-radius: 999px !important;
    background: #edf0f3 !important;
    box-shadow: inset 0 1px 3px rgba(134, 45, 20, 0.16);
}

#app .points-energy-progress.van-progress .van-progress__portion,
#app .points-energy-progress.wish-progress > span {
    border-radius: inherit !important;
    background-color: #ff2f1a !important;
    background-image: linear-gradient(
        90deg,
        #ff9a36 0%,
        #ff7a18 25%,
        #ff6b00 50%,
        #ff4518 75%,
        #ff2f1a 100%
    ) !important;
    background-size: 200% 100% !important;
    background-position: 200% 50%;
    transition: width 0.25s ease-out;
    will-change: background-position, filter;
    animation:
        points-mall-energy-flow 1.5s linear infinite,
        points-mall-energy-pulse 2s ease-in-out infinite;
}

@keyframes points-mall-energy-flow {
    0% {
        background-position: 200% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@keyframes points-mall-energy-pulse {
    0%,
    100% {
        filter: brightness(1) saturate(1);
    }
    50% {
        filter: brightness(1.12) saturate(1.15);
    }
}

@media (prefers-reduced-motion: reduce) {
    #app .points-energy-progress.van-progress .van-progress__portion,
    #app .points-energy-progress.wish-progress > span {
        animation: none;
        background-position: 50% 50%;
        filter: none;
    }
}

/*
 * iOS WebKit can paint accelerated nested scrollers at a different visual
 * offset from their hit-test layer. Keep one document scroller for route
 * pages; genuine local panes (category columns, popups and horizontal
 * carousels) retain overflow, but no longer create a momentum layer.
 */
html.ios-webkit,
html.ios-webkit body {
    height: auto !important;
    min-height: 100%;
}

html.ios-webkit body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: auto !important;
}

html.ios-webkit #app,
html.ios-webkit .layout {
    height: auto !important;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible !important;
}

/*
 * A packaged iOS WKWebView renders edge-to-edge, unlike a regular Safari tab.
 * Keep the whole ordinary-mall flow below the native status bar. Fixed page
 * headers already consume the same safe-area variable in App.vue, while the
 * two absolute split-pane shells are adjusted explicitly below.
 */
html.ios-webkit.ios-app body #app {
    padding-top: constant(safe-area-inset-top) !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    box-sizing: border-box !important;
}

html.ios-webkit.ios-app body #app .layout {
    min-height: calc(100vh - constant(safe-area-inset-top)) !important;
    min-height: calc(100dvh - env(safe-area-inset-top, 0px)) !important;
}

/* Ordinary shop home uses a fixed header and its own absolute scroll layer. */
html.ios-webkit.ios-app body #app .layout.layout--target-home > .home.app-route-view > header,
html.ios-webkit.ios-standalone body #app .layout.layout--target-home > .home.app-route-view > header {
    top: 0 !important;
    height: calc(44px + var(--app-safe-area-top)) !important;
    min-height: calc(44px + var(--app-safe-area-top)) !important;
    padding-top: var(--app-safe-area-top) !important;
    box-sizing: border-box !important;
}

html.ios-webkit.ios-app body #app .layout.layout--target-home > .home.app-route-view > header .logo-slot,
html.ios-webkit.ios-standalone body #app .layout.layout--target-home > .home.app-route-view > header .logo-slot {
    height: 44px !important;
}

html.ios-webkit.ios-app body #app .layout.layout--target-home > .home.app-route-view #mescroll,
html.ios-webkit.ios-standalone body #app .layout.layout--target-home > .home.app-route-view #mescroll {
    top: calc(42px + var(--app-safe-area-top)) !important;
}

/* Shared secondary-page navigation: enlarge only the outer bar. */
html.ios-webkit.ios-app body #app .pointsMall header:not(.home_top),
html.ios-webkit.ios-app body #app .users > header,
html.ios-webkit.ios-app body #app header:has(> button[aria-label="返回"]),
html.ios-webkit.ios-app body #app .detail_head,
html.ios-webkit.ios-app body #app .invite-task-nav,
html.ios-webkit.ios-app body #app .points-info-user-nav,
html.ios-webkit.ios-standalone body #app .pointsMall header:not(.home_top),
html.ios-webkit.ios-standalone body #app .users > header,
html.ios-webkit.ios-standalone body #app header:has(> button[aria-label="返回"]),
html.ios-webkit.ios-standalone body #app .detail_head,
html.ios-webkit.ios-standalone body #app .invite-task-nav,
html.ios-webkit.ios-standalone body #app .points-info-user-nav {
    height: calc(44px + var(--app-safe-area-top)) !important;
    min-height: calc(44px + var(--app-safe-area-top)) !important;
    padding-top: var(--app-safe-area-top) !important;
    box-sizing: border-box !important;
}

/* The account landing page has no separate navigation element. */
html.ios-webkit.ios-app body #app .users.mall-user-shell,
html.ios-webkit.ios-standalone body #app .users.mall-user-shell {
    background: #f7b844 !important;
}

html.ios-webkit.ios-app body #app .users.mall-user-shell > .mall-mine-page.app-route-view,
html.ios-webkit.ios-standalone body #app .users.mall-user-shell > .mall-mine-page.app-route-view {
    top: var(--app-safe-area-top) !important;
    bottom: 0 !important;
    height: auto !important;
}

html.ios-webkit body #app .app-route-view {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    -webkit-overflow-scrolling: auto !important;
}

html.ios-webkit body #app .app-route-view,
html.ios-webkit body #app .app-route-view * {
    -webkit-overflow-scrolling: auto !important;
}

html.ios-webkit body #app .pointsMall.app-route-view,
html.ios-webkit body #app .users.app-route-view {
    width: 100% !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
}

/* Points-account child pages must still paint the complete viewport. The
 * generic WebKit document-scroll rule above intentionally resets route
 * heights, but without this scoped restoration short forms expose the
 * ordinary-store peach background below their last control. */
html.ios-webkit body #app .users.points-user-page > .app-route-view {
    min-height: calc(100vh - 44px) !important;
    min-height: calc(100dvh - 44px) !important;
}

html.ios-webkit body #app .pointsMall > .border {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/*
 * Category routes are deliberate split panes: only the product column
 * scrolls while the category column stays anchored. They must keep their
 * bounded viewport containers even when other iOS routes use document
 * scrolling to avoid WebKit hit-test drift.
 */
html.ios-webkit body #app .ordinary-category.app-route-view {
    position: absolute !important;
    height: calc(100vh - 60px) !important;
    height: calc(100dvh - 60px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit.ios-app body #app .ordinary-category.app-route-view {
    top: constant(safe-area-inset-top) !important;
    top: env(safe-area-inset-top, 0px) !important;
    height: calc(100vh - 60px - constant(safe-area-inset-top)) !important;
    height: calc(100dvh - 60px - env(safe-area-inset-top, 0px)) !important;
}

html.ios-webkit body #app .pointsMall.category-shell.app-route-view {
    position: fixed !important;
    inset: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit.ios-app body #app .pointsMall.category-shell.app-route-view {
    top: constant(safe-area-inset-top) !important;
    top: env(safe-area-inset-top, 0px) !important;
    bottom: 0 !important;
    height: auto !important;
}

html.ios-webkit body #app .pointsMall.category-shell > .border {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit body #app .pointsMall.category-shell .category.app-route-view {
    position: absolute !important;
    height: calc(100% - 20px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit body #app .pointsMallhome.points-home-redesign {
    margin-top: calc(44px + constant(safe-area-inset-top)) !important;
    margin-top: calc(44px + env(safe-area-inset-top, 0px)) !important;
}

/*
 * In a regular Safari tab the visual viewport already starts below the iOS
 * status bar. Do not add the safe-area inset again to the fixed search header
 * or its matching content offset. Standalone/PWA mode still uses the rules
 * above because it renders edge-to-edge.
 */
html.ios-webkit.ios-browser body #app .pointsMall .home_top {
    top: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-top: 0 !important;
}

html.ios-webkit.ios-browser body #app .pointsMallhome.points-home-redesign {
    margin-top: 44px !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid {
    padding: 0 0 5px !important;
    box-sizing: border-box !important;
}

/* R043 must begin immediately below the 44px search header. The legacy
 * route margin adds a second header-height gap on regular Chrome pages. */
html body #app .pointsMallhome.points-home-redesign {
    margin-top: 0 !important;
}

html.ios-webkit.ios-browser body #app .pointsMallhome.points-home-redesign {
    margin-top: 0 !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .trip {
    margin: 0 auto !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav {
    margin: 10px auto 5px !important;
    padding: 5px 0 !important;
    height: 139.906px !important;
    box-sizing: border-box !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .router {
    min-height: 65.5px !important;
}

/* R043 / d-index menu: these dimensions are measured from the target at a
 * 390px viewport.  The target uses inline-block cells (including its -4px
 * inline whitespace correction), rather than an equal-width flex grid. */
html body #app .pointsMallhome.points-home-redesign section .grid .nav {
    display: block !important;
    padding: 10px 0 0 !important;
    border-radius: 8px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    white-space: normal !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-item {
    display: inline-block !important;
    width: 72.796875px !important;
    height: 64.953125px !important;
    margin: 0 -4px 0 0 !important;
    padding: 10px 0 7px 14px !important;
    overflow: hidden !important;
    color: #333 !important;
    font-family: "微软雅黑", "宋体", arial !important;
    font-size: 17px !important;
    line-height: 25.5px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .router {
    display: block !important;
    width: 72.796875px !important;
    height: 57.953125px !important;
    min-height: 57.953125px !important;
    margin: -10px 0 0 -14px !important;
    padding: 0 0 7px 14px !important;
    color: #333 !important;
    font-family: "微软雅黑", "宋体", arial !important;
    font-size: 17px !important;
    line-height: 25.5px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-icon {
    display: block !important;
    width: 58.796875px !important;
    height: 32.953125px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 25.5px !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-main-image {
    display: inline !important;
    width: 26.453125px !important;
    height: 26.453125px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: baseline !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-label {
    display: block !important;
    width: 58.796875px !important;
    height: 15px !important;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #333 !important;
    font-family: "微软雅黑", "宋体", arial !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 15px !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body #app .pointsMallhome.points-home-redesign .main .banner_s {
    height: 110.90625px !important;
    margin: 5px auto 10px !important;
}

html body #app .pointsMallhome.points-home-redesign .main .banner_s .van-swipe,
html body #app .pointsMallhome.points-home-redesign .main .banner_s .van-col--8 a {
    height: 110.90625px !important;
}

/* 积分商城首页：按目标站的 390/440px 实测几何统一收口。
 * 隐藏桌面模拟器的内层滚动条后，内容区可恢复目标站的完整宽度；
 * 菜单改回等宽五列，避免宽屏下图标与文字横向错位。 */
html body #app .pointsMallhome.points-home-redesign {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

html body #app .pointsMallhome.points-home-redesign::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .trip,
html body #app .pointsMallhome.points-home-redesign section .grid .nav,
html body #app .pointsMallhome.points-home-redesign .main .banner_s,
html body #app .pointsMallhome.points-home-redesign .main .points-exchange-zones,
html body #app .pointsMallhome.points-home-redesign .main .announce,
html body #app .pointsMallhome.points-home-redesign .main .about_announce,
html body #app .pointsMallhome.points-home-redesign .main .points-comments-preview {
    width: calc(100% - 20px) !important;
    margin-right: 10px !important;
    margin-left: 10px !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav {
    display: flex !important;
    flex-wrap: wrap !important;
    height: 141px !important;
    margin-top: 10px !important;
    margin-bottom: 5px !important;
    padding: 10px 0 0 !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-item {
    display: block !important;
    flex: 0 0 20% !important;
    width: 20% !important;
    height: 65.5px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .router {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: calc(100% - 14px) !important;
    height: 65.5px !important;
    min-height: 65.5px !important;
    margin: 0 0 0 14px !important;
    padding: 0 !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-icon {
    width: 100% !important;
    height: 32.5px !important;
    margin: 0 auto 4px !important;
    line-height: 32.5px !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-main-image {
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    margin: 0 auto !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
}

html body #app .pointsMallhome.points-home-redesign section .grid .nav .nav-label {
    width: 100% !important;
    height: 15px !important;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    line-height: 15px !important;
    box-sizing: border-box !important;
}

html body #app .pointsMallhome.points-home-redesign .main .banner_s,
html body #app .pointsMallhome.points-home-redesign .main .banner_s .van-swipe,
html body #app .pointsMallhome.points-home-redesign .main .banner_s .van-col--8 a {
    height: calc((min(100vw, 500px) - 20px) * 0.30465) !important;
}

html body #app .pointsMall.category-shell .category .filter {
    height: 42px !important;
    min-height: 42px !important;
}

html body #app .pointsMall.category-shell .category .goods-scroll {
    height: calc(100% - 42px) !important;
}

html body #app .pointsMall.category-shell .category .list .item {
    height: 95px !important;
    min-height: 95px !important;
    padding: 7.5px 10px !important;
}

html.ios-webkit body #app .pointsMalllottery .shopList_,
html.ios-webkit body #app .pointsMalllottery .lottery-scroll,
html.ios-webkit body #app .searchList .result-shell,
html.ios-webkit body #app .infoCompute .compute-scroll,
html.ios-webkit body #app .help-info-page .help-scroll {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/*
 * The points-mall home and APP-download pages keep a full-viewport painted
 * shell. Keep the same structure for the red-status and search routes as well.
 * This lets Safari sample red at the top edge while the gradient still ends
 * in the light page color at the bottom.
 */
html.ios-webkit body #app .pointsMall.pay-success-shell.app-route-view {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit body #app .pointsMall.search-shell.app-route-view {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #ff4630 !important;
}

html.ios-webkit body #app .pointsMall.search-shell > .border {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #ff4630 !important;
}

html.ios-webkit body #app .pointsMall.search-shell .search.app-route-view,
html.ios-webkit body #app .pointsMall.search-shell .searchList.app-route-view {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
}

html.ios-webkit body #app .pointsMall.search-shell .search.app-route-view {
    overflow-y: auto !important;
}

html.ios-webkit body #app .pointsMall.search-shell .searchList.app-route-view {
    overflow-y: hidden !important;
}

html.ios-webkit body #app .pointsMall.search-shell .searchList .result-shell {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

html.ios-webkit body #app .pointsMall.pay-success-shell > .border {
    height: calc(100% - 46px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit body #app .pointsMall.pay-success-shell .pay-success-page.app-route-view {
    position: relative !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

html.ios-webkit body #app .users.mall-user-shell.app-route-view {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit body #app .users.collect-shell.app-route-view {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit body #app .users.collect-shell > .userCollect.collect-page.app-route-view {
    position: relative !important;
    width: 100% !important;
    height: calc(100% - var(--app-fixed-header-height)) !important;
    min-height: 0 !important;
    margin-top: var(--app-fixed-header-height) !important;
    padding-top: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
}

html.ios-webkit body #app .users.mall-user-shell > .mall-mine-page.app-route-view {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

html.ios-webkit body #app .users.mall-user-shell .mine-scroll {
    /* Profile and quick links share the page scroller, including rubber-band overscroll. */
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/*
 * The trade-list route uses the same continuous red status/navigation area as
 * the legacy points route. Its header is owned by the points-mall shell, so keep a
 * real red header row in normal flow while the fixed header is painted above
 * it.  This also prevents the first hero card from sliding under the header.
 */
html.points-trade-status-fill,
body.points-trade-status-fill {
    background-color: var(--browser-bottom-color) !important;
    background-image: linear-gradient(
        to bottom,
        #ff4630 0,
        #ff4630 var(--mobile-status-fill-height),
        #fff7f0 var(--mobile-status-fill-height),
        #fff7f0 100%
    ) !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    background-size: 100% 100% !important;
}

html.points-trade-status-fill::before,
body.points-trade-status-fill::before {
    background-color: #ff4630 !important;
    background-image: none !important;
}

#app .pointsMall.trade-list-shell.app-route-view {
    display: flex !important;
    flex-direction: column !important;
    background: #ff4630 !important;
}

#app .pointsMall.trade-list-shell > .van-sticky,
#app .pointsMall.trade-list-shell > .van-sticky .van-sticky--fixed {
    flex: 0 0 var(--app-fixed-header-height) !important;
    width: 100% !important;
    height: var(--app-fixed-header-height) !important;
    min-height: var(--app-fixed-header-height) !important;
    background: #ff4630 !important;
}

#app .pointsMall.trade-list-shell > .border {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #fff7f0 !important;
}

#app .pointsMall.trade-list-shell > .border::after {
    display: none !important;
}

#app .pointsMall.trade-list-shell .trade-list-page.app-route-view {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
}

#app .pointsMall.trade-list-shell .trade-list-page.app-route-view > .trade-shell {
    padding-top: 0.18rem !important;
}

#app .pointsMall.trade-list-shell .trade-header-spacer {
    display: block !important;
    width: 100% !important;
    height: var(--app-fixed-header-height) !important;
    min-height: var(--app-fixed-header-height) !important;
}

html.ios-webkit body #app .pointsMall.trade-list-shell.app-route-view {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html.ios-webkit body #app .pointsMall.trade-list-shell > .border {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

/* A normal Safari tab already starts below the status bar; avoid a second inset. */
html.ios-webkit.ios-browser body #app .pointsMall.trade-list-shell > .van-sticky,
html.ios-webkit.ios-browser body #app .pointsMall.trade-list-shell > .van-sticky .van-sticky--fixed {
    flex-basis: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
}

html.ios-webkit.ios-browser body #app .pointsMall.trade-list-shell header:not(.home_top) {
    top: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    padding-top: 0 !important;
    background: #ff4630 !important;
}

html.ios-webkit.ios-browser body #app .pointsMall.trade-list-shell .trade-header-spacer {
    height: 46px !important;
    min-height: 46px !important;
}

/* Target d-tradeList: the route content starts immediately below the 44px
 * yellow navigation bar. This supersedes the legacy red shell above. */
html.points-trade-status-fill,
body.points-trade-status-fill {
    background-color: var(--browser-bottom-color) !important;
    background-image: none !important;
}

html.points-trade-status-fill::before,
body.points-trade-status-fill::before {
    background: #f7b844 !important;
    background-image: none !important;
}

#app .pointsMall.trade-list-shell.app-route-view {
    --mall-nav-bg: #f7b844;
    background: #f7b844 !important;
}

body.points-trade-status-fill #app {
    overflow-x: visible !important;
}

#app:has(.pointsMall.trade-list-shell) {
    overflow-x: visible !important;
}

@media (min-width: 501px) {
    body.pc:has(#app .pointsMall.trade-list-shell) {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.pc:has(#app .pointsMall.trade-list-shell) #app {
        width: 500px !important;
        max-width: 500px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body.pc:has(#app .pointsMall.trade-list-shell) .layout,
    #app .pointsMall.trade-list-shell,
    #app .pointsMall.trade-list-shell > .border,
    #app .pointsMall.trade-list-shell .trade-list-page.app-route-view {
        overflow: visible !important;
    }
}

/*
 * Packaged iOS WKWebViews often render edge-to-edge but report
 * env(safe-area-inset-top) as zero. iosWebKit.js resolves an APP-only fallback
 * into --app-safe-area-top. Keep every points-mall shell on that single value
 * so its navigation and content origin move together instead of hiding the
 * first row underneath the native status bar.
 */
html.ios-webkit.ios-app body #app#app .pointsMall > .van-sticky,
html.ios-webkit.ios-app body #app#app .pointsMall > .van-sticky--fixed {
    height: calc(44px + var(--app-safe-area-top)) !important;
    min-height: calc(44px + var(--app-safe-area-top)) !important;
}

html.ios-webkit.ios-app body #app#app .pointsMall > .van-sticky header,
html.ios-webkit.ios-app body #app#app .pointsMall > .van-sticky--fixed header {
    top: 0 !important;
    height: calc(44px + var(--app-safe-area-top)) !important;
    min-height: calc(44px + var(--app-safe-area-top)) !important;
    padding-top: var(--app-safe-area-top) !important;
    box-sizing: border-box !important;
}

html.ios-webkit.ios-app body #app#app .pointsMall.point-home-shell .home_top > a:first-child,
html.ios-webkit.ios-app body #app#app .pointsMall.point-home-shell .home_top form,
html.ios-webkit.ios-app body #app#app .pointsMall.point-home-shell .home_top .points-home-message {
    top: var(--app-safe-area-top) !important;
}

html.ios-webkit.ios-app body #app#app .pointsMall.category-shell > .border,
html.ios-webkit.ios-app body #app#app .pointsMall.lottery-shell > .border,
html.ios-webkit.ios-app body #app#app .pointsMall.trade-list-shell > .border {
    top: calc(44px + var(--app-safe-area-top)) !important;
}

html.ios-webkit.ios-app body #app#app .pointsMall.trade-list-shell > .van-sticky,
html.ios-webkit.ios-app body #app#app .pointsMall.trade-list-shell > .van-sticky--fixed {
    flex-basis: calc(44px + var(--app-safe-area-top)) !important;
}

html.ios-webkit.ios-app body #app#app .pointsMall.zone-page-shell > .border {
    padding-top: calc(44px + var(--app-safe-area-top)) !important;
}

html.ios-webkit.ios-app body #app#app .pointsMall.pay-success-shell > .border {
    height: calc(100% - 46px - var(--app-safe-area-top)) !important;
}

/*
 * iOS edge-to-edge shells must reserve the status-bar inset exactly once.
 * The page-level navigation owns that inset; padding the complete #app as
 * well displaced every child route and produced the large blank strip seen
 * in packaged WKWebView builds.
 */
html.ios-webkit.ios-app body #app {
    padding-top: 0 !important;
}

html.ios-webkit.ios-app body #app .layout {
    min-height: 100vh !important;
    min-height: 100dvh !important;
}

/* Points-mall home: one safe-area row plus one 44px search row. */
html.ios-webkit.ios-app body #app .pointsMall.point-home-shell .home_top,
html.ios-webkit.ios-standalone body #app .pointsMall.point-home-shell .home_top {
    top: 0 !important;
    height: calc(44px + var(--app-safe-area-top)) !important;
    min-height: calc(44px + var(--app-safe-area-top)) !important;
    padding-top: var(--app-safe-area-top) !important;
    box-sizing: border-box !important;
}

html.ios-webkit.ios-app body #app .pointsMall.point-home-shell .home_top form,
html.ios-webkit.ios-app body #app .pointsMall.point-home-shell .home_top .points-home-message,
html.ios-webkit.ios-standalone body #app .pointsMall.point-home-shell .home_top form,
html.ios-webkit.ios-standalone body #app .pointsMall.point-home-shell .home_top .points-home-message {
    top: var(--app-safe-area-top) !important;
}

html.ios-webkit.ios-app body #app .pointsMallhome.points-home-redesign,
html.ios-webkit.ios-standalone body #app .pointsMallhome.points-home-redesign {
    top: 0 !important;
    height: calc(100% - 94px - var(--app-safe-area-top)) !important;
    margin-top: 0 !important;
}

/* Ordinary category: keep both the fixed search bar and split pane below it. */
html.ios-webkit.ios-app body #app .ordinary-category.app-route-view,
html.ios-webkit.ios-standalone body #app .ordinary-category.app-route-view {
    top: 0 !important;
    height: calc(100vh - 50px) !important;
    height: calc(100dvh - 50px) !important;
}

html.ios-webkit.ios-app body #app .ordinary-category > header,
html.ios-webkit.ios-standalone body #app .ordinary-category > header {
    top: 0 !important;
    height: calc(44px + var(--app-safe-area-top)) !important;
    min-height: calc(44px + var(--app-safe-area-top)) !important;
    padding-top: var(--app-safe-area-top) !important;
    box-sizing: border-box !important;
}

html.ios-webkit.ios-app body #app .ordinary-category #mescroll,
html.ios-webkit.ios-standalone body #app .ordinary-category #mescroll {
    top: 0 !important;
    height: calc(100% - 44px - var(--app-safe-area-top)) !important;
    transform: translateY(calc(44px + var(--app-safe-area-top))) !important;
}

html.ios-webkit.ios-app body #app .ordinary-category .category-product-list,
html.ios-webkit.ios-standalone body #app .ordinary-category .category-product-list {
    height: calc(100dvh - 44px - 46px - 50px - var(--app-safe-area-top)) !important;
}

/* Public authentication headers had safe-positioned children in a 44px box. */
html.ios-webkit.ios-app body.ordinary-login-route #app .target-login-head,
html.ios-webkit.ios-app body.ordinary-code-login-route #app .target-code-head,
html.ios-webkit.ios-app body.ordinary-register-route #app .target-register-head,
html.ios-webkit.ios-app body.ordinary-forgot-route #app .target-forgot-head,
html.ios-webkit.ios-standalone body.ordinary-login-route #app .target-login-head,
html.ios-webkit.ios-standalone body.ordinary-code-login-route #app .target-code-head,
html.ios-webkit.ios-standalone body.ordinary-register-route #app .target-register-head,
html.ios-webkit.ios-standalone body.ordinary-forgot-route #app .target-forgot-head {
    height: calc(44px + var(--app-safe-area-top)) !important;
    min-height: calc(44px + var(--app-safe-area-top)) !important;
}

html.ios-webkit.ios-app body.ordinary-login-route #app .target-login-head > a,
html.ios-webkit.ios-standalone body.ordinary-login-route #app .target-login-head > a {
    position: absolute !important;
    top: var(--app-safe-area-top) !important;
    right: 10px !important;
    height: 44px !important;
    padding-top: 12px !important;
}

html.ios-webkit.ios-app body.ordinary-login-route #app .target-login-page,
html.ios-webkit.ios-app body.ordinary-code-login-route #app .target-code-page,
html.ios-webkit.ios-app body.ordinary-register-route #app .target-register-page,
html.ios-webkit.ios-app body.ordinary-forgot-route #app .target-forgot-page,
html.ios-webkit.ios-standalone body.ordinary-login-route #app .target-login-page,
html.ios-webkit.ios-standalone body.ordinary-code-login-route #app .target-code-page,
html.ios-webkit.ios-standalone body.ordinary-register-route #app .target-register-page,
html.ios-webkit.ios-standalone body.ordinary-forgot-route #app .target-forgot-page {
    background: linear-gradient(
        to bottom,
        #f7b844 0,
        #f7b844 calc(180px + var(--app-safe-area-top)),
        #fff calc(180px + var(--app-safe-area-top)),
        #fff 100%
    ) !important;
}

#app .pointsMall.trade-list-shell > .van-sticky,
#app .pointsMall.trade-list-shell > .van-sticky .van-sticky--fixed {
    position: relative !important;
    z-index: 20 !important;
    flex: 0 0 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    background: #f7b844 !important;
}

#app .pointsMall.trade-list-shell > .border {
    position: absolute !important;
    top: 44px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    background: #f6f6f6 !important;
}

#app .pointsMall.trade-list-shell .trade-list-page.app-route-view > .trade-shell {
    padding-top: 0 !important;
}

/* The legacy iOS branch used a 46px red header while this route's content
 * starts at 44px, exposing a two-pixel strip below the navigation bar. */
html.ios-webkit.ios-browser body #app .pointsMall.trade-list-shell header:not(.home_top),
#app .pointsMall.trade-list-shell header:not(.home_top),
#app .pointsMall.trade-list-shell header:not(.home_top) .van-nav-bar,
#app .pointsMall.trade-list-shell header:not(.home_top) .van-nav-bar__content {
    top: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-top: 0 !important;
    background: #f7b844 !important;
}

#app .pointsMall.trade-list-shell header:not(.home_top) .van-nav-bar::after,
#app .pointsMall.trade-list-shell header:not(.home_top) .van-hairline--bottom::after {
    display: none !important;
    border: 0 !important;
}

#app .pointsMall.trade-list-shell header:not(.home_top) .van-nav-bar__title {
    color: #333 !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 44px !important;
}

/* Target d-searchList: keep the points result list out of the ordinary mall
 * card design system. The broad ordinary selectors above otherwise add a
 * rounded border, two-column grid and heavy title weight. */
#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 !important;
}

#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list .items {
    display: grid !important;
    grid-template-columns: 75px minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    height: 134px !important;
    min-height: 134px !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list .items .imgs {
    width: 75px !important;
    height: 75px !important;
    border-radius: 0 !important;
    background: #fff !important;
}

#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list .items .title {
    height: 38px !important;
    margin: 0 38px 3px 0 !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 19px !important;
}

#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list .items .points-price {
    min-height: 22px !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#app .pointsMall.search-shell .searchList .content .shopList .odd_list.list .items .progress .add-cart-btn {
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
}

/*
 * Desktop outer-canvas contract.
 *
 * Every route may keep its own 500px mobile-page artwork, but the browser
 * canvas surrounding that page must always use the same neutral background.
 * The deliberately high specificity prevents route-level html/body/#app
 * themes from recolouring the left and right desktop gutters.
 */
@media (min-width: 501px) {
    html:not(#desktop-outer-canvas),
    html:not(#desktop-outer-canvas) body:not(#desktop-outer-canvas),
    html:not(#desktop-outer-canvas) body:not(#desktop-outer-canvas) #app {
        background-color: var(--desktop-outer-canvas-color) !important;
        background-image: none !important;
    }
}

/* Final cascade: the iOS APP viewport owns the top inset for every route. */
html.ios-webkit.ios-app,
html.ios-webkit.ios-app body {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

html.ios-webkit.ios-app body #app {
    --app-safe-area-top: 0px;
    position: relative !important;
    width: 100% !important;
    height: calc(100% - var(--ios-app-window-top, 20px)) !important;
    min-height: calc(100% - var(--ios-app-window-top, 20px)) !important;
    padding-top: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: translate3d(0, var(--ios-app-window-top, 20px), 0) !important;
    transform-origin: center top !important;
    box-sizing: border-box !important;
}

html.ios-webkit.ios-app body #app > .layout {
    height: 100% !important;
    min-height: 100% !important;
}

html.ios-webkit.ios-app body #app .ordinary-category.app-route-view,
html.ios-webkit.ios-app body #app .pointsMall.category-shell.app-route-view {
    top: 0 !important;
}

