.pro-button {
  display: grid;
  width: 100%;
  min-height: 62px;
  margin-top: 2px;
  padding: 11px 16px;
  border: 1px solid rgba(164, 118, 255, .38);
  border-radius: 15px;
  background: linear-gradient(120deg, rgba(154, 49, 238, .20), rgba(61, 100, 255, .18));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  color: #fff;
  text-align: left;
}
.pro-button strong { font-size: 14px; }
.pro-button small { margin-top: 4px; color: #aaa4c4; font-size: 10px; font-weight: 560; }
.result-access-status { margin: 10px 4px 0; color: #a9a5bb; font-size: 11px; line-height: 1.45; }
.result-access-status[data-tone="success"] { color: #83dfa4; }
.result-flow-helper { display: none !important; }

.paywall-dialog {
  width: min(100% - 18px, 470px);
  max-height: calc(100dvh - 18px);
  margin: auto auto max(9px, var(--app-safe-bottom, 0px));
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
}
.paywall-dialog::backdrop { background: rgba(0,0,0,.76); backdrop-filter: blur(7px); }
.paywall-card {
  position: relative;
  overflow: auto;
  max-height: calc(100dvh - 18px);
  padding: 24px 16px max(18px, var(--app-safe-bottom, 0px));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 25px;
  background:
    radial-gradient(90% 55% at 85% -10%, rgba(115, 71, 255, .28), transparent 70%),
    linear-gradient(165deg, #151523, #0d0e18 72%);
  box-shadow: 0 26px 90px rgba(0,0,0,.62);
}
.paywall-close {
  position: absolute;
  top: 13px;
  right: 13px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  color: #b9b6c7;
  font-size: 22px;
}
.paywall-kicker { margin: 0 0 8px; color: #a98cff; font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.paywall-card h2 { margin: 0; padding-right: 48px; font-size: 28px; letter-spacing: -.035em; }
.paywall-lead { margin: 10px 0 18px; color: #a4a1b4; font-size: 13px; line-height: 1.5; }
.plan-list { display: grid; gap: 9px; }
.plan-option {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: #fff;
  text-align: left;
}
.plan-option:active { transform: scale(.992); }
.plan-option:disabled { opacity: .55; }
.plan-option.is-loading { border-color: rgba(145,103,255,.55); box-shadow: 0 0 0 1px rgba(145,103,255,.18); }
.plan-copy { display: grid; min-width: 0; gap: 3px; }
.plan-copy strong { font-size: 14px; }
.plan-copy small { color: #7e7b90; font-size: 10px; }
.plan-copy em { justify-self: start; margin-top: 3px; padding: 3px 6px; border-radius: 999px; background: rgba(124,83,255,.12); color: #ae96ff; font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.plan-price { color: #f7f4ff; font-size: 16px; font-weight: 850; white-space: nowrap; }
.paywall-status { margin: 13px 2px 0; color: #a7a3b6; text-align: center; font-size: 11px; line-height: 1.4; }
.paywall-status[data-tone="error"] { color: #ff969e; }
.paywall-status[data-tone="success"] { color: #7ee09e; }
.paywall-footnote { margin: 12px 5px 0; color: #666378; text-align: center; font-size: 9px; line-height: 1.45; }

@media (min-width: 700px) {
  .paywall-dialog { margin: auto; }
}
