/* 蓝湖「首页」375px 稿 → vw（750 标注 ÷2 ÷3.75，即 ÷7.5）
 * 布局规范：非 img 禁止 width；用 margin/padding/flex/grid 撑开 */

.page-home {
  --pad-x: 2.67vw;
  --fs-h1: 4.8vw;
  --fs-body: 3.47vw;
  --fs-stat: 3.2vw;
  --fs-sign: 3.47vw;
  --fs-sign-num: 3.73vw;
  --fs-bottle: 3.2vw; /* 375 稿 12px */
  --fs-lottery: 3.73vw;
  --fs-task-title: 3.7333vw;
  --fs-task-reward: 3.2vw;
  --fs-task-btn: 14px;
  --fs-view-all: 3.47vw;
  --fs-num: 5.33vw;
  --lh-40: 5.33vw;
  --color-text: #333333;
  --color-sub: #666666;
  --color-accent: #e63d3d;
  --color-sign-num: #f04a38;
  --color-view-all: #666666;
  --radius-card: 2.1333vw;
  --gradient-btn: linear-gradient(180deg, #ff6b4a 0%, #ff3d2e 100%);
  display: flex;
  flex-direction: column;
  background: #fff5e8;
  min-height: 100vh;
}

/* 活动规则 — 蓝湖 375 稿 top 42px、贴右 */
.act-rules {
  position: absolute;
  top: 11.2vw;
  right: 0;
  z-index: 100;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

.act-rules img {
  display: block;
  width: 5.3333vw;
  height: 14.6667vw;
  object-fit: contain;
}

/* ========== 顶部 banner ========== */
.home-hero {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  background: #fff5e8;
}

.banner-wrap {
  display: flex;
  flex-direction: column;
}

.home-banner {
  display: block;
  width: 100%;
  height: 66.6667vw; /* 750 稿 500px → 375 稿 250px */
  object-fit: cover;
  object-position: center top;
}

.banner-ovly {
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: 66.6667vw;
  margin-top: -66.6667vw;
  box-sizing: border-box;
  flex-shrink: 0;
}

.banner-ovly > * + * {
  margin-top: 4vw;
}

/* position: absolute — 蓝湖 375 稿 家庭鲸鱼 l188 t44 w222 h148 */
.hero-jingyu {
  position: absolute;
  top: 11.7333vw;
  left: 45.1333vw;
  display: block;
  width: 59.2vw;
  height: 39.4667vw;
  object-fit: contain;
}

/* 欢迎语 */
.hero-text {
  display: flex;
  flex-direction: column;
  align-self: flex-start;
  padding: 0 0 6.67vw 4vw;
  box-sizing: border-box;
}

.hero-text > * + * {
  margin-top: 1.33vw;
}

.hero-ttl {
  margin: 0;
  font-size: 4.8vw;
  font-weight: 600;
  color: #2c2c2c;
  line-height: var(--lh-40);
}

.hero-tip {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 1.3333vw;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 6.4vw;
  box-sizing: border-box;
}

.hero-tip > * + * {
  margin-left: 1.3333vw;
}

.hero-tip-icon {
  display: block;
  flex-shrink: 0;
  width: 3.2vw;
  height: 2.4vw;
}

.hero-tip-text {
  font-size: 2.6667vw;
  font-weight: 400;
  color: #666666;
  line-height: 1;
}

/* Frame 2263 签到大卡 — 750 稿 top 330px，banner 500px，重叠 -170px */
.chkin-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  margin: -22.6667vw 0 1.8667vw;
  border-radius: var(--radius-card);
  background: transparent;
  overflow: hidden;
  flex-shrink: 0;
}

/* Frame 2260 统计 + Frame 2261 签到 — 半透明白底整体 */
.chkin-head {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  border-radius: var(--radius-card);
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  flex-shrink: 0;
  margin: 0 3.2vw;
  z-index: 1;
}

/* Frame 2260 统计条 */
.chkin-stats {
  display: flex;
  align-items: center;
  align-self: stretch;
  padding: 0 2.67vw;
  box-sizing: border-box;
  flex-shrink: 0;
}

.chkin-link {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex: 1;
  padding: 2.6667vw 0;
  min-height: 10.6667vw;
  margin: 0;
  border: none;
  background: transparent;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.chkin-link > * + * {
  margin-left: 1.3333vw;
}

.chkin-lbl,
.chkin-num {
  font-size: 3.7333vw;
  font-weight: 500;
  color: #000;
  line-height: 1;
}

.chkin-num {
  font-size: 4.8vw;
  font-weight: 700;
  color: #f82e3f;
  line-height: 1;
}

.chkin-link[data-guide-target="guide-2"] .chkin-num {
  color: #f9721c;
}

.chkin-stat-div {
  flex-shrink: 0;
  align-self: center;
  height: 3.7333vw;
  margin: 0 1.33vw;
  border-left: 1px solid #000;
}

/* ========== 主面板 ========== */
.home-panel {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  padding: 0 var(--pad-x) 5.3333vw;
  box-sizing: border-box;
  background: #fff5e8;
}

/* Frame 2335 浅粉渐变容器 — 750 稿 h 338px */
.chkin-body {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  margin: 2.4vw 0 0;
  box-sizing: border-box;
  background: transparent;
}

/* 奖品一览展示框 — 蓝湖「框」底图 + Frame 2303 五列鲸喜瓶 */
.prize-showcase {
  /* position: relative — Group 136「奖品一览」角标叠层 */
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  margin: 0 2.6667vw ;
  width: 94.6667vw;
  height: 41.6vw;
  padding-top: 5.6vw;
  box-sizing: border-box;
  background-image: url("../images/home/prize_showcase_bg.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* 蓝湖 Group 136：750 稿 182×42，顶居中 */
.prize-badge {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: block;
  width: 24.2667vw;
  height: 5.6vw;
  transform: translateX(-50%);
  object-fit: contain;
}

/* 奖品区：做任务领奖励 + Frame 2328 按钮行 + 加机会 */
.prize-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: transparent;
}

/* Frame 2261 签到行 — 750 稿 h 80px，浅粉渐变底 */
.chkin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-self: stretch;
  padding: 0 0 0 2.6667vw;
  box-sizing: border-box;
  background: linear-gradient( 90deg, #FFDECB 0%,#FFE8DA 60%, #FFFFFF 100%);
  margin: 0 2.6667vw 2.6667vw;
  border-radius: 2.6667vw;
  min-height: 10.9333vw;
}

.chkin-left {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.chkin-left > * + * {
  margin-left: 1.3333vw;
}

.chkin-cal {
  width: 6.4vw;
  height: 6.4vw;
  flex-shrink: 0;
}

.chkin-text {
  display: flex;
  align-items: baseline;
  font-size: 3.7333vw;
  color: #611b10;
  line-height: 1;
}

.chkin-days {
  font-size: 3.7333vw;
  font-weight: 700;
  color: #611b10;
  margin: 0 0.5333vw;
  line-height: 1;
}

.chkin-days--chance {
  margin-left: 0;
}

.chkin-help {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 1.3333vw;
  padding: 0;
  border: none;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
}

.chkin-help img {
  width: 3.2vw;
  height: 3.2vw;
  display: block;
}

.chkin-btn img {
  display: block;
  width: 24.8vw; /* 750 稿 180px */
  height: 37px; /* 750 稿 60px */
  object-fit: contain;
  margin-top: 0.2667vw;
  margin-bottom: 0.8vw;
}

.chkin-btn.is-signed img {
  width: 24.8vw; /* 93@375 */
  height: 8.8vw; /* 33@375 */
  margin-top: 1.3333vw; /* 5@375 */
  margin-bottom: 0.5333vw; /* 2@375 */
  margin-right: .8vw; /* 4.5@375 */
}

.prize-list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-self: stretch;
  gap: 2.4vw; /* 375 稿 9px */
  box-sizing: border-box;
}

/* 375 稿 70×67；上下边距 6px / 2px；底图 boli.png */
.prize-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  width: 18.6667vw;
  height: 17.8667vw;
  padding: 1.6vw 0 0.5333vw;
  box-sizing: border-box;
  background-image: url("../images/home/boli.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* 375 稿 40×40 */
.prize-icon {
  display: block;
  width: 10.6667vw;
  height: 10.6667vw;
  object-fit: contain;
}

/* 375 稿 12px */
.prize-name {
  font-size: var(--fs-bottle);
  font-weight: 500;
  color: #5C2B07;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}

/* 按钮行：做任务领奖励 + 立即抽奖 */
/* Frame 2328 按钮行 — 750 稿 h 79px */
.prize-actions {
  display: flex;
  gap: 2.9333vw;
  margin-top: 4.2667vw;
  padding: 0 3.4667vw 0 3.7333vw;
  box-sizing: border-box;
}

.prize-actions > * + * {
  margin-left: 4.2667vw;
}

.prize-get,
.prize-lot {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 42vw;
  height: 11.0667vw;
  margin: 0;
  padding: 0;
  border: none;
  background-image: url("../images/home/btn_do_lot.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  line-height: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.prize-get {
  background-image: url("../images/home/btn_task_rwd.png");
}

.prize-lot-text {
  font-size: 3.73vw;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  text-align: center;
  pointer-events: none;
  margin-bottom: .5333vw;
}
.prize-lot .prize-lot-text {
  margin-left: 1.8667vw;
}

.prize-lot-num {
  font-style: normal;
  font-weight: 700;
  color: #fff;
}

/* 加机会按钮 */
.prize-add-chance {
  display: block;
  align-self: center;
  margin-top: 1.3333vw;
  width: 84vw;       /* 750 稿 630px → 375 稿 315px */
  height: auto;
}

.prize-add-chance img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
/* 其他通用权益 */
.rights {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  margin: 1.33vw 0 0;
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.05);
  border-radius: 2.6667vw;
}

.rights-label {
  width: 24vw;
  height: auto;
  display: block;
}

.rights-grid {
  padding: 2.6667vw;
  padding-top: 0;
  display: flex;
  justify-content: space-between;
  align-self: stretch;
}

.rights-grid > * + * {
  margin-left: 0.8vw;
}

.rights-card {
  flex: 1;
  flex-shrink: 1;
  min-width: 0;
}

.rights-card img {
  width: 22.4vw;
  height: 24.6667vw;
}

/* 轮播 */
.carousel {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  margin: 2.6667vw 0 0;
}

.carousel-inner {
  position: relative;
}

.carousel-tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 16vw;
  height: 5.0667vw;
  pointer-events: none;
  border-radius: 0 !important;
}

.carousel .van-swipe {
  border-radius: var(--radius-card);
  overflow: hidden;
}

.carousel-slide img {
  display: block;
  width: 100%;
  height: 24vw;
  object-fit: cover;
}

/* Tab Group 3 */
.tab-wrap {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  background: transparent;
}

.tab-bar {
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  flex-shrink: 0;
  background: transparent;
}

.tab-body {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  background: #ffffff;
  overflow: visible;
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.05);
  border-radius: 0 0 2.6667vw 2.6667vw;
}

.tab-bg {
  display: block;
  width: 100%;
  height: 13.3989vw; /* 750 稿 Group 3 高 100.49px */
  object-fit: fill;
  flex-shrink: 0;
  pointer-events: none;
}

.tabs {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-self: stretch;
  height: 13.3989vw;
}

.tab-hit {
  flex: 1;
  height: 100%;
  min-height: 13.3989vw;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  color: transparent;
  font-size: 1px;
  line-height: 0;
}

/* 任务行 */
.tasks-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  min-height: 40vw;
  padding: 8vw 0;
  box-sizing: border-box;
  background: #ffffff;
}

.tasks-loading .van-loading__text {
  margin-top: 2.6667vw;
  font-size: 3.4667vw;
  color: #999999;
}

.tasks {
  display: flex;
  flex-direction: column;
  align-self: stretch;
}

.task-item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  align-self: stretch;
  margin: 0 4.2667vw 0 4vw;
  padding: 3.4667vw 0 3.7333vw;
  box-sizing: border-box;
  border-bottom: 0.13vw solid #eeeeee;
  background: #ffffff;
  -webkit-tap-highlight-color: transparent;
  overflow: visible;
}

.task-item.is-delay-tip-open {
  z-index: 6;
}

.tasks .task-item:first-child {
  padding-top: 2.4vw;
}

.task-icon {
  width: 8.53vw;
  height: 8.53vw;
  flex-shrink: 0;
  object-fit: contain;
}

.task-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  margin-left: 3.2vw;
  margin-right: 4.2667vw;
  min-width: 0;
  padding: 0.53vw 0;
}

.task-title {
  font-size: var(--fs-task-title);
  font-weight: 500;
  color: var(--color-text);
  line-height: 4.8vw;
  margin-bottom: .8vw;
}

.task-reward {
  font-size: var(--fs-task-reward);
  color: #666;
  line-height: 4.2667vw;
}

.task-reward-row {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
}

.task-delay {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 1.0667vw; /* 4@375 */
  color: #611b10;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.task-delay-ic-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 0;
}

.task-delay-ic {
  display: block;
  width: 12px;
  height: 12px;
  object-fit: contain;
}

.task-delay-txt {
  margin-left: 0.8vw; /* 3@375 */
  font-size: 12px;
  font-weight: 400;
  line-height: 12px;
  color: #666666;
  white-space: nowrap;
}

/* 浮窗相对问号图标水平居中，箭头对准图标 */
.task-delay-pop {
  position: absolute;
  left: 50%;
  top: calc(100% + 1.6vw);
  z-index: 30;
  width: 50vw;
  padding: 2.6667vw 3.2vw;
  box-sizing: border-box;
  transform: translateX(-50%);
  border-radius: 2.1333vw;
  background: rgba(8, 16, 26, 0.78);
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
  word-break: break-word;
}

.task-delay-pop::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1.3333vw;
  width: 0;
  height: 0;
  border-left: 1.3333vw solid transparent;
  border-right: 1.3333vw solid transparent;
  border-bottom: 1.3333vw solid rgba(8, 16, 26, 0.78);
  transform: translateX(-50%);
}

.tab-wrap .view-all {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
}
.tab-wrap .view-all img {
  width: 31.6vw;
  height: 9.3333vw;
  margin-top: 3.4667vw;
  margin-bottom: 2.1333vw;
}

/* ========== 签到成功弹窗（蓝湖 375：Group122 294×355 @40.5,147.5；内容 Frame2296 @52.5,292） ========== */
.pop-sign {
  position: relative;
  width: 78.4vw; /* 294@375 */
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  /* 视觉居中：忽略图顶装饰 47@375，整体上移一半（23.5px） */
  transform: translateY(-18.2vw);
}

/* 签到成功：关闭钮不参与居中高度，贴在背景下方 */
.pop-layer.is-pop-sign-center {
  justify-content: center;
}

.pop-sign-panel {
  position: relative;
  width: 100%;
  /* 稿 Group122 高 355@375；壳图按宽等比，内容用绝对坐标对齐稿 */
  line-height: 0;
}

.pop-sign-bg {
  display: block;
  width: 100%;
  height: auto;
}

.pop-sign-box {
  /* 内容区相对背景顶：99+86.5=185.5@375；左右 (52.5-40.5)=12 */
  position: absolute;
  left: 3.2vw; /* 12@375 */
  right: 3.2vw;
  top: 49.4667vw; /* 185.5@375 = 99+86.5 */
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

/* Frame 2327：标题+副文 高 49@375 */
.pop-sign-hd {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 13.0667vw; /* 49@375 */
  box-sizing: border-box;
}

.pop-sign-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 6.5333vw; /* 24.5@375 */
  margin: 0;
  font-size: 5.6vw; /* 21@375 */
  font-weight: 700;
  line-height: 6.5333vw;
  color: #611b10;
  text-align: center;
  white-space: nowrap;
}

.pop-sign-sep {
  margin: 0;
  font-weight: 700;
}

.pop-sign-today {
  font-weight: 700;
}

.pop-sign-desc {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 5.2vw; /* 19.5@375 */
  margin-top: 1.3333vw; /* 5@375：321.5-(292+24.5) */
  font-size: 3.7333vw; /* 14@375 */
  font-weight: 400;
  line-height: 5.2vw;
  color: #000000;
  text-align: center;
  white-space: nowrap;
}

/* 稿中副文为整段黑色，数字同色 */
.pop-sign-num {
  font-weight: 400;
  color: #000000;
  margin: 0;
}

/* Frame 2215：为你推荐行 高 26.5@375 */
.pop-sign-rec {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 7.0667vw; /* 26.5@375 */
  margin-top: 0;
  font-size: 3.7333vw; /* 14@375 */
  font-weight: 400;
  color: #bbbbbb;
  line-height: 4.4vw; /* 16.5@375 */
  white-space: nowrap;
}

.pop-sign-rec::before,
.pop-sign-rec::after {
  content: "";
  display: block;
  width: 7.4667vw; /* 28@375 */
  height: 1px;
  background: #bbbbbb;
  flex-shrink: 0;
}

.pop-sign-rec::before {
  margin-right: 2.1333vw; /* (375中线约 - 文案半宽) 视觉留白 */
}

.pop-sign-rec::after {
  margin-left: 2.1333vw;
}

/* Frame 2216 广告 270×120@375 */
.pop-sign-rec-img {
  display: block;
  width: 72vw; /* 270@375 */
  height: 32vw; /* 120@375 */
  margin-top: 0;
  overflow: hidden;
  border-radius: 2.1333vw; /* 8@375 */
  line-height: 0;
}

.pop-sign-rec-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 关闭钮：绝对定位在背景下方，不占居中高度 */
.pop-sign .pop-close {
  position: absolute;
  left: 50%;
  top: 100%;
  width: 10.6667vw; /* 40@375 */
  height: 10.6667vw;
  margin-top: 2.6667vw; /* 13@375 */
  transform: translateX(-50%);
  line-height: 0;
}

.pop-sign .pop-close img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========== 单奖励弹窗 ========== */
.pop-layer.is-pop-one-center {
  justify-content: center;
}

.pop-layer.is-pop-one-center .pop-wrap {
  height: auto;
  width: 100%;
}

.pop-one {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  /* 有效区居中后下移 40.25，再上调 7 → 净下移 33.25px = 8.8667vw */
  transform: translateY(-6.6667vw);
}

.pop-one-vis {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 0;
}

.pop-one-bg {
  display: block;
  width: 100%;
  height: auto;
}

.pop-one-in {
  position: absolute;
  top: 16.9333vw;
  right: 6.2667vw;
  bottom: 5.8667vw;
  left: 6.2667vw;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
  line-height: normal;
}

.pop-one-win {
  display: block;
  align-self: center;
  width: 33.3333vw;
  margin-top: 29.3333vw;
  height: 8.2667vw;
  flex-shrink: 0;
}

.pop-one-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  margin-top: 4vw;
  min-height: 0;
}

.pop-one-pri {
  display: block;
  width: 20vw;
  height: 20vw;
  object-fit: contain;
  flex-shrink: 0;
}

.pop-one-name {
  margin-top: 4vw;
  margin-bottom: 6.6667vw;
  font-size: 4.8vw;
  font-weight: 400;
  line-height: 4.5333vw;
  color: #333333;
  text-align: center;
}

.pop-one-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
}

.pop-one-btn img {
  display: block;
  width: 53.3333vw;
  height: auto;
}

/* 关闭钮：绝对定位在背景下方，不占居中高度 */
.pop-one .pop-close {
  position: absolute;
  left: 50%;
  top: 100%;
  margin-top: -31.7333vw;
  transform: translateX(-50%);
}

/* ========== 未中奖弹窗 ========== */
/* 无忽略区：按背景图自身做纯几何居中 */
.pop-layer.is-pop-miss-center .pop-wrap {
  height: 100%;
  width: 100%;
}

.pop-miss {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% - 7.4667vw));
  width: 78.5333vw;
  line-height: 0;
  box-sizing: border-box;
}

.pop-miss-img {
  display: block;
  width: 100%;
  height: auto;
}

/* 关闭钮在图外下方，不进入居中高度 */
.pop-miss .pop-close {
  position: absolute;
  left: 50%;
  top: 100%;
  width: 10.6667vw;
  height: 10.6667vw;
  margin-top: 2.6667vw;
  transform: translateX(-50%);
}

.pop-miss .pop-close img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========== chance 弹窗（机会+1） ========== */
.pop-layer.is-pop-chance-center {
  justify-content: center;
}

.pop-layer.is-pop-chance-center .pop-wrap {
  height: auto;
  width: 100%;
}

.pop-chance {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  line-height: 0;
  /*
   * flex 整图居中；忽略顶 123.5 / 底 133 →
   * (133-123.5)/2 = 4.75px，再额外下移 9.5px → 净下移 14.25px = 3.8vw
   */
  transform: translateY(-6.0667vw);
}

.pop-chance-bg {
  display: block;
  width: 100%;
  height: auto;
}

.pop-chance-btn {
  position: absolute;
  left: 50%;
  top: 93.3333vw; /* 350@375，相对弹窗顶 */
  transform: translateX(-50%);
  width: 53.3333vw; /* 200@375 */
  height: 11.7333vw; /* 44@375 */
  object-fit: contain;
  -webkit-tap-highlight-color: transparent;
}

/* 关闭钮：绝对定位在背景下方，不占居中高度 */
.pop-chance .pop-close {
  position: absolute;
  left: 50%;
  top: 100%;
  width: 10.6667vw;
  height: 10.6667vw;
  margin-top: -32.8vw;
  transform: translateX(-50%);
  line-height: 0;
}

.pop-chance .pop-close img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========== boost 弹窗（助力卡） ========== */
.pop-layer.is-pop-boost-center {
  justify-content: center;
}

.pop-layer.is-pop-boost-center .pop-wrap {
  height: auto;
  width: 100%;
}

.pop-boost {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  line-height: 0;
  transform: translateY(-8vw);
}

.pop-boost-bg {
  display: block;
  width: 100vw;
  height: auto;
}

.pop-boost-btn {
  position: absolute;
  left: 50%;
  top: 107vw;
  transform: translateX(-50%);
  width: 66.6667vw;
  height: 16vw;
  object-fit: contain;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* 关闭钮：绝对定位在背景下方，不占居中高度 */
.pop-boost .pop-close {
  position: absolute;
  left: 50%;
  top: 100%;
  width: 10.6667vw;
  height: 10.6667vw;
  margin-top: -20.5333vw;
  transform: translateX(-50%);
  line-height: 0;
}

.pop-boost .pop-close img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========== 助力卡挽留提示（蓝湖 挽留提示 294.5×284.5@375，整卡切图 1:1） ========== */
.pop-layer.pop-boost-retain {
  justify-content: center;
  z-index: 2200;
}

.pop-layer.pop-boost-retain .pop-boost-retain-wrap {
  height: auto;
  width: 100%;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
}

.pop-boost-retain-box {
  position: relative;
  width: 78.5333vw; /* 294.5@375 */
  box-sizing: border-box;
  line-height: 0;
}

.pop-boost-retain-bg {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
}

/* 按钮热区：相对整卡坐标对齐蓝湖标注 */
.pop-boost-retain-btn {
  position: absolute;
  top: 77.6801%; /* 221 / 284.5 */
  width: 34.6667vw; /* 120 / 294.5 */
  height: 14.1667vw; /* 44 / 284.5 */
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  font-size: 0;
  color: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.pop-boost-retain-btn.is-giveup {
  left: 3.2vw; /* 17.5 / 294.5 */
}

.pop-boost-retain-btn.is-share {
  left: 40.5333vw; /* 157.5 / 294.5 */
}

/* ========== 新手奖励到账弹窗（蓝湖 375 稿，vw = px ÷ 3.75） ========== */
/* both：稿位固定偏上；lottery / coupon：仅背景图参与居中 */
.pop-layer.is-ob-reward-top {
  justify-content: flex-start;
  align-items: center;
}

.pop-layer.is-ob-reward-top .ob-reward-wrap {
  margin-top: 49.6vw;
}

.pop-layer.is-ob-reward-center {
  justify-content: center;
  align-items: center;
}

.pop-layer.is-ob-reward-center .ob-reward-wrap {
  height: auto;
  width: 100%;
}

.ob-reward-wrap {
  flex: 0 0 auto;
  margin: 0;
  pointer-events: none;
}

.ob-reward-wrap .ob-reward {
  pointer-events: auto;
}

.ob-reward {
  position: relative;
  width: 78.6667vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

/* lottery：只按背景图高度居中，关闭钮绝对定位不占高 */
.ob-reward--lottery {
  line-height: 0;
  /*
   * flex 按背景图居中；关闭钮绝对定位不占高。
   * 忽略顶 69.5 / 底 4 → (4-69.5)/2 = -32.75px = -8.7333vw 上移
   */
  transform: translateY(-7.2667vw);
}

/* both：只按背景图居中；立减金行 / 关闭钮绝对定位不占高 */
.ob-reward--both {
  line-height: 0;
  /* 忽略顶 139 → 上移一半 69.5px = 18.5333vw */
  transform: translateY(-14.5333vw);
}

.ob-reward-stage {
  position: relative;
  width: 78.6667vw;
  box-sizing: border-box;
  z-index: 2;
  line-height: 0;
}

.ob-reward--lottery .ob-reward-stage {
  height: auto;
}

.ob-reward--both .ob-reward-stage {
  height: auto;
}

.ob-reward-art {
  display: block;
  width: 100%;
  height: auto;
}

.ob-reward--lottery .ob-reward-art {
  height: auto;
  object-fit: initial;
  object-position: top center;
}

.ob-reward--both .ob-reward-art {
  height: auto;
  object-fit: initial;
  object-position: top center;
  vertical-align: top;
}

/* 375 稿：ticket 295×211.5 @41,186；抽奖机会 74×75.5 @217,237.5 */
.ob-reward-chance {
  position: absolute;
  left: 59.661%;
  top: 24.349%;
  width: 25.085%;
  height: 35.697%;
  box-sizing: border-box;
  pointer-events: none;
}

.ob-reward-chance-bg {
  display: block;
  width: 100%;
  height: 100%;
}

.ob-reward-chance-copy {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 4.8vw;
  line-height: 1;
}

.ob-reward-chance-label {
  flex-shrink: 0;
  text-align: center;
  font-size: 3.2vw;
  line-height: 1;
  color: #611b10;
  white-space: nowrap;
}

.ob-reward-chance-num {
  flex-shrink: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-top: auto;
  padding-bottom: 2.6667vw;
  line-height: 1;
  color: #e74f0a;
  white-space: nowrap;
}

.ob-reward-chance-plus {
  font-size: 8vw;
  font-weight: 700;
  line-height: 1;
}

.ob-reward-chance-unit {
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 1;
}

.ob-reward-coupon-row {
  width: 56vw;
  margin-top: -1.3333vw;
  box-sizing: border-box;
  box-shadow: 0px 0 4px 0px #FED293;
  background: radial-gradient(60.76% 47.25% at 66.95% 55.89%, #fffcf7 0%, #ffe2b0 100%);
  border-radius: 2.1333vw;
  z-index: 8;
}

/* both：立减金行贴在背景图下方，不参与居中高度 */
.ob-reward--both .ob-reward-coupon-row {
  position: absolute;
  left: 50%;
  top: 100%;
  margin-top: -1.3333vw;
  transform: translateX(-50%);
}

.ob-reward-coupon-row-inner {
  display: flex;
  align-items: center;
  height: 16.8vw;
  padding: 0 3.0667vw;
  box-sizing: border-box;
}

.ob-reward-coupon-ic {
  display: block;
  width: 10.6667vw;
  height: 10.6667vw;
  flex-shrink: 0;
  object-fit: contain;
}

.ob-reward-coupon-name {
  flex: 1;
  margin-left: 2.6667vw;
  font-size: 3.4667vw;
  line-height: 1;
  color: #611b10;
}

.ob-reward-coupon-tag {
  flex-shrink: 0;
  width: 13.3333vw;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

.ob-reward-coupon-tag img {
  display: block;
  width: 100%;
  height: auto;
}

.ob-reward-claim {
  width: 53.3333vw;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

.ob-reward--coupon .ob-reward-claim {
  margin-top: 2.6667vw;
}

.ob-reward-claim img {
  display: block;
  width: 100%;
  height: auto;
}

.ob-reward-close {
  margin-top: 2.1333vw;
  width: 10.6667vw;
  height: 10.6667vw;
}

/* lottery：关闭钮贴在背景图下方，不参与居中高度 */
.ob-reward--lottery .ob-reward-close {
  position: absolute;
  left: 50%;
  top: 100%;
  margin-top: 2.6667vw;
  transform: translateX(-50%);
}

.ob-reward-close img {
  display: block;
  width: 100%;
  height: 100%;
}

.ob-reward--both .ob-reward-close {
  position: absolute;
  left: 50%;
  top: 100%;
  /* -1.3333(重叠) + 16.8(立减金行) + 5.8667(间距) */
  margin-top: 18.4vw;
  transform: translateX(-50%);
}

/* 专属权益解锁弹窗 — 375 稿 vw = px ÷ 3.75；bg 321×202；button 191×57 */
.pop-layer.is-exclusive-rights-center {
  justify-content: center;
}

.pop-layer.is-exclusive-rights-center .exclusive-rights-wrap {
  height: auto;
  width: 100%;
}

.exclusive-rights-wrap {
  width: 100%;
}

.exclusive-rights-pop {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  line-height: 0;
  /* 居中后再下移 2.5px = 0.6667vw */
  transform: translateY(-6vw);
}

.exclusive-rights-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 0;
}

.exclusive-rights-bg {
  display: block;
  width: 85.6vw;
  height: 53.8667vw;
  object-fit: contain;
}

.exclusive-rights-btn {
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

.exclusive-rights-btn img {
  display: block;
  width: 50.9333vw;
  height: 15.2vw;
  object-fit: contain;
}

/* 关闭钮：绝对定位在 main 下方，不占居中高度 */
.exclusive-rights-close {
  position: absolute;
  left: 50%;
  top: 100%;
  margin-top: -1.0667vw;
  transform: translateX(-50%);
  width: 10.6667vw;
  height: 10.6667vw;
}

/* 「活动规则」Toast — 蓝湖固定标注 px 例外（§一.2）；仅 index.html */
.toast-rule-rwd.van-toast {
  top: 207px !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 254px !important;
  max-width: 254px !important;
  padding: 5px !important;
  box-sizing: border-box;
  font-size: 12px;
  line-height: 20px;
}

.toast-rule-rwd .van-toast__text {
  font-size: 12px;
  line-height: 20px;
}

/* 跳转提示弹窗 — 蓝湖「跳转提示」375 稿；壳 294×162；关闭 40×40 间距 10.5 */
.pop-layer.is-jump-tip-center {
  justify-content: center;
}

.pop-layer.is-jump-tip-center .jump-tip-wrap {
  height: auto;
  width: 100%;
}

.jump-tip-wrap {
  width: 100%;
}

.jump-tip {
  /* position: relative — 关闭钮叠在壳下方 */
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  line-height: 0;
  transform: translateY(-6vw);
}

.jump-tip-main {
  /* position: relative — 确定热区叠在壳图按钮上 */
  position: relative;
  line-height: 0;
}

.jump-tip-bg {
  display: block;
  width: 78.4vw;
  height: auto;
}

/* 375 稿：按钮相对壳 top 92 / 高 44；左右由壳宽撑开，热区居中可点 */
.jump-tip-btn {
  /* position: absolute — 热区对齐壳内「确定」 */
  position: absolute;
  left: 0;
  right: 0;
  top: 24.5333vw;
  height: 11.7333vw;
  -webkit-tap-highlight-color: transparent;
}

.jump-tip-close {
  /* position: absolute — 壳底下方 10.5px，不占居中高度 */
  position: absolute;
  left: 50%;
  top: 100%;
  margin-top: 2.8vw;
  transform: translateX(-50%);
  height: 10.6667vw;
}

.jump-tip-close img {
  display: block;
  width: 10.6667vw;
  height: auto;
}

/* 白名单提示弹窗 — 参考跳转提示；壳 519×428(@2x≈259.5×214)；关闭同 jump-tip */
.pop-layer.is-white-list-tip-center {
  justify-content: center;
  z-index: 3100; /* 高于 splash(3000)，进页即可盖住欢迎页 */
}

.pop-layer.is-white-list-tip-center .white-list-tip-wrap {
  height: auto;
  width: 100%;
}

.white-list-tip-wrap {
  width: 100%;
}

.white-list-tip {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  line-height: 0;
  transform: translateY(-6vw);
}

.white-list-tip-main {
  position: relative;
  line-height: 0;
}

.white-list-tip-bg {
  display: block;
  width: 69.2vw; /* 259.5@375 */
  height: auto;
}

/* 红钮像素区约 y:355–422 / 428；相对壳宽 69.2vw 换算热区 */
.white-list-tip-btn {
  position: absolute;
  left: 0;
  right: 0;
  top: 46.5333vw;
  height: 9.0667vw;
  -webkit-tap-highlight-color: transparent;
}

.white-list-tip-close {
  position: absolute;
  left: 50%;
  top: 100%;
  margin-top: 2.8vw;
  transform: translateX(-50%);
  height: 10.6667vw;
}

.white-list-tip-close img {
  display: block;
  width: 10.6667vw;
  height: auto;
}
