:root{--bg:#F6F5F2;--card:#FFFFFF;--ink:#1C1D20;--ink2:#555960;--line:#D6D2C9;--acc:#8A6414;--gold:#D9A441;--err:#9B2C2C;--err-bg:#FBEDEC;--ok:#2E6B4F;--chrome:#141517;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0F1012;--card:#18191C;--ink:#ECEAE4;--ink2:#B3B6BD;--line:#36383E;--acc:#E2B65E;--err:#F3A6A6;--err-bg:#2A1818;--ok:#7CC4A0;--chrome:#0B0B0D}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-underline-offset:.15em}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:.5rem}
.bar{background:var(--chrome);color:#F4EFE4;border-bottom:1px solid rgba(217,164,65,.6)}
.bar .in{max-width:40rem;margin:0 auto;padding:.7rem 1rem;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.bar .lg{display:block;width:5.6rem;flex:none}.bar .lg svg{display:block;width:100%;height:auto}
.bar .sep{width:1px;align-self:stretch;background:var(--gold);opacity:.9}.bar .tt{min-width:0;flex:1 1 10rem}
.bar .ante{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#E6DFCC;font-weight:700}
.bar h1{margin:.05rem 0 0;font-size:1.45rem;line-height:1.15;font-weight:600;color:#fff;font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif}
.langs{display:flex;gap:.35rem}.langs a{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#F4EFE4;border:1px solid rgba(244,239,228,.3);border-radius:999px;padding:.3rem .65rem;text-decoration:none;min-width:2.6rem;text-align:center}
.langs a:hover{border-color:var(--gold)}.langs a[aria-current]{background:#ECEAE4;color:#141517;border-color:#ECEAE4}
main{max-width:30rem;margin:0 auto;padding:1.6rem 1rem 3rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:1.15rem 1.2rem;margin:0 0 1rem}
.card h2{font-size:1.1rem;margin:0 0 .6rem;font-weight:650}.lead{color:var(--ink2);margin:0 0 1rem}
form{display:grid;gap:.35rem;margin:0}label{font-weight:600;font-size:.92rem;margin-top:.45rem}
input[type=email],input[type=password],input[type=text]{font:inherit;width:100%;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.6rem;background:var(--bg);color:var(--ink)}
input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(217,164,65,.25)}input.ro{color:var(--ink2);background:transparent}
input.err,input[aria-invalid=true]{border-color:var(--err);background:var(--err-bg)}input.err:focus{box-shadow:0 0 0 3px rgba(155,44,44,.2)}
.pw{position:relative}.pw input{padding-right:5.6rem}
.pw .ver{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);margin:0;padding:.3rem .55rem;min-height:2rem;font-size:.8rem;font-weight:650;
  background:transparent;color:var(--ink2);border:1px solid var(--line);border-radius:.5rem;display:inline-flex;align-items:center;gap:.3rem}
.pw .ver[hidden]{display:none}.pw .ver svg{width:1.05rem;height:1.05rem}.pw .ver:hover{color:var(--ink);border-color:var(--gold);background:transparent}
.pw .ver[aria-pressed=true]{color:var(--acc);border-color:var(--acc)}
.msg.err{background:var(--err-bg)}.msg.vivo:empty{display:none}
.chk{display:flex;gap:.5rem;align-items:center;font-weight:500;margin:.6rem 0 .2rem}
button,.boton{font:inherit;font-weight:650;background:var(--ink);color:var(--bg);border:0;border-radius:.8rem;padding:.75rem 1.1rem;margin-top:.7rem;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
button:hover,.boton:hover{background:var(--gold);color:#141517}button.sec{background:transparent;color:var(--ink);border:1px solid var(--line)}
button.sec:hover{border-color:var(--gold);background:transparent;color:var(--ink)}
.nota{font-size:.84rem;color:var(--ink2);margin:.1rem 0 0}
.msg{border-radius:.6rem;padding:.6rem .8rem;margin:0 0 .9rem;border:1px solid}.msg.err{color:var(--err);border-color:var(--err)}.msg.ok{color:var(--ok);border-color:var(--ok)}
ul.alt{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.35rem;font-size:.92rem}
.foot{max-width:30rem;margin:0 auto;padding:1.2rem 1rem 2rem;color:var(--ink2);font-size:.82rem;border-top:1px solid var(--line)}
@media (max-width:560px){.bar .sep{display:none}.bar h1{font-size:1.2rem}.bar .lg{width:4.6rem}}
