/* Cachpun · estilos de páginas independientes (legales, 404, nueva contraseña).
   Mismas variables y estética neón que la plataforma (public/index.html). */
:root{
  color-scheme:dark;
  --bg:#07060d; --surface:#110f1e; --surface-2:#1a1630; --line:#2b2550;
  --fg:#efeaff; --muted:#9a92c4;
  --pink:#ff2bd6; --cyan:#19f0ff; --win:#7dff4a; --loss:#ff3b5c; --gold:#ffd23f;
  --f-display:"Bungee","Impact","Arial Black",sans-serif;
  --f-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Share Tech Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--fg)}
body{margin:0;font-family:var(--f-body);font-size:16px;line-height:1.6;min-height:100vh;background:transparent;display:flex;flex-direction:column}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(900px 500px at 85% -10%,color-mix(in srgb,var(--pink) 18%,transparent),transparent 60%),
   radial-gradient(700px 500px at -10% 30%,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 60%),var(--bg)}
a{color:var(--cyan)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.pg-head{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line)}
.pg-bar{max-width:900px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between}
.pg-logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:22px;color:var(--fg);text-decoration:none;text-shadow:0 0 6px var(--pink),0 0 18px var(--pink)}
.pg-logo b{color:var(--cyan);font-weight:400;text-shadow:0 0 6px var(--cyan),0 0 18px var(--cyan)}
.pg-logo svg{width:30px;height:30px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--pink) 65%,transparent))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;padding:11px 18px;min-height:44px;font:inherit;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;text-decoration:none;cursor:pointer}
.btn-pink{background:var(--pink);color:#16001a;box-shadow:0 0 0 1px var(--pink),0 0 24px color-mix(in srgb,var(--pink) 55%,transparent)}
.btn-ghost{background:var(--surface-2);color:var(--fg);border:1px solid var(--line)}
.btn:disabled{opacity:.45;cursor:not-allowed}
main.pg{flex:1;width:100%;max-width:900px;margin:0 auto;padding:28px 16px 40px}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-weight:600}
h1,h2,h3{font-family:var(--f-display);font-weight:400;letter-spacing:.01em;line-height:1.15;text-wrap:balance}
h1{font-size:clamp(28px,6vw,44px);margin:6px 0 10px}
.doc{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,4vw,34px);overflow-wrap:anywhere}
.doc h2{font-size:22px;margin:28px 0 8px;color:var(--fg)}
.doc>:first-child{margin-top:0}
.doc h3{font-size:17px;margin:22px 0 6px;color:var(--cyan)}
.doc p,.doc li{color:color-mix(in srgb,var(--fg) 88%,var(--muted))}
.doc ul,.doc ol{padding-left:22px}
.doc li+li{margin-top:4px}
.doc strong{color:var(--fg)}
.doc code{font-family:var(--f-mono);background:var(--surface-2);padding:1px 6px;border-radius:6px}
.doc blockquote{margin:14px 0;border-left:3px solid var(--gold);padding:6px 14px;background:color-mix(in srgb,var(--gold) 8%,transparent);border-radius:0 10px 10px 0}
.doc hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.doc table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}
.doc th,.doc td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.draft{border:1px dashed var(--gold);color:var(--gold);border-radius:12px;padding:10px 14px;font-size:14px;margin:0 0 18px;background:color-mix(in srgb,var(--gold) 6%,transparent)}
.meta{color:var(--muted);font-size:13px;margin:0 0 18px}
.toc{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.toc a{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;text-decoration:none;color:var(--muted)}
.toc a[aria-current="page"]{color:var(--fg);border-color:var(--pink)}
.card{max-width:460px;margin:6vh auto 0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;gap:12px;box-shadow:0 0 50px color-mix(in srgb,var(--pink) 14%,transparent)}
.card label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.card input{width:100%;font:inherit;font-size:16px;color:var(--fg);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:11px 12px}
.err{color:var(--loss);font-size:14px;min-height:1.2em}
.ok{color:var(--win);font-size:14px;min-height:1.2em}
.muted{color:var(--muted)}
.meter{height:5px;border-radius:9px;background:var(--surface-2);overflow:hidden}.meter i{display:block;height:100%;width:0;transition:width .2s}
.big{font-family:var(--f-display);font-size:clamp(80px,22vw,160px);line-height:1;color:var(--pink);text-shadow:0 0 22px var(--pink),0 0 60px color-mix(in srgb,var(--pink) 50%,transparent);margin:0}
.center{text-align:center;display:grid;justify-items:center;gap:14px}
.iso{width:min(200px,50vw);height:auto;filter:drop-shadow(0 0 26px color-mix(in srgb,var(--pink) 55%,transparent))}
