/* WOW 官网一致的浅色青绿主题覆盖层。必须最后加载。 */
:root {
  --wl-bg: #f7fbfa;
  --wl-bg-soft: #eef8f5;
  --wl-card: #ffffff;
  --wl-ink: #102239;
  --wl-copy: #567080;
  --wl-muted: #8296a0;
  --wl-green: #49ae88;
  --wl-green-2: #72d69a;
  --wl-mint: #a5ff5f;
  --wl-cyan: #55c4ce;
  --wl-line: #dcebe7;
  --wl-shadow: 0 18px 48px rgba(31, 92, 76, .09);
  --wl-grad: linear-gradient(110deg, #9eff4f 0%, #65dda0 52%, #56c6cf 100%);
}

body.presale-page,
body.rewards-page,
body.team-page,
body.ta-page {
  background:
    radial-gradient(900px 460px at 84% 3%, rgba(85,196,206,.13), transparent 62%),
    radial-gradient(760px 420px at 8% 18%, rgba(158,255,79,.11), transparent 64%),
    linear-gradient(180deg, #fff 0%, var(--wl-bg) 52%, #f4faf8 100%) !important;
  background-attachment: fixed !important;
  color: var(--wl-ink) !important;
}

body.presale-page .presale-shell,
body.team-page .tm-page,
body.ta-page .ta-shell,
body.ta-page .ta-main { background: transparent !important; }

/* 官网白色导航 */
body.presale-page .topbar,
body.rewards-page .topbar,
body.team-page .tm-nav,
body.ta-page .ta-topbar {
  background: rgba(255,255,255,.92) !important;
  border-color: var(--wl-line) !important;
  box-shadow: 0 8px 28px rgba(24,73,62,.07) !important;
  backdrop-filter: blur(18px) saturate(1.2);
}
body.presale-page .brand-copy strong,
body.rewards-page .brand-copy strong,
body.presale-page .nav-links a,
body.rewards-page .nav-links a,
body.presale-page .notification-button,
body.rewards-page .notification-button,
body.presale-page .menu-toggle,
body.rewards-page .menu-toggle { color: var(--wl-ink) !important; }
body.presale-page .brand-copy small,
body.rewards-page .brand-copy small { color: var(--wl-copy) !important; }
body.presale-page .nav-links a.active,
body.rewards-page .nav-links a.active { color: #258d6c !important; }
body.presale-page .menu-toggle span,
body.rewards-page .menu-toggle span { background: var(--wl-ink) !important; }
body.presale-page .portal-wallet-button,
body.rewards-page .portal-wallet-button,
body.team-page [data-wallet-connect] {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(110deg, #50b88b, #55bbc8) !important;
  box-shadow: 0 10px 24px rgba(73,174,136,.22) !important;
}

/* IDO tabs */
body.presale-page .presale-tabs {
  background: transparent !important;
  border: 0 !important;
  padding-top: 14px !important;
}
body.presale-page .presale-tab {
  color: var(--wl-copy) !important;
  background: #fff !important;
  border: 1px solid var(--wl-line) !important;
  box-shadow: 0 6px 18px rgba(35,90,76,.05) !important;
}
body.presale-page .presale-tab.is-active {
  color: #11392f !important;
  background: var(--wl-grad) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 28px rgba(89,196,142,.23) !important;
}

/* IDO 首屏、认购、充值、订单等全部白卡化 */
#presale-panel .ido-launch-hero--compact {
  background:
    radial-gradient(circle at 82% 18%, rgba(85,196,206,.18), transparent 32rem),
    radial-gradient(circle at 8% 100%, rgba(158,255,79,.13), transparent 28rem),
    linear-gradient(135deg,#fff,#f2faf7) !important;
  border-color: var(--wl-line) !important;
  box-shadow: var(--wl-shadow) !important;
}
#presale-panel .ido-launch-hero--compact h1,
#presale-panel .subscription-card h2,
#presale-panel h2,
#presale-panel h3 { color: var(--wl-ink) !important; }
#presale-panel .ido-launch-hero--compact h1 em {
  background: linear-gradient(110deg,#3fa77f,#55bdc9) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
#presale-panel .ido-launch-hero--compact p,
#presale-panel .action-note,
#presale-panel small { color: var(--wl-copy); }

#presale-panel .subscription-card,
#presale-panel .ido-estimate-card,
#presale-panel .wv-deposit-section,
#presale-panel .wv-deposit-flow,
#presale-panel .wv-dep-panel,
#presale-panel .certificate-order,
#presale-panel .gv-section,
#presale-panel .gv-card,
#presale-panel .panel {
  background: rgba(255,255,255,.96) !important;
  border-color: var(--wl-line) !important;
  box-shadow: var(--wl-shadow) !important;
}
#presale-panel .subscription-card-head,
#presale-panel .wv-balance-card,
#presale-panel .ido-order-preview,
#presale-panel .estimate-value,
#presale-panel .deposit-order-head {
  background: var(--wl-bg-soft) !important;
  border-color: var(--wl-line) !important;
}
#presale-panel .primary-action,
#presale-panel .balance-subscribe-btn,
#presale-panel .ido-launch-actions .primary-action {
  color: #12382e !important;
  background: var(--wl-grad) !important;
  box-shadow: 0 12px 28px rgba(93,204,145,.23) !important;
}
#presale-panel .secondary-action {
  color: var(--wl-ink) !important;
  background: #fff !important;
  border-color: var(--wl-line) !important;
}
#presale-panel .secondary-action:hover { color: #218463 !important; border-color: #72c9aa !important; background: #f1fbf7 !important; }
#presale-panel #deposit-toggle-btn:disabled,
#presale-panel #deposit-create-btn:disabled {
  cursor: not-allowed !important;
  opacity: .58 !important;
  background: #dbe9e4 !important;
  color: #6d827b !important;
  box-shadow: none !important;
}
#presale-panel .step-label > span { background: linear-gradient(135deg,#49ae88,#55c4ce) !important; }
#presale-panel .payment-method.is-selected,
#presale-panel .wv-net-card.is-selected {
  border-color: #64c7a4 !important;
  background: #effbf6 !important;
  box-shadow: 0 0 0 2px rgba(73,174,136,.08) !important;
}
#presale-panel .payment-method.is-selected .method-icon { background: linear-gradient(135deg,#49ae88,#55c4ce) !important; }
#presale-panel .amount-input:focus-within,
#presale-panel .text-input:focus { border-color: #62c29e !important; box-shadow: 0 0 0 3px rgba(73,174,136,.12) !important; }
#presale-panel .amount-input span,
#presale-panel .estimate-display strong { color: #2c9d77 !important; }

/* 订单中心钱包状态不是帮助图标。覆盖 .gv-help 的固定 17px 尺寸，
   避免手机端钱包地址被压缩成一字一行。 */
body.presale-page #order-center .gv-section-head {
  min-width: 0;
}
body.presale-page #order-center .gv-section-head > div {
  min-width: 0;
  flex: 1 1 auto;
}
body.presale-page #order-center .gv-section-head p {
  max-width: 58ch;
  line-height: 1.55;
}
body.presale-page #order-center #oc-wallet-chip {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0;
  height: auto !important;
  min-height: 30px;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 999px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 1 auto;
  color: #386b5c !important;
  background: #eff9f5 !important;
  border: 1px solid var(--wl-line) !important;
  font-size: 12px;
  line-height: 1.2;
}

/* 支付方式就地交互：官方地址直接弹出二维码；余额不足直接弹出充值中心。 */
body.has-method-dialog,
body.has-deposit-modal { overflow: hidden !important; }
body.presale-page .toast { z-index: 11050 !important; }

body.presale-page #method-panels.has-dialog {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  margin: 0 !important;
  padding: 20px;
  background: rgba(16, 34, 57, .46);
  backdrop-filter: blur(8px);
}
body.presale-page #method-panels.has-dialog .wv-method-panel {
  position: relative;
  width: min(540px, 100%);
  max-height: min(760px, calc(100vh - 40px));
  overflow: auto;
  padding: 24px;
  border-radius: 18px;
  background: #fff !important;
  box-shadow: 0 28px 80px rgba(18, 65, 52, .24) !important;
}
.wv-method-close,
.wv-deposit-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--wl-line);
  border-radius: 50%;
  color: var(--wl-ink);
  background: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.wv-method-dialog-head { display: grid; gap: 4px; padding-right: 48px; margin-bottom: 16px; }
.wv-method-dialog-head strong { color: var(--wl-ink); font-size: 20px; }
.wv-method-dialog-head span { color: var(--wl-copy); font-size: 13px; }

/* Official payment dialog: clear visual hierarchy and stable address/action layout. */
body.presale-page .official-payment-panel {
  color: var(--wl-ink, #12223f);
}
body.presale-page .official-payment-panel .wv-panel-nets {
  display: flex;
  margin: 0 0 14px;
}
body.presale-page .official-payment-panel .wv-panel-nets button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #bfe5d8;
  border-radius: 10px;
  color: #16745c;
  background: #effaf6;
  font-size: 13px;
  font-weight: 800;
}
body.presale-page .official-payment-panel > .action-note {
  margin: 0 0 16px;
  padding: 10px 12px;
  border: 1px solid #e5eef5;
  border-radius: 10px;
  color: #58708a;
  background: #f7fafc;
  line-height: 1.6;
}
body.presale-page .official-payment-panel .deposit-qr-wrap {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin: 4px 0 18px;
}
body.presale-page .official-payment-panel .deposit-qr-wrap img {
  width: 220px;
  height: 220px;
  padding: 10px;
  border: 1px solid #e1ebf0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 76, 63, .12);
  image-rendering: pixelated;
}
body.presale-page .official-payment-panel #opp-qr-caption {
  margin: 0;
  color: #6e88a1;
  font-size: 12px;
  font-weight: 700;
}
body.presale-page .official-payment-panel .deposit-addr-block {
  margin-top: 4px;
}
body.presale-page .official-payment-panel .deposit-addr-block .field-label {
  margin-bottom: 7px;
  color: var(--wl-ink, #12223f);
  font-weight: 850;
}
body.presale-page .official-payment-panel .transfer-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
}
body.presale-page .official-payment-panel .transfer-row code {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #d9e7f2;
  border-radius: 12px;
  color: #496d9d;
  background: #f5f9fd;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body.presale-page .official-payment-panel .transfer-row [data-opp-copy] {
  min-width: 112px;
  min-height: 46px;
  border: 1px solid #cfe7df;
  border-radius: 12px;
  color: #16745c;
  background: #f3fbf7;
  font-weight: 850;
}
body.presale-page .official-payment-panel [data-opp-done] {
  width: 100%;
  min-height: 48px;
  margin-top: 12px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #13a77c, #2b9ed8);
  font-weight: 850;
  box-shadow: 0 8px 18px rgba(19, 167, 124, .2);
}
body.presale-page .official-payment-panel .opp-proof-row {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #dcece7;
  border-radius: 14px;
  background: #fbfefd;
}
body.presale-page .official-payment-panel .opp-proof-row .field-label { margin-top: 2px; }
body.presale-page .official-payment-panel [data-opp-status] {
  margin: 10px 0 0;
  color: #168360;
  font-weight: 700;
}

.wv-deposit-modal {
  position: fixed;
  inset: 0;
  z-index: 10030;
  display: grid;
  place-items: center;
  padding: 20px;
}
.wv-deposit-modal__mask {
  position: absolute;
  inset: 0;
  background: rgba(16, 34, 57, .48);
  backdrop-filter: blur(8px);
}
.wv-deposit-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(860px, calc(100vh - 40px));
  overflow: auto;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(18, 65, 52, .28);
}
.wv-deposit-modal__body .wv-deposit-section.is-modal-content {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
.wv-deposit-modal__body .wv-section-head { padding-right: 48px; }
.wv-deposit-modal__body .wv-section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start !important;
  gap: 8px 16px !important;
  margin-bottom: 18px !important;
}
.wv-deposit-modal__body .wv-section-head h2 { font-size: 22px !important; }
.wv-deposit-modal__body .wv-section-head p { max-width: 620px; line-height: 1.55; }
.wv-deposit-modal__body #deposit-wallet-chip {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  min-height: 28px;
  max-width: 150px;
  padding: 5px 9px;
  border-radius: 999px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #34715f !important;
  background: #eff9f5 !important;
  border: 1px solid var(--wl-line) !important;
  font-size: 11px;
}
.wv-deposit-modal__body .wv-balance-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.wv-deposit-modal__body .wv-balance-card,
.wv-deposit-modal__body .wv-balance-card.-primary {
  min-height: 86px;
  padding: 15px !important;
  color: var(--wl-ink) !important;
  background: linear-gradient(145deg, #f6fbf9, #edf7f4) !important;
  border: 1px solid var(--wl-line) !important;
  box-shadow: none !important;
}
.wv-deposit-modal__body .wv-balance-card.-primary {
  background: linear-gradient(135deg, rgba(158,255,79,.22), rgba(85,196,206,.18)) !important;
  border-color: #bfe7d8 !important;
}
.wv-deposit-modal__body .wv-balance-card span { color: #6c887f !important; font-size: 12px; }
.wv-deposit-modal__body .wv-balance-card strong { color: var(--wl-ink) !important; font-size: 20px; }
.wv-deposit-modal__body #deposit-toggle-btn {
  min-height: 48px;
  margin-top: 14px;
  border-radius: 12px;
  font-size: 16px;
}
.wv-deposit-modal__body .wv-balance-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
.wv-deposit-modal__body .wv-balance-actions #deposit-toggle-btn { grid-column: 1 / -1; }
.wv-deposit-modal__body .wv-dep-steps {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px !important;
}
.wv-deposit-modal__body .wv-dep-steps span {
  justify-content: center;
  min-width: 0;
  padding: 7px 6px !important;
  white-space: nowrap;
  font-size: 11px !important;
}
.wv-deposit-modal__body .wv-dep-panel {
  padding: 18px !important;
  border-radius: 14px !important;
  background: #fbfdfc !important;
  box-shadow: none !important;
}
.wv-deposit-modal__body .amount-presets {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px !important;
  margin-top: 12px;
}
.wv-deposit-modal__body .amount-presets button {
  min-height: 40px;
  border: 1px solid var(--wl-line);
  border-radius: 10px;
  color: #365f53;
  background: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.wv-deposit-modal__body .amount-presets button:hover {
  border-color: #72c9aa;
  color: #207c60;
  background: #effaf6;
}
.wv-deposit-modal__body #deposit-amount { font-size: 28px !important; }

/* 大屏认购表单避免左侧过窄、右侧留下大片无效空白。 */
@media (max-width: 1500px) {
  #presale-panel .subscription-workbench { grid-template-columns: minmax(0, 1fr) !important; }
  #presale-panel .subscription-side { padding: 0 clamp(22px, 3vw, 34px) clamp(22px, 3vw, 34px) !important; }
}

/* KOL 申请页：取消整屏蓝色英雄区 */
body.team-page .tm-topbar {
  color: var(--wl-ink) !important;
  background: #eef8f5 !important;
  border-bottom: 1px solid var(--wl-line) !important;
}
body.team-page .tm-topbar-dot { color: var(--wl-green) !important; }
body.team-page .tm-brand-mark { background: linear-gradient(145deg,#9eff4f,#55c4ce) !important; color: #12382e !important; }
body.team-page .tm-hero {
  color: var(--wl-ink) !important;
  background:
    radial-gradient(circle at 78% 44%, rgba(85,196,206,.18),transparent 30rem),
    radial-gradient(circle at 20% 80%, rgba(158,255,79,.14),transparent 28rem),
    linear-gradient(135deg,#fff,#eef9f5) !important;
  border-bottom: 1px solid var(--wl-line) !important;
}
body.team-page .tm-hero h1,
body.team-page .tm-hero p,
body.team-page .tm-hero strong { color: var(--wl-ink) !important; }
body.team-page .tm-hero h1 em {
  background: linear-gradient(110deg,#3fa77f,#55bdc9) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
body.team-page .tm-eyebrow { color: #278d6b !important; }
body.team-page .tm-hero-tags li {
  color: #315d50 !important;
  background: rgba(255,255,255,.74) !important;
  border-color: var(--wl-line) !important;
}
body.team-page .tm-btn-primary,
body.team-page .tm-nav-cta {
  color: #12382e !important;
  background: var(--wl-grad) !important;
  box-shadow: 0 12px 28px rgba(89,196,142,.24) !important;
}
body.team-page .tm-btn-ghost { color: var(--wl-ink) !important; background: #fff !important; border-color: var(--wl-line) !important; }
body.team-page .tm-tier,
body.team-page .tm-income-card,
body.team-page .tm-apply-card,
body.team-page .tm-state-card,
body.team-page section:not(.tm-hero) { border-color: var(--wl-line) !important; }
body.team-page .tm-tier,
body.team-page .tm-income-card,
body.team-page .tm-apply-card,
body.team-page .tm-state-card { background: #fff !important; box-shadow: var(--wl-shadow) !important; }
body.team-page .tm-footer { background: #eaf6f2 !important; color: var(--wl-copy) !important; border-top: 1px solid var(--wl-line) !important; }

/* KOL 后台：浅色侧栏、官网青绿 active */
body.ta-page .ta-sidebar {
  color: var(--wl-ink) !important;
  background: linear-gradient(180deg,#fff,#eef8f5) !important;
  border-right: 1px solid var(--wl-line) !important;
  box-shadow: 12px 0 32px rgba(31,92,76,.06) !important;
}
body.ta-page .ta-sidebar * { color: inherit; }
body.ta-page .ta-side-nav button { color: #4c6b61 !important; }
body.ta-page .ta-side-nav button:hover { color: #217c5f !important; background: #eff9f5 !important; }
body.ta-page .ta-side-nav button.is-active {
  color: #153c31 !important;
  background: var(--wl-grad) !important;
  box-shadow: 0 10px 24px rgba(89,196,142,.20) !important;
}
body.ta-page .ta-side-back,
body.ta-page .ta-auth-state { background: #fff !important; border-color: var(--wl-line) !important; color: var(--wl-copy) !important; }
body.ta-page .ta-panel,
body.ta-page .ta-card,
body.ta-page .ta-stats article,
body.ta-page .ta-profile,
body.ta-page .ta-table-wrap {
  background: #fff !important;
  border-color: var(--wl-line) !important;
  box-shadow: var(--wl-shadow) !important;
}
body.ta-page .ta-btn-primary { color: #12382e !important; background: var(--wl-grad) !important; box-shadow: 0 12px 26px rgba(89,196,142,.22) !important; }
body.ta-page .ta-progress > i,
body.ta-page .ta-kpi-progress > i { background: linear-gradient(90deg,#9eff4f,#57c99c,#55c4ce) !important; }
body.ta-page .ta-table tbody tr:hover td { background: #f2faf7 !important; }

@media (max-width: 760px) {
  body.team-page .tm-hero { padding-top: 34px !important; }
  body.ta-page .ta-sidebar { background: rgba(255,255,255,.97) !important; }
  #presale-panel .ido-launch-hero--compact { border-radius: 18px !important; }
}

/* Keep the asset center visible below the sticky header when opened from a tier card. */
body.presale-page #my-assets {
  scroll-margin-top: 96px;
}

/* The shared picker stylesheet intentionally uses absolute positioning on desktop.
   On narrow screens force a viewport-bound panel so it cannot inherit the header
   container's width or overflow outside the device. */
@media (max-width: 720px) {
  body .language-picker .language-menu,
  body .topbar .language-picker .language-menu,
  body .portal-topbar .language-picker .language-menu,
  body .presale-topbar .language-picker .language-menu {
    position: fixed !important;
    top: calc(66px + env(safe-area-inset-top, 0px)) !important;
    right: 12px !important;
    bottom: auto !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 84px - env(safe-area-inset-top, 0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 12px !important;
    border-radius: 18px !important;
    transform: none !important;
  }

  body .language-picker .language-menu-grid,
  body .topbar .language-picker .language-menu-grid {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  body .language-picker .language-option,
  body .topbar .language-picker .language-option {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 9px 11px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }
}

@media (max-width: 640px) {
  body.presale-page #order-center .gv-section-head { gap: 10px; }
  body.presale-page #order-center #oc-wallet-chip {
    align-self: flex-start;
    max-width: min(100%, 260px);
  }
  body.presale-page #method-panels.has-dialog,
  .wv-deposit-modal { padding: 0; align-items: end; }
  body.presale-page #method-panels.has-dialog .wv-method-panel,
  .wv-deposit-modal__dialog {
    width: 100%;
    max-height: 92dvh;
    border-radius: 18px 18px 0 0;
    padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  }
  .wv-deposit-modal__body .wv-deposit-section.is-modal-content { border-radius: 18px 18px 0 0 !important; }
  .wv-deposit-modal__body .wv-section-head { grid-template-columns: 1fr; padding-right: 44px; }
  .wv-deposit-modal__body #deposit-wallet-chip { max-width: 190px; }
  .wv-deposit-modal__body .wv-balance-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .wv-deposit-modal__body .wv-dep-steps { display: flex !important; overflow-x: auto; justify-content: flex-start; }
  .wv-deposit-modal__body .wv-dep-steps span { flex: 0 0 auto; padding-inline: 10px !important; }
  .wv-deposit-modal__body .amount-presets { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.presale-page .official-payment-panel .deposit-qr-wrap img { width: min(220px, 68vw); height: min(220px, 68vw); }
  body.presale-page .official-payment-panel .transfer-row { grid-template-columns: 1fr; }
  body.presale-page .official-payment-panel .transfer-row [data-opp-copy] { width: 100%; }
}


/* ===== IDO 移动端排版统一（充值中心 / 余额 / 支付面板） ===== */
body.presale-page .presale-shell,
body.presale-page main,
body.presale-page .ido-subscription-body { min-width: 0; overflow-x: clip; }

@media (max-width: 640px) {
  body.presale-page .wv-deposit-section { padding: 16px 12px; }
  body.presale-page .wv-balance-strip { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  body.presale-page .wv-balance-card { padding: 14px; }
  body.presale-page .wv-balance-actions { flex-wrap: wrap; gap: 8px; }
  body.presale-page #deposit-toggle-btn { flex: 1 0 100%; min-height: 46px; }
  body.presale-page .wv-balance-actions button { flex: 1 1 0; min-height: 44px; padding: 0 12px; }

  body.presale-page .wv-dep-steps { flex-wrap: nowrap; overflow-x: auto; gap: 6px; justify-content: flex-start; scrollbar-width: none; padding-bottom: 4px; }
  body.presale-page .wv-dep-steps::-webkit-scrollbar { display: none; }
  body.presale-page .wv-dep-steps span { flex: 0 0 auto; white-space: nowrap; font-size: 12px; padding: 6px 10px; }

  body.presale-page .wv-dep-panel { padding: 14px; border-radius: 14px; }
  body.presale-page .wv-network-cards { grid-template-columns: 1fr; gap: 8px; }
  body.presale-page .amount-input { min-width: 0; }
  body.presale-page #deposit-amount { font-size: clamp(20px, 6vw, 30px); }
  body.presale-page .amount-presets { display: flex; flex-wrap: wrap; gap: 8px; }
  body.presale-page .amount-presets button { flex: 1 0 28%; min-height: 44px; font-size: 14px; }

  body.presale-page .transfer-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
  body.presale-page .transfer-row code { width: 100%; font-size: 11.5px; word-break: break-all; }
  body.presale-page .transfer-row .secondary-action,
  body.presale-page #dep-copy-address,
  body.presale-page #dep-copy-amount,
  body.presale-page #dep-wrapay-room .primary-action { width: 100%; min-height: 44px; }

  body.presale-page #deposit-qr-image,
  body.presale-page .deposit-qr-wrap img { width: 200px; height: 200px; }

  body.presale-page .payment-methods { grid-template-columns: 1fr; gap: 10px; }
  body.presale-page .payment-method { width: 100%; min-height: 52px; }
  body.presale-page .payment-method .method-body small { font-size: 11.5px; }

  body.presale-page #method-panels { margin: 12px 0 0; }
  body.presale-page .wv-method-panel { padding: 16px; max-width: 100%; }
  body.presale-page .wv-net-toggle { flex-direction: column; }
  body.presale-page .wv-net-toggle button { width: 100%; min-height: 44px; }
  body.presale-page .wv-addr-row { flex-direction: column; align-items: stretch; }
  body.presale-page .wv-addr-row code { width: 100%; font-size: 11.5px; }
  body.presale-page .wv-addr-copy { width: 100%; }
  body.presale-page .wv-official-qr { width: 200px; height: 200px; }
  body.presale-page .wv-method-actions { flex-direction: column; }
  body.presale-page .wv-method-actions button { width: 100%; min-height: 44px; }

  body.presale-page .deposit-wallet-pay .primary-action,
  body.presale-page .deposit-trx-hint .secondary-action,
  body.presale-page .wv-dep-panel > .primary-action,
  body.presale-page .wv-dep-panel > .secondary-action,
  body.presale-page #dep-proof-btn { width: 100%; min-height: 44px; }

  body.presale-page .wv-dep-records .transfer-row { word-break: break-all; }

  body.presale-page .wv-deposit-section { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 400px) {
  body.presale-page .wv-balance-strip { grid-template-columns: 1fr 1fr; gap: 8px; }
  body.presale-page .wv-balance-card { padding: 11px; }
  body.presale-page .wv-balance-card strong { font-size: 16px; }
  body.presale-page .wv-dep-steps span { font-size: 11px; }
  body.presale-page .amount-presets button { flex: 1 0 30%; }
}


/* ===== 充值记录卡片 ===== */
body.presale-page .wv-dep-records { background: var(--wv-surface,#fff); border: 1px solid var(--wv-border,#dde8f6); border-radius: 16px; padding: 12px; margin-top: 14px; }
body.presale-page .wv-dep-records .rec-head { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px 12px; }
body.presale-page .wv-dep-records .rec-head strong { font-size: 14px; color: var(--wv-text,#12223f); }
body.presale-page .wv-dep-records .rec-list { display: grid; gap: 10px; }
body.presale-page .wv-dep-records .rec-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; background: var(--wv-surface-2,#f4f8fd); border: 1px solid var(--wv-border,#dde8f6); border-radius: 13px; }
body.presale-page .wv-dep-records .rec-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.presale-page .wv-dep-records .rec-amount { font-size: 15px; font-weight: 800; color: var(--wv-text,#12223f); }
body.presale-page .wv-dep-records .rec-no { font-family: var(--wv-mono,monospace); font-size: 11px; color: var(--wv-text-2,#4d6b93); max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.presale-page .wv-dep-records .rec-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; min-width: 0; }
body.presale-page .wv-dep-records .rec-net { font-size: 11px; color: var(--wv-text-3,#7d93b6); }
body.presale-page .wv-dep-records .rec-time { font-size: 11px; color: var(--wv-text-3,#7d93b6); }
body.presale-page .wv-dep-records .reward-empty { color: var(--wv-text-3,#7d93b6); text-align: center; padding: 22px; font-size: 13px; }
body.presale-page .dep-chip { display: inline-flex; align-items: center; gap: 5px; padding: 2px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
body.presale-page .dep-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .9; }
body.presale-page .dep-chip--pending_payment, body.presale-page .dep-chip--reviewing,
body.presale-page .dep-chip--proof_submitted, body.presale-page .dep-chip--flagged { background: rgba(251,191,36,.16); color: #b45309; }
body.presale-page .dep-chip--credited { background: rgba(16,185,129,.13); color: #059669; }
body.presale-page .dep-chip--rejected, body.presale-page .dep-chip--expired { background: rgba(239,69,101,.12); color: #ef4565; }
@media (max-width: 560px) {
  body.presale-page .wv-dep-records .rec-row { flex-direction: column; align-items: stretch; }
  body.presale-page .wv-dep-records .rec-meta { align-items: flex-start; flex-direction: row; flex-wrap: wrap; gap: 6px 12px; }
  body.presale-page .wv-dep-records .rec-time { margin-left: auto; }
}

/* The estimate sidebar is narrow on laptop widths. Allow each perk to shrink
   safely while keeping Chinese labels horizontal and readable. */
body.presale-page #presale-panel .ido-estimate-card,
body.presale-page #presale-panel .ido-estimate-card .estimate-perks,
body.presale-page #presale-panel .ido-estimate-card .estimate-perks > span {
  min-width: 0;
}
body.presale-page #presale-panel .ido-estimate-card .estimate-perks > span {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 11px 9px;
}
body.presale-page #presale-panel .ido-estimate-card .estimate-perks > span i {
  width: 34px;
  height: 34px;
  font-size: 16px;
}
body.presale-page #presale-panel .ido-estimate-card .estimate-perks > span strong,
body.presale-page #presale-panel .ido-estimate-card .estimate-perks > span small {
  min-width: 0;
  writing-mode: horizontal-tb !important;
  word-break: keep-all;
  overflow-wrap: normal;
}
body.presale-page #presale-panel .ido-estimate-card .estimate-perks > span strong {
  font-size: 13px;
  white-space: normal;
}

body.presale-page .gv-tier-assets-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  margin-top: 9px;
  border: 1px solid #bfe5d8;
  border-radius: 11px;
  color: #168360;
  background: #f3fbf7;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
body.presale-page .gv-tier-assets-link:hover { border-color: #7acdb2; background: #e8f8f1; }

@media (max-width: 760px) {
  body.presale-page .wow-chat-bubble-wrapper {
    right: 14px !important;
    bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
    width: 52px !important;
    height: 52px !important;
  }
}
