/* Dosis Informativa · Especial «¿Qué demonios pasó en las elecciones de EE. UU.?» (vista previa privada; piel de noche, 6 nov 2026)
   La misma noche que la Dosis entera: nunca un negro plano, cada escena trae su luz. La portada enciende el cian arriba a la
   izquierda (la escena del mapa); el prospecto va a contraluz; el pie guarda el magenta abajo. Cristal con filo de luz en las
   tarjetas, la cápsula (amarilla y blanca) como firma y los íconos de tema de la casa (dosis-v2/iconos/iconos.js) en cada sección.
   Amarillo = lo que se toca o se subraya. Partidos: D azul y R rojo-magenta con la MISMA luminosidad OKLCH (.57 .17; h 252 y 6),
   mismo peso de patrón (≈25 %: rayado D, punteado R), siempre con letra. El cian y el magenta de marca son luz de escena, nunca
   relleno de un estado: cerca del mapa se leerían como partido.
   Tokens: --letra es la tinta de la noche (clara); --superficie, el cristal oscuro; --negro, la letra sobre amarillo o sobre claro.
   Movimiento: sólo transform y opacity; un momento de película de 900 ms en la portada, saltable y quieto con movimiento reducido. */

@font-face{font-family:Archivo;src:url('../../../comun/fonts/archivo.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url('../../../comun/fonts/instrument-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url('../../../comun/fonts/instrument-serif-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url('../../../comun/fonts/jetbrains-mono.woff2') format('woff2');font-weight:100 800;font-display:swap}

:root{
 color-scheme:dark;
 /* la noche, en tres profundidades, y su luz */
 --noche:#07080c;--noche-2:#0e0f17;--noche-3:#16172a;--negro:#07080c;
 --cian:#00a3e0;--cian-t:#7fd6f7;--magenta:#e4007c;--magenta-t:#ff4fa8;--amarillo:#ffd400;
 --letra:#ecebf3;--letra-sutil:#a3a3b8;--claro:#fff4fa;
 --superficie:#0e0f17;--superficie-2:#16172a;--canto:#2b2d3d;
 --linea:rgb(255 255 255/.13);--linea-f:rgb(255 255 255/.26);
 /* el cristal de Dosis: un degradado de luz sobre la noche, filo de luz arriba y sombra honda */
 --cristal:linear-gradient(180deg,rgb(255 255 255/.075),rgb(255 255 255/.018) 60%),var(--noche-2);
 --brillo:inset 0 1px 0 rgb(255 255 255/.16),inset 0 0 0 1px rgb(255 255 255/.08);
 --dura:var(--brillo),0 24px 48px -22px rgb(0 0 0/.9);--dura-chica:var(--brillo),0 12px 28px -14px rgb(0 0 0/.85);
 --r:18px;
 /* partidos: misma luminosidad (oklch .57 .17 252 / 6); oscuros oklch .40 .12 */
 --D:#0278d7;--D-osc:#0a4886;--R:#c44068;--R-osc:#79243e;
 --sans:Archivo,"Helvetica Neue",Arial,sans-serif;
 --serif:"Instrument Serif",Georgia,serif;
 --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
 --entra:cubic-bezier(.2,.7,.2,1);--sale:cubic-bezier(.4,0,1,1);--rebota:cubic-bezier(.3,1.5,.5,1);
 --g:16px;--banda:32px;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--noche);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--banda) + 8px)}
body{margin:0;background:var(--noche);color:var(--letra);font:400 17px/1.55 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{background:var(--amarillo);color:var(--negro)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
:focus{outline:none}
:focus-visible{outline:2px solid var(--amarillo);outline-offset:3px;box-shadow:0 0 0 6px var(--noche)}
::selection{background:var(--amarillo);color:var(--negro)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
em{font-style:italic}
.nw{white-space:nowrap}
/* los íconos de tema de la casa: trazo cian, la mitad blanca de la cápsula carga la idea */
.ico{flex:none;display:block;color:var(--cian)}
.ico .i-d{fill:#f5f6fa}
.ico-magenta{color:var(--magenta-t)}
/* el ícono en su ficha de cristal: 40 px, con un resplandor del color del trazo */
.ico-f{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:radial-gradient(70% 70% at 50% 30%,rgb(0 163 224/.22),transparent 72%),var(--cristal);box-shadow:var(--brillo)}
.ico-f:has(.ico-magenta){background:radial-gradient(70% 70% at 50% 30%,rgb(228 0 124/.22),transparent 72%),var(--cristal)}

/* ───────── banda de borrador: aviso fijo, en la noche ───────── */
.banda{position:sticky;top:0;z-index:40;margin:0;height:var(--banda);display:flex;align-items:center;justify-content:center;gap:14px;padding:0 36px;
 background:var(--noche);border-bottom:1px solid rgb(255 212 0/.35);font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amarillo)}
.banda::before,.banda::after{content:"";position:absolute;top:0;bottom:0;width:20px;background:repeating-linear-gradient(-45deg,var(--amarillo) 0 5px,transparent 5px 10px);opacity:.85}
.banda::before{left:0}.banda::after{right:0}
.banda-d{display:none;letter-spacing:.02em;text-transform:none;font:500 12px/1 var(--sans);color:var(--letra-sutil)}
@media (min-width:720px){.banda-d{display:inline}}

/* ───────── «Ahora tú»: el mapa que se toca, después del relato ───────── */
.explora{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"t" "k" "q" "m" "c";color:var(--letra);overflow:clip;
 background:linear-gradient(180deg,var(--noche),rgb(7 8 12/0) 160px),radial-gradient(70% 40% at 8% 0%,rgb(0 163 224/.22),transparent 70%),radial-gradient(60% 22% at 50% 72%,rgb(200 230 255/.08),transparent 70%),var(--noche)}
.ex-cab{grid-area:t;position:relative;z-index:2;padding:72px var(--g) 0}
.ex-cab h2{margin:0;font:900 clamp(44px,12vw,72px)/.88 var(--sans);font-stretch:62%;text-transform:uppercase;color:var(--claro);text-wrap:balance}
.ex-cab h2 em{font:italic 400 1.06em/.85 var(--serif);text-transform:none;color:var(--cian-t)}
.ex-l{margin:12px 0 0;max-width:36ch;font:600 18px/1.4 var(--sans);font-stretch:92%;color:var(--claro);text-wrap:pretty}
.p-texto{position:relative;z-index:2;padding:22px var(--g) 28px}
/* la luz del título: el cian encendido arriba a la izquierda (nunca color de partido) */
.p-texto::before{content:"";position:absolute;inset:0 0 -30vh;z-index:-1;pointer-events:none;background:radial-gradient(80% 50% at 8% 0%,rgb(0 163 224/.3),rgb(0 163 224/.1) 42%,transparent 72%)}
.marca{display:flex;align-items:center;gap:10px;margin:0 0 22px;font:800 17px/1 var(--sans);font-stretch:70%;letter-spacing:.06em;text-transform:uppercase;color:var(--claro)}
.marca .regreso{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:inherit;text-decoration:none}
.marca .regreso:active{transform:translateY(1px)}
.marca i{margin-left:-3px;font:italic 400 20px/1 var(--serif);text-transform:none;letter-spacing:0;color:var(--cian-t)}
/* la cápsula de la casa: mitad amarilla, mitad blanca, con su brillo */
.capsula{flex:none;display:inline-block;width:26px;height:13px;border-radius:7px;transform:rotate(-24deg);
 background:linear-gradient(90deg,var(--amarillo) 50%,#f4f2f8 50%);box-shadow:inset 0 -2px 2px rgb(0 0 0/.25),inset 0 2px 2px rgb(255 255 255/.55),0 0 18px rgb(255 212 0/.18)}
.rotulo{display:flex;align-items:center;gap:12px;margin:0 0 14px;font:600 12px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cian-t)}
.titular{margin:0;font:900 clamp(44px,12.4vw,98px)/.9 var(--sans);font-stretch:62%;letter-spacing:-.005em;text-transform:uppercase;color:var(--claro);text-wrap:balance}
.titular em{font:italic 400 1.06em/.8 var(--serif);text-transform:none;letter-spacing:-.01em;padding:0 .04em 0 0;color:var(--cian-t)}
.bajada{margin:14px 0 0;max-width:27ch;font:800 clamp(19px,5.2vw,26px)/1.14 var(--sans);font-stretch:82%;color:var(--claro);text-wrap:balance}
.entrada{margin:8px 0 0;max-width:40ch;font:400 15.5px/1.45 var(--sans);color:var(--letra-sutil);text-wrap:pretty}
.pildora{display:inline-flex;align-items:center;gap:10px;margin:14px 0 0;min-height:36px;padding:6px 16px;border-radius:18px;
 font:500 12.5px/1.35 var(--mono);color:var(--letra);background:var(--cristal);box-shadow:var(--brillo);text-wrap:balance}

/* el momento de película: la luz de la escena se enciende, el titular sube y el mapa aparece. 900 ms, una sola vez,
   se salta con cualquier toque o tecla (html.quieto) y no existe con movimiento reducido */
html.js:not(.quieto) .p-texto::before,html.js:not(.quieto) .esc-luz{animation:enciende .9s var(--entra) both}
html.js:not(.quieto) .p-texto>*{animation:sube .52s var(--entra) both}
html.js:not(.quieto) .p-texto>:nth-child(2){animation-delay:.07s}
html.js:not(.quieto) .p-texto>:nth-child(3){animation-delay:.14s}
html.js:not(.quieto) .p-texto>:nth-child(4){animation-delay:.24s}
html.js:not(.quieto) .p-texto>:nth-child(n+5){animation-delay:.32s}
html.js:not(.quieto) .esc-mapa{animation:aparece .9s var(--entra) .26s both}
@keyframes enciende{from{opacity:0}}
@keyframes sube{from{opacity:0;transform:translateY(14px)}}
@keyframes aparece{from{opacity:0;scale:.92}}

.mapa{grid-area:m;position:relative;margin:4px 0 0;height:calc(100vw * .75);min-height:230px;max-height:560px;isolation:isolate;touch-action:pan-y;user-select:none;-webkit-user-select:none}
/* el piso de luz: el país flota sobre un óvalo pálido, como en la Dosis entera */
.mapa::before{content:"";position:absolute;left:4%;right:4%;bottom:2%;height:46%;pointer-events:none;z-index:0;border-radius:50%;
 background:radial-gradient(50% 50% at 50% 50%,rgb(200 230 255/.1),rgb(200 230 255/.035) 55%,transparent 72%)}
@media (min-width:600px) and (max-width:1023px){.mapa{height:min(56svh,calc(100vw * .6 + 40px))}}
.c-corta{display:none}
@media (max-width:480px){
 .p-texto{padding:14px var(--g) 24px}
 .marca{margin-bottom:16px}
 .rotulo{margin-bottom:10px}
 .titular{font-size:clamp(34px,10.6vw,46px);line-height:.92}
 .bajada{margin-top:10px;font-size:18px}
 .entrada{margin-top:6px;font-size:14.5px;line-height:1.4}
 .pildora{margin-top:10px;min-height:32px;padding:4px 14px}
 .c-larga{display:none}.c-corta{display:inline}
 .control{margin-top:16px}
 .camaras button{min-height:44px}
 .clave{margin-top:10px;font-size:13.5px}
 /* el rótulo de Alaska y Hawái baja a dos renglones: la leyenda le deja aire */
 .mandos{padding-top:22px}
}
.mapa-svg-c{position:absolute;left:var(--g);right:var(--g);top:50%;transform:translateY(-50%);aspect-ratio:781/517;max-height:100%;margin:auto}
@media (max-width:1023px){.mapa-svg-c{top:4px;transform:none}}
.mapa[data-render="3d"] .mapa-svg-c{visibility:hidden}
.lienzo{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.mapa:focus-visible{outline:2px solid var(--amarillo);outline-offset:-6px;box-shadow:none}
.mapa-svg{display:block;width:100%;height:100%;overflow:visible}

/* mapa estático (sin WebGL, sin JS o con movimiento reducido): misma lectura, quieto */
.mapa-svg .st path{fill:url(#pt-pend);stroke:var(--negro);stroke-width:.8;stroke-linejoin:round;transition:stroke .16s var(--entra)}
.mapa-svg .inerte{fill:var(--noche-3);stroke:var(--negro);stroke-width:.5}
.mapa-svg .recuadro{fill:none;stroke:var(--linea-f);stroke-width:1;stroke-dasharray:3 4}
.mapa[data-modo="senado"] .s-sin_eleccion path:not(.halo){fill:url(#pt-fuera);stroke:var(--letra-sutil);stroke-width:1.5px;vector-effect:non-scaling-stroke}
.mapa-svg .toque{fill:transparent;stroke:none}
.mapa-svg .halo{fill:none!important;stroke:transparent!important;stroke-width:22px!important;pointer-events:stroke}
.mapa[data-modo="senado"] .s-proyectado-D path,.mapa[data-modo="senado"] .s-oficial-D path{fill:url(#pt-D)}
.mapa[data-modo="senado"] .s-proyectado-R path,.mapa[data-modo="senado"] .s-oficial-R path{fill:url(#pt-R)}
.mapa-svg .m-cam{fill:var(--claro);stroke:var(--negro);stroke-width:2.5;opacity:0;transition:opacity .2s var(--entra)}
.mapa[data-modo="camara"] .m-cam{opacity:1}
.mapa-svg a:hover path:not(.halo),.mapa-svg a:focus-visible path:not(.halo){stroke:var(--amarillo);stroke-width:2}
.mapa-svg a:focus-visible{outline:none}
.mapa-svg a.sel path:not(.halo){stroke:var(--amarillo);stroke-width:4;paint-order:stroke}

/* etiquetas sobre el mapa: la letra del partido en su ficha y el rótulo en cristal */
.chip{position:absolute;z-index:3;transform:translate(-50%,-50%) scale(var(--inv,1));display:inline-flex;align-items:center;gap:4px;padding:0;border-radius:999px;
 font:600 12px/1 var(--mono);letter-spacing:0;color:var(--letra);pointer-events:none;white-space:nowrap;transition:opacity .2s var(--entra)}
.chip b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;border:1.5px solid var(--claro);font:900 12px/1 var(--sans);color:#fff;text-shadow:0 0 2px rgb(0 0 0/.6);box-shadow:0 2px 6px rgb(0 0 0/.7)}
.chip.p-D b{background:var(--D)}.chip.p-R b{background:var(--R)}.chip.p-I b{background:var(--noche-3);color:var(--letra)}
.chip span{display:none;padding:4px 7px 3px;border-radius:999px;background:rgb(7 8 12/.86);box-shadow:var(--brillo)}
/* en el teléfono, sólo la letra (la clave encima del mapa dice qué es «proyectado»); en pantallas medianas, «proy.» */
@media (min-width:481px){.chip .corta{display:inline}}
@media (min-width:600px){.chip .larga{display:inline}.chip .corta{display:none}}
.mapa[data-modo="camara"] .chip-sen{opacity:0}
/* si dos rótulos se enciman (el noreste), el estado más chico se queda sólo con su letra */
.chip.solo-letra span{display:none!important}
.chip-cam{width:13px;height:13px;border:2.5px solid var(--negro);background:var(--claro);opacity:0;box-shadow:0 0 0 1.5px var(--claro),0 0 10px rgb(255 255 255/.45)}
.mapa[data-modo="camara"] .chip-cam{opacity:1}
.rec-r{position:absolute;z-index:2;min-width:min(250px,64vw);padding:4px 6px 3px 0;background:transparent;font:500 calc(12px * var(--inv,1))/1.3 var(--mono);color:var(--letra-sutil);text-align:left;pointer-events:none;text-shadow:0 0 6px var(--noche),0 0 2px var(--noche)}
.marcas3d{position:absolute;inset:0;pointer-events:none;z-index:3}
/* mapa angosto (junto a la hoja): sólo la letra, para que ninguna etiqueta tape la de otro estado */
@media (min-width:481px){.marcas3d.compacto .chip .larga,.marcas3d.compacto .chip .corta{display:none}}
/* el estado elegido: la etiqueta amarilla con su nombre (lo que se toca) */
.sticker{position:absolute;z-index:5;left:0;top:0;margin:0;padding:6px 10px 5px;border-radius:8px;background:var(--amarillo);color:var(--negro);box-shadow:0 0 0 1.5px var(--negro),0 0 24px rgb(255 212 0/.35),0 10px 22px -8px rgb(0 0 0/.8);
 font:900 15px/1 var(--sans);font-stretch:70%;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;pointer-events:none;
 transform:rotate(-3deg);transform-origin:0 0}
.sticker::after{content:"";position:absolute;left:var(--cola,50%);bottom:-7px;width:12px;height:12px;margin-left:-6px;background:var(--amarillo);border:solid var(--negro);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.sticker[data-lado="abajo"]::after{top:-7px;bottom:auto;border-width:1.5px 0 0 1.5px}
.sticker[data-lado="izq"]::after,.sticker[data-lado="der"]::after{top:var(--cola,50%);bottom:auto;margin:-6px 0 0}
.sticker[data-lado="izq"]::after{left:auto;right:-7px;border-width:1.5px 1.5px 0 0}
.sticker[data-lado="der"]::after{left:-7px;border-width:0 0 1.5px 1.5px}
@media (max-width:600px){.sticker{padding:5px 8px 4px;font-size:13px}}
.sticker[hidden]{display:none}
html.js .sticker:not([hidden]){animation:pega .28s var(--rebota) both}
@keyframes pega{from{opacity:0;scale:.7}}
.globo{position:absolute;z-index:4;margin:0;padding:6px 10px;border-radius:10px;background:rgb(14 15 23/.94);box-shadow:var(--dura-chica);font:800 13px/1 var(--sans);font-stretch:85%;color:var(--claro);pointer-events:none;transform:translate(-50%,calc(-100% - 14px));white-space:nowrap}

/* mandos */
.mandos{grid-area:c;position:relative;z-index:2;display:grid;gap:14px;padding:8px var(--g) 28px}
html.sin-js .control,html.sin-js .pasos,html.sin-js .ley-camara,html.sin-js .clave-cam{display:none}
.control{grid-area:k;position:relative;z-index:2;margin:18px var(--g) 0;display:flex;align-items:center;gap:12px}
/* Senado / Cámara: dos cápsulas en su estuche de cristal; la elegida se enciende */
.camaras{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:var(--cristal);box-shadow:var(--brillo)}
.camaras button{min-height:44px;min-width:112px;padding:0 18px;border-radius:999px;font:900 16px/1 var(--sans);font-stretch:72%;letter-spacing:.05em;text-transform:uppercase;color:var(--letra-sutil);
 transition:transform .16s var(--entra),background-color .16s var(--entra),color .16s var(--entra)}
.camaras button[aria-checked="true"]{background:linear-gradient(180deg,#fff,#dcdbe6);color:var(--negro);box-shadow:inset 0 -2px 2px rgb(0 0 0/.18),0 0 22px rgb(255 255 255/.18)}
.camaras button:active{transform:scale(.96)}
.camaras button[aria-checked="false"]:hover{background:rgb(255 255 255/.08);color:var(--claro)}
.clave{grid-area:q;position:relative;z-index:2;margin:14px var(--g) 0;font:400 14px/1.45 var(--sans);color:var(--letra)}
.clave>span{display:flex;align-items:flex-start;gap:8px}
.clave .sw{margin-top:2px}.clave .sw+.sw{margin-left:-4px}
.clave b{font-weight:800;color:var(--claro);text-decoration:underline 2px var(--amarillo);text-underline-offset:4px}
.clave-cam,.explora[data-modo="camara"] .clave-sen{display:none!important}
.explora[data-modo="camara"] .clave-cam{display:flex!important}
.saltar{position:absolute;left:var(--g);top:0;z-index:50;display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:var(--amarillo);color:var(--negro);font:800 14px/1 var(--sans);transform:translateY(-200%)}
.saltar:focus{transform:none}
.ley{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font:600 14.5px/1.35 var(--sans);color:var(--letra)}
.ley li{display:flex;align-items:center;gap:8px}
.ley-camara{display:none}
.mapa[data-modo="camara"] ~ .mandos .ley-senado{display:none}
.mapa[data-modo="camara"] ~ .mandos .ley-camara{display:flex}
.sw{flex:none;display:inline-block;width:24px;height:16px;border-radius:4px;box-shadow:inset 0 0 0 1px rgb(255 255 255/.22)}
/* pendiente: pieza de grafito con medio tono claro; fuera de esta elección: noche honda con filo claro (igual que el mapa) */
.sw-pend{background:radial-gradient(circle,rgb(236 235 243/.42) .9px,transparent 1.2px) 0 0/4px 4px,#33354a}
.sw-graf{background:radial-gradient(circle,rgb(236 235 243/.36) 1px,transparent 1.4px) 0 0/5px 5px,#0b0c12;box-shadow:inset 0 0 0 1.5px var(--letra-sutil)}
/* D y R cubren la misma parte de su área (≈25 %): ninguno pesa más que el otro */
.sw-D{background:repeating-linear-gradient(45deg,var(--D) 0 3.6px,var(--D-osc) 3.6px 4.8px)}
.sw-R{background:radial-gradient(circle,var(--R-osc) 1.3px,transparent 1.6px) 0 0/5px 5px,var(--R)}
.sw-punto{width:15px;height:15px;border-radius:50%;background:var(--claro);border:2.5px solid var(--negro);box-shadow:0 0 0 1.5px var(--claro),0 0 10px rgb(255 255 255/.4)}
.ley-nota{margin:0;font:400 14px/1.45 var(--sans)}
.pasos{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border-top:1px solid var(--linea);padding-top:12px}
.paso{min-height:46px;min-width:46px;padding:0 16px;border-radius:999px;background:var(--cristal);box-shadow:var(--brillo);font:800 14px/1 var(--sans);font-stretch:85%;color:var(--letra);transition:background-color .16s var(--entra),color .16s var(--entra),transform .16s var(--entra)}
.paso:hover{background:var(--amarillo);color:var(--negro)}
.paso:active{transform:scale(.95)}
@media (max-width:480px){.paso-t{display:none}.paso{padding:0;width:48px}.actual{font-size:20px}}
.actual{margin:0;text-align:center;font:italic 400 22px/1.15 var(--serif);color:var(--cian-t)}
.pausa{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--cristal);box-shadow:var(--brillo);color:var(--letra)}
.pausa[hidden]{display:none}
.pausa svg{width:16px;height:16px}
.pausa path{stroke:currentColor;stroke-width:2.4;stroke-linecap:round;fill:none}
.pausa .i-sigue{fill:currentColor;stroke:none;display:none}
.pausa[aria-pressed="true"] .i-sigue{display:inline}.pausa[aria-pressed="true"] .i-pausa{display:none}
.pausa:hover{background:var(--amarillo);color:var(--negro)}

/* ───────── la ficha: un panel de cristal que sube desde abajo ───────── */
.hoja{position:fixed;z-index:35;left:0;right:0;bottom:0;max-height:max(240px,calc(44vh - var(--banda)));max-height:max(240px,calc(44svh - var(--banda)));display:flex;flex-direction:column;
 overflow:hidden;border-radius:22px 22px 0 0;background:linear-gradient(180deg,rgb(255 255 255/.08),rgb(255 255 255/.02) 40%),var(--noche-2);color:var(--letra);
 box-shadow:inset 0 1px 0 rgb(255 255 255/.3),inset 0 0 0 1px rgb(255 255 255/.08),0 -20px 50px rgb(0 0 0/.6);
 transform:translateY(0);opacity:1;transition:transform .32s var(--entra),opacity .32s var(--entra)}
.hoja{padding-top:18px}
.hoja::before{content:"";position:absolute;left:50%;top:7px;width:44px;height:5px;margin-left:-22px;border-radius:3px;background:rgb(255 255 255/.3)}
.hoja[hidden]{display:flex;visibility:hidden;transform:translateY(24px);opacity:0;pointer-events:none;transition:transform .28s var(--sale),opacity .28s var(--sale),visibility 0s .28s}
html.sin-js .hoja{display:none}
.hoja-int{overflow:auto;overscroll-behavior:contain;padding:10px var(--g) calc(16px + env(safe-area-inset-bottom,0px))}
.hoja-int:focus,.hoja-int:focus-visible{outline:none;box-shadow:none}
.hoja-k{display:inline-flex;align-items:center;gap:8px;margin:0;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cian-t)}
.hoja-t{margin:8px 0 12px;font:900 40px/.9 var(--sans);font-stretch:62%;text-transform:uppercase;color:var(--claro)}
.hoja-c h4{display:none}
.hoja-otra{margin:12px 0 0}
.enlace{min-height:44px;font:700 14px/1 var(--sans);color:var(--cian-t);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.enlace:hover{background:var(--amarillo);color:var(--negro)}
.hoja-nav{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:auto 1fr auto;gap:10px;margin:12px calc(-1 * var(--g)) calc(-16px - env(safe-area-inset-bottom,0px));padding:12px var(--g) calc(12px + env(safe-area-inset-bottom,0px));background:var(--noche-2);border-top:1px solid var(--linea)}
.volver{min-height:46px;border-radius:999px;background:var(--amarillo);color:var(--negro);box-shadow:inset 0 -2px 2px rgb(0 0 0/.18),0 0 24px rgb(255 212 0/.22);font:900 16px/1 var(--sans);font-stretch:72%;letter-spacing:.04em;text-transform:uppercase;transition:transform .15s var(--entra)}
.volver:active{transform:scale(.97)}

/* contenido de ficha (en la hoja y en la lista) */
.ficha-c{display:grid;gap:18px}
.ficha-c h4{margin:0 0 8px;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cian-t)}
.f-nada{margin:0;padding:14px 16px;border-radius:14px;background:var(--cristal);box-shadow:var(--brillo);color:var(--letra);font:italic 400 22px/1.25 var(--serif)}
.carreras{list-style:none;margin:0;padding:0;display:grid;gap:10px}
/* cada carrera: una tarjeta de cristal con su ficha de partido */
.c{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:var(--r);background:var(--cristal);box-shadow:var(--dura-chica)}
.c-pt{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font:900 16px/1 var(--sans);color:var(--letra);background:radial-gradient(circle,rgb(236 235 243/.42) .9px,transparent 1.2px) 0 0/4px 4px,#33354a;box-shadow:inset 0 0 0 1px rgb(255 255 255/.2)}
.c.p-D .c-pt{background:repeating-linear-gradient(45deg,var(--D) 0 4.5px,var(--D-osc) 4.5px 6px);color:#fff;text-shadow:0 0 3px var(--negro),0 0 2px var(--negro);box-shadow:inset 0 0 0 1.5px rgb(255 255 255/.5)}
.c.p-R .c-pt{background:radial-gradient(circle,var(--R-osc) 1.6px,transparent 1.9px) 0 0/6px 6px,var(--R);color:#fff;text-shadow:0 0 3px var(--negro),0 0 2px var(--negro);box-shadow:inset 0 0 0 1.5px rgb(255 255 255/.5)}
.c.p-I .c-pt{background:var(--noche-3)}
.c.c-oficial.p-D .c-pt{background:var(--D)}.c.c-oficial.p-R .c-pt{background:var(--R)}
.c-n,.c-ev,.c-f{margin:0}
.c-n{font:400 15.5px/1.4 var(--sans)}
.c-n b{font-weight:800;color:var(--claro)}
.c-pa{color:var(--letra-sutil)}
.c-ev{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
/* los sellos de estado: una sola forma (cápsula de rótulo con su marca a la izquierda), y cada estado se distingue por
   forma y no sólo por color: proyectado = filo discontinuo y media cápsula; oficial = lleno; pendiente = punteado y aro vacío;
   en conteo = filo cian y punto encendido; segunda vuelta = filo doble y dos puntos */
.ev{display:inline-flex;align-items:center;gap:7px;min-height:26px;padding:4px 11px 3px 9px;border-radius:999px;font:600 12px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--letra)}
.ev::before{content:"";flex:none;width:9px;height:9px;border-radius:50%}
.ev-proy{border:1.5px dashed rgb(236 235 243/.6);background:rgb(255 255 255/.04)}
.ev-proy::before{width:14px;height:7px;border-radius:4px;background:linear-gradient(90deg,var(--claro) 50%,transparent 50%);box-shadow:inset 0 0 0 1px var(--claro)}
.ev-ofi{background:var(--claro);color:var(--negro)}
.ev-ofi::before{background:var(--negro)}
.ev-pend{border:1.5px dotted rgb(236 235 243/.55);color:var(--letra-sutil)}
.ev-pend::before{box-shadow:inset 0 0 0 1.5px var(--letra-sutil)}
.ev-conteo{border:1.5px solid rgb(0 163 224/.6);background:rgb(0 163 224/.1);color:var(--cian-t)}
.ev-conteo::before{background:var(--cian-t);box-shadow:0 0 8px var(--cian)}
.ev-vuelta{border:3px double rgb(236 235 243/.6);color:var(--claro)}
.ev-vuelta::before{width:5px;height:5px;background:var(--claro);box-shadow:7px 0 0 var(--claro);margin-right:7px}
.c-f{margin-top:4px;font:400 13.5px/1.45 var(--sans);color:var(--letra-sutil)}
.c-f a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding-right:4px;font-weight:700;color:var(--cian-t)}
.f-cuenta{margin:0 0 10px;font:400 15px/1.5 var(--sans)}
.f-cuenta b{font:900 26px/1 var(--sans);font-stretch:62%;color:var(--claro)}
.distritos{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px}
.distritos i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font:800 12px/1 var(--sans);font-style:normal;color:var(--letra);background:radial-gradient(circle,rgb(236 235 243/.4) .8px,transparent 1.1px) 0 0/4px 4px,#33354a;box-shadow:inset 0 0 0 1px rgb(255 255 255/.18)}
.distritos i.p-D{background:repeating-linear-gradient(45deg,var(--D) 0 3.6px,var(--D-osc) 3.6px 4.8px);color:#fff;text-shadow:0 0 2px var(--negro)}
.distritos i.p-R{background:radial-gradient(circle,var(--R-osc) 1.3px,transparent 1.6px) 0 0/5px 5px,var(--R);color:#fff;text-shadow:0 0 2px var(--negro)}
.f-aut{margin:0;font:400 13.5px/1.4 var(--sans);color:var(--letra-sutil)}
.f-aut a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--cian-t)}

/* lista alfabética */
.estados{position:relative;z-index:1;padding:28px var(--g) 0;max-width:1180px;margin:0 auto}
.lista-d{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.lista-d>summary{display:flex;align-items:center;gap:14px;min-height:64px;padding:14px 52px 14px 0;cursor:pointer;list-style:none;position:relative}
.lista-tx{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;min-width:0}
.lista-d>summary::-webkit-details-marker,.ficha>summary::-webkit-details-marker{display:none}
.lista-d>summary::after,.ficha>summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:900 28px/1 var(--sans);color:var(--letra);transition:transform .2s var(--entra)}
.lista-d>summary::after{display:grid;place-items:center;width:38px;height:38px;margin-top:-19px;transform:none;border-radius:50%;background:var(--amarillo);color:var(--negro);box-shadow:inset 0 -2px 2px rgb(0 0 0/.18),0 0 18px rgb(255 212 0/.2);font-size:24px}
.lista-d[open]>summary::after{transform:rotate(45deg)}
.ficha[open]>summary::after{transform:translateY(-50%) rotate(45deg)}
.lista-d>summary:hover .ico-f{box-shadow:var(--brillo),0 0 0 1px rgb(0 163 224/.5)}
#estados-t,.gubernaturas .lista-tx>span:first-child{font:900 30px/1 var(--sans);font-stretch:62%;text-transform:uppercase;color:var(--claro)}
.lista-s{font:500 14px/1.3 var(--sans);color:var(--letra-sutil)}
.lista{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0 32px}
@media (min-width:720px){.lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.lista{grid-template-columns:repeat(3,minmax(0,1fr))}}
.e{border-top:1px solid var(--linea)}
.ficha>summary{position:relative;display:grid;gap:2px;min-height:56px;padding:10px 36px 10px 0;cursor:pointer;list-style:none}
.e-n{font:800 19px/1.2 var(--sans);font-stretch:85%;color:var(--claro)}
.e-r{font:500 12.5px/1.35 var(--mono);color:var(--letra-sutil)}
.ficha>summary:hover .e-n,.e.sel .e-n{text-decoration:underline 2px var(--amarillo);text-underline-offset:4px}
.ficha[open] .ficha-c{padding:4px 0 20px}
html.js .ficha>summary::after{content:"›";transform:translateY(-50%);color:var(--cian-t)}
html.js .ficha[open]>summary::after{transform:translateY(-50%) rotate(90deg)}

/* ───────── el prospecto, a contraluz: el papelito de la caja, en cristal con la luz cian detrás ───────── */
.prospecto{--hx:14px;--p-izq:calc(var(--hx) + 24px);--p-der:var(--g);position:relative;isolation:isolate;margin:48px 0 0;padding:28px var(--p-der) 108px var(--p-izq);color:var(--letra);
 background:radial-gradient(90% 260px at 50% 0,rgb(0 163 224/.16),transparent 75%),linear-gradient(180deg,rgb(255 255 255/.045),rgb(255 255 255/.012) 400px),var(--noche-2);
 box-shadow:inset 0 1px 0 rgb(0 163 224/.45),inset 0 -1px 0 var(--linea)}
.prospecto a{color:var(--cian-t);text-decoration-color:rgb(127 214 247/.5)}
.pr-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 8px;padding-bottom:16px;border-bottom:1px solid var(--linea)}
.pr-cab span:first-child{font:900 44px/.9 var(--sans);font-stretch:62%;letter-spacing:.02em;text-transform:uppercase;color:var(--claro)}
.pr-cab span+span{font:600 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 12px 4px;border-radius:999px;color:var(--amarillo);box-shadow:inset 0 0 0 1.5px rgb(255 212 0/.6);background:rgb(255 212 0/.06)}
/* la dosis que llevas: una barra que se llena al leer */
.hilo{position:absolute;left:var(--hx);top:0;bottom:84px;width:8px;pointer-events:none;background:repeating-linear-gradient(rgb(255 255 255/.28) 0 6px,transparent 6px 12px) 50% 0/2px 100% no-repeat}
.hilo-l{position:absolute;inset:0;background:linear-gradient(180deg,#fff3a6,var(--amarillo));border-radius:4px;box-shadow:0 0 14px rgb(255 212 0/.45);transform-origin:top;transform:scaleY(var(--hilo,1))}
.nudo{position:absolute;left:calc(var(--hx) - 8px);bottom:28px;display:flex;align-items:center;gap:10px;pointer-events:none}
.nudo-c{display:block;width:24px;height:44px;border-radius:12px;background:linear-gradient(var(--amarillo) 50%,#f4f2f8 50%);box-shadow:inset 0 -2px 3px rgb(0 0 0/.25),inset 2px 0 2px rgb(255 255 255/.5),0 0 22px rgb(255 212 0/.3)}
.nudo span{font:900 18px/1 var(--sans);font-stretch:70%;text-transform:uppercase;color:var(--claro)}
html.js .nudo{opacity:0;transition:opacity .6s var(--entra)}
html.js .nudo.visto{opacity:1}

/* cada pliego se separa con una línea perforada, como un blíster */
.pliego{position:relative;padding:72px 0 8px;background:radial-gradient(circle,rgb(255 255 255/.24) 1.4px,transparent 1.8px) 0 0/11px 4px repeat-x}
.pr-cab+.pliego{background:none;padding-top:36px}
.pl-k{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;font:600 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cian-t)}
/* el número es una cápsula, junto al ícono de su tema */
.pl-k b{display:grid;place-items:center;width:44px;height:24px;border-radius:12px;background:linear-gradient(90deg,var(--amarillo) 50%,#f4f2f8 50%);color:var(--negro);font:900 15px/1 var(--sans);font-stretch:70%;letter-spacing:0;box-shadow:inset 0 -2px 2px rgb(0 0 0/.22),inset 0 2px 2px rgb(255 255 255/.5)}
.pl-rol{font:500 12px/1.3 var(--sans);letter-spacing:.02em;text-transform:none;color:var(--letra-sutil)}
.pliego h2{margin:0;font:900 clamp(44px,12.6vw,84px)/.88 var(--sans);font-stretch:62%;letter-spacing:-.005em;text-transform:uppercase;color:var(--claro);text-wrap:balance}
.pliego h2 em{font:italic 400 1.04em/.85 var(--serif);text-transform:none;letter-spacing:-.01em;padding:0 .04em 0 0;color:var(--cian-t)}
.pl-l{margin:16px 0 0;max-width:36ch;font:600 clamp(18px,4.8vw,22px)/1.35 var(--sans);font-stretch:92%;color:var(--claro);text-wrap:pretty}
.pl-f{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;margin:24px 0 0;font:500 12.5px/1.5 var(--mono);color:var(--letra-sutil)}
.pl-f a{font-weight:600}
.pl-f a,.pl-f-i a,.rem a,.fuentes-l a,a.t-s{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
/* etiqueta de advertencia de botica: ámbar de aviso, sin girar */
.pl-aviso,.calco{display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;padding:6px 12px 5px;border-radius:8px;color:var(--amarillo);background:rgb(255 212 0/.07);box-shadow:inset 0 0 0 1.5px rgb(255 212 0/.65);
 font:800 14px/1.2 var(--sans);font-stretch:85%;text-transform:uppercase;letter-spacing:.03em}
.pl-aviso::before,.calco::before{content:"!";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--amarillo);color:var(--negro);font:900 11px/1 var(--sans)}
.pl-m{margin:20px 0 0;max-width:62ch;font:400 15px/1.55 var(--sans);color:var(--letra-sutil)}
.num{font:900 2.2em/.9 var(--sans);font-stretch:62%;color:var(--claro);margin-right:.12em}

/* calcomanías y sello: el guiño va al trámite, nunca a partidos */
.calco{font-size:16px}
.sello{display:inline-block;margin:22px 0 0;padding:10px 16px 8px;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--letra-sutil);outline:1px solid rgb(236 235 243/.4);outline-offset:-7px;
 font:900 15px/1.05 var(--sans);font-stretch:70%;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--letra);transform:rotate(-5deg)}
.sello span{display:block;font-size:22px;letter-spacing:.02em;color:var(--claro)}
.cara-p{position:relative}
.carta-px{position:absolute;right:16px;top:16px;width:34px;height:16px;border-radius:8px;background:linear-gradient(90deg,var(--amarillo) 50%,#f4f2f8 50%);box-shadow:inset 0 -2px 2px rgb(0 0 0/.25),inset 0 2px 2px rgb(255 255 255/.5);transform:rotate(-24deg)}

/* 1 · puntos */
.dos{display:grid;gap:32px;margin-top:32px}
.cifra{margin:0}
.cifra figcaption{margin-top:14px;font:400 16px/1.5 var(--sans);max-width:44ch}
.puntos{display:block;width:100%;height:auto}
.puntos circle{fill:var(--letra)}
.p-sen circle{fill:none;stroke:rgb(236 235 243/.55);stroke-width:1.2}
.p-sen circle.on{fill:var(--amarillo);stroke:var(--amarillo);stroke-width:1.4}
html.js .p-sen circle.on{fill:var(--noche-2);transition:fill .3s var(--entra);transition-delay:calc(var(--i) * 8ms)}
html.js .visto .p-sen circle.on{fill:var(--amarillo)}

/* 2 · ruta */
.ruta{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0}
.ruta li{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;padding:0 0 22px}
.ruta li::before{content:"";position:absolute;left:22px;top:46px;bottom:0;width:2px;background:repeating-linear-gradient(rgb(127 214 247/.55) 0 5px,transparent 5px 9px)}
.ruta li:last-child::before{display:none}
.ruta-n{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font:900 20px/1 var(--sans);font-stretch:70%;color:var(--claro);background:var(--cristal);box-shadow:var(--brillo),0 0 0 1px rgb(0 163 224/.45)}
.ruta-fin .ruta-n{background:var(--amarillo);color:var(--negro);box-shadow:inset 0 -2px 2px rgb(0 0 0/.2),0 0 24px rgb(255 212 0/.3)}
.ruta b{align-self:end;font:900 28px/1 var(--sans);font-stretch:62%;text-transform:uppercase;color:var(--claro)}
.ruta li>span:last-child{font:400 15px/1.45 var(--sans);color:var(--letra-sutil)}
.atrib{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}
.atrib li{padding:14px 16px;border-radius:var(--r);background:var(--cristal);box-shadow:var(--dura-chica);font:400 15px/1.45 var(--sans)}
.atrib b{display:block;margin-bottom:4px;font:600 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cian-t)}

/* 3 · cartas que se voltean: cristal por delante, la respuesta en claro por detrás */
.cartas{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:18px}
.carta{display:grid;width:100%;min-height:156px;text-align:left;perspective:1000px}
.cara{grid-area:1/1;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:var(--r);font:900 27px/1.02 var(--sans);font-stretch:70%;text-transform:uppercase;color:var(--claro);
 background:var(--cristal);box-shadow:var(--dura);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .42s var(--entra),opacity .42s var(--entra),box-shadow .16s var(--entra)}
.cara-r{background:linear-gradient(180deg,#ffffff,#e6e6ee);color:#15152a;font:500 16px/1.5 var(--sans);text-transform:none;box-shadow:0 0 0 1px rgb(255 255 255/.6),0 0 30px rgb(255 255 255/.12),0 24px 48px -22px rgb(0 0 0/.9)}
.carta-k{font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cian-t)}
.cara-r .carta-k{color:#00577a}
.cara-r{justify-content:flex-start;gap:8px}
.carta-no{display:inline-block;align-self:flex-start;font:900 52px/.9 var(--sans);font-stretch:62%;color:var(--negro);background:var(--amarillo);border-radius:6px;padding:4px 10px 0;transform:rotate(-4deg)}
html.sin-js .carta{gap:8px}
html.sin-js .cara-r{grid-area:auto}
html.sin-js .cara-p{gap:10px}
html.js .cara-r{transform:rotateY(180deg)}
html.js .carta[aria-expanded="true"] .cara-p{transform:rotateY(-180deg)}
html.js .carta[aria-expanded="true"] .cara-r{transform:rotateY(0)}
html.js .carta:hover .cara-p{box-shadow:var(--dura),0 0 0 1px rgb(255 212 0/.7)}
html.js .cara-p::after{content:"Toca para voltear ↻";align-self:flex-start;font:600 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px 5px;border-radius:999px;color:var(--negro);background:var(--amarillo)}

/* 4 · México */
.expo{margin:32px 0 0;display:grid;gap:18px}
.cien{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;max-width:240px;padding:10px;border-radius:14px;background:var(--cristal);box-shadow:var(--dura-chica)}
.cien i{aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px rgb(236 235 243/.4)}
.cien i.on{background:var(--letra)}
html.js .cien i.on{background:transparent;transition:background-color .3s var(--entra)}
html.js .visto .cien i.on{background:var(--letra)}
.expo figcaption{font:400 16px/1.5 var(--sans);max-width:42ch}
.pl-f-i{display:block;margin-top:8px;font:500 12.5px/1.5 var(--mono);color:var(--letra-sutil)}
.pl-f-i a{font-weight:600}
/* remesas: dos tickets de cristal, con sus muescas */
.remesas{display:grid;gap:12px;margin-top:40px}
.rem{display:grid;gap:6px;margin:0;padding:18px 20px 16px;border-radius:14px;background:var(--cristal);box-shadow:var(--brillo);
 -webkit-mask:radial-gradient(circle 7px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
 mask:radial-gradient(circle 7px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.rem .num{font-size:56px}
.rem span{font:400 16px/1.45 var(--sans)}
.rem a{font:600 12.5px/1.4 var(--mono)}
.rem-no{margin:0;padding:0 4px;font:italic 400 20px/1.25 var(--serif);text-align:center;color:var(--cian-t)}

/* 5 · barras (Rol): renglones en el teléfono, columnas en la computadora */
.hist{margin:32px 0 0}
.barras{list-style:none;margin:0;padding:0;display:grid;gap:3px;--cero:.111}
.b-escala{display:none}
.b{display:grid;grid-template-columns:42px 18px minmax(0,1fr) 38px;align-items:center;gap:6px;font:500 13px/1 var(--mono)}
.b-a{color:var(--letra-sutil);font-variant-numeric:tabular-nums}
.b-p{font:800 12px/1 var(--sans);text-align:center}
.b-t{position:relative;height:14px}
.b-t::before{content:"";position:absolute;top:-2px;bottom:-2px;left:calc((1 - var(--cero)) * 100%);width:2px;background:var(--letra)}
.b-t i{position:absolute;top:0;bottom:0;width:calc(var(--v) * 100%);border-radius:2px;background:rgb(236 235 243/.72);transition:transform .7s var(--entra)}
.baja .b-t i{right:calc(var(--cero) * 100%);transform-origin:right}
.sube .b-t i{left:calc((1 - var(--cero)) * 100%);transform-origin:left;background:var(--amarillo);box-shadow:0 0 12px rgb(255 212 0/.4)}
.b-v{text-align:right;font-variant-numeric:tabular-nums}
.sube .b-v{font-weight:800;color:var(--amarillo)}
html.js .barras:not(.visto) .b-t i{transform:scaleX(0)}
.hist figcaption{margin-top:14px;font:400 14px/1.5 var(--sans);color:var(--letra-sutil)}

/* 6 · posología: el calendario de tomas, una cápsula por fecha */
.linea{-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 28px),transparent);list-style:none;margin:32px calc(-1 * var(--g)) 0 0;padding:28px var(--g) 18px 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,64%);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;
 background:linear-gradient(rgb(127 214 247/.5),rgb(127 214 247/.5)) 0 37px/100% 2px no-repeat}
.t{position:relative;scroll-snap-align:center;padding:34px 20px 0 0}
.t::before{content:"";position:absolute;left:0;top:0;width:34px;height:18px;border-radius:9px;background:var(--noche-2);box-shadow:inset 0 0 0 1.5px rgb(236 235 243/.6)}
.t-hecho::before,.t-fin::before{background:var(--letra);box-shadow:none}
.t-hoy::before{background:linear-gradient(90deg,var(--amarillo) 50%,#f4f2f8 50%);box-shadow:inset 0 -2px 2px rgb(0 0 0/.22),0 0 18px rgb(255 212 0/.4)}
html.js .t-hoy.late::before{animation:late .6s var(--rebota) 1}
@keyframes late{50%{transform:scale(1.2) rotate(-8deg)}}
.t-f{display:block;font:600 13px/1.2 var(--mono);text-transform:lowercase;color:var(--letra-sutil)}
.t-f b{display:inline;margin-right:4px;font:900 46px/1 var(--sans);font-stretch:62%;color:var(--claro)}
.t-hoy .t-f b{color:var(--amarillo)}
.t p{margin:10px 0 8px;font:400 15.5px/1.45 var(--sans);max-width:28ch}
.t-pc{display:inline-flex;align-items:center;gap:7px;margin-top:4px;padding:4px 11px 3px 9px;border-radius:999px;border:1.5px dotted rgb(236 235 243/.55);font:600 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--letra-sutil)}
.t-pc::before{content:"";width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--letra-sutil)}
.t-s{font:600 12.5px/1.4 var(--mono);color:var(--cian-t)}
a.t-s{padding-right:8px}
/* teléfono: el calendario se apila, con la línea a la izquierda */
@media (max-width:599px){
 .linea{-webkit-mask-image:none;mask-image:none;margin:28px 0 0;padding:0 0 0 46px;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;scroll-snap-type:none;
  background:linear-gradient(rgb(127 214 247/.5),rgb(127 214 247/.5)) 16px 8px/2px calc(100% - 40px) no-repeat}
 .t{padding:0 0 24px}
 .t::before{left:-46px;top:4px}
 .t p{margin:6px 0 2px}
}

/* 7 · composición (fuentes y método) */
.metodo{margin:28px 0 0;padding:0 0 0 20px;display:grid;gap:10px;font:400 15.5px/1.55 var(--sans);max-width:62ch}
.metodo li::marker{content:"◆  ";color:var(--cian)}
.metodo b{color:var(--claro)}
.fuentes-d{margin:28px 0 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.fuentes-d>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;min-height:56px;padding:16px 50px 16px 0;cursor:pointer;list-style:none;position:relative;font:900 26px/1.05 var(--sans);font-stretch:70%;text-transform:uppercase;color:var(--claro)}
.fuentes-d>summary::-webkit-details-marker{display:none}
.fuentes-d>summary span{font:500 12.5px/1.3 var(--mono);text-transform:none;color:var(--letra-sutil)}
.fuentes-d>summary::after{content:"+";position:absolute;right:2px;top:50%;display:grid;place-items:center;width:38px;height:38px;margin-top:-19px;border-radius:50%;background:var(--amarillo);color:var(--negro);box-shadow:inset 0 -2px 2px rgb(0 0 0/.18),0 0 18px rgb(255 212 0/.2);font:900 24px/1 var(--sans);transition:transform .2s var(--entra)}
.fuentes-d[open]>summary::after{transform:rotate(45deg)}
.fuentes-n{margin:0 0 8px;font:400 14px/1.5 var(--sans);color:var(--letra-sutil)}
.fuentes-l{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:0}
.fuentes-l li{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;padding:0;border-top:1px solid var(--linea)}
.fuentes-l a{font:600 15px/1.35 var(--sans);padding-block:6px}
.fuentes-l span{font:500 12px/1.4 var(--mono);color:var(--letra-sutil)}

/* pie: la contraportada, con el magenta encendido abajo a la derecha */
.pie{display:grid;gap:22px;padding:64px var(--g) calc(48px + env(safe-area-inset-bottom,0px));color:var(--letra);
 background:radial-gradient(60% 70% at 100% 100%,rgb(228 0 124/.2),rgb(228 0 124/.06) 45%,transparent 72%),var(--noche)}
.pie>*{max-width:1180px}
.pie a{color:var(--cian-t)}
.firma{display:flex;align-items:center;gap:14px;margin:0;font:900 clamp(34px,9vw,56px)/.92 var(--sans);font-stretch:62%;text-transform:uppercase;color:var(--claro)}
.firma i{margin-left:-6px;font:italic 400 1.1em/1 var(--serif);text-transform:none;color:var(--cian-t)}
.firma .capsula{width:44px;height:22px;border-radius:11px}
.pie-k{display:inline-block;margin:0 0 10px;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amarillo)}
.codigo ol{margin:0;padding-left:22px;display:grid;gap:4px;font:400 15px/1.5 var(--sans)}
.codigo li::marker{color:var(--amarillo);font-family:var(--mono)}
.ia,.corte{margin:0;font:400 13px/1.5 var(--mono);color:var(--letra-sutil);max-width:62ch}
.borrador{justify-self:start;margin:0;padding:6px 12px 5px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--amarillo);font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amarillo)}

/* ───────── el relato: un escenario fijo y seis escenas que suben, de lo general a lo particular ─────────
   El país → el Senado → la Cámara → las gubernaturas → lo que falta → qué sigue. Cada escena trae su luz:
   cian (el país, de noche), platino (el Senado, luz de sala), magenta (la Cámara), cian de nuevo (los estados),
   cian y magenta (lo que sigue en conteo y lo que vuelve a votar) y el amanecer amarillo (lo que sigue y la acción).
   Partidos (D, R) sólo pintan resultados de partido; los colores de Dosis y de estado van en luz, filo, rótulo y tarjeta,
   nunca como relleno de un estado. Movimiento: opacidad de las capas y una cámara suave (transform), 700 a 900 ms. */
:root{
 --perla:#f4f2f8;--tinta:#15152a;--tinta-s:#46465c;--cian-h:#00577a;
 /* los estados de una carrera: cada uno con forma y palabra, además del color */
 --st-conteo:var(--cian);--st-conteo-t:var(--cian-t);--st-vuelta:var(--magenta-t);--st-pend:var(--letra-sutil);--st-meta:var(--amarillo)
}
.relato{position:relative;isolation:isolate}
.baja-cue{display:flex;align-items:center;gap:10px;margin:22px 0 0;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--letra-sutil)}
.baja-cue i{width:2px;height:28px;border-radius:2px;background:linear-gradient(var(--amarillo),transparent);transform-origin:top}
html.js:not(.quieto) .baja-cue i{animation:cae 1.4s var(--entra) .9s 2 both}
@keyframes cae{from{transform:scaleY(0)}}
html:not(.js) .baja-cue{display:none}

/* el escenario: se queda fijo mientras las tarjetas suben (sin JS, no existe: el texto se lee completo) */
.escena{position:sticky;top:var(--banda);z-index:0;height:calc(100vh - var(--banda));height:calc(100svh - var(--banda));overflow:hidden;pointer-events:none}
html:not(.js) .escena{display:none}
.esc-luz,.esc-luz i{position:absolute;inset:0}
.esc-luz i{opacity:0;transition:opacity .9s var(--entra)}
.esc-luz{-webkit-mask-image:linear-gradient(180deg,transparent,#000 120px,#000 calc(100% - 160px),transparent);mask-image:linear-gradient(180deg,transparent,#000 120px,#000 calc(100% - 160px),transparent)}
.esc-luz [data-capa="pais"]{background:radial-gradient(80% 55% at 15% 10%,rgb(0 163 224/.28),transparent 70%),radial-gradient(70% 30% at 50% 46%,rgb(200 230 255/.08),transparent 70%)}
.esc-luz [data-capa="senado"]{background:radial-gradient(70% 50% at 50% 0%,rgb(236 235 243/.16),transparent 70%),radial-gradient(70% 30% at 50% 46%,rgb(200 230 255/.07),transparent 70%)}
.esc-luz [data-capa="camara"]{background:radial-gradient(80% 55% at 90% 8%,rgb(228 0 124/.3),transparent 70%),radial-gradient(60% 40% at 10% 60%,rgb(228 0 124/.1),transparent 70%)}
.esc-luz [data-capa="gob"]{background:radial-gradient(80% 55% at 95% 20%,rgb(0 163 224/.26),transparent 70%),radial-gradient(70% 30% at 50% 46%,rgb(200 230 255/.06),transparent 70%)}
.esc-luz [data-capa="falta"]{background:radial-gradient(60% 50% at 0% 30%,rgb(0 163 224/.22),transparent 70%),radial-gradient(60% 50% at 100% 30%,rgb(228 0 124/.22),transparent 70%)}
.esc-luz [data-capa="sigue"]{background:radial-gradient(110% 60% at 50% 100%,rgb(255 212 0/.3),rgb(255 150 60/.08) 45%,transparent 75%),radial-gradient(60% 30% at 50% 0%,rgb(0 163 224/.12),transparent 70%)}
.esc-marco{position:absolute;left:var(--g);right:var(--g);top:10px;display:grid;gap:10px}
.esc-mapa{position:relative;width:100%;aspect-ratio:781/517;transform-origin:50% 50%;transition:transform .9s var(--entra)}
.r-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.capa{opacity:0;transition:opacity .7s var(--entra)}
/* la escena encendida: su luz, su capa del mapa, sus rótulos y su clave */
.relato[data-escena="pais"] .escena [data-capa="pais"],.relato[data-escena="senado"] .escena [data-capa="senado"],
.relato[data-escena="camara"] .escena [data-capa="camara"],.relato[data-escena="gob"] .escena [data-capa="gob"],
.relato[data-escena="falta"] .escena [data-capa="falta"],.relato[data-escena="sigue"] .escena [data-capa="sigue"]{opacity:1}
/* la cámara: de lejos al país, cerca para lo que falta, y se aleja para mirar lo que sigue */
.relato[data-escena="pais"] .esc-mapa{transform:scale(.94)}
.relato[data-escena="falta"] .esc-mapa{transform:scale(1.03)}
.relato[data-escena="sigue"] .esc-mapa{transform:scale(.9) translateY(-2%)}

/* las piezas (los <use> heredan relleno y filo; el filo mide lo mismo en pantalla a cualquier tamaño) */
:where(.r-svg) use{stroke:var(--negro);stroke-width:1px;stroke-linejoin:round}
.r-st,.r-dc{fill:#1a1b2c}
.r-rec{fill:none;stroke:var(--linea-f);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.r-luz{fill:#bfc2d0;stroke:#4b4d63}
.r-D{fill:url(#rp-D)}.r-R{fill:url(#rp-R)}.r-pend{fill:url(#rp-pend)}
.r-fuera{fill:url(#rp-fuera);stroke:var(--letra-sutil);stroke-width:1.25px}
.r-filo-conteo{stroke:var(--st-conteo);stroke-width:2.5px}
.r-filo-vuelta{stroke:var(--st-vuelta);stroke-width:2.5px;stroke-dasharray:5 3}
.r-burbuja{fill:rgb(255 244 250/.88);stroke:var(--negro);stroke-width:1.2px;vector-effect:non-scaling-stroke}
.r-falta{fill:url(#rp-falta)}
.r-f-conteo{stroke:var(--st-conteo);stroke-width:3px}
.r-f-vuelta{stroke:var(--st-vuelta);stroke-width:3px;stroke-dasharray:6 3}
.r-f-pend{stroke:var(--st-pend);stroke-width:1.5px;stroke-dasharray:2 3}
.r-meta{fill:rgb(255 212 0/.2);stroke:var(--st-meta);stroke-width:3px}
.r-capitolio{fill:var(--amarillo);stroke:var(--negro);stroke-width:2px;vector-effect:non-scaling-stroke}

/* rótulos sobre el mapa: siempre con palabra, en HTML para que se lean a cualquier tamaño */
.r-rotulos{position:absolute;inset:0}
.r-num{position:absolute;display:grid;justify-items:center;transform:translate(-50%,-50%);color:var(--negro);pointer-events:none}
.r-num b{font:900 clamp(15px,4.6vw,30px)/1 var(--sans);font-stretch:62%;font-variant-numeric:tabular-nums}
.r-num span{position:absolute;top:100%;margin-top:2px;padding:2px 6px 1px;border-radius:6px;background:rgb(7 8 12/.8);font:600 11px/1.2 var(--mono);white-space:nowrap;color:var(--claro)}
.r-num-chico{transform:translate(-50%,calc(-100% - 6px));color:var(--claro)}
.r-num-chico span{top:auto;bottom:100%;margin:0 0 2px}
.r-num-chico b{text-shadow:0 0 6px var(--noche),0 0 2px var(--noche)}
.r-et{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:5px 10px 4px 8px;border-radius:999px;background:rgb(7 8 12/.9);color:var(--claro);
 font:800 13px/1 var(--sans);font-stretch:88%;white-space:nowrap;pointer-events:none;box-shadow:inset 0 0 0 1.5px var(--c,var(--letra-sutil)),0 8px 18px -8px #000}
.r-et i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--c)}
.r-et-conteo{--c:var(--st-conteo)}.r-et-conteo i{box-shadow:0 0 10px var(--cian)}
.r-et-vuelta{--c:var(--st-vuelta)}.r-et-vuelta i{width:5px;height:5px;margin-right:6px;box-shadow:7px 0 0 var(--st-vuelta)}
.r-et-meta{--c:var(--amarillo);background:var(--amarillo);color:var(--negro);box-shadow:0 0 0 1.5px var(--negro),0 0 22px rgb(255 212 0/.35)}
.r-et-meta i{background:var(--negro)}
.a-arriba{transform:translate(-50%,calc(-100% - 12px))}
.a-arriba-d{transform:translate(-18%,calc(-100% - 12px))}
.a-izq{transform:translate(calc(-100% - 12px),-50%)}
.a-der{transform:translate(12px,-50%)}
.a-abajo{transform:translate(-50%,12px)}

/* la clave de cada escena, bajo el mapa */
.esc-ley{display:grid}
.esc-ley>p{grid-area:1/1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font:600 13px/1.3 var(--sans);color:var(--letra);transition-duration:.2s}
/* la clave que sale se va rápido y la que entra espera: nunca dos claves encimadas */
.relato[data-escena="pais"] .esc-ley [data-capa="pais"],.relato[data-escena="senado"] .esc-ley [data-capa="senado"],
.relato[data-escena="camara"] .esc-ley [data-capa="camara"],.relato[data-escena="gob"] .esc-ley [data-capa="gob"],
.relato[data-escena="falta"] .esc-ley [data-capa="falta"],.relato[data-escena="sigue"] .esc-ley [data-capa="sigue"]{transition-duration:.45s;transition-delay:.22s}
.esc-ley span{display:inline-flex;align-items:center;gap:7px}
.sw-luz{background:#bfc2d0}
.sw-burbuja{width:16px;height:16px;border-radius:50%;background:rgb(255 244 250/.88);box-shadow:0 0 0 1.5px var(--negro),0 0 0 2.5px rgb(255 255 255/.25)}
.sw-nada{background:#1a1b2c}
.sw-conteo{background:#33354a;box-shadow:inset 0 0 0 2px var(--st-conteo)}
.sw-pend.sw-conteo{background:radial-gradient(circle,rgb(236 235 243/.42) .9px,transparent 1.2px) 0 0/4px 4px,#33354a}
.sw-vuelta{background:#33354a;box-shadow:inset 0 0 0 2px var(--st-vuelta);outline:1.5px dashed var(--st-vuelta);outline-offset:1px}
.sw-pcot{background:#33354a;box-shadow:none;outline:1.5px dotted var(--st-pend);outline-offset:-1px}
.sw-meta{background:rgb(255 212 0/.25);box-shadow:inset 0 0 0 2px var(--amarillo)}

/* las escenas: tarjetas que suben por encima del escenario */
.capitulos{position:relative;z-index:2;list-style:none;margin:0;padding:0}
html.js .capitulos{margin-top:calc(-100vh + var(--banda));margin-top:calc(-100svh + var(--banda))}
/* entre una tarjeta y la siguiente queda el aire de casi una pantalla, mida lo que mida la tarjeta: cuando la escena
   cambia (la tarjeta nueva cruza dos tercios de la pantalla), la anterior ya salió por arriba y el mapa nuevo se ve entero */
.cap{display:flex;align-items:flex-start;padding:0 var(--g) calc(72vh - var(--banda));padding-bottom:calc(72svh - var(--banda))}
html.js .cap:first-child{margin-top:60vh;margin-top:60svh}
.cap:last-child{min-height:0;padding-bottom:42vh;padding-bottom:42svh}
html:not(.js) .cap{min-height:0;padding:12px var(--g)}
.tarjeta{--acento:var(--cian-t);position:relative;width:100%;max-width:520px;padding:20px 20px 22px;border-radius:22px;color:var(--letra);background:var(--cristal);box-shadow:var(--dura)}
html.js .tarjeta{opacity:0;transform:translateY(24px);transition:opacity .6s var(--entra),transform .6s var(--entra)}
html.js .cap.visto .tarjeta{opacity:1;transform:none}
.cap-k{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 12px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acento)}
.cap-k .ico{color:var(--acento)}
.tarjeta h2{margin:0;font:900 clamp(32px,9vw,46px)/.9 var(--sans);font-stretch:62%;text-transform:uppercase;color:var(--claro);text-wrap:balance}
.tarjeta h2 em{font:italic 400 1.06em/.86 var(--serif);text-transform:none;letter-spacing:-.01em;color:var(--acento)}
.cap-l{margin:14px 0 0;font:500 16.5px/1.45 var(--sans);text-wrap:pretty}
.cap-l b,.cap-cifra span b{font-weight:800;color:var(--claro)}
.cap-cifra{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px;margin:18px 0 0}
.cap-cifra>span{flex:1 1 170px;padding-bottom:4px;font:500 15.5px/1.4 var(--sans);text-wrap:pretty}
.cifra-g{flex:none;font:900 clamp(60px,18vw,84px)/.8 var(--sans);font-stretch:62%;letter-spacing:-.01em;color:var(--acento);font-variant-numeric:tabular-nums}
.cifra-g small{font-size:.42em;letter-spacing:0}
.cifra-pal{font-size:clamp(44px,12vw,60px);text-transform:uppercase}
.tres{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:16px 0 0;border-top:1.5px solid currentColor}
.tres li{display:grid;gap:6px;align-content:start}
.tres .cifra-g{font-size:clamp(44px,13vw,64px)}
.tres span{font:600 13.5px/1.3 var(--sans)}
.cap-ley{list-style:none;display:grid;gap:8px;margin:16px 0 0;padding:0;font:500 15px/1.35 var(--sans)}
.cap-ley li{display:flex;align-items:flex-start;gap:10px}
.cap-ley li>.sw{margin-top:2px}
.cap-ley .ev{margin-left:4px;vertical-align:middle}
.cap-n{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--linea);font:500 13.5px/1.45 var(--sans);color:var(--letra-sutil)}
.falta{list-style:none;display:grid;gap:12px;margin:18px 0 0;padding:0}
.falta li{display:grid;gap:6px;justify-items:start;font:500 15px/1.4 var(--sans)}
.falta b{font-weight:800;color:var(--claro)}
.cap-f{display:inline-flex;align-items:center;min-height:44px;font:600 12.5px/1.3 var(--mono);color:var(--acento)}
.acciones{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.accion{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--amarillo);color:var(--negro);text-decoration:none;
 font:900 15px/1 var(--sans);font-stretch:75%;letter-spacing:.04em;text-transform:uppercase;box-shadow:inset 0 -2px 2px rgb(0 0 0/.2),0 0 24px rgb(255 212 0/.25);transition:transform .16s var(--entra)}
.accion::after{content:"↓";margin-left:8px}
.accion:hover{background:#fff;color:var(--negro)}
.accion:active{transform:scale(.96)}

/* cada escena, su tarjeta: el cian lleno, la perla de sala, el magenta, el cian de noche, el grafito y el amanecer */
.t-pais{--acento:var(--negro);--claro:var(--negro);--letra:var(--negro);--letra-sutil:#0b2a38;background:linear-gradient(160deg,#25b7ee,var(--cian) 60%);color:var(--negro);box-shadow:inset 0 1px 0 rgb(255 255 255/.5),0 0 60px -10px rgb(0 163 224/.55),0 24px 48px -22px rgb(0 0 0/.9)}
.t-pais .ico-f{background:rgb(7 8 12/.12);box-shadow:inset 0 0 0 1.5px rgb(7 8 12/.25)}
.t-pais .ico .i-d{fill:#fff}
.t-pais .cap-l b{text-decoration:underline 2px;text-underline-offset:3px}
.t-senado{--acento:var(--cian-h);--claro:var(--tinta);--letra:var(--tinta);--letra-sutil:var(--tinta-s);--linea:rgb(21 21 42/.16);background:linear-gradient(180deg,#fff,var(--perla));color:var(--tinta);box-shadow:inset 0 1px 0 #fff,0 0 60px -14px rgb(236 235 243/.45),0 24px 48px -22px rgb(0 0 0/.9)}
.t-senado .ico-f{background:var(--tinta);box-shadow:none}
.t-senado .ico{color:var(--cian)}
.t-senado .cifra-g{color:var(--tinta)}
.t-senado .ev-conteo{color:var(--cian-h);border-color:var(--cian-h);background:rgb(0 163 224/.1)}
.t-senado .ev-conteo::before{background:var(--cian-h);box-shadow:none}
.t-senado .cap-ley b{font-weight:800}
.t-camara{--acento:var(--magenta-t);background:radial-gradient(120% 80% at 0% 0%,rgb(228 0 124/.42),transparent 62%),linear-gradient(180deg,#2c0b20,#16070f);box-shadow:inset 0 1px 0 rgb(255 79 168/.6),inset 0 0 0 1px rgb(255 79 168/.25),0 0 70px -16px rgb(228 0 124/.6),0 24px 48px -22px rgb(0 0 0/.9)}
.t-camara .ico-f{background:radial-gradient(70% 70% at 50% 30%,rgb(228 0 124/.3),transparent 72%),rgb(255 255 255/.06)}
.t-gob{--acento:var(--cian-t);background:radial-gradient(120% 80% at 100% 0%,rgb(0 163 224/.36),transparent 62%),linear-gradient(180deg,#0a1b26,#070d14);box-shadow:inset 0 1px 0 rgb(127 214 247/.55),inset 0 0 0 1px rgb(127 214 247/.2),0 0 70px -16px rgb(0 163 224/.5),0 24px 48px -22px rgb(0 0 0/.9)}
.t-falta{--acento:var(--claro);background:linear-gradient(180deg,#1d1e2c,#13141e);box-shadow:inset 0 0 0 1.5px rgb(236 235 243/.12),0 0 60px -20px rgb(0 163 224/.35),0 24px 48px -22px rgb(0 0 0/.9);outline:1.5px dotted rgb(236 235 243/.4);outline-offset:-8px}
.t-falta h2 em{color:var(--cian-t)}
.t-sigue{--acento:var(--amarillo);background:radial-gradient(130% 70% at 50% 120%,rgb(255 212 0/.3),rgb(255 150 60/.06) 50%,transparent 72%),linear-gradient(180deg,#14131a,#0d0c10);box-shadow:inset 0 1px 0 rgb(255 212 0/.55),inset 0 0 0 1px rgb(255 212 0/.2),0 0 70px -16px rgb(255 212 0/.4),0 24px 48px -22px rgb(0 0 0/.9)}
.t-sigue .ico{color:var(--amarillo)}
.t-sigue .cap-cifra{display:grid;gap:10px}
.t-sigue .ico-f{background:radial-gradient(70% 70% at 50% 30%,rgb(255 212 0/.25),transparent 72%),rgb(255 255 255/.06)}
/* el sello de «segunda vuelta», con su magenta: filo doble y dos puntos */
.ev-vuelta{border-color:var(--st-vuelta);color:var(--magenta-t)}
.ev-vuelta::before{background:var(--magenta-t);box-shadow:7px 0 0 var(--magenta-t)}


/* ───────── cada pliego, su luz: el tono del fondo cambia por capítulo (y dos van en claro, para el contraste) ─────────
   cian (dos relojes) · perla (la ley) · magenta (lo que NO significa) · cian lleno (¿y a mí qué?) · platino (la historia)
   · amanecer amarillo (qué sigue) · noche (las fuentes). La barra amarilla de la lectura queda siempre encima. */
.pliego{padding-bottom:56px}
.pliego::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(-1 * var(--p-izq));right:calc(-1 * var(--p-der));pointer-events:none}
.hilo{z-index:3}
#que-es::after{background:radial-gradient(80% 60% at 100% 0%,rgb(0 163 224/.22),transparent 70%),linear-gradient(180deg,rgb(0 163 224/.1),rgb(0 163 224/.02))}
#contra::after{background:radial-gradient(80% 60% at 100% 0%,rgb(228 0 124/.3),transparent 70%),linear-gradient(180deg,rgb(228 0 124/.1),rgb(228 0 124/.03))}
#contra{--cian-t:var(--magenta-t)}
#contra .ico-f{background:radial-gradient(70% 70% at 50% 30%,rgb(228 0 124/.3),transparent 72%),var(--cristal)}
#antecedentes::after{background:radial-gradient(70% 50% at 50% 0%,rgb(236 235 243/.12),transparent 70%),#0a0b11}
#posologia::after{background:radial-gradient(90% 70% at 0% 100%,rgb(255 212 0/.18),rgb(255 150 60/.05) 45%,transparent 72%)}
#posologia{--cian-t:#ffe27a}
/* en claro: la perla de la ley y el cian lleno de México (los tokens se voltean: tinta oscura sobre luz) */
.pliego.claro{--claro:var(--tinta);--letra:var(--tinta);--letra-sutil:var(--tinta-s);--cian-t:var(--cian-h);--linea:rgb(21 21 42/.16);
 --cristal:linear-gradient(180deg,#fff,#efeef5);--brillo:inset 0 0 0 1px rgb(21 21 42/.12);--dura-chica:inset 0 0 0 1px rgb(21 21 42/.1),0 10px 22px -14px rgb(21 21 42/.45);
 background:none;color:var(--tinta)}
#para-que::after{background:linear-gradient(180deg,#fff,var(--perla))}
.pliego.claro .ico{color:var(--cian-h)}
.pliego.claro .ico .i-d{fill:#dff3fb}
.pliego.claro .ruta li::before{background:repeating-linear-gradient(rgb(0 87 122/.55) 0 5px,transparent 5px 9px)}
.pliego.claro a{color:var(--cian-h);text-decoration-color:rgb(0 87 122/.5)}
.pliego.claro a:hover{color:var(--negro)}
#mexico{--cian-h:var(--negro);--tinta-s:#0b2a38;--cristal:linear-gradient(180deg,rgb(255 255 255/.34),rgb(255 255 255/.18))}
#mexico::after{background:radial-gradient(80% 70% at 0% 0%,#38c2f2,transparent 70%),var(--cian)}
#mexico .ico .i-d{fill:#fff}
#mexico .ico-f{background:rgb(7 8 12/.1);box-shadow:inset 0 0 0 1.5px rgb(7 8 12/.25)}
#mexico .cien i{box-shadow:inset 0 0 0 1.5px rgb(7 8 12/.45)}
#mexico .num{color:var(--negro)}
#mexico a{text-decoration-color:rgb(7 8 12/.55)}

/* ───────── computadora ───────── */
@media (min-width:1024px){
 :root{--g:32px}
 .explora{grid-template-columns:minmax(400px,36%) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;grid-template-areas:"t m" "k m" "q m" "c m";min-height:calc(100vh - var(--banda));min-height:calc(100svh - var(--banda))}
 .ex-cab{padding:64px 24px 0 40px}
 /* el relato: el título y las escenas a la izquierda; el escenario fijo a la derecha */
 .relato{display:grid;grid-template-columns:minmax(420px,38%) minmax(0,1fr);grid-template-rows:auto auto}
 html:not(.js) .relato{display:block}
 .p-texto{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - var(--banda));min-height:calc(100svh - var(--banda));padding:40px 28px 48px 40px}
 .p-texto>*{max-width:560px}
 .escena{grid-column:2;grid-row:1/3;align-self:start}
 .capitulos,html.js .capitulos{grid-column:1;grid-row:2;margin-top:0}
 .cap{align-items:center;min-height:100vh;min-height:100svh;padding:0 28px 0 40px}
 html.js .cap:first-child{margin-top:0}
 .cap:last-child{min-height:100vh;min-height:100svh;padding-bottom:0}
 .tarjeta{padding:26px 28px 28px}
 .esc-luz{-webkit-mask-image:linear-gradient(90deg,transparent,#000 200px),linear-gradient(180deg,#000 calc(100% - 160px),transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 200px),linear-gradient(180deg,#000 calc(100% - 160px),transparent);mask-composite:intersect}
 .esc-marco{left:24px;right:40px;top:50%;transform:translateY(-50%);gap:18px}
 .esc-mapa{max-width:calc((100vh - var(--banda) - 150px) * 1.51);max-width:calc((100svh - var(--banda) - 150px) * 1.51);margin:0 auto}
 .esc-ley>p{justify-content:center;font-size:14.5px}
 .r-et{font-size:15px;padding:6px 12px 5px 10px}
 .r-num span{font-size:12.5px}
 .titular{font-size:clamp(52px,4.3vw,78px)}
 .control{margin:32px 24px 0 40px}
 .clave{margin:16px 24px 0 40px;max-width:460px}
 .saltar{left:40px}
 .mandos{align-self:end;padding:24px 24px 40px 40px;max-width:560px}
 .mapa{height:auto;max-height:none;min-height:600px;margin:0}
 .mapa-svg-c{left:3%;right:4%;transform-origin:50% 50%;transition:transform .32s var(--entra)}
 .hoja{left:auto;right:24px;top:calc(var(--banda) + 24px);bottom:auto;width:min(390px,30vw);max-height:calc(100vh - var(--banda) - 48px);padding-top:0;border-radius:22px;box-shadow:inset 0 1px 0 rgb(255 255 255/.3),inset 0 0 0 1px rgb(255 255 255/.08),0 0 0 1px rgb(0 163 224/.25),0 30px 70px -24px rgb(0 0 0/.85)}
 .hoja::before{display:none}
 .hoja[hidden]{transform:translateX(24px)}
 .hoja-int{padding:26px 28px 16px}
 .hoja-nav{margin:16px -28px -16px;padding:12px 28px 16px;bottom:-16px}
 .estados{padding:48px 64px 0}
 .prospecto{--hx:44px;--p-izq:calc(var(--hx) + 56px);--p-der:72px;max-width:940px;margin:120px auto 0;padding:44px var(--p-der) 120px var(--p-izq);border-radius:28px;box-shadow:inset 0 1px 0 rgb(0 163 224/.5),inset 0 0 0 1px rgb(255 255 255/.07),0 0 80px -10px rgb(0 163 224/.22),0 40px 80px -30px rgb(0 0 0/.9)}
 .pliego{padding-top:112px}
 .dos{grid-template-columns:1.45fr 1fr;align-items:end;gap:48px}
 .ruta{grid-template-columns:repeat(4,1fr);gap:16px}
 .ruta li{grid-template-columns:1fr;grid-template-rows:46px auto auto;row-gap:10px;padding:0}
 .ruta li::before{left:54px;right:-8px;top:22px;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,rgb(127 214 247/.55) 0 5px,transparent 5px 9px)}
 .pliego.claro .ruta li::before{background:repeating-linear-gradient(90deg,rgb(0 87 122/.55) 0 5px,transparent 5px 9px)}
 .pliego{padding-bottom:72px}
 .ruta-n{grid-row:auto}
 .atrib{grid-template-columns:repeat(3,1fr);margin-top:32px}
 .cartas{grid-template-columns:repeat(3,1fr)}
 .carta{min-height:230px}
 .expo{grid-template-columns:240px 1fr;align-items:center;gap:40px}
 .remesas{grid-template-columns:1fr auto 1fr;align-items:center}
 .rem-no{max-width:9ch}
 .barras{grid-template-columns:repeat(20,1fr);grid-template-rows:auto 220px auto auto;gap:0 6px;grid-auto-flow:column}
 .b{display:contents}
 .b>*{grid-column:var(--c)}
 .b-v{grid-row:1;text-align:center;font-size:12px;padding-bottom:6px;align-self:end}
 .b-t{grid-row:2;height:auto}
 .b-a{grid-row:3;text-align:center;padding-top:8px;font-size:12px}
 .b-p{grid-row:4;padding-top:4px}
 .b-t::before{left:-3px;right:-3px;width:auto;height:2px;top:calc(var(--cero) * 100%);bottom:auto}
 .b-t i{left:0;right:0;width:auto;height:calc(var(--v) * 100%)}
 .baja .b-t i{top:calc(var(--cero) * 100%);bottom:auto;right:0;transform-origin:top}
 .sube .b-t i{bottom:calc((1 - var(--cero)) * 100%);top:auto;left:0;transform-origin:bottom}
 html.js .barras:not(.visto) .b-t i{transform:scaleY(0)}
 .linea{margin-right:-72px;grid-auto-columns:minmax(220px,30%);padding-right:72px}
 .pie{padding:96px 64px 64px;grid-template-columns:1.2fr 1fr;column-gap:64px;margin-top:120px}
 .firma,.borrador{grid-column:1/-1}
}
@media (max-width:1023px){.pie{margin-top:0}}

/* movimiento reducido: el mismo contenido, completo y quieto */
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{transition-duration:0s!important;animation:none!important;transition-delay:0s!important}
 html.js .p-sen circle.on{fill:var(--amarillo)}
 html.js .cien i.on{background:var(--letra)}
 html.js .p-texto>*,html.js .esc-mapa,html.js .esc-luz{opacity:1;transform:none;scale:none}
 html.js .barras:not(.visto) .b-t i{transform:none}
 .hilo-l{transform:none}
 html.js .nudo{opacity:1}
 html.js .cara-r{transform:none;opacity:0;visibility:hidden}
 html.js .carta[aria-expanded="true"] .cara-p{transform:none;opacity:0;visibility:hidden}
 html.js .carta[aria-expanded="true"] .cara-r{opacity:1;visibility:visible}
}
@media print{.banda,.mandos,.hoja,.lienzo,.escena{display:none}.prospecto{box-shadow:none}}

/* Gubernaturas: dos listas plegables, estados y territorios por separado */
.gubernaturas .lista-d+.lista-d{border-top:0}
.gubernaturas .carreras{padding:0 0 16px;margin:0}

/* ───────── «¿Y eso qué es?» al tocar y «↑ Arriba» ─────────
   Un solo mecanismo para toda la casa (sitios/comun/glosa.js). Amarillo = lo que se toca o se subraya: la palabra lleva puntos amarillos
   (tinta oscura sobre los pliegos claros y sobre el cian de México). Sin JavaScript la palabra salta a su explicación (sección 8) y,
   la primera vez en cada tarjeta o sección, la explicación se lee al lado, entre paréntesis. */
a.termino,.prospecto a.termino{color:inherit;text-decoration:underline dotted var(--amarillo);text-decoration-thickness:2px;text-underline-offset:.22em;cursor:pointer}
.pliego.claro a.termino{color:inherit;text-decoration-color:var(--cian-h)}
#mexico a.termino{text-decoration-color:var(--negro)}
a.termino:hover,.prospecto a.termino:hover{background:var(--amarillo);color:var(--negro)}
a.termino[aria-expanded="true"]{text-decoration-style:solid;background:rgb(255 212 0/.2)}
.gl-lado{display:none;font-size:.88em;font-style:italic;color:var(--letra-sutil)}
html:not(.js) .gl-lado,html.sin-js .gl-lado{display:inline}
/* la explicación abierta: una tarjeta de tinta bajo la frase (no flota, no tapa lo que explica) */
.gl-nota{display:grid;gap:4px;flex-basis:100%;grid-column:1/-1;width:100%;max-width:60ch;margin:10px 0 6px;padding:12px 14px 6px;border-radius:12px;background:#16172a;color:#ecebf3;
 box-shadow:inset 0 0 0 1.5px var(--amarillo),0 12px 24px -16px rgb(0 0 0/.8);font:500 15px/1.45 var(--sans);letter-spacing:0;text-transform:none;font-style:normal;text-align:left;white-space:normal;text-decoration:none;cursor:auto}
.gl-nota:focus{outline:none}
.gl-nota:focus-visible{outline:2px solid #ecebf3;outline-offset:3px}
.gl-t{font:600 11.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amarillo)}
.gl-d{display:block}
.gl-nota .gl-f,.gl-nota .gl-f:hover{display:inline-flex;align-items:center;justify-self:start;min-height:44px;font:600 12.5px/1.4 var(--mono);color:#7fd6f7;background:none;text-decoration-color:rgb(127 214 247/.5)}
.gl-x{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:999px;background:var(--amarillo);color:var(--negro);font:800 14px/1 var(--sans)}
.gl-x:focus-visible{outline-color:#fff}
:has(> .gl-nota){flex-wrap:wrap}
.pl-pal{margin:16px 0 0;max-width:46ch;font:500 13px/1.6 var(--mono);color:var(--letra-sutil)}
.pl-pal b{font-weight:600;color:var(--letra)}
/* el glosario del pie: todas las palabras juntas, y lo que lee quien no tiene JavaScript */
.glosa-l{margin:28px 0 0;max-width:62ch}
.glosa-l>div{padding:14px 0;border-top:1.5px solid var(--linea-f);scroll-margin-top:calc(var(--banda) + 16px)}
.glosa-l>div:target{background:rgb(255 212 0/.1);box-shadow:0 0 0 10px rgb(255 212 0/.1)}
.glosa-l dt{margin:0;font:800 19px/1.2 var(--sans)}
.glosa-l dfn{font-style:normal}
.glosa-l dd{margin:4px 0 0;font:400 16px/1.5 var(--sans);color:var(--letra)}
.glosa-l a.f{display:inline-flex;align-items:center;min-height:44px;font:600 12.5px/1.4 var(--mono)}
/* «↑ Arriba»: aparece al bajar una pantalla, abajo a la derecha, con las zonas seguras del teléfono; se aparta del mapa y de los mandos */
.volver-arriba{position:fixed;z-index:30;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;justify-content:center;gap:6px;
 min-width:48px;min-height:48px;padding:0 18px 0 16px;border-radius:999px;background:var(--amarillo);color:var(--negro);font:800 15px/1 var(--sans);letter-spacing:.02em;
 box-shadow:inset 0 -2px 2px rgb(0 0 0/.22),inset 0 2px 2px rgb(255 255 255/.5),0 10px 24px -8px rgb(0 0 0/.8);
 visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .2s var(--entra),transform .2s var(--entra),visibility 0s .2s}
.volver-arriba.ve{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.volver-arriba span{font-size:20px;line-height:1}
.volver-arriba:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px var(--noche)}
@media (prefers-reduced-motion:reduce){.volver-arriba{transition:none;transform:none}}
html.sin-js .volver-arriba{display:none}
.tarjeta a.termino{text-decoration-color:currentColor}
@media print{.volver-arriba,.gl-lado{display:none}}
.pie .redaccion{margin:4px 0 20px;font:600 15px/1.4 var(--sans);color:var(--sutil,#9a9db0)}
