:root{color-scheme:dark;--bg:#05030F;--card:#141B33;--line:#2A3560;--ink:#EEF1FA;--muted:#929CC0;--gold:#FFD23F;--danger:#FF5A5F}
*{box-sizing:border-box}
html{background:var(--bg)}
html,body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0,#2A0B4A,var(--bg) 70%) var(--bg) no-repeat;color:var(--ink);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body{display:flex;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 16px 24px}
.card{width:100%;max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px;margin-block:auto}
h1{margin:0;font:800 28px/1.1 system-ui,sans-serif;letter-spacing:.02em;background:linear-gradient(90deg,#FF5A5F,#FFD23F,#3CCB7F,#3E8BFF,#A86BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub,.muted,.legal{margin:0;color:var(--muted)}
.legal{font-size:13px;text-align:center}
section{display:flex;flex-direction:column;gap:12px}
[hidden]{display:none!important}
.col{display:flex;flex-direction:column;gap:10px}
label{font-weight:600}
input{padding:13px;border-radius:12px;border:1px solid var(--line);background:#0B1124;color:var(--ink);font:600 18px/1 system-ui,sans-serif}
input:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn{padding:14px 16px;border-radius:14px;background:#232E57;border:1px solid var(--line);color:var(--ink);font:600 16px/1.2 system-ui,sans-serif;cursor:pointer}
.btn.primary{background:var(--gold);color:#1A1500;border-color:transparent;font-weight:800}
.btn:disabled{opacity:.6;cursor:wait}
.link{background:none;border:0;color:var(--muted);text-decoration:underline;padding:4px;cursor:pointer;font:inherit;align-self:center}
.regalo{padding:10px 12px;border-radius:12px;color:var(--gold);background:rgba(255,210,63,.08);border:1px solid rgba(255,210,63,.25)}
.hola{margin:0;font-size:18px}
.saldo{margin:0;font:800 22px/1 system-ui,sans-serif;color:var(--gold)}
.err{margin:0;color:var(--danger);font-weight:600}
