:root{--surface:#f7f5f0;--raised:#fff;--line:#dcd8d1;--slate:#3a3742;--on-slate:#f7f5f0;--ink:#1f1d24;--muted:#5e5a66;--purple:#6b3fd4;--purple-soft:#efe9fc;--on-purple:#fff;--free:#1f7a4d}
@media (prefers-color-scheme:dark){:root{--surface:#18171c;--raised:#222027;--line:#34323b;--slate:#4a4654;--ink:#f4f2ee;--muted:#aaa6b3;--purple:#b39bff;--purple-soft:#2d2445;--on-purple:#18171c;--free:#5fd19a}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--surface);color:var(--ink);font-family:-apple-system,"SF Pro Text","Segoe UI",Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
header{display:flex;align-items:center;gap:12px;max-width:960px;margin:0 auto;padding:16px}
header img{width:40px;height:40px;border-radius:9px}
header b{font-size:22px;letter-spacing:-.3px}
.banner-wrap{background:var(--slate)}
.banner{display:block;width:100%;height:auto;max-width:1200px;margin:0 auto}
main{max-width:640px;margin:0 auto;padding:40px 16px 64px;text-align:center}
h1{font-size:clamp(32px,6vw,48px);line-height:1.05;letter-spacing:-1px;margin:0 0 12px}
p.lead{font-size:19px;line-height:1.45;color:var(--muted);margin:0 auto 32px;max-width:30em}
.buttons{display:flex;flex-direction:column;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;min-width:280px;padding:0 24px;border-radius:14px;font-size:18px;font-weight:600;text-decoration:none;border:0;cursor:pointer}
.btn-primary{background:var(--purple);color:var(--on-purple)}
.btn-secondary{background:var(--purple-soft);color:var(--purple)}
.btn[aria-disabled=true]{opacity:.5;pointer-events:none}
.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--purple)}
.note{font-size:15px;color:var(--muted);margin-top:16px}
.steps{text-align:left;margin:48px auto 0;padding:0;list-style:none;display:grid;gap:12px}
.steps li{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:16px;font-size:17px;line-height:1.4}
.steps b{display:block;margin-bottom:2px}
footer{background:var(--slate);color:var(--on-slate);text-align:center;padding:24px 16px;font-size:15px}
footer a{color:var(--on-slate)}
