:root{
  --bg:#0b1020;--card:#121832;--muted:#9ba5c9;--text:#e6edf6;--accent:#b98eff;--gold:#e1c07a;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Spectral','Georgia',serif;
  background:radial-gradient(1200px 600px at 80% -10%,rgba(124,156,255,.15),transparent),
             radial-gradient(1000px 500px at -10% 20%,rgba(124,156,255,.08),transparent),
             #0b1020;
  color:var(--text);
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.wrap{max-width:840px;width:100%;}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:24px 22px;
  box-shadow:0 12px 34px rgba(0,0,0,.35);
}
body.plan-pay .card{text-align:center;}
body.plan-pay form{display:flex;flex-direction:column;align-items:center;}
h1{color:var(--gold);margin:0 0 14px;font-size:26px;text-shadow:0 0 12px rgba(185,142,255,.35);}
.muted{color:var(--muted);margin:8px 0 16px;}
ul{margin:0 0 14px 18px;color:var(--text);}
.btn{display:inline-block;background:linear-gradient(101deg,#684ecb 25%,#b883e6 80%,#16112a 100%);color:var(--text);text-decoration:none;font-weight:700;letter-spacing:0.02em;padding:12px 20px;border-radius:12px;box-shadow:0 0 12px 3px #d5aaff55,0 0 6px 2px #41418d55;margin-top:6px;border:none;cursor:pointer;}
.btn:hover{filter:brightness(1.08);}
.link{color:var(--accent);}
.chk{
  display:flex;
  gap:8px;
  align-items:flex-start;
  justify-content:center;
  margin-top:10px;
  margin-left:auto;
  margin-right:auto;
  max-width:560px;
  width:100%;
  color:var(--text);
  text-align:left;
}
.chk input[type=checkbox]{flex-shrink:0;margin-top:3px;}
.steps{color:var(--text);margin:12px auto 16px;max-width:560px;text-align:left;}
.steps li{margin:6px 0;}
.subscription-form-card {
  text-align: left;
}
body.plan-pay .subscription-form-card {
  text-align: left;
}
body.plan-pay .subscription-form-card form {
  align-items: stretch;
}
.subscription-badge {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid rgba(225, 192, 122, 0.58);
  color: #ffe4a6;
  background: rgba(105, 78, 32, 0.32);
  font-size: 13px;
  font-weight: 700;
}
.subscription-badge-warn {
  border-color: rgba(255, 140, 140, 0.55);
  color: #ffd0d0;
  background: rgba(120, 32, 32, 0.35);
}
.subscription-warn {
  margin: 12px 0 16px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(225, 192, 122, 0.46);
  background: rgba(225, 192, 122, 0.09);
  color: #ffe4a6;
  line-height: 1.45;
}
.subscription-email-note {
  margin: 14px 0 6px;
  color: var(--text);
  font-size: 15px;
}
.subscription-email-block {
  margin: 12px 0 4px;
  text-align: center;
}
.subscription-email-value {
  margin: 0 0 4px;
  color: #ffe4a6;
  font-size: clamp(1.25rem, 4vw, 1.55rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
  word-break: break-word;
}
.gold-email {
  color: #ffe4a6;
  font-weight: 700;
}
.subscription-email-field {
  display: block;
  max-width: 560px;
  margin: 12px auto;
  color: var(--text);
  text-align: left;
}
.subscription-email-field input,
.subscription-email-field textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 11px 12px;
  border-radius: 10px;
  border: 1px solid rgba(185,142,255,.45);
  background: rgba(8, 10, 22, 0.8);
  color: var(--text);
  font: inherit;
  box-sizing: border-box;
}
.subscription-email-field textarea {
  min-height: 120px;
  resize: vertical;
}
.subscription-paid-until {
  margin: 14px 0;
  color: var(--text);
  line-height: 1.45;
}
.subscription-doc-links,
.subscription-small {
  max-width: 560px;
  margin: 10px auto 0;
  text-align: left;
  line-height: 1.45;
}
.subscription-doc-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}
