
:root{--bg:#f6f5fb;--panel:#ffffff;--ink:#1d1b33;--suave:#5a5878;--acento:#4b3fb0;--acento2:#168a8a;--borde:#dcd9ee;--tinte:#ece9fa;--ok:#168a6a;--pronto:#6b55c9}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]){--bg:#0f1226;--panel:#171a33;--ink:#ecebf8;--suave:#a9a7c8;--acento:#a99bff;--acento2:#5fd0c8;--borde:#2b2f55;--tinte:#1e2245;--ok:#5fd0a8;--pronto:#b3a6ff}}
:root[data-tema="oscuro"]{--bg:#0f1226;--panel:#171a33;--ink:#ecebf8;--suave:#a9a7c8;--acento:#a99bff;--acento2:#5fd0c8;--borde:#2b2f55;--tinte:#1e2245;--ok:#5fd0a8;--pronto:#b3a6ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.7 Georgia,'Times New Roman',serif}
a{color:var(--acento)}a:hover{color:var(--acento2)}
.ancho{max-width:1040px;margin:0 auto;padding:0 20px}
header.sup{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde)}
header.sup .ancho{display:flex;align-items:center;gap:18px;min-height:58px;flex-wrap:wrap}
.marca{font:700 19px Georgia,serif;letter-spacing:.04em;text-decoration:none;color:var(--ink)}
.marca small{font:600 11px Arial,sans-serif;letter-spacing:.2em;color:var(--acento);display:block;text-transform:uppercase}
nav.menu{display:flex;gap:16px;flex-wrap:wrap;font:600 15px Arial,sans-serif;margin-left:auto}
nav.menu a{text-decoration:none;color:var(--suave)}nav.menu a:hover{color:var(--acento)}
button.tema{background:none;border:1px solid var(--borde);color:var(--suave);border-radius:20px;padding:5px 12px;font:600 13px Arial;cursor:pointer}
.hero{padding:64px 0 36px}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.1;margin:0 0 16px}
.hero p{max-width:720px;color:var(--suave);font-size:20px;margin:0 0 22px}
.buscador{display:flex;gap:10px;max-width:640px}
.buscador input{flex:1;padding:14px 18px;border-radius:30px;border:1px solid var(--borde);background:var(--panel);color:var(--ink);font:17px Arial,sans-serif}
.buscador button{padding:0 24px;border-radius:30px;border:0;background:var(--acento);color:#fff;font:700 16px Arial;cursor:pointer}
.cifras{display:flex;gap:28px;flex-wrap:wrap;margin:30px 0 8px;font:Arial}
.cifras div{font:600 14px Arial,sans-serif;color:var(--suave)}.cifras b{display:block;font:700 34px Georgia,serif;color:var(--acento)}
h2.sec{font-size:28px;margin:46px 0 16px}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tarj{background:var(--panel);border:1px solid var(--borde);border-radius:18px;padding:20px 22px;text-decoration:none;color:var(--ink);display:block;transition:transform .15s,border-color .15s}
.tarj:hover{transform:translateY(-3px);border-color:var(--acento)}
.tarj h3{margin:0 0 6px;font-size:21px}.tarj p{margin:0;color:var(--suave);font-size:16px;line-height:1.5}
.tarj .n{font:700 13px Arial;color:var(--acento);letter-spacing:.08em;text-transform:uppercase;margin-top:10px;display:block}
.pildora{display:inline-block;font:700 11px Arial;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:12px}
.p-ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.p-pronto{background:color-mix(in srgb,var(--pronto) 18%,transparent);color:var(--pronto)}
.p-pend{background:var(--tinte);color:var(--suave)}
ul.obras{list-style:none;margin:0;padding:0}
ul.obras li{background:var(--panel);border:1px solid var(--borde);border-radius:14px;margin:10px 0;padding:14px 20px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
ul.obras li a{font:700 19px Georgia,serif;text-decoration:none}
ul.obras li .o{color:var(--suave);font:15px Arial;margin-left:auto}
.mig{font:14px Arial,sans-serif;color:var(--suave);padding:22px 0 0}.mig a{color:var(--suave)}
article.obra{max-width:760px;margin:0 auto;padding:10px 0 60px}
article.obra h1{font-size:clamp(32px,5vw,46px);line-height:1.15;margin:8px 0 6px}
.orig{color:var(--acento);font:italic 20px Georgia;margin:0 0 6px}
.meta{font:15px/1.6 Arial,sans-serif;color:var(--suave);margin:14px 0 26px}
.meta b{color:var(--ink)}
.res{background:var(--tinte);border-left:4px solid var(--acento);padding:14px 18px;border-radius:0 12px 12px 0;margin:0 0 26px;font-size:18px}
.toc{background:var(--panel);border:1px solid var(--borde);border-radius:14px;padding:14px 20px;margin:0 0 30px;font:15px Arial}
.toc summary{cursor:pointer;font-weight:700}.toc ol{margin:8px 0 0;padding-left:20px;columns:2}.toc li{margin:3px 0}
article.obra h2{font-size:28px;margin:44px 0 14px;border-bottom:1px solid var(--borde);padding-bottom:8px}
article.obra h3{font-size:22px;margin:30px 0 10px;color:var(--acento)}
article.obra p{margin:0 0 16px}
.n{font:700 13px Arial;color:var(--acento);margin-right:7px;vertical-align:.1em}
.fuente{margin-top:48px;border-top:1px solid var(--borde);padding-top:20px;font:14px/1.6 Arial,sans-serif;color:var(--suave)}
.nav-obra{display:flex;justify-content:space-between;gap:12px;margin:40px 0 0;font:600 15px Arial}
.nav-obra a{background:var(--panel);border:1px solid var(--borde);padding:10px 16px;border-radius:12px;text-decoration:none}
.aviso{background:var(--tinte);border-radius:14px;padding:16px 20px;font:15px/1.6 Arial,sans-serif;color:var(--suave);margin:30px 0}
footer.pie{border-top:1px solid var(--borde);margin-top:70px;padding:30px 0 50px;font:14px/1.7 Arial,sans-serif;color:var(--suave)}
.resultado{background:var(--panel);border:1px solid var(--borde);border-radius:14px;padding:14px 20px;margin:12px 0}
.resultado a{font:700 19px Georgia;text-decoration:none}.resultado p{margin:6px 0 0;color:var(--suave);font-size:16px}mark{background:color-mix(in srgb,var(--acento) 30%,transparent);color:inherit;padding:0 2px;border-radius:3px}
@media print{header.sup,.nav-obra,.toc,footer.pie,button.tema{display:none}body{background:#fff;color:#000;font-size:12pt}}
@media (max-width:640px){body{font-size:17px}.toc ol{columns:1}.hero{padding-top:36px}}
