:root{--azul:#4ca9ff;--cian:#00E5FF;--verde:#00FF66;--verde-t:#00FF66;--bg:#0A0A0B;--card:#121214;--borde:rgba(255,255,255,.1);--txt:#fff;--mute:#A1A1AA;--grad:linear-gradient(90deg,#4ca9ff,#00FF66)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:17px/1.6 "Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif}
.wrap{max-width:640px;margin:0 auto;padding:20px 16px 48px}
header{display:flex;justify-content:space-between;align-items:center;padding:8px 0 28px}
.marca{display:flex;flex-direction:column;line-height:1.1}.logo{font-weight:900;font-size:34px;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.marca small{font-size:12px;color:var(--mute);font-weight:600}
.lang{display:flex;border:1px solid var(--borde);border-radius:6px;overflow:hidden;background:var(--card)}
.lang button{border:0;background:none;padding:8px 14px;font:inherit;font-size:14px;color:var(--mute);cursor:pointer;min-height:40px}
.lang button[aria-pressed=true]{background:var(--verde);color:#0A0A0B;font-weight:700}
h1{font-size:clamp(30px,7vw,42px);line-height:1.12;letter-spacing:-.03em;color:#fff;margin:0 0 14px}
h2{font-size:clamp(22px,5.5vw,28px);line-height:1.25;letter-spacing:-.02em;color:#fff;margin:0 0 20px}
h3{font-size:18px;margin:0 0 6px;color:#fff}
p{margin:0 0 14px}
.mute{color:var(--mute);font-size:15px}
.card{background:var(--card);border:1px solid var(--borde);border-radius:12px;padding:24px;margin-bottom:16px}
label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
input[type=text],input[type=email],input[type=url]{width:100%;font:inherit;padding:14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#0A0A0B;color:#fff;min-height:52px;margin-bottom:16px}
.btn{font:inherit;font-weight:600;border:0;border-radius:8px;background:var(--verde);color:#0A0A0B;padding:15px 24px;min-height:52px;cursor:pointer;width:100%}
.btn:hover{background:#4dffa0}
.btn:active{transform:scale(.98)}
.btn.sec{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn.sec:hover{background:rgba(255,255,255,.08)}
:focus-visible{outline:3px solid var(--cian);outline-offset:2px}
.barra{height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden;margin:0 0 8px}
.barra i{display:block;height:100%;background:var(--grad);width:0;transition:width .4s}
.opc{display:grid;gap:12px;margin-top:8px}
.opc button{font:inherit;text-align:left;padding:18px 20px;border:1.5px solid var(--borde);border-radius:12px;background:var(--card);cursor:pointer;min-height:60px;color:#fff}
.opc button:hover{border-color:var(--verde);background:#18181B}
.nota{font-size:14px;color:var(--mute);border-left:3px solid var(--verde);padding-left:12px;margin-top:16px}
.punt{font-size:64px;font-weight:900;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.punt small{font-size:22px;color:var(--mute);font-weight:400;-webkit-text-fill-color:var(--mute)}
.mej{border-left:4px solid var(--verde);padding-left:16px;margin:0 0 20px}
.mej b{color:var(--verde-t)}
.ok{background:rgba(0,255,102,.08);border:1px solid rgba(0,255,102,.35);border-radius:8px;padding:14px;color:#9dffc6}
.err{color:#ff8a8a;font-size:15px;margin:0 0 12px}
.chk{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;font-size:15px}
.chk input{width:22px;height:22px;margin-top:3px;flex:none;accent-color:var(--verde)}
.chk label{font-weight:400;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
footer{font-size:14px;color:var(--mute);border-top:1px solid var(--borde);padding-top:20px;margin-top:32px}
footer a{color:var(--azul)}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
a.btn{display:block;text-align:center;text-decoration:none;line-height:22px}
textarea{width:100%;font:inherit;padding:14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#0A0A0B;color:#fff;min-height:140px;margin-bottom:6px;resize:vertical}
select{width:100%;font:inherit;padding:14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#0A0A0B;color:#fff;min-height:52px;margin-bottom:16px}
.cnt{font-size:13px;color:var(--mute);text-align:right;margin-bottom:12px}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aviso{border-left:3px solid #ffcc66;padding-left:12px;font-size:14px;color:#ffe3a3;margin:0 0 16px}
.sk{height:90px;border-radius:12px;background:linear-gradient(90deg,#121214,#1c1c20,#121214);background-size:200% 100%;animation:sk 1.2s infinite;margin-bottom:16px}
@keyframes sk{to{background-position:-200% 0}}
.res p{white-space:pre-wrap}
.btn+.btn{margin-top:10px}
