
:root{--bg:#f3f5f8;--card:#fff;--ink:#16243a;--mute:#5f6b7a;--line:#d6dce4;--net:#1b2f4e;--on-net:#fff;--seal:#1b2f4e;--deb:#2e6150;--cre:#7a4a12;--warn:#9a2f2f;--soft:#eef1f5;
--serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root{--bg:#0e1522;--card:#152033;--ink:#e4e9f0;--mute:#98a4b5;--line:#26344a;--net:#a9c0e0;--on-net:#0e1522;--seal:#2a4470;--deb:#7fb8a3;--cre:#e0b47a;--warn:#e08a84;--soft:#1a2740}}
*,*:before,*:after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-text-size-adjust:100%}
a{color:var(--net)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:980px;margin:0 auto;padding:16px 20px;border-bottom:4px double var(--net)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand svg{width:40px;height:40px}
.brand b{display:block;font:700 22px/1 var(--serif)}.brand small{color:var(--mute);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.top nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.top nav a{font-size:14.5px;text-decoration:none}
.cta{display:inline-block;background:var(--net);color:var(--on-net)!important;border-radius:8px;padding:8px 14px;font-weight:600;text-decoration:none;white-space:nowrap}
.wrap{max-width:980px;margin:0 auto;padding:28px 20px 40px}
h1{font:700 clamp(28px,4.4vw,40px)/1.15 var(--serif);margin:.2em 0 .35em;letter-spacing:.005em}
h2{font:700 19px/1.3 var(--serif);margin:0 0 10px}
.kicker,.code{color:var(--mute);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0}
.lead{font-size:17.5px;max-width:68ch;color:var(--ink)}
.rule{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:22px 0}
.rule div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.rule b{font-family:var(--serif)}.rule p{margin:4px 0 0;color:var(--mute);font-size:14.5px}
.tools{position:sticky;top:0;z-index:2;background:var(--bg);padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:8px}
.search input{width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.filters button{font:inherit;font-size:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:6px 12px;border-radius:999px;cursor:pointer}
.filters button.on{background:var(--net);border-color:var(--net);color:var(--on-net)}
.count{margin:8px 0 0;color:var(--mute);font-size:13.5px}
.grp{margin-top:26px}.grp h2{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px}
.grp h2 span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--net);color:var(--on-net);font:600 14px var(--sans)}
.list{list-style:none;margin:0;padding:0}
.list a{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:11px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.list a:hover{background:var(--soft)}
.list .c{font:600 14px var(--sans);color:var(--mute);font-variant-numeric:tabular-nums}
.list .n{font-weight:500}.list .n small{display:block;color:var(--mute);font-weight:400;font-size:13px}
.chip{display:inline-block;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--mute);white-space:nowrap}
.chip.nat.D{color:var(--deb);border-color:currentColor}.chip.nat.A{color:var(--cre);border-color:currentColor}.chip.warn{color:var(--warn);border-color:currentColor}
.empty{color:var(--mute);text-align:center;padding:30px 0}
.crumb{font-size:14px;color:var(--mute);margin:0 0 14px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.langs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0 0 22px}
.langs div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.langs dt{font-size:12px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}.langs dd{margin:2px 0 0;font:400 17px/1.35 var(--serif);font-style:italic}
.ficha section{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:14px 0}
.ficha section p{margin:0 0 6px}.ficha .lead{margin:0}
.ficha ul{margin:0;padding-left:20px}.ficha li{margin:3px 0}
.dc{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:640px){.dc{grid-template-columns:1fr}.list a{grid-template-columns:48px 1fr}.list .chip{display:none}}
.dc>div:first-child h2{color:var(--deb)}.dc>div:last-child h2{color:var(--cre)}
.tw{overflow-x:auto;margin-top:8px}
.je{width:100%;border-collapse:collapse;min-width:440px;font-variant-numeric:tabular-nums}
.je th,.je td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.je th{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.je .num{text-align:right;white-space:nowrap}.je td.cr{padding-left:34px}
.je tfoot td{font-weight:600;border-bottom:3px double var(--net);border-top:1px solid var(--net)}
.err li::marker{color:var(--warn)}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.pn a{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-decoration:none;font-size:14.5px}.pn .nx{text-align:right}
.pn small{display:block;color:var(--mute);font-size:12px}
.promo{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--soft);border-radius:12px;padding:18px 20px;margin-top:26px}
.promo p{margin:4px 0 0;color:var(--mute);font-size:14.5px;max-width:56ch}
.foot{max-width:980px;margin:0 auto;padding:18px 20px 34px;border-top:4px double var(--line);color:var(--mute);font-size:13px}
