.withdraw-page-overlay {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: none;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  background: #000;
  color: #2b2440;
  font-family: Arial, "Microsoft YaHei", sans-serif;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.withdraw-page-overlay.is-open {
  display: flex;
  pointer-events: auto;
}

.withdraw-stage {
  position: relative;
  width: 750px;
  height: 1650px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.82) 0, rgba(255, 255, 255, 0) 430px),
    linear-gradient(180deg, #eef2ff 0%, #ddd9fb 100%);
  transform: scale(var(--withdraw-scale, 1));
  transform-origin: top center;
}

.withdraw-bg-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background-image:
    linear-gradient(45deg, transparent 0 56px, rgba(111, 84, 205, 0.14) 56px 72px, transparent 72px 124px),
    linear-gradient(135deg, transparent 0 68px, rgba(111, 84, 205, 0.1) 68px 84px, transparent 84px 132px);
  background-size: 160px 160px;
}

.withdraw-modal {
  position: absolute;
  left: 42px;
  top: 214px;
  width: 666px;
  min-height: 1050px;
  box-sizing: border-box;
  border: 14px solid #7550e9;
  border-radius: 48px;
  background: linear-gradient(180deg, #ffffff 0%, #f8f6ff 100%);
  box-shadow:
    0 16px 0 #5730c7,
    0 24px 32px rgba(58, 33, 138, 0.34),
    inset 0 0 0 9px #ffffff,
    inset 0 0 0 15px #c9b9ff;
}

.withdraw-close {
  position: absolute;
  right: -34px;
  top: -34px;
  width: 86px;
  height: 86px;
  border: 8px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(180deg, #8d65fb 0%, #6541dc 100%);
  color: #ffffff;
  font-size: 67px;
  line-height: 62px;
  font-weight: 900;
  text-align: center;
  text-shadow: 0 4px 0 #42248c;
  box-shadow: 0 7px 0 #5535bd, 0 10px 18px rgba(61, 38, 128, 0.32);
  cursor: pointer;
  padding: 0 0 8px;
}

.withdraw-title-wrap {
  position: absolute;
  left: 50%;
  top: -88px;
  width: 520px;
  height: 150px;
  transform: translateX(-50%);
}

.withdraw-title-shadow,
.withdraw-title {
  position: absolute;
  inset: 0;
  border-radius: 42px;
}

.withdraw-title-shadow {
  top: 18px;
  background: #7046d6;
  border: 8px solid #ffffff;
  box-shadow: 0 9px 0 rgba(86, 48, 185, 0.7);
}

.withdraw-title {
  height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #ffec36 0%, #ffc01f 61%, #ff981b 100%);
  border: 7px solid #f5ac12;
  box-shadow:
    inset 0 8px 0 rgba(255, 255, 255, 0.38),
    0 8px 0 #7d49da;
  color: #fff7f4;
  font-size: 52px;
  line-height: 1;
  font-weight: 900;
  text-shadow:
    4px 0 0 #6a3ace,
    -4px 0 0 #6a3ace,
    0 4px 0 #6a3ace,
    0 -4px 0 #6a3ace,
    7px 7px 0 #442489;
}

.withdraw-balance {
  position: absolute;
  left: 56px;
  top: 104px;
  width: 554px;
  height: 190px;
  border-radius: 34px;
  background: linear-gradient(180deg, #fff7bb 0%, #fffdf3 100%);
  border: 7px solid #ffdc34;
  box-shadow: inset 0 0 0 5px #ffffff, 0 8px 0 rgba(207, 136, 8, 0.22);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
}

.withdraw-balance span,
.withdraw-balance small {
  color: #7c56d9;
  font-weight: 900;
}

.withdraw-balance span {
  font-size: 30px;
  line-height: 38px;
}

.withdraw-balance strong {
  color: #2f2d3c;
  font-size: 58px;
  line-height: 64px;
  font-weight: 900;
  text-shadow: 0 4px 0 #ffffff;
}

.withdraw-balance small {
  font-size: 20px;
  line-height: 24px;
}

.withdraw-form {
  position: absolute;
  left: 54px;
  top: 332px;
  width: 558px;
  display: grid;
  gap: 20px;
}

.withdraw-form label {
  display: grid;
  gap: 10px;
  color: #7650d8;
  font-size: 26px;
  line-height: 34px;
  font-weight: 900;
  text-align: left;
}

.withdraw-form input {
  width: 100%;
  height: 78px;
  box-sizing: border-box;
  border: 6px solid #d7cef9;
  border-radius: 22px;
  padding: 0 22px;
  background: #ffffff;
  color: #2f2d3c;
  font-size: 30px;
  font-weight: 900;
  outline: none;
  box-shadow: inset 0 4px 0 rgba(120, 86, 210, 0.08);
}

.withdraw-form input:focus {
  border-color: #ffdc34;
}

.withdraw-amount-grid,
.withdraw-channel-grid {
  display: grid;
  gap: 14px;
}

.withdraw-amount-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.withdraw-channel-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.withdraw-amount-option,
.withdraw-channel {
  height: 70px;
  border: 6px solid #d7cef9;
  border-radius: 22px;
  background: #ffffff;
  color: #7550d9;
  font-size: 28px;
  line-height: 34px;
  font-weight: 900;
  box-shadow: 0 6px 0 rgba(101, 76, 185, 0.25);
}

.withdraw-amount-option.is-active,
.withdraw-channel.is-active {
  border-color: #ffdc34;
  background: linear-gradient(180deg, #fff7bd 0%, #fffdf3 100%);
  color: #2f2d3c;
}

.withdraw-mode-note {
  min-height: 58px;
  box-sizing: border-box;
  border: 5px solid #d7cef9;
  border-radius: 22px;
  padding: 10px 16px;
  background: #f9f6ff;
  color: #7650d8;
  font-size: 23px;
  line-height: 30px;
  font-weight: 900;
  text-align: center;
}

.withdraw-payment-box {
  min-height: 154px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 8px 14px;
  align-items: center;
  border: 6px solid #d7cef9;
  border-radius: 24px;
  padding: 14px;
  background: #ffffff;
  box-shadow: inset 0 4px 0 rgba(120, 86, 210, 0.08);
}

.withdraw-payment-box.is-hidden {
  display: none;
}

.withdraw-payment-title {
  color: #7650d8;
  font-size: 25px;
  line-height: 32px;
  font-weight: 900;
}

.withdraw-payment-file {
  grid-column: 1;
  height: 56px !important;
  border-width: 0 !important;
  border-radius: 0 !important;
  padding: 7px 0 0 !important;
  font-size: 22px !important;
  box-shadow: none !important;
}

.withdraw-payment-hint {
  grid-column: 1;
  color: #7c56d9;
  font-size: 21px;
  line-height: 28px;
  font-weight: 900;
}

.withdraw-payment-preview {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: 96px;
  height: 96px;
  display: none;
  border: 5px solid #ffdc34;
  border-radius: 18px;
  object-fit: cover;
  background: #fffdf3;
}

.withdraw-status {
  min-height: 36px;
  color: #7c56d9;
  font-size: 24px;
  line-height: 32px;
  font-weight: 900;
  text-align: center;
}

.withdraw-status.warn {
  color: #df6120;
}

.withdraw-status.ok {
  color: #2f9e21;
}

.withdraw-submit {
  justify-self: center;
  width: 394px;
  height: 112px;
  border: 9px solid #f8f6ff;
  border-radius: 56px;
  background: linear-gradient(180deg, #85ec22 0%, #44c50e 58%, #2ca807 100%);
  box-shadow:
    0 10px 0 #198105,
    0 16px 24px rgba(54, 32, 127, 0.34),
    inset 0 7px 0 rgba(255, 255, 255, 0.32);
  color: #ffffff;
  cursor: pointer;
  padding: 0;
}

.withdraw-submit.is-loading {
  filter: saturate(0.85);
}

.withdraw-submit-text {
  display: block;
  text-align: center;
  font-size: 46px;
  line-height: 88px;
  font-weight: 900;
  text-shadow:
    3px 0 0 #2b8f09,
    -3px 0 0 #2b8f09,
    0 3px 0 #2b8f09,
    0 -3px 0 #2b8f09,
    0 5px 0 rgba(21, 111, 3, 0.42);
}
