:root{
  --bg:#17101f; --bg2:#1d1527; --surface:#241a31; --surface2:#2e2240;
  --fg:#f7f4fb; --fg-soft:#d9cfe6; --muted:#a596b8; --line:#3a2d4d; --line2:#473659;
  --magenta:#C8359F; --violet:#8A5BC4; --amber:#E6B05A; --cyan:#4ECCEF; --red:#F06A45; --verde:#46c98b;
  --font:"Archivo","Helvetica Neue",Helvetica,sans-serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace; --r:4px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font);background:var(--bg);color:var(--fg);line-height:1.55;font-size:16px;}
a{color:var(--cyan);text-decoration:none;}
.mono{font-family:var(--mono);}
h1,h2,h3,h4{font-weight:800;line-height:1.08;letter-spacing:-0.02em;}
.hero{background:linear-gradient(150deg,#1d1527 0%,#2a1740 60%,#3a1a4f 100%);color:var(--fg);padding:56px 20px 44px;text-align:center;border-bottom:2px solid var(--magenta);}
.hero h1{font-size:clamp(28px,4.4vw,52px);font-weight:900;letter-spacing:-0.035em;margin-bottom:14px;}
.hero p{font-size:1.08em;max-width:820px;margin:0 auto;color:var(--fg-soft);}
.hero .sub{font-family:var(--mono);font-size:.74em;margin-top:18px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;}
.hero.tema{padding:40px 20px 30px;}
/* NAV estático (replica el sitio real de LLA VLA: Archivo, sentence-case, subrayado magenta) */
nav{position:sticky;top:0;z-index:40;background:rgba(23,16,31,.9);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);}
nav .navwrap{max-width:1080px;margin:0 auto;padding:11px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
nav .brand{display:flex;align-items:center;gap:11px;cursor:pointer;text-decoration:none;flex:0 0 auto;}
nav .brand img{width:38px;height:36px;object-fit:contain;display:block;flex-shrink:0;}
nav .brand .bt{display:flex;flex-direction:column;line-height:1.1;gap:1px;}
nav .brand .bt b{font-family:var(--font);font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--fg);}
nav .brand .bt span{font-family:var(--font);font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
nav .ni{display:flex;flex-wrap:wrap;gap:9px 22px;margin-left:auto;align-items:center;}
nav .ni a,nav .ni span{font-family:var(--font);font-size:13.5px;font-weight:500;color:var(--fg-soft);text-decoration:none;padding:5px 0;border-bottom:1px solid transparent;white-space:nowrap;}
nav .ni a:hover{color:#fff;border-bottom-color:var(--magenta);}
nav .ni .act{color:#fff;border-bottom:1px solid var(--magenta);cursor:default;}
nav .ni .home{color:var(--cyan);}
/* menú agrupado en desplegables */
nav .grp{position:relative;}
nav .grp>.gt{font-family:var(--font);font-size:13.5px;font-weight:500;color:var(--fg-soft);cursor:pointer;padding:5px 0;border-bottom:1px solid transparent;white-space:nowrap;user-select:none;}
nav .grp>.gt:hover{color:#fff;}
nav .grp.open>.gt,nav .grp:hover>.gt,nav .grp>.gt.act-parent{color:#fff;border-bottom-color:var(--magenta);}
nav .grp>.menu{position:absolute;top:calc(100% + 6px);left:0;min-width:215px;background:rgba(23,16,31,.985);backdrop-filter:saturate(160%) blur(10px);border:1px solid var(--line);border-radius:8px;padding:6px;display:none;flex-direction:column;gap:1px;box-shadow:0 12px 34px rgba(0,0,0,.5);z-index:60;}
nav .grp:hover>.menu,nav .grp:focus-within>.menu,nav .grp.open>.menu{display:flex;}
nav .grp>.menu a{padding:7px 10px;border-radius:5px;border-bottom:none !important;white-space:nowrap;font-size:13.5px;color:var(--fg-soft);}
nav .grp>.menu a:hover{background:var(--bg2);color:#fff;}
nav .grp>.menu a.act{color:#fff;background:rgba(214,40,118,.16);cursor:default;}
nav .nburger{display:none;}
@media(max-width:720px){
  nav .navwrap{flex-wrap:nowrap;}
  nav .brand{flex:1 1 auto;min-width:0;}
  nav .brand .bt{min-width:0;flex:1;}
  nav .brand .bt b,nav .brand .bt span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  nav .nburger{display:block;flex:0 0 auto;margin-left:auto;font-size:21px;line-height:1.2;color:var(--fg-soft);cursor:pointer;padding:2px 9px;border:1px solid var(--line);border-radius:7px;user-select:none;}
  nav.nopen .nburger{color:#fff;border-color:var(--magenta);}
  nav .ni{display:none;}
  nav.nopen .ni{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:7px;margin:0;padding:12px 18px 16px;background:#17101f;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.5);max-height:calc(100vh - 70px);overflow:auto;}
  nav .grp{width:100%;}
  nav .grp>.menu{position:static;display:none;box-shadow:none;border:none;padding:3px 0 3px 14px;min-width:0;background:none;backdrop-filter:none;}
  nav .grp.open>.menu{display:flex;}
}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
section{padding:38px 0;scroll-margin-top:54px;border-top:1px solid var(--line);}
section:first-of-type{border-top:none;}
h2{font-size:1.55em;color:#fff;margin-bottom:8px;}
h3.sec{font-size:1.12em;color:var(--amber);margin:18px 0 8px;}
.lead{color:var(--muted);margin-bottom:20px;font-size:1.02em;}
.kick{font-family:var(--mono);font-size:.7em;text-transform:uppercase;letter-spacing:.18em;color:var(--magenta);font-weight:600;}
.disc{background:var(--surface);border:1px solid var(--line2);border-radius:var(--r);padding:14px 18px;margin:20px 0;font-size:.9em;color:var(--fg-soft);display:flex;gap:10px;align-items:flex-start;}
.disc b{color:#fff;}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-align:center;}
.stat .big{font-family:var(--mono);font-size:1.8em;font-weight:700;color:var(--cyan);}
.stat .big.r{color:var(--red);}.stat .big.v{color:var(--verde);}.stat .big.a{color:var(--amber);}
.stat .lbl{color:var(--muted);font-size:.82em;margin-top:6px;}
.cards{display:grid;gap:15px;}
.card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--amber);border-radius:var(--r);padding:20px 22px;cursor:pointer;transition:.15s;}
.card:hover{border-color:var(--line2);transform:translateY(-1px);}
.card.grave{border-left-color:var(--red);}.card.ok{border-left-color:var(--verde);}.card.info{border-left-color:var(--cyan);}
.card .tag{display:inline-block;font-family:var(--mono);font-size:.66em;font-weight:700;text-transform:uppercase;letter-spacing:.14em;padding:3px 9px;border-radius:2px;margin-bottom:9px;}
.tag.v{background:rgba(240,106,69,.18);color:var(--red);}.tag.p{background:rgba(138,91,196,.2);color:var(--violet);}.tag.g{background:rgba(70,201,139,.16);color:var(--verde);}
.card h3{font-size:1.14em;color:#fff;margin-bottom:6px;}
.card h3 .chev{float:right;color:var(--muted);font-size:.85em;transition:.2s;}
.card.open h3 .chev{transform:rotate(90deg);}
.card p{margin-bottom:9px;color:var(--fg-soft);}
.card .detail{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.card.open .detail{max-height:2800px;}
.ev{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font-size:.88em;color:var(--fg-soft);margin-top:10px;}
.ev b{color:#fff;}.ev ul{margin:6px 0 0 18px;}.ev li{margin:4px 0;}
.fuente{font-family:var(--mono);font-size:.76em;color:var(--cyan);margin-top:8px;}
.verif{display:inline-block;font-family:var(--mono);font-size:.66em;font-weight:700;padding:2px 8px;border-radius:2px;margin-left:6px;text-transform:uppercase;letter-spacing:.08em;}
.verif.ok{background:rgba(70,201,139,.16);color:var(--verde);}.verif.claim{background:rgba(230,176,90,.16);color:var(--amber);}.verif.tri{background:rgba(78,204,239,.16);color:var(--cyan);}
.bar{display:flex;align-items:center;gap:10px;margin:5px 0;font-size:.88em;}
.bar .bn{width:230px;flex-shrink:0;color:var(--fg-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;}
.bar .bt{flex:1;background:var(--bg2);border:1px solid var(--line);border-radius:2px;height:18px;overflow:hidden;}
.bar .bf{height:100%;background:linear-gradient(90deg,var(--violet),var(--magenta));}
.bar .bv{width:96px;text-align:right;color:var(--muted);font-family:var(--mono);font-weight:500;}
.flowbox{border:2px solid var(--red);border-radius:var(--r);padding:18px;background:rgba(240,106,69,.06);margin:18px 0;}
.flowbox h4{color:var(--red);margin-bottom:12px;}
.fsteps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:stretch;}
.fstep{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--muted);border-radius:var(--r);padding:13px;}
.fstep .ft{font-weight:800;font-size:.85em;margin-bottom:7px;color:#fff;}
.fstep ul{margin:0 0 0 16px;font-size:.8em;color:var(--fg-soft);}.fstep li{margin:4px 0;}
.farrow{display:flex;align-items:center;justify-content:center;font-size:1.6em;color:var(--red);font-weight:800;}
@media(max-width:760px){.fsteps{grid-template-columns:1fr;}.farrow{transform:rotate(90deg);height:20px;}.bar .bn{width:140px;}}
.ley{background:#13101c;border:1px solid var(--line2);border-radius:var(--r);padding:26px;}
.ley h2{color:#fff;}.ley ul{list-style:none;margin-top:12px;}
.ley li{padding:8px 0;border-bottom:1px solid var(--line);color:var(--fg-soft);}.ley li b{color:var(--amber);}
.honest{background:var(--surface);border:1px solid var(--amber);border-radius:var(--r);padding:22px;}
.honest h3{color:var(--amber);margin-bottom:8px;}.honest p{color:var(--fg-soft);}
footer{background:#100c17;color:var(--muted);text-align:center;padding:26px 20px;font-size:.82em;border-top:1px solid var(--line);}
.choose{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;}
.choose a{display:block;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--violet);border-radius:var(--r);padding:22px;color:inherit;transition:.15s;}
.choose a:hover{transform:translateY(-3px);border-color:var(--violet);}
.choose a.grave{border-top-color:var(--red);}
.choose .ic{font-size:1.8em;}
.choose .ti{font-weight:800;color:#fff;font-size:1.1em;margin:6px 0 4px;}
.choose .de{font-size:.86em;color:var(--muted);}
.choose .badge{display:inline-block;font-family:var(--mono);font-size:.62em;font-weight:700;color:#fff;background:var(--red);padding:2px 8px;border-radius:2px;margin-top:8px;text-transform:uppercase;letter-spacing:.1em;}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:50;align-items:center;justify-content:center;padding:18px;}
.modal.on{display:flex;}
.mbox{background:var(--surface);border:1px solid var(--line2);border-radius:var(--r);max-width:720px;width:100%;max-height:86vh;overflow:auto;padding:24px;color:var(--fg-soft);}
.mbox h3{color:#fff;font-size:1.22em;margin-bottom:6px;padding-right:30px;}
.mbox .mclose{float:right;cursor:pointer;color:var(--muted);font-size:1.6em;line-height:1;}
.mbox .src{background:var(--bg2);border-radius:var(--r);padding:10px 14px;font-size:.84em;color:var(--muted);margin-top:12px;}
.mbox .src a{color:var(--cyan);}
.ficha-dec .dr{margin:8px 0;line-height:1.45;font-size:.92em;}
.ficha-dec .dr b{color:#fff;font-weight:600;}
.ficha-dec code{font-family:var(--mono);font-size:.85em;color:var(--fg-soft);}
/* boton para bajar a la ultima escala (el decreto) */
.verdec{display:inline-block;margin-top:14px;background:var(--cyan);color:#0a0a0a;font-weight:700;border:none;border-radius:8px;padding:9px 16px;cursor:pointer;font-size:.92em;}
.verdec:hover{filter:brightness(1.1);}
.sortb{background:var(--bg2);color:var(--fg-soft);border:1px solid var(--line2);border-radius:7px;padding:5px 10px;cursor:pointer;font-size:.82em;}
.sortb:hover{border-color:var(--cyan);color:#fff;}
.declink{color:var(--cyan);cursor:pointer;border-bottom:1px dotted var(--cyan);}
.declink:hover{color:#fff;border-bottom-style:solid;}

/* breadcrumb de drill-down (agregado -> individuo) */
.ruta{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin:0 0 14px;font-size:.82em}
.ruta>.rl{color:#9a8fae;font-family:var(--mono);font-size:.9em;margin-right:4px}
.ruta a,.ruta .on{padding:4px 10px;border-radius:14px;text-decoration:none;border:1px solid #2a2036;background:var(--bg2);color:#cfc4dc}
.ruta a:hover{border-color:var(--violet)}
.ruta .on{background:var(--violet);color:#fff;border-color:var(--violet);font-weight:600}
.ruta .sp{color:#5a5070;padding:0 1px}

/* ruta mobile */
.ruta a,.ruta .on{white-space:nowrap}
@media(max-width:560px){
  .ruta{font-size:.74em;gap:4px;margin-bottom:10px}
  .ruta a,.ruta .on{padding:3px 8px}
  .ruta>.rl{flex-basis:100%;margin:0 0 2px}
}
