/* Layout: columna de lectura de ~70ch con índice lateral fijo en escritorio; misma identidad negro/grafito/amarillo que la web */
:root{
  --negro:#0B0B0C;--grafito:#1B1C1F;--linea:#34363B;--gris:#A3A5AB;--blanco:#F4F4F2;--amarillo:#FFCE00;
  --f-display:"Chakra Petch","Arial Narrow",Arial,sans-serif;
  --f-body:"Barlow","Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--negro);color:var(--blanco);font-family:var(--f-body);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--negro)}
a{color:var(--amarillo)}
:focus-visible{outline:2px solid var(--amarillo);outline-offset:3px}
.wrap{max-width:1100px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(11,11,12,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-block:12px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--amarillo);font-family:var(--f-display);font-style:italic;font-weight:700;font-size:1.25rem;letter-spacing:.06em}
.logo small{display:block;font-family:var(--f-mono);font-style:normal;font-size:.58rem;letter-spacing:.18em;color:var(--gris);text-align:right;margin-top:2px}
.logo svg{width:32px;height:32px;filter:drop-shadow(0 0 6px rgba(255,206,0,.45))}
.volver{font-family:var(--f-mono);font-size:.8rem;color:var(--gris);text-decoration:none}
.volver:hover{color:var(--amarillo)}
.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding-block:48px 80px}
nav.indice{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:4px;font-size:.92rem}
nav.indice span{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:8px}
nav.indice a{color:var(--gris);text-decoration:none;padding:6px 0 6px 12px;border-left:2px solid var(--linea)}
nav.indice a:hover{color:var(--blanco);border-left-color:var(--amarillo)}
@media (max-width:820px){.layout{grid-template-columns:1fr;gap:28px}nav.indice{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}nav.indice span{width:100%}nav.indice a{border:1px solid var(--linea);border-radius:999px;padding:4px 12px}}
article{max-width:70ch;min-width:0}
article section{padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--linea);scroll-margin-top:80px}
article section:last-child{border-bottom:0}
h1{font-family:var(--f-display);font-style:italic;font-weight:700;font-size:clamp(2rem,5vw,2.8rem);line-height:1.05;margin:0 0 12px;text-wrap:balance}
h2{font-family:var(--f-display);font-style:italic;font-weight:700;font-size:1.9rem;line-height:1.1;margin:0 0 8px;text-wrap:balance}
h3{font-family:var(--f-display);font-weight:600;font-size:1.15rem;margin:30px 0 8px;color:var(--blanco)}
p,li{color:#D6D7DA}
p{margin:0 0 14px}
ul{margin:0 0 14px;padding-left:20px}
li{margin-bottom:6px}
.fecha{font-family:var(--f-mono);font-size:.8rem;color:var(--gris);margin-bottom:24px}
.intro{color:var(--gris);font-size:1.05rem;margin-bottom:40px}
.ficha{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;background:var(--grafito);border:1px solid var(--linea);border-radius:6px;padding:18px 20px;margin:16px 0 20px;font-size:.95rem}
.ficha dt{color:var(--gris)}
.ficha dd{margin:0;overflow-wrap:anywhere}
.pendiente{background:rgba(255,206,0,.15);color:var(--amarillo);border:1px dashed rgba(255,206,0,.6);border-radius:3px;padding:0 5px;font-family:var(--f-mono);font-size:.85em}
.tabla{overflow-x:auto;margin:12px 0 20px;border:1px solid var(--linea);border-radius:6px}
table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:520px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linea);vertical-align:top}
th{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);font-weight:500;background:var(--grafito)}
tr:last-child td{border-bottom:0}
footer{border-top:1px solid var(--linea);padding-block:24px;font-size:.85rem;color:var(--gris)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
