/* 天天奖券 /activity/lottery
   设计稿：PC 39382:120733 / H5 39273:28365（确认弹窗参考 39129:94899）
   桌面优先，主断点 @media (max-width: 768px) */

.activity-lottery {
  font-family: "PingFang SC", sans-serif;
  color: var(--text-primary);
}

.activity-lottery__inner {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* ---------- 面包屑 ---------- */

.activity-lottery__breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
}

.activity-lottery__breadcrumb-link {
  color: var(--text-primary);
  transition: color .2s;
}

.activity-lottery__breadcrumb-link:hover {
  color: var(--color-primary-500);
}

.activity-lottery__breadcrumb-sep {
  color: var(--text-primary);
}

.activity-lottery__breadcrumb-current {
  color: var(--text-secondary);
}

/* ---------- 我的奖券卡 ---------- */

.activity-lottery__ticket-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 16px;
  border: 1px solid #FCE3AD;
  border-radius: 12px;
  background: linear-gradient(to top, #FDF6DE, #FFFFFF);
}

.activity-lottery__ticket-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.activity-lottery__ticket-title {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--text-primary);
}

.activity-lottery__ticket-count {
  color: #FF2D55;
}

.activity-lottery__ticket-desc {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-secondary);
}

.activity-lottery__ticket-icon {
  position: relative;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
}

.activity-lottery__ticket-icon img {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  object-fit: contain;
}

/* 票券底部椭圆投影（CSS 重建） */
.activity-lottery__ticket-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3px;
  transform: translateX(-50%);
  width: 40px;
  height: 6px;
  border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0) 70%);
}

/* ---------- 奖池 tab ---------- */

.activity-lottery__pool-section {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.activity-lottery__tabs {
  display: flex;
  align-items: center;
  gap: 18px;
}

.activity-lottery__tab {
  width: 120px;
  height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--color-black-alpha-5);
  border-radius: 12px;
  background: #fff;
  font-family: inherit;
  font-size: 18px;
  line-height: 24px;
  color: var(--color-neutral-900);
  cursor: pointer;
  white-space: nowrap;
  transition: filter .2s;
}

.activity-lottery__tab:hover {
  filter: brightness(0.97);
}

.activity-lottery__tab--active {
  border-color: var(--color-primary-500);
  background: var(--color-primary-500);
  color: var(--text-primary);
}

/* ---------- 本期奖池卡 ---------- */

.activity-lottery__pool-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border: 1px solid #FCE3AD;
  border-radius: 12px;
  background: linear-gradient(to top, #FDF6DE, #FFFFFF);
}

.activity-lottery__pool-trophy {
  position: absolute;
  top: -5px;
  right: 20px;
  width: 145px;
  height: 145px;
  pointer-events: none;
}

.activity-lottery__pool-tag {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 8px;
  border-radius: 4px;
  background: #FDF1C6;
  font-size: 14px;
  line-height: 20px;
  color: #DD6915;
  white-space: nowrap;
}

.activity-lottery__pool-amount {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  color: #000;
}

.activity-lottery__pool-amount-num {
  font-size: 32px;
  font-weight: 600;
  color: #FF2D55;
}

.activity-lottery__pool-note {
  position: relative;
  z-index: 1;
  margin: 0;
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 4px 8px;
  border: 1px solid #fff;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.66);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: 14px;
  line-height: 20px;
  color: var(--text-primary);
  white-space: nowrap;
}

/* ---------- 投入奖券子卡 ---------- */

.activity-lottery__invest {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 12px;
  border: 1px solid var(--color-black-alpha-10);
  border-radius: 12px;
  background: var(--surface-foreground);
}

.activity-lottery__invest-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.activity-lottery__invest-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.activity-lottery__invest-title {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--text-primary);
  white-space: nowrap;
}

.activity-lottery__invest-sub {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-secondary);
  white-space: nowrap;
}

.activity-lottery__stepper {
  display: flex;
  align-items: center;
  gap: 16px;
  border-radius: 8px;
  background: var(--color-black-alpha-5);
}

.activity-lottery__stepper-btn {
  position: relative;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--color-black-alpha-10);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: filter .2s;
}

.activity-lottery__stepper-btn:hover {
  filter: brightness(0.96);
}

/* 加减号：CSS 重建（12×2 黄色横条 / 十字） */
.activity-lottery__stepper-btn span::before,
.activity-lottery__stepper-btn span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 2px;
  transform: translate(-50%, -50%);
  background: var(--color-primary-500);
}

.activity-lottery__stepper-btn--minus span::after {
  display: none;
}

.activity-lottery__stepper-btn--plus span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.activity-lottery__stepper-value {
  min-width: 24px;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--text-primary);
}

.activity-lottery__invest-btn {
  width: 100%;
  height: 44px;
  padding: 11px 24px;
  border: 0;
  border-radius: 12px;
  background: var(--color-primary-500);
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--text-primary);
  cursor: pointer;
  white-space: nowrap;
  transition: filter .2s;
}

.activity-lottery__invest-btn:hover {
  filter: brightness(0.95);
}

/* ---------- 上期开奖公示 ---------- */

.activity-lottery__result-section {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.activity-lottery__section-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.activity-lottery__section-bar {
  width: 6px;
  height: 28px;
  border-radius: 4px;
  background: var(--color-primary-500);
}

.activity-lottery__section-title {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: normal;
  color: var(--text-primary);
}

.activity-lottery__winners {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--color-black-alpha-10);
  border-radius: 12px;
  background: var(--surface-foreground);
}

.activity-lottery__winner-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}

.activity-lottery__winner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-black-alpha-10);
}

.activity-lottery__winner:last-child {
  border-bottom: 0;
}

.activity-lottery__winner-medal {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.activity-lottery__winner-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.activity-lottery__winner-name {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--text-primary);
}

.activity-lottery__winner-sub {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-secondary);
}

.activity-lottery__winner-prize {
  flex-shrink: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: #FF2D55;
  white-space: nowrap;
}

.activity-lottery__winners-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: rgba(0, 0, 0, 0.68);
  cursor: pointer;
  white-space: nowrap;
}

.activity-lottery__winners-more:hover {
  color: var(--text-primary);
}

.activity-lottery__winners-more-icon {
  width: 18px;
  height: 18px;
}

/* ---------- 去做任务大按钮 ---------- */

.activity-lottery__task-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  height: 58px;
  padding: 11px 24px;
  border-radius: 12px;
  background: var(--color-primary-500);
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--text-primary);
  white-space: nowrap;
  transition: filter .2s;
}

.activity-lottery__task-btn:hover {
  filter: brightness(0.95);
}

.activity-lottery__task-btn-icon {
  width: 18px;
  height: 18px;
}

/* ---------- 确认投入弹窗 ---------- */

.activity-lottery__layer {
  position: fixed;
  inset: 0;
  z-index: 1000;
}

.activity-lottery__layer[hidden] {
  display: none;
}

.activity-lottery__layer-mask {
  position: absolute;
  inset: 0;
  background: var(--color-black-alpha-30);
}

.activity-lottery__layer-card {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 300px;
  /* 顶部加大留白：人物图下探入卡约 64px，标题从人物之下起排 */
  padding: 76px 20px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, #FFE9EC 0%, #FFF8E8 30%, #FFFFFF 60%);
  text-align: center;
}

.activity-lottery__layer-figure {
  position: absolute;
  left: 50%;
  top: -64px;
  transform: translateX(-50%);
  width: 200px;
  height: auto;
  pointer-events: none;
}

.activity-lottery__layer-title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  color: var(--text-primary);
}

.activity-lottery__layer-text {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 22px;
  color: var(--text-secondary);
}

.activity-lottery__layer-em {
  color: #FF2D55;
}

.activity-lottery__layer-confirm {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 12px;
  background: var(--color-primary-500);
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  color: var(--text-primary);
  cursor: pointer;
  white-space: nowrap;
  transition: filter .2s;
}

.activity-lottery__layer-confirm:hover {
  filter: brightness(0.95);
}

.activity-lottery__layer-cancel {
  margin-top: 6px;
  padding: 8px 24px;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
}

.activity-lottery__layer-cancel:hover {
  color: var(--text-primary);
}

/* ---------- H5（≤768px，对齐 H5 稿 39273:28365） ---------- */

@media (max-width: 768px) {
  .activity-lottery__inner {
    gap: 18px;
  }

  .activity-lottery__breadcrumb {
    gap: 4px;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
  }

  .activity-lottery__ticket-card {
    gap: 12px;
    padding: 12px;
  }

  .activity-lottery__ticket-info {
    gap: 2px;
  }

  .activity-lottery__ticket-title {
    font-size: 14px;
    line-height: 20px;
  }

  .activity-lottery__ticket-desc {
    font-size: 12px;
    line-height: 18px;
    color: var(--color-neutral-600);
  }

  .activity-lottery__ticket-icon,
  .activity-lottery__ticket-icon img {
    width: 44px;
    height: 44px;
  }

  .activity-lottery__ticket-icon::after {
    width: 27px;
    height: 4px;
    bottom: -2px;
  }

  .activity-lottery__pool-section {
    gap: 12px;
  }

  .activity-lottery__tabs {
    gap: 8px;
  }

  .activity-lottery__tab {
    flex: 1;
    width: auto;
    height: 32px;
    padding: 6px 24px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
  }

  .activity-lottery__pool-trophy {
    top: -11px;
    right: 3px;
  }

  .activity-lottery__pool-tag {
    height: 20px;
    padding: 0 4px;
    font-size: 12px;
    line-height: 18px;
  }

  .activity-lottery__pool-amount-num {
    font-size: 24px;
  }

  .activity-lottery__pool-note {
    width: 100%;
    justify-content: center;
    font-size: 12px;
    line-height: 18px;
  }

  .activity-lottery__invest-title {
    font-size: 14px;
    line-height: 20px;
  }

  .activity-lottery__invest-sub {
    font-size: 12px;
    line-height: 18px;
  }

  .activity-lottery__stepper-value {
    font-size: 14px;
    line-height: 20px;
  }

  .activity-lottery__result-section {
    gap: 12px;
  }

  .activity-lottery__section-bar {
    height: 16px;
    border-radius: 3px;
  }

  .activity-lottery__section-title {
    font-size: 18px;
    line-height: 24px;
  }

  .activity-lottery__winners {
    padding: 12px;
  }

  .activity-lottery__winner-name {
    font-size: 14px;
    line-height: 20px;
  }

  .activity-lottery__winner-sub {
    font-size: 12px;
    line-height: 18px;
  }

  .activity-lottery__winner-prize {
    font-size: 14px;
    line-height: 20px;
  }

  .activity-lottery__winners-more {
    font-size: 12px;
    line-height: 18px;
  }

  .activity-lottery__task-btn {
    height: 44px;
  }
}

