:root{
  --paper:#FFFDF7; --sheet:#FFFFFF; --tint:#F5F3EC; --line:#E3E1D8;
  --ink:#1C3FAA; --ink-dark:#132D7C; --text:#17181C; --muted:#5A6072;
  --red:#D7262E; --yellow:#FFE94D; --green:#158A55; --amber:#B26A00;
  --display:"Archivo","Arial Narrow",Arial,sans-serif; --body:"Atkinson Hyperlegible",system-ui,sans-serif;
  --stamp:"Special Elite","Courier New",monospace;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--text);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{max-width:74rem;margin:0 auto;padding:0 1.5rem}
h1,h2,h3{font-family:var(--display);margin:0}
.top{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0}
.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--display);font-variation-settings:"wdth" 118;font-weight:900;font-size:1.15rem;color:var(--text);text-decoration:none;white-space:nowrap}
.brand i{width:1.9rem;height:1.9rem;border:2.5px solid var(--red);border-radius:5px;display:grid;place-items:center;color:var(--red);font:400 .85rem var(--stamp);font-style:normal;transform:rotate(-8deg)}
.top nav{display:flex;gap:1.5rem;align-items:center}
.top nav a{color:var(--muted);text-decoration:none;font-size:.97rem}
.top nav a:hover{color:var(--text)}
.top nav .btn{padding:.55rem 1rem;font-size:.95rem;color:#fff}
@media (max-width:760px){.top nav a:not(.btn){display:none}.brand{font-size:1rem}.top nav .btn{padding:.5rem .8rem;font-size:.88rem}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1.05rem var(--body);text-decoration:none;cursor:pointer;border-radius:10px;padding:.9rem 1.3rem;border:2px solid var(--ink);transition:background .12s ease}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 4px 0 var(--ink-dark)}
.btn-primary:hover{background:var(--ink-dark)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:#EEF2FC}
.btn-small{padding:.4rem .75rem;font-size:.88rem;border-width:1.5px;border-radius:8px}
button:disabled{opacity:.6;cursor:wait}
.fine{font-size:.9rem;color:var(--muted)}
.err{color:var(--red);font-weight:700}
[hidden]{display:none!important}
footer{padding:2.5rem 0 3rem;font-size:.92rem;color:var(--muted);border-top:1px solid var(--line);margin-top:3rem}
footer nav{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:.7rem}
footer a{color:var(--muted)} footer .arr{font-weight:700;color:var(--text)}
