:root {
  --green: #64288f;
  --green-dark: #2b0b52;
  --mint: #f5eefb;
  --ink: #24182d;
  --muted: #7e7086;
  --line: #eadff0;
  --purple: #64288f;
  --purple-dark: #2b0b52;
  --purple-bright: #8a3fc0;
  --gold: #f0c34d;
  --gold-deep: #c89522;
  --gold-soft: #fff6d9;
  --danger: #df5048;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}
html {
  background: #e8eee9;
}
body {
  margin: 0;
  color: var(--ink);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
}
button,
input {
  font: inherit;
}
.store-shell {
  min-height: 100vh;
  width: min(100%, 520px);
  margin: auto;
  padding-bottom: 88px;
  background: #f7faf8;
  box-shadow: 0 0 50px #1436281c;
}
.hero {
  position: relative;
  overflow: hidden;
  padding: calc(20px + env(safe-area-inset-top)) 20px 24px;
  color: #fff;
  background: linear-gradient(145deg, #073e2d 0%, #0e7450 65%, #16976a 100%);
  border-radius: 0 0 30px 30px;
}
.hero:after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -80px;
  top: -65px;
  border-radius: 50%;
  border: 42px solid #ffffff0e;
}
.hero-top {
  display: flex;
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 11px;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border-radius: 14px;
  background: linear-gradient(145deg, #ffe596, #f3b93c);
  color: #234b36;
  font-size: 21px;
  font-weight: 900;
  box-shadow: 0 8px 24px #001d1340;
}
.eyebrow {
  margin: 0 0 2px;
  color: #b8e6cf;
  font-size: 9px;
  letter-spacing: 0.2em;
  font-weight: 800;
}
h1 {
  margin: 0;
  font-size: 20px;
  letter-spacing: 0.02em;
}
.round-btn {
  margin-left: auto;
  width: 38px;
  height: 38px;
  border: 1px solid #ffffff35;
  border-radius: 50%;
  background: #ffffff18;
  color: #fff;
}
.hero-copy {
  position: relative;
  z-index: 1;
  margin: 20px 0 13px;
  color: #d8f3e5;
  font-size: 13px;
}
.search-box {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  height: 48px;
  padding: 0 15px;
  border: 1px solid #ffffff38;
  border-radius: 16px;
  background: #ffffffef;
  color: #87948e;
  font-size: 13px;
  box-shadow: 0 12px 28px #002e202f;
}
.search-submit {
  display: grid;
  place-items: center;
  flex: none;
  width: 26px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 24px;
  color: #2e6e55;
}
.search-box input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  color: #34483f;
}
.search-box input::-webkit-search-cancel-button {
  display: none;
}
.search-clear {
  display: grid;
  place-items: center;
  flex: none;
  width: 29px;
  height: 29px;
  padding: 0 0 2px;
  border: 0;
  border-radius: 50%;
  background: #dfe9e4;
  color: #547066;
  font-size: 19px;
  line-height: 1;
}
.search-clear[hidden] {
  display: none;
}
.search-empty {
  padding-top: 35px;
  padding-bottom: 35px;
}
.hero-stats {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  margin-top: 17px;
  color: #c9ead9;
  font-size: 11px;
}
.hero-stats span {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.hero-stats b {
  color: #fff;
  font-size: 14px;
}
.notice {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 15px 16px 0;
  padding: 11px 13px;
  border: 1px solid #f0dfad;
  border-radius: 13px;
  background: #fff9e9;
  color: #786332;
  font-size: 11px;
}
.notice p {
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notice-badge {
  padding: 3px 7px;
  border-radius: 6px;
  background: #f1c357;
  color: #fff;
  font-weight: 800;
}
.view {
  display: none;
  padding: 19px 16px;
}
.view.active {
  display: block;
}
.section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 15px;
}
.section-title p {
  margin: 0 0 3px;
  color: #8a9890;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.section-title h2 {
  margin: 0;
  font-size: 20px;
}
.section-title > span,
.link-btn {
  color: #65a087;
  font-size: 11px;
}
.link-btn {
  border: 0;
  background: transparent;
}
.category-tabs {
  display: flex;
  gap: 7px;
  margin: 0 -16px 15px;
  padding: 0 16px 2px;
  overflow-x: auto;
  scrollbar-width: none;
}
.category-tabs::-webkit-scrollbar {
  display: none;
}
.category-tabs button {
  flex: none;
  padding: 9px 15px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: #6a7871;
  font-size: 12px;
}
.category-tabs button.active {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
  box-shadow: 0 6px 14px #0f6b4a2c;
}
.product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.product-card {
  padding: 0;
  overflow: hidden;
  text-align: left;
  border: 1px solid #e9eeeb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 20px #163a2b09;
  transition: 0.18s ease;
}
.product-card:active {
  transform: scale(0.98);
}
.product-card[disabled] {
  opacity: 0.65;
}
.product-visual {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 112px;
  color: #fff;
  background: linear-gradient(140deg, #16865e, #07533d);
}
.product-visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
      circle at 80% 10%,
      #ffffff35 0 2px,
      transparent 3px
    ),
    linear-gradient(120deg, transparent 35%, #ffffff10 36%, transparent 52%);
  background-size:
    20px 20px,
    100% 100%;
}
.product-visual strong {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 17px;
  background: #ffffffee;
  color: currentColor;
  font-size: 19px;
  box-shadow: 0 8px 22px #0003;
}
.product-visual small {
  position: relative;
  z-index: 1;
  margin-top: 7px;
  font-weight: 700;
}
.product-visual.tmall {
  background: linear-gradient(140deg, #ef4853, #bc1726);
  color: #d52333;
}
.product-visual.jd {
  background: linear-gradient(140deg, #ed383f, #a80e21);
  color: #d31c2d;
}
.product-visual.fuel {
  background: linear-gradient(140deg, #16865e, #07533d);
  color: #087052;
}
.product-visual.mobile {
  background: linear-gradient(140deg, #3c8ff0, #1457b5);
  color: #216ac8;
}
.product-visual.telecom {
  background: linear-gradient(140deg, #4077df, #24469c);
  color: #315aba;
}
.auto-pill {
  position: absolute;
  z-index: 2;
  top: 9px;
  left: 9px;
  padding: 4px 7px;
  border-radius: 6px;
  background: #103c2be0;
  color: #c9f6df;
  font-size: 9px;
  font-weight: 700;
}
.product-info {
  padding: 12px;
}
.product-info h3 {
  margin: 0;
  height: 20px;
  overflow: hidden;
  font-size: 13px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.product-info p {
  margin: 5px 0 12px;
  color: #87938d;
  font-size: 10px;
}
.product-info div {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.product-info strong {
  color: #e2463c;
  font-size: 18px;
}
.product-info span {
  color: #98a39d;
  font-size: 9px;
}
.loading-card {
  height: 196px;
  border-radius: 18px;
  background: linear-gradient(90deg, #edf1ef, #f7f9f8, #edf1ef);
  background-size: 200% 100%;
  animation: shimmer 1.3s infinite;
}
@keyframes shimmer {
  to {
    background-position: -200% 0;
  }
}
.bottom-nav {
  position: fixed;
  z-index: 8;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  width: min(100%, 520px);
  padding: 8px 16px max(8px, env(safe-area-inset-bottom));
  border-top: 1px solid #e7ece9;
  background: #fffffff5;
  backdrop-filter: blur(16px);
}
.bottom-nav button {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  border: 0;
  background: transparent;
  color: #929c97;
  font-size: 9px;
}
.bottom-nav span {
  font-size: 20px;
  line-height: 1;
}
.bottom-nav .active {
  color: var(--green);
  font-weight: 800;
}
.overlay {
  position: fixed;
  z-index: 20;
  inset: 0;
  background: #071b1490;
  backdrop-filter: blur(3px);
}
.sheet {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(100%, 520px);
  max-height: 92vh;
  overflow: auto;
  padding: 24px 20px max(24px, env(safe-area-inset-bottom));
  border-radius: 27px 27px 0 0;
  background: #fff;
  animation: slideUp 0.22s ease;
}
@keyframes slideUp {
  from {
    transform: translate(-50%, 25px);
    opacity: 0.4;
  }
}
.sheet-close {
  position: absolute;
  right: 17px;
  top: 13px;
  border: 0;
  background: transparent;
  color: #7e8983;
  font-size: 28px;
}
.sheet-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 14px;
  border-radius: 19px;
  background: #e8f6ef;
  color: var(--green);
  font-size: 21px;
  font-weight: 900;
}
.sheet .eyebrow {
  color: #69a088;
}
.sheet h2 {
  margin: 0 36px 8px 0;
  font-size: 22px;
}
.sheet-desc {
  color: #718078;
  font-size: 13px;
  line-height: 1.7;
}
.feature-row {
  display: flex;
  gap: 8px;
  margin: 15px 0;
}
.feature-row span {
  padding: 6px 9px;
  border-radius: 8px;
  background: #edf7f2;
  color: #317358;
  font-size: 10px;
}
.quantity-row,
.sheet-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 16px 0;
  padding: 14px;
  border-radius: 14px;
  background: #f2f7f4;
}
.stepper {
  display: flex;
  align-items: center;
  gap: 13px;
}
.stepper button {
  width: 32px;
  height: 32px;
  border: 1px solid #dce6e1;
  border-radius: 9px;
  background: #fff;
  color: #255c45;
  font-size: 19px;
}
.sheet-price strong {
  color: #e2463c;
  font-size: 26px;
}
.buy-btn {
  width: 100%;
  padding: 15px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #0c6c4a, #16835c);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 8px 20px #0f6b4a38;
}
.buy-btn[disabled] {
  opacity: 0.55;
}
.payment-head {
  text-align: center;
}
.payment-head .sheet-icon {
  margin: 0 auto 11px;
}
.payment-head h2 {
  margin: 0;
}
.countdown {
  display: inline-block;
  margin: 9px 0 15px;
  padding: 5px 10px;
  border-radius: 99px;
  background: #fff0db;
  color: #a26813;
  font-size: 11px;
}
.payment-amount {
  text-align: center;
  margin: 6px 0 13px;
}
.payment-amount span {
  display: block;
  color: #85918b;
  font-size: 11px;
}
.payment-amount strong {
  color: #df433d;
  font-size: 35px;
  letter-spacing: -0.02em;
}
.payment-amount small {
  font-size: 14px;
}
.qr-wrap {
  display: grid;
  place-items: center;
  width: 190px;
  height: 190px;
  margin: 0 auto 14px;
  padding: 10px;
  border: 1px solid #e2e9e5;
  border-radius: 18px;
  background: #fff;
}
.qr-wrap img {
  width: 100%;
  height: 100%;
}
.address-box {
  display: block;
  width: min(100%, 320px);
  margin: 12px auto 8px;
  padding: 12px;
  border: 1px dashed #a9c6b9;
  border-radius: 12px;
  background: #f2f8f5;
  text-align: center;
}
.address-box small {
  display: block;
  margin-bottom: 6px;
  color: #86938c;
}
.address-box code {
  display: block;
  word-break: break-all;
  color: #174c37;
  font-size: 12px;
  -webkit-user-select: text;
  user-select: text;
}
.copy-address-button {
  display: block;
  width: min(100%, 320px);
  min-height: 45px;
  margin: 0 auto 13px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, #11966b, #087653);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 8px 20px #0876532e;
}
.copy-address-button:active {
  transform: scale(.98);
}
.pay-note {
  padding: 11px;
  border-radius: 10px;
  background: #fff7e7;
  color: #82672e;
  font-size: 10px;
  line-height: 1.6;
}
.secondary-btn {
  width: 100%;
  margin-top: 9px;
  padding: 13px;
  border: 1px solid #d9e5df;
  border-radius: 13px;
  background: #fff;
  color: #375a4a;
  font-weight: 700;
}
.toast {
  position: fixed;
  z-index: 40;
  left: 50%;
  bottom: 100px;
  transform: translateX(-50%);
  max-width: 80%;
  padding: 10px 15px;
  border-radius: 10px;
  background: #132b21eb;
  color: #fff;
  font-size: 12px;
  box-shadow: 0 8px 30px #0003;
}
.order-list {
  display: grid;
  gap: 12px;
}
.order-card {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 18px #163a2b08;
}
.order-card-head,
.order-card-price {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.order-card-head code {
  color: #6c7a73;
  font-size: 10px;
}
.order-card h3 {
  margin: 12px 0 5px;
  font-size: 14px;
}
.order-card p {
  margin: 0;
  color: #8a9690;
  font-size: 10px;
}
.order-card-price {
  align-items: end;
  margin-top: 13px;
}
.order-card-price strong {
  color: #d94842;
  font-size: 18px;
}
.order-card-price small {
  color: #8c9892;
}
.status-pill {
  padding: 4px 8px;
  border-radius: 99px;
  background: #e9edeb;
  color: #6a756f;
  font-size: 9px;
}
.status-pill.delivered {
  background: #ddf4e7;
  color: #196c42;
}
.status-pill.pending_payment {
  background: #e4efff;
  color: #38689f;
}
.status-pill.payment_review,
.status-pill.manual_review {
  background: #fff0cc;
  color: #8a6515;
}
.status-pill.credited {
  background: #ddf4e7;
  color: #196c42;
}
.status-pill.expired,
.status-pill.cancelled,
.status-pill.failed {
  background: #f3e4e4;
  color: #9c4d4a;
}
.empty-state {
  padding: 45px 20px;
  text-align: center;
  color: #89958f;
}
.empty-state b {
  display: block;
  margin-bottom: 7px;
  color: #37473f;
}
.card-codes {
  margin: 15px 0;
  padding: 12px;
  border-radius: 12px;
  background: #0b3528;
  color: #d8f5e7;
}
.card-codes p {
  margin: 0 0 10px;
  color: #92c9b1;
  font-size: 10px;
}
.card-codes code {
  display: block;
  margin: 7px 0;
  padding: 8px;
  border-radius: 7px;
  background: #ffffff0e;
  color: #fff;
  word-break: break-all;
  font-size: 11px;
}
.help-card {
  display: flex;
  gap: 13px;
  margin-bottom: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.help-card > span {
  display: grid;
  place-items: center;
  flex: none;
  width: 33px;
  height: 33px;
  border-radius: 10px;
  background: #e5f4ec;
  color: #1f704f;
  font-weight: 900;
}
.help-card h3 {
  margin: 1px 0 5px;
  font-size: 13px;
}
.help-card p {
  margin: 0;
  color: #829088;
  font-size: 11px;
  line-height: 1.6;
}
.help-copy {
  margin-top: 16px;
  padding: 17px;
  border-radius: 16px;
  background: #0c4936;
  color: #fff;
}
.help-copy h3 {
  margin: 0 0 8px;
}
.help-copy p {
  color: #c7e8d9;
  font-size: 12px;
  line-height: 1.8;
}
.help-copy small {
  display: block;
  color: #8fbea9;
}
.support-btn {
  display: block;
  margin-top: 14px;
  padding: 11px;
  border-radius: 11px;
  background: #fff;
  color: #165b42;
  text-align: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
}
@media (min-width: 521px) {
  body {
    padding: 24px 0;
  }
  .store-shell {
    border-radius: 28px;
    overflow: hidden;
  }
  .bottom-nav {
    bottom: 24px;
    border-radius: 0 0 28px 28px;
  }
  .hero {
    border-radius: 0 0 30px 30px;
  }
  .sheet {
    bottom: 24px;
    border-radius: 27px;
  }
}

/* Menu/detail exclusive navigation */
.profile-service-grid[hidden],
.profile-detail-panel[hidden],
.help-menu-panel[hidden],
.help-detail-panel[hidden],
#helpEmptyState[hidden] {
  display: none !important;
}
.profile-detail-panel {
  margin-top: 4px;
  animation: panelFadeIn .18s ease;
}
.detail-panel-head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
  padding: 10px 11px;
  border: 1px solid #dfe9e4;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 6px 18px #163e2e08;
}
.detail-panel-head > div {
  min-width: 0;
}
.detail-panel-head p {
  margin: 0 0 2px;
  color: #74a18e;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .16em;
}
.detail-panel-head h2 {
  margin: 0;
  overflow: hidden;
  font-size: 16px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.detail-back-btn {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0 0 2px;
  border: 1px solid #d9e6df;
  border-radius: 11px;
  background: #edf7f2;
  color: #176f50;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
}
.detail-panel-head .link-btn {
  width: 38px;
  padding: 0;
  text-align: right;
  font-size: 10px;
}
.help-menu-panel,
.help-detail-panel {
  animation: panelFadeIn .18s ease;
}
.help-detail-head {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  border-color: #e7e5da;
}
.help-detail-head > span {
  color: #8d968f;
  font-size: 9px;
  white-space: nowrap;
}
.help-detail-panel #helpEmptyState {
  margin-top: 9px;
  border: 1px dashed #ddd9ca;
  border-radius: 14px;
  background: #ffffffb8;
}
@keyframes panelFadeIn {
  from { opacity: .35; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Product detail page */
.store-shell.product-mode {
  padding-bottom: 0;
  background: #f2f3f4;
}
.store-shell.product-mode .bottom-nav {
  display: none;
}
.product-detail-view {
  min-height: 100vh;
  padding: 0 0 105px;
  background:
    radial-gradient(circle at 10% 7%, #dff5eb 0, transparent 170px),
    linear-gradient(180deg, #f3f8f5, #edf3f0);
}
.product-detail-nav {
  position: sticky;
  z-index: 7;
  top: 0;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 10px;
  min-height: 55px;
  padding: max(7px, env(safe-area-inset-top)) 14px 7px;
  border-bottom: 1px solid #e9e9e6;
  background: #fffffff2;
  backdrop-filter: blur(16px);
}
.product-detail-nav h2 {
  margin: 0;
  text-align: center;
  font-size: 16px;
}
.product-detail-nav button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #f1f4f2;
  color: #6e7a74;
  font-size: 21px;
}
.user-icon {
  display: block;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bottom-nav .user-icon {
  width: 20px;
  height: 20px;
}
.product-detail-content {
  padding: 14px 12px 24px;
}
.product-detail-summary,
.product-detail-section {
  overflow: hidden;
  margin-bottom: 13px;
  border: 1px solid #e2e4e3;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 9px 24px #25392f0d;
}
.product-detail-visual {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #e8f2ed;
}
.product-detail-visual > img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  filter: none;
}
.detail-hot-pill {
  position: absolute;
  z-index: 2;
  left: 15px;
  top: 15px;
  padding: 7px 11px;
  border: 1px solid #bfe1d2;
  border-radius: 999px;
  background: #fffffff2;
  color: #096746;
  font-size: 10px;
  font-weight: 800;
  box-shadow: 0 5px 15px #263b3012;
}
.product-detail-fallback {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: 0;
  background: linear-gradient(140deg, #14815b, #07533d);
  color: #fff;
}
.product-detail-fallback.jd,
.product-detail-fallback.tmall {
  background: linear-gradient(140deg, #ec4d4d, #b81225);
}
.product-detail-fallback.mobile,
.product-detail-fallback.telecom {
  background: linear-gradient(140deg, #448ee6, #244ca3);
}
.product-detail-fallback strong {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 24px;
  background: #ffffffed;
  color: #176d4e;
  font-size: 25px;
}
.product-detail-fallback span {
  font-size: 12px;
  font-weight: 800;
}
.product-detail-info {
  padding: 18px;
}
.product-detail-info > p {
  margin: 0 0 5px;
  color: #8d9892;
  font-size: 10px;
}
.product-detail-info h1 {
  margin: 0 0 10px;
  font-size: 23px;
}
.product-detail-info > strong {
  display: block;
  margin-bottom: 8px;
  color: #0b7a55;
  font-size: 28px;
}
.product-detail-info > span,
.product-detail-info > small {
  display: block;
  color: #909a95;
  font-size: 10px;
}
.product-detail-info > small {
  margin-top: 10px;
  color: #66776f;
  font-weight: 700;
}
.product-short-description {
  margin-top: 13px;
  padding: 11px 13px;
  border-left: 3px solid #159368;
  border-radius: 0 10px 10px 0;
  background: #eff8f4;
  color: #4f665b;
  font-size: 11px;
  line-height: 1.7;
}
.product-detail-section > header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid #dfeae5;
  background: linear-gradient(100deg, #eaf8f1, #fff);
}
.product-detail-section > header i {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border: 1px solid #bfe4d4;
  border-radius: 10px;
  background: #e5f6ee;
  color: #08704d;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.product-detail-section > header h2 {
  margin: 0;
  font-size: 15px;
}
.product-detail-notice {
  margin: 16px;
  padding: 15px;
  border: 1px solid #e2e4e3;
  border-radius: 14px;
  background: #f8f9f8;
  color: #515b56;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.8;
}
.product-detail-section-body {
  padding: 16px;
}
.product-coupon-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px;
  gap: 9px;
}
.product-coupon-form input {
  min-width: 0;
  height: 45px;
  padding: 0 13px;
  border: 1px solid #dfe3e1;
  border-radius: 13px;
  outline: 0;
  background: #f6f7f7;
  color: #35453e;
  font-size: 12px;
  text-transform: uppercase;
}
.product-coupon-form input:focus {
  border-color: #36a77e;
  background: #f7fffb;
  box-shadow: 0 0 0 3px #1b966c17;
}
.product-coupon-form button {
  border: 1px solid #49ac87;
  border-radius: 13px;
  background: #fff;
  color: #08704d;
  font-size: 12px;
  font-weight: 900;
}
.product-coupon-form button[disabled] {
  background: #edf7f2;
  color: #168059;
}
.product-detail-section-body > small {
  display: block;
  margin-top: 8px;
  color: #8e9993;
  font-size: 9px;
}
.product-coupon-disabled {
  padding: 13px;
  border: 1px dashed #d9dfdc;
  border-radius: 12px;
  background: #f8faf9;
  color: #97a19c;
  text-align: center;
  font-size: 10px;
}
.product-quantity-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 16px;
}
.product-quantity-body p {
  margin: 0;
  color: #4a5751;
  font-size: 11px;
  font-weight: 800;
}
.detail-stepper {
  display: grid;
  grid-template-columns: 42px 44px 42px;
  align-items: center;
  overflow: hidden;
  border: 1px solid #c5ddd3;
  border-radius: 999px;
  background: #f1f8f5;
}
.detail-stepper button,
.detail-stepper b {
  display: grid;
  place-items: center;
  height: 43px;
}
.detail-stepper button {
  border: 0;
  background: transparent;
  color: #08704d;
  font-size: 19px;
  font-weight: 900;
}
.detail-stepper b {
  font-size: 15px;
}
.product-purchase-bar {
  position: fixed;
  z-index: 9;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 54%);
  align-items: center;
  gap: 10px;
  width: min(100%, 520px);
  min-height: 82px;
  padding: 10px 14px max(10px, env(safe-area-inset-bottom));
  border-top: 1px solid #e2e5e3;
  background: #fffffff7;
  box-shadow: 0 -10px 25px #20372b10;
  backdrop-filter: blur(16px);
}
.product-total-stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.product-total-cny {
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.product-total-cny small {
  color: #7c8681;
  font-size: 10px;
}
.product-total-cny strong {
  color: #222e28;
  font-size: 19px;
}
.product-total-stack > b {
  color: #e2403a;
  font-size: 17px;
  line-height: 1.1;
  white-space: nowrap;
}
#productDetailDiscount {
  color: #db4a43;
  font-size: 8px;
}
.product-purchase-bar > button {
  height: 52px;
  border: 1px solid #087653;
  border-radius: 16px;
  background: linear-gradient(135deg, #11966b, #087653);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 8px 20px #08765326;
}
.product-purchase-bar > button span {
  color: #fff;
  font-size: 17px;
  white-space: nowrap;
}
.checkout-product {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 15px 0 10px;
  padding: 13px;
  border-radius: 13px;
  background: #f3f7f5;
}
.checkout-product div {
  min-width: 0;
}
.checkout-product small,
.checkout-product b {
  display: block;
}
.checkout-product small {
  margin-bottom: 4px;
  color: #8c9892;
  font-size: 9px;
}
.checkout-product b {
  overflow: hidden;
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.checkout-product > strong {
  color: #315a48;
  font-size: 12px;
}
.checkout-price-lines {
  margin-bottom: 12px;
  padding: 5px 13px;
  border: 1px solid #e1e8e4;
  border-radius: 13px;
  background: #fff;
}
.checkout-price-lines p {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 9px 0;
  border-bottom: 1px solid #edf1ef;
  color: #77847d;
  font-size: 10px;
}
.checkout-price-lines p:last-child {
  border-bottom: 0;
}
.checkout-price-lines b {
  color: #34483f;
}
.checkout-price-lines .checkout-subtotal b {
  font-size: 15px;
}
.checkout-price-lines .checkout-discount {
  color: #16805a;
}
.checkout-price-lines strong {
  color: #df433d;
  font-size: 15px;
}
.checkout-inline-rate {
  padding: 5px 0 7px;
  border-bottom: 1px solid #edf1ef;
  color: #34483f;
  text-align: right;
  font-size: 11px;
  font-weight: 700;
}
.checkout-usdt-pay {
  min-height: 58px;
  padding: 17px;
  font-size: 16px;
}
.checkout-balance-pay {
  min-height: 44px;
  margin-top: 10px;
  padding: 11px;
  background: #fff;
  color: #37604e;
  font-size: 12px;
  box-shadow: none;
}
.balance-shortage {
  margin: 17px 0;
  padding: 6px 14px;
  border: 1px solid #dce9e3;
  border-radius: 14px;
  background: #f4faf7;
}
.balance-shortage p {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 9px 0;
  border-bottom: 1px solid #e4eee9;
  color: #788a81;
  font-size: 11px;
}
.balance-shortage p:last-child {
  border-bottom: 0;
}
.balance-shortage b {
  color: #304a3e;
}
.balance-shortage strong {
  color: #df433d;
}
.continue-purchase-message {
  display: grid;
  gap: 8px;
  margin: 18px 0;
  padding: 17px;
  border: 1px solid #cfe5da;
  border-radius: 15px;
  background: #eff9f4;
  text-align: center;
}
.continue-purchase-message p {
  margin: 0;
  color: #60776c;
  font-size: 11px;
}
.continue-purchase-message strong {
  color: #173d2d;
  font-size: 15px;
}
.continue-purchase-message small {
  color: #df433d;
  font-size: 11px;
}
@media (min-width: 521px) {
  .product-purchase-bar {
    bottom: 24px;
    border-radius: 0 0 28px 28px;
  }
}

.order-card {
  width: 100%;
  text-align: left;
  color: var(--ink);
}
.order-card:active {
  transform: scale(0.99);
}
.order-card-head {
  align-items: center;
  padding-bottom: 11px;
  border-bottom: 1px solid #edf1ef;
}
.order-product-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 0;
}
.order-product-row > div {
  min-width: 0;
}
.order-product-row small,
.order-price-grid small {
  display: block;
  color: #93a099;
  font-size: 9px;
}
.order-product-row h3 {
  margin: 4px 0 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.order-product-row > b {
  flex: none;
  color: #3d5f50;
  font-size: 13px;
}
.order-price-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}
.order-price-grid span {
  padding: 10px;
  border-radius: 10px;
  background: #f3f7f5;
}
.order-price-grid b {
  display: block;
  margin-top: 4px;
  color: #354a40;
  font-size: 12px;
}
.order-exchange {
  padding: 11px 12px;
  border: 1px solid #dbe9e2;
  border-radius: 11px;
  background: #eff8f3;
}
.order-exchange p {
  margin: 0;
  color: #50665b;
  font-size: 11px;
  line-height: 1.9;
}
.order-exchange b {
  color: #203d30;
}
.order-exchange strong {
  color: #df433d;
  font-size: 15px;
}
.order-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 11px;
  color: #94a098;
}
.order-card-foot small {
  font-size: 9px;
}
.order-card-foot span {
  color: #33785b;
  font-size: 10px;
  font-weight: 700;
}
.order-detail-sheet {
  margin: 18px 0 12px;
  padding: 4px 14px;
  border: 1px solid #e2ebe6;
  border-radius: 14px;
  background: #f5f9f7;
}
.order-detail-sheet p {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid #e5ece8;
  font-size: 11px;
}
.order-detail-sheet p:last-child {
  border-bottom: 0;
}
.order-detail-sheet span {
  flex: none;
  color: #84928b;
}
.order-detail-sheet b,
.order-detail-sheet code,
.order-detail-sheet strong {
  text-align: right;
  word-break: break-all;
}
.order-detail-sheet b {
  color: #34483f;
}
.order-detail-sheet code {
  color: #426151;
  font-size: 10px;
}
.order-detail-sheet strong {
  color: #df433d;
  font-size: 14px;
}

.sheet-conversion {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #dbe9e2;
  border-radius: 13px;
  background: #eff8f3;
}
.sheet-conversion p {
  margin: 0;
  color: #445e52;
  font-size: 12px;
  line-height: 1.9;
}
.sheet-conversion span {
  color: #798b82;
}
.sheet-conversion b {
  color: #203d30;
}
.sheet-conversion strong {
  color: #df433d;
  font-size: 15px;
}

.product-visual.has-image {
  display: block;
  background: #edf2ef;
}
.product-visual.has-image::after {
  content: none;
}
.product-visual.has-image > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.payment-logo {
  overflow: hidden;
  padding: 7px;
}
.payment-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.profile-card { display:flex; align-items:center; gap:13px; margin-bottom:12px; padding:16px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.profile-avatar { display:grid; place-items:center; flex:none; width:52px; height:52px; border-radius:17px; background:linear-gradient(145deg,#dff4e9,#edf9f3); color:var(--green); font-size:20px; font-weight:900; }
.profile-user small { color:#74a18e; font-size:8px; font-weight:800; letter-spacing:.17em; }
.profile-user h2 { margin:3px 0; font-size:17px; }
.profile-user p { margin:0; color:#8b9791; font-size:10px; }
.balance-card { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; padding:19px; border-radius:19px; background:linear-gradient(140deg,#083e2e,#12815a); color:#fff; box-shadow:0 10px 25px #0b5e4226; }
.balance-card:after { content:""; position:absolute; width:110px; height:110px; right:-45px; top:-55px; border:20px solid #ffffff0c; border-radius:50%; }
.balance-card > div,.balance-card button { position:relative; z-index:1; }
.balance-card small { color:#a8d6c2; font-size:10px; }
.balance-card strong { display:block; margin:5px 0; font-size:29px; letter-spacing:-.02em; }
.balance-card p { margin:0; color:#a9d5c2; font-size:9px; }
.balance-card button { flex:none; padding:9px 12px; border:0; border-radius:10px; background:#f4ce6b; color:#31503f; font-size:11px; font-weight:800; }
.profile-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0 0 18px; padding:4px; border-radius:13px; background:#eaf1ed; }
.profile-tabs button { padding:10px; border:0; border-radius:10px; background:transparent; color:#75837c; font-size:12px; }
.profile-tabs button.active { background:#fff; color:var(--green); font-weight:800; box-shadow:0 4px 13px #254c3d12; }
.wallet-list { display:grid; gap:10px; }
.wallet-record { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.wallet-record > div { display:grid; gap:5px; }
.wallet-record > div:last-child { text-align:right; }
.wallet-record b { font-size:12px; }
.wallet-record small { color:#929e98; font-size:9px; }
.wallet-record strong { font-size:16px; }
.wallet-record strong.positive { color:#15905e; }
.wallet-record strong.negative { color:#de4d47; }
.recharge-rules { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:17px; }
.recharge-rules > button { display:grid; gap:6px; padding:15px; text-align:left; border:1px solid #dce9e3; border-radius:14px; background:#f4faf7; color:#244c3a; }
.recharge-rules > button:active { border-color:var(--green); background:#eaf7f0; }
.recharge-rules span { font-size:12px; }
.recharge-rules strong { color:#df4b44; font-size:16px; }
.recharge-rules small { color:#769187; font-size:9px; }
.recharge-rules .recharge-usdt { margin-top:3px; padding-top:7px; border-top:1px dashed #cdded6; color:#587568; }
.recharge-rules .recharge-usdt b { color:#0f6b4a; font-size:11px; }
.recharge-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin:4px 0 15px; padding:10px; border-radius:11px; background:#edf8f3; color:#4f6e60; font-size:10px; }
.recharge-summary strong { color:var(--green); }
.recharge-success-value { margin:20px 0; padding:20px; text-align:center; border-radius:16px; background:#eff8f3; }
.recharge-success-value small { color:#7d8e85; }
.recharge-success-value strong { display:block; margin:7px; color:#15905e; font-size:34px; }
.recharge-success-value p { margin:0; color:#52675d; font-size:11px; }
.balance-payment strong { color:#15905e; }

/* Three independent storefront views */
.shop-view {
  padding: 0;
}
.shop-content {
  padding: 19px 16px;
}
.profile-view {
  padding: 17px 14px 28px;
  background:
    radial-gradient(circle at 100% 0, #d8f2e5 0 90px, transparent 91px),
    linear-gradient(180deg, #eef8f3 0, #f8faf9 250px);
}
.profile-cover {
  position: relative;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 17px;
  overflow: hidden;
  border: 1px solid #dceae3;
  border-radius: 22px;
  background: #fffffff2;
  box-shadow: 0 12px 30px #1a5b4010;
}
.profile-cover:after {
  content: "";
  position: absolute;
  right: -52px;
  top: -60px;
  width: 130px;
  height: 130px;
  border: 22px solid #0c73510b;
  border-radius: 50%;
}
.profile-avatar-wrap {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: none;
  width: 64px;
  height: 64px;
  overflow: visible;
  border: 3px solid #fff;
  border-radius: 22px;
  background: linear-gradient(145deg, #dff4e9, #edf9f3);
  color: var(--green);
  font-size: 22px;
  font-weight: 900;
  box-shadow: 0 7px 19px #174e3818;
}
.profile-avatar-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 19px;
}
.profile-avatar-wrap i {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 15px;
  height: 15px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #20b778;
}
.profile-user {
  position: relative;
  z-index: 1;
  min-width: 0;
  flex: 1;
}
.profile-user small {
  color: #57947b;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .18em;
}
.profile-user h2 {
  margin: 4px 0 3px;
  overflow: hidden;
  font-size: 19px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.profile-user p {
  margin: 2px 0 0;
  overflow: hidden;
  color: #83928b;
  font-size: 9px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.copy-id-btn {
  position: relative;
  z-index: 1;
  flex: none;
  padding: 7px 9px;
  border: 1px solid #d8e6df;
  border-radius: 9px;
  background: #f6faf8;
  color: #4b7764;
  font-size: 9px;
}
.account-balance-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 13px;
  padding: 21px 19px;
  overflow: hidden;
  border-radius: 21px;
  background: linear-gradient(135deg, #152d25, #0c6b4d 60%, #10936a);
  color: #fff;
  box-shadow: 0 12px 27px #0b5e4229;
}
.account-balance-card:after {
  content: "¥";
  position: absolute;
  right: 20px;
  bottom: -32px;
  color: #ffffff0b;
  font-size: 130px;
  font-weight: 900;
  line-height: 1;
}
.account-balance-card > div,
.account-balance-card button {
  position: relative;
  z-index: 1;
}
.account-balance-card small {
  color: #b9e1d1;
  font-size: 10px;
}
.account-balance-card strong {
  display: block;
  margin: 5px 0;
  font-size: 31px;
}
.account-balance-card p {
  margin: 0;
  color: #a9d7c5;
  font-size: 9px;
}
.account-balance-card button {
  flex: none;
  padding: 10px 13px;
  border: 0;
  border-radius: 11px;
  background: #ffd466;
  color: #38513f;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 7px 18px #001c1220;
}
.profile-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: -1px 10px 15px;
  padding: 14px 6px;
  border: 1px solid #e2ebe6;
  border-radius: 0 0 17px 17px;
  background: #fff;
  box-shadow: 0 8px 20px #173e2e0a;
}
.profile-stats span {
  display: grid;
  gap: 3px;
  text-align: center;
  border-right: 1px solid #edf1ef;
}
.profile-stats span:last-child {
  border-right: 0;
}
.profile-stats b {
  color: #1b4735;
  font-size: 14px;
}
.profile-stats small {
  color: #8d9a94;
  font-size: 9px;
}
.profile-service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-bottom: 16px;
}
.profile-service-grid button {
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  padding: 13px 5px 11px;
  border: 1px solid #e1e9e5;
  border-radius: 15px;
  background: #fff;
  color: #32483e;
  box-shadow: 0 6px 17px #163e2d08;
}
.profile-service-grid i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #e8f6ef;
  color: #147553;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.profile-service-grid button:nth-child(2) i,
.profile-service-grid button:nth-child(4) i {
  background: #fff2dd;
  color: #b47620;
}
.profile-service-grid span {
  font-size: 11px;
  font-weight: 800;
}
.profile-service-grid small {
  max-width: 100%;
  overflow: hidden;
  color: #98a29d;
  font-size: 8px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.profile-view .profile-tabs {
  grid-template-columns: repeat(4, 1fr);
  position: sticky;
  z-index: 5;
  top: 0;
  margin-bottom: 18px;
  padding: 4px;
  border: 1px solid #dfe9e4;
  background: #edf4f0ef;
  backdrop-filter: blur(12px);
}
.profile-view .profile-tabs button {
  padding: 10px 3px;
  font-size: 10px;
}
.order-filter-tabs,
.help-filter-tabs {
  display: flex;
  gap: 7px;
  margin: -4px 0 13px;
  overflow-x: auto;
  scrollbar-width: none;
}
.order-filter-tabs button,
.help-filter-tabs button {
  flex: none;
  padding: 7px 12px;
  border: 1px solid #e0e8e4;
  border-radius: 999px;
  background: #fff;
  color: #75847d;
  font-size: 10px;
}
.order-filter-tabs button.active,
.help-filter-tabs button.active {
  border-color: #176f50;
  background: #176f50;
  color: #fff;
}
.card-wallet-list,
.recharge-record-list {
  display: grid;
  gap: 11px;
}
.card-wallet-item,
.recharge-record {
  padding: 14px;
  border: 1px solid #e1e9e5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 18px #163e2e08;
}
.card-wallet-head,
.recharge-record-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.card-wallet-head small,
.recharge-record-head code {
  color: #8b9992;
  font-size: 8px;
}
.card-wallet-head h3 {
  margin: 4px 0 0;
  font-size: 13px;
}
.card-wallet-head > span {
  padding: 5px 7px;
  border-radius: 8px;
  background: #edf7f2;
  color: #34775b;
  font-size: 8px;
}
.card-wallet-item > button {
  width: 100%;
  margin: 11px 0 8px;
  padding: 12px;
  border: 1px dashed #9fc3b2;
  border-radius: 12px;
  background: #f1f8f5;
  color: #174c37;
}
.card-wallet-item code {
  display: block;
  word-break: break-all;
  font-size: 11px;
  line-height: 1.65;
}
.card-wallet-item button small {
  display: block;
  margin-top: 7px;
  color: #438066;
  font-size: 8px;
}
.card-wallet-item > p,
.recharge-record > p {
  margin: 0;
  color: #98a39d;
  font-size: 8px;
}
.recharge-record-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 12px 0 9px;
}
.recharge-record-values span {
  padding: 9px 7px;
  border-radius: 10px;
  background: #f2f7f4;
}
.recharge-record-values small {
  display: block;
  margin-bottom: 4px;
  color: #919d97;
  font-size: 8px;
}
.recharge-record-values b,
.recharge-record-values strong {
  color: #31493e;
  font-size: 10px;
}
.recharge-record-values strong {
  color: #148158;
}

.help-view {
  padding: 0 14px 28px;
  background: linear-gradient(180deg, #fff8e9 0, #f8faf9 310px);
}
.help-hero {
  position: relative;
  margin: 0 -14px 16px;
  padding: calc(24px + env(safe-area-inset-top)) 22px 24px;
  overflow: hidden;
  border-radius: 0 0 31px 31px;
  background: linear-gradient(145deg, #fff0c7, #e4f5e9 64%, #caecdc);
  color: #223c31;
}
.help-hero:after {
  content: "?";
  position: absolute;
  right: 14px;
  top: -48px;
  color: #0f6b4a0b;
  font-size: 220px;
  font-weight: 900;
}
.help-hero-icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 13px;
  border-radius: 16px;
  background: #fff;
  color: #137553;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 9px 23px #194c3718;
}
.help-hero > p {
  position: relative;
  z-index: 1;
  margin: 0 0 4px;
  color: #598773;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .2em;
}
.help-hero h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 6px;
  font-size: 25px;
}
.help-hero > span {
  position: relative;
  z-index: 1;
  color: #688076;
  font-size: 11px;
}
.help-search {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  height: 46px;
  margin-top: 17px;
  padding: 0 14px;
  border: 1px solid #ffffff;
  border-radius: 15px;
  background: #ffffffdf;
  box-shadow: 0 10px 24px #2d584514;
}
.help-search i {
  color: #26775a;
  font-size: 21px;
  font-style: normal;
}
.help-search input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  color: #34483f;
  font-size: 12px;
}
.help-topic-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin-bottom: 22px;
}
.help-topic-grid button {
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 12px 3px;
  border: 1px solid #e9e7dd;
  border-radius: 14px;
  background: #fff;
  color: #495c53;
  font-size: 9px;
  box-shadow: 0 6px 17px #4a3b1908;
}
.help-topic-grid i {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: #fff3d6;
  color: #b07118;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.help-topic-grid button:nth-child(2n) i {
  background: #e6f5ed;
  color: #177352;
}
.help-title {
  margin-bottom: 14px;
}
.faq-list {
  display: grid;
  gap: 9px;
}
.faq-item {
  border: 1px solid #e3e9e6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 16px #173c2c07;
}
.faq-item[hidden] {
  display: none;
}
.faq-item summary {
  position: relative;
  padding: 14px 42px 14px 15px;
  cursor: pointer;
  list-style: none;
  color: #2e4339;
  font-size: 12px;
  font-weight: 800;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary:after {
  content: "+";
  position: absolute;
  right: 14px;
  top: 10px;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 9px;
  background: #edf6f1;
  color: #34775b;
  font-size: 17px;
  font-weight: 500;
}
.faq-item[open] summary:after {
  content: "−";
}
.faq-item p {
  margin: 0;
  padding: 0 15px 15px;
  color: #77857e;
  font-size: 10px;
  line-height: 1.75;
}
.help-support-card {
  margin-top: 18px;
  padding: 18px;
  border-radius: 19px;
  background: linear-gradient(145deg, #12362b, #0b6046);
  color: #fff;
  box-shadow: 0 11px 26px #0a533b24;
}
.help-support-card small {
  color: #7bc3a4;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .18em;
}
.help-support-card h3 {
  margin: 5px 0 7px;
  font-size: 17px;
}
.help-support-card p {
  margin: 0 0 7px;
  color: #c4dfd3;
  font-size: 10px;
  line-height: 1.7;
}
.help-support-card span {
  color: #82bda4;
  font-size: 9px;
}
.help-support-card .support-btn {
  margin-top: 14px;
  background: #f5ce6d;
  color: #314d3f;
}
.help-orders-btn {
  width: 100%;
  margin-top: 8px;
  padding: 11px;
  border: 1px solid #ffffff3d;
  border-radius: 11px;
  background: transparent;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

@media (min-width: 521px) {
  .shop-view .hero,
  .help-hero {
    border-radius: 0 0 30px 30px;
  }
}

/* Purple and gold storefront refresh */
html {
  background: #eee8f2;
}
.store-shell {
  background: #fbf8fd;
  box-shadow: 0 0 50px #35104b1c;
}
.hero {
  background: linear-gradient(145deg, #22063f 0%, #4b176f 58%, #71289b 100%);
}
.hero:after {
  border-color: #f6d77314;
}
.brand-mark {
  background: linear-gradient(145deg, #fff0a5, #e5ad2e);
  color: #4a1768;
  box-shadow: 0 8px 24px #13001f52;
}
.eyebrow,
.hero-copy {
  color: #f7dda0;
}
.round-btn {
  border-color: #f6d77352;
  background: #ffffff12;
}
.brand-promo-banner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  margin-top: 14px;
  padding: 12px 14px;
  overflow: hidden;
  border: 1px solid #f2ca5f9c;
  border-radius: 17px;
  background-image:
    linear-gradient(90deg, #22053b28, #4e19715c),
    url('/assets/nangong-banner-bg.png');
  background-position: center 48%;
  background-size: cover;
  box-shadow: 0 12px 28px #17002152, inset 0 1px #fff2ad33;
}
.brand-promo-banner:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 55%, #1801274f);
}
.brand-promo-emblem {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 48px;
  border: 2px solid #f5d875;
  border-radius: 50%;
  background: radial-gradient(circle, #64278e 0 45%, #27083f 47% 100%);
  color: #f8db75;
  box-shadow: 0 0 0 3px #f0c34d24, 0 7px 17px #14001f66;
}
.brand-promo-emblem:before,
.brand-promo-emblem:after {
  content: "";
  position: absolute;
  border: 1px solid #e8b93985;
  border-radius: 50%;
}
.brand-promo-emblem:before { inset: 4px; }
.brand-promo-emblem:after { inset: 8px; }
.brand-promo-emblem span {
  position: relative;
  z-index: 1;
  font-family: Georgia, serif;
  font-size: 13px;
  font-weight: 900;
}
.brand-promo-copy {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  gap: 3px;
}
.brand-promo-copy small {
  color: #e9c960;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .13em;
}
.brand-promo-copy strong {
  color: #fff5ce;
  font-size: 17px;
  white-space: nowrap;
  text-shadow: 0 2px 6px #150021;
}
.brand-promo-copy b {
  color: #f3ca55;
}
.brand-promo-banner > p {
  position: relative;
  z-index: 1;
  margin: 0 0 0 auto;
  color: #f7d76d;
  text-align: right;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.45;
  white-space: nowrap;
}
.brand-promo-banner > p span {
  color: #fff2c6;
  font-size: 8px;
  font-weight: 600;
}
.hero-stats {
  color: #e5cbee;
}
.hero-stats b {
  color: #f7d66b;
}
.notice {
  border-color: #ead28b;
  background: #fff8df;
  color: #6e5221;
}
.notice-badge {
  background: linear-gradient(135deg, #f5d66d, #d9a52d);
  color: #4a1768;
}
.section-title > span,
.link-btn {
  color: #8a54a8;
}
.category-tabs button.active,
.order-filter-tabs button.active,
.help-filter-tabs button.active {
  border-color: var(--purple);
  background: linear-gradient(135deg, #4a176d, #7d35a9);
  box-shadow: 0 6px 14px #4b176d2c;
}
.auto-pill {
  background: #321047ed;
  color: #f8d96f;
}
.bottom-nav {
  border-top-color: #e9dff0;
  background: #fffafdF5;
}
.bottom-nav .active {
  color: var(--purple);
}
.overlay {
  background: #1f092990;
}
.sheet-icon,
.feature-row span,
.detail-back-btn {
  background: #f4eafa;
  color: var(--purple);
}
.sheet .eyebrow,
.detail-panel-head p {
  color: #9b68b5;
}
.quantity-row,
.sheet-price,
.balance-shortage,
.order-price-grid span {
  background: #faf5fc;
}
.stepper button,
.detail-stepper button {
  border-color: #e1d2e9;
  color: var(--purple);
}
.buy-btn,
.copy-address-button,
.checkout-usdt-pay,
.product-purchase-bar button {
  background: linear-gradient(135deg, #4b176d, #7c35aa);
  box-shadow: 0 8px 20px #4b176d33;
}
.address-box,
.sheet-conversion,
.order-exchange,
.continue-purchase-message {
  border-color: #decfe7;
  background: #f8f1fb;
}
.address-box code,
.card-wallet-item > button,
.order-card-foot span {
  color: #5f2c7c;
}
.card-codes,
.help-copy {
  background: #2b0b45;
}
.card-codes {
  color: #f7e8ff;
}
.card-codes p {
  color: #d4afe4;
}
.help-card > span {
  background: #f1e5f8;
  color: #6b2d91;
}
.support-btn {
  color: #5b247a;
}
.detail-panel-head {
  border-color: #e5dbea;
  box-shadow: 0 6px 18px #35104b0a;
}
.product-detail-view {
  background:
    radial-gradient(circle at 10% 7%, #edddf7 0, transparent 170px),
    linear-gradient(180deg, #faf7fc, #f2edf5);
}
.product-detail-nav button {
  background: #f4eef7;
  color: #6f4b7f;
}
.product-detail-summary,
.product-detail-section {
  border-color: #e7dfea;
  box-shadow: 0 9px 24px #35104b0d;
}
.detail-hot-pill {
  border-color: #e4c75d;
  background: #fff9e7f2;
  color: #623078;
}
.product-detail-info > strong {
  color: #6d298f;
}
.product-detail-section header {
  background: linear-gradient(90deg, #fbf2ff, #fff);
}
.product-detail-section header i,
.profile-service-grid i,
.help-topic-grid i {
  background: #f3e8fa;
  color: #6b288e;
}
.product-detail-notice {
  border-left-color: #c99b2e;
  background: #fff9e8;
}
.product-coupon-form input:focus {
  border-color: #8b43b3;
  box-shadow: 0 0 0 3px #6f2f9517;
}
.product-coupon-form button {
  border-color: #713095;
  color: #64288f;
}
.product-purchase-bar {
  border-top-color: #eadff0;
  box-shadow: 0 -10px 25px #35104b12;
}
.profile-view {
  background:
    radial-gradient(circle at 100% 0, #ead9f5 0 90px, transparent 91px),
    linear-gradient(180deg, #f5eef9 0, #fbf9fc 250px);
}
.profile-cover {
  border-color: #e4d7eb;
  box-shadow: 0 12px 30px #42155e12;
}
.profile-cover:after {
  border-color: #69288d0c;
}
.profile-avatar-wrap,
.profile-avatar {
  background: linear-gradient(145deg, #efe2f8, #fbf5ff);
  color: var(--purple);
  box-shadow: 0 7px 19px #3c104f1a;
}
.profile-avatar-wrap i {
  background: #f0bf3c;
}
.profile-user small {
  color: #8f58a8;
}
.copy-id-btn {
  border-color: #e0d2e8;
  background: #faf6fc;
  color: #6b3b80;
}
.account-balance-card,
.balance-card {
  background: linear-gradient(135deg, #2d0a48, #561b79 60%, #7930a0);
  box-shadow: 0 12px 27px #3c104f2b;
}
.account-balance-card small,
.account-balance-card p,
.balance-card small,
.balance-card p {
  color: #e4c8ef;
}
.account-balance-card button,
.balance-card button {
  background: linear-gradient(135deg, #ffe47f, #e4ad2c);
  color: #4b245a;
}
.profile-stats,
.profile-service-grid button,
.card-wallet-item,
.recharge-record {
  border-color: #e6ddeb;
  box-shadow: 0 6px 18px #35104b0a;
}
.profile-stats b {
  color: #5e2a74;
}
.profile-service-grid button:nth-child(2) i,
.profile-service-grid button:nth-child(4) i,
.help-topic-grid button:nth-child(2n) i {
  background: #fff2cf;
  color: #a56b14;
}
.profile-view .profile-tabs {
  border-color: #e3d8e9;
  background: #f2eaf7ef;
}
.profile-tabs button.active {
  color: var(--purple);
}
.card-wallet-head > span {
  background: #f2e8f8;
  color: #70408a;
}
.card-wallet-item > button {
  border-color: #bca2ca;
  background: #faf5fc;
}
.recharge-record-values span,
.recharge-rules > button,
.recharge-success-value,
.recharge-summary {
  background: #faf5fc;
}
.recharge-rules > button {
  border-color: #e4d8eb;
  color: #4d3658;
}
.recharge-rules > button:active {
  border-color: var(--purple);
  background: #f3e7fa;
}
.recharge-rules .recharge-usdt b,
.recharge-summary strong,
.recharge-success-value strong,
.balance-payment strong,
.wallet-record strong.positive,
.recharge-record-values strong {
  color: #703095;
}
.help-view {
  background: linear-gradient(180deg, #f5eafa 0, #fff9e8 310px, #fbf9fc 100%);
}
.help-hero {
  background: linear-gradient(145deg, #2c0a49, #5b1e7e 64%, #8b3bb1);
  color: #fff;
}
.help-hero:after {
  color: #f5d56b12;
}
.help-hero-icon {
  background: #fff4cf;
  color: #64268a;
  box-shadow: 0 9px 23px #18002238;
}
.help-hero > p {
  color: #f0cc60;
}
.help-hero > span {
  color: #e5cdec;
}
.help-search {
  border-color: #efd36a66;
  background: #fffdf2ed;
  box-shadow: 0 10px 24px #16002038;
}
.help-search i {
  color: #6b2c8f;
}
.help-topic-grid button,
.faq-item {
  border-color: #e7ddec;
  box-shadow: 0 6px 17px #48215c0a;
}
.faq-item summary:after {
  background: #f2e7f8;
  color: #733598;
}
.help-support-card {
  background: linear-gradient(145deg, #2a0944, #5d1f7f);
  box-shadow: 0 11px 26px #35104b29;
}
.help-support-card small,
.help-support-card span {
  color: #e5c65d;
}
.help-support-card p {
  color: #ead8f0;
}
.help-support-card .support-btn {
  background: linear-gradient(135deg, #ffe680, #e0a92d);
  color: #4c215b;
}
@media (max-width: 370px) {
  .brand-promo-banner > p { display: none; }
  .brand-promo-copy strong { font-size: 16px; }
}

.product-visual,
.product-visual.fuel,
.product-detail-fallback,
.product-detail-fallback.fuel {
  background: linear-gradient(140deg, #7936a4, #351052);
}
.product-detail-fallback strong {
  color: #68298d;
}
.product-purchase-bar button {
  border-color: #66288d;
}
.status-pill.delivered,
.status-pill.credited {
  background: #f0e3f8;
  color: #6b318a;
}

/* Compact brand-only storefront header */
.shop-view .hero {
  min-height: 268px;
  padding: calc(20px + env(safe-area-inset-top)) 20px 24px;
  border-radius: 0 0 30px 30px;
}
.shop-view .brand-promo-banner {
  width: calc(100% - 56px);
  min-height: 76px;
  margin-top: 0;
  padding-right: 52px;
}
.hero-account-button {
  position: absolute;
  z-index: 4;
  top: calc(20px + env(safe-area-inset-top));
  right: 20px;
  display: grid;
  place-items: center;
  margin: 0;
  border-color: #eac75c85;
  background: #ffffff0c;
}
.shop-view .brand-promo-copy {
  overflow: hidden;
}
.shop-view .brand-promo-copy small {
  overflow: hidden;
  font-size: 6px;
  letter-spacing: .08em;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.shop-view .brand-promo-copy strong {
  font-size: 15px;
}
.shop-view .brand-promo-banner > p {
  position: absolute;
  right: 11px;
  top: 20px;
}
.shop-view .brand-promo-emblem {
  overflow: hidden;
  border-color: #f2ce63;
  background: #2b0b52;
}
.shop-view .brand-promo-emblem:before,
.shop-view .brand-promo-emblem:after {
  content: none;
}
.shop-view .brand-promo-emblem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}
.brand-service-line {
  position: relative;
  z-index: 1;
  margin: 12px 0 0;
  color: #f5dc83;
  text-align: center;
  font-size: clamp(8px, 2.45vw, 10px);
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
.brand-service-template {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: clamp(32px, 10vw, 48px) minmax(0, 1fr) clamp(32px, 10vw, 48px);
  grid-template-rows: 112px 46px;
  width: 100%;
  height: 158px;
  margin: 5px 0 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #fff3c3;
}
.service-side {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  justify-self: center;
  width: auto;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #f3ca55;
  font-size: clamp(24px, 6.2vw, 27px);
  font-weight: 900;
  line-height: 1;
  text-align: center;
  writing-mode: vertical-rl;
  white-space: nowrap;
  word-break: keep-all;
  letter-spacing: .05em;
  text-shadow: 0 2px 8px #160020;
}
.service-side-left {
  grid-column: 1;
  grid-row: 1;
}
.service-side-right {
  grid-column: 3;
  grid-row: 1;
}
.service-products {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  align-content: center;
  gap: 16px;
  padding: 13px 2px 14px;
  border-bottom: 1px solid #e8c65d9c;
}
.service-products p,
.service-bottom {
  margin: 0;
}
.service-products p {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  gap: 0;
  color: #fff7d8;
  font-size: clamp(26px, 6.7vw, 32px);
  font-weight: 900;
  white-space: nowrap;
  text-shadow: 0 2px 8px #160020;
}
.service-products p span {
  display: block;
  min-width: 0;
  text-align: center;
}
.service-bottom {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: clamp(6px, 3vw, 20px);
  padding: 9px 0 1px;
  color: #f3ca55;
  font-size: clamp(17px, 4.7vw, 21px);
  font-weight: 900;
  white-space: nowrap;
  text-shadow: 0 2px 8px #160020;
}
.product-detail-info > small {
  color: #75657d;
}
.delivery-symbol {
  color: #dda92b;
  font-style: normal;
}
.product-short-description {
  border-left-color: #7836a0;
  background: #f5ecfa;
  color: #5e4869;
}
.service-bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  width: 100%;
}

.service-bottom span {
  display: block;
  text-align: center;
}
