/* ===== Fuentes locales ===== */
@font-face{font-family:'Inter';font-weight:400;font-display:block;src:url(../fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:block;src:url(../fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:800;font-display:block;src:url(../fonts/inter-latin-800-normal.woff2) format('woff2')}
/* Archivo variable (peso 100–900, ancho 62–125%): voz monumental del amanecer. */
@font-face{font-family:'Archivo';font-weight:100 900;font-stretch:62% 125%;font-display:block;src:url(../fonts/archivo-latin-wdth-normal.woff2) format('woff2')}
/* ===== Mundo: Amanecer =====
   Noche de tinta + horizonte de fuego que se ilumina con el avance (--alba 0→1, js/app.js).
   Turquesa = señal/dato · ámbar = fuego/horizonte · violeta-azul = contexto. */
:root{
  --bg:#04060c; --navy:#0a0f1c; --txt:#f5f3ee; --mut:#aeb8c7; --dim:#8a96a9;
  --cian:#5ee6d0; --violeta:#7fb2ff; --fuego:#ffb45c; --fuego2:#ffd9a0;
  --vidrio:rgba(255,255,255,.035); --borde:rgba(255,255,255,.1); --borde-luz:rgba(255,255,255,.22);
  --display:'Archivo','Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --alba:0;
}
html,body{background:var(--bg)}
html body.reveal-viewport,body{color:var(--txt);background:var(--bg)}
#escena{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
#escena.on{opacity:1}
/* Cielo nocturno: luz fría tenue arriba; el centro de lectura queda en tinta. */
#ambiente{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:paint}
#ambiente::before,#ambiente::after{content:'';position:absolute;inset:-8%;animation:deriva-ambiente 24s ease-in-out infinite alternate;animation-play-state:paused}
#ambiente::before{background:radial-gradient(ellipse 60% 45% at 12% 0%,rgba(90,120,220,.09),transparent 70%),radial-gradient(ellipse 50% 40% at 92% 8%,rgba(94,230,208,.05),transparent 70%)}
#ambiente::after{background:radial-gradient(ellipse 40% 30% at 100% 0%,rgba(127,178,255,.05),transparent 70%);animation-duration:32s;animation-direction:alternate-reverse}
.ambiente-activo #ambiente::before,.ambiente-activo #ambiente::after{animation-play-state:running}
@keyframes deriva-ambiente{from{transform:translate3d(-2%,1%,0) rotate(-3deg)}to{transform:translate3d(2%,-1%,0) rotate(3deg)}}
/* Horizonte: el resplandor crece con el avance de la charla (amanecer). */
#alba{position:fixed;left:0;right:0;bottom:0;height:46vh;pointer-events:none;z-index:0;contain:paint}
#alba::before{content:'';position:absolute;left:-10%;right:-10%;bottom:-30%;height:100%;
  background:radial-gradient(ellipse 50% 60% at 50% 100%,rgba(255,170,80,calc(.06 + var(--alba)*.2)),rgba(255,120,60,calc(.02 + var(--alba)*.06)) 45%,transparent 75%);
  transition:background 1.6s ease}
#alba::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,200,140,calc(.18 + var(--alba)*.45)) 30%,rgba(255,244,224,calc(.25 + var(--alba)*.6)) 50%,rgba(255,200,140,calc(.18 + var(--alba)*.45)) 70%,transparent);
  box-shadow:0 0 calc(10px + var(--alba)*26px) rgba(255,180,92,calc(.15 + var(--alba)*.4))}
#sonido{position:fixed;right:18px;top:18px;z-index:5;min-height:44px;padding:8px 16px;border:1px solid var(--borde);border-radius:999px;background:rgba(4,6,12,.7);color:var(--dim);font:600 12px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s}
#sonido:hover{color:var(--txt);border-color:var(--borde-luz)}
#sonido[aria-pressed=true]{color:var(--cian);border-color:color-mix(in srgb,var(--cian) 60%,transparent)}
#sonido:focus-visible{outline:3px solid var(--cian);outline-offset:3px}
#animaciones{position:fixed;left:18px;top:18px;z-index:5;min-height:44px;padding:8px 16px;border:1px solid var(--borde);border-radius:999px;background:rgba(4,6,12,.9);color:var(--mut);font:600 12px Inter,sans-serif;cursor:pointer}
#animaciones:hover{color:var(--txt);border-color:var(--borde-luz)}
#animaciones[aria-pressed=true]{color:var(--cian);border-color:var(--cian)}
#animaciones:focus-visible{outline:3px solid var(--cian);outline-offset:3px}
.reveal .slides .inicio-animacion{position:absolute;width:0;height:0;pointer-events:none}
@media print{#animaciones{display:none!important}}
@media (max-height:600px){#animaciones{left:8px;top:4px;min-height:32px;padding:4px 10px;font-size:10px}}
@media print{#ambiente,#alba,#sonido{display:none!important}}
.reveal{z-index:1;font-family:'Inter',system-ui,sans-serif;color:var(--txt);font-size:34px;font-weight:400;letter-spacing:-.005em}
.reveal .slides{text-align:left}
.reveal .slides section{height:100%;box-sizing:border-box;padding:90px 120px 80px}
.reveal .slides section.centro{display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.reveal .slides section.medio{display:flex!important;flex-direction:column;justify-content:center}
.reveal h1,.reveal h2,.reveal h3{font-family:var(--display);font-weight:760;font-stretch:112%;letter-spacing:-.03em;color:var(--txt);text-transform:none;margin:0 0 .35em;line-height:1.03;text-shadow:none;text-wrap:balance}
.reveal h1{font-size:136px;font-stretch:118%}
.reveal h2{font-size:84px}
.reveal h3{font-size:44px;font-weight:560;font-stretch:104%;letter-spacing:-.015em;line-height:1.15;color:var(--mut)}
.reveal p{margin:0 0 .6em;line-height:1.38}
.reveal strong{font-weight:800;color:var(--txt)}
/* Rótulo de contexto (fuente, gráfica, persona): una línea de dato, no un titular. */
.kicker{font-family:var(--display);font-weight:620;font-stretch:118%;font-size:21px;letter-spacing:.16em;text-transform:uppercase;color:var(--cian);margin-bottom:26px;display:inline-flex;align-items:center;gap:16px}
.kicker::before{content:'';width:32px;height:1px;background:currentColor;box-shadow:0 0 10px currentColor;display:inline-block;flex:none}
.kicker.fuego{color:var(--fuego)}
.grad{color:var(--cian)}
.gradF{color:var(--fuego)}
.mut{color:var(--mut)} .dim{color:var(--dim)}
.sub{font-size:40px;color:var(--mut);line-height:1.32;max-width:1400px}
.vidrio{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--borde);border-top-color:var(--borde-luz);border-radius:10px;box-shadow:0 30px 60px -28px rgba(0,0,0,.7)}
.fuente{position:absolute;left:120px;right:120px;bottom:30px;font-size:20px;color:var(--dim);line-height:1.4}
.fuente::before{content:'Fuente · ';color:var(--mut);font-weight:600}
.nota-dato{font-size:24px;line-height:1.4;color:var(--mut);margin:4px 0 16px;max-width:1500px}
/* números */
.num{font-family:var(--display);font-weight:800;font-stretch:108%;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.num.xl{font-size:220px} .num.l{font-size:150px} .num.m{font-size:96px} .num.s{font-size:64px}
.etq{font-size:24px;color:var(--mut);margin-top:10px;line-height:1.3}
.fila{display:flex;gap:48px;align-items:stretch}
.col{flex:1}
.tarjeta{padding:40px 44px}
.flecha{font-size:72px;color:var(--fuego);align-self:center;opacity:.8}
/* Capítulo: número monumental sobre la línea de horizonte. */
section.seccion .n{font-family:var(--display);font-weight:800;font-stretch:125%;font-size:300px;line-height:.8;letter-spacing:-.05em;color:var(--fuego);margin-bottom:34px;text-shadow:0 0 80px rgba(255,180,92,.25)}
section.seccion h2{font-size:116px;font-stretch:120%;max-width:1600px}
section.seccion .t{margin-top:8px;padding-top:28px;border-top:1px solid rgba(255,200,140,.35);box-shadow:0 -1px 18px -8px rgba(255,180,92,.5);font-size:26px;color:var(--mut);font-family:var(--display);font-weight:560;font-stretch:118%;letter-spacing:.16em;text-transform:uppercase;max-width:1680px}
/* tesis: el horizonte sube detrás de la frase. */
section.tesis{display:flex!important;flex-direction:column;justify-content:center}
section.tesis::before,.capa-tesis::before{content:'';position:absolute;left:-10%;right:-10%;bottom:-40%;height:80%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 50% 55% at 50% 100%,rgba(255,170,80,.2),transparent 70%)}
section.tesis .icono{font-family:var(--display);font-weight:620;font-stretch:118%;font-size:24px;letter-spacing:.24em;text-transform:uppercase;color:var(--fuego);margin-bottom:38px}
section.tesis blockquote{all:unset;display:block;font-family:var(--display);font-weight:600;font-stretch:106%;font-size:74px;line-height:1.1;letter-spacing:-.03em;max-width:1600px;color:var(--txt);text-wrap:balance}
section.tesis .barra{width:220px;height:2px;border-radius:1px;background:var(--fuego);box-shadow:0 0 18px rgba(255,180,92,.8);margin:48px 0 0}
/* cita */
.cita{font-family:var(--display);font-weight:560;font-stretch:104%;font-size:76px;line-height:1.12;letter-spacing:-.03em;max-width:1550px;text-wrap:balance}
.cita::before{content:'“';display:block;font-size:200px;font-weight:800;line-height:.6;height:80px;color:var(--fuego)}
.autor{margin-top:40px;font-size:30px;color:var(--mut)}
.autor b{color:var(--txt);font-weight:600}
/* lista */
ol.lista,ul.lista{list-style:none;margin:0;padding:0;counter-reset:i}
.lista li{counter-increment:i;display:flex;gap:34px;align-items:baseline;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:42px;line-height:1.25}
.lista li::before{content:counter(i,decimal-leading-zero);font-family:var(--display);font-weight:700;font-stretch:118%;font-size:28px;color:var(--cian);min-width:64px}
.lista li span.d{display:block;font-size:28px;color:var(--mut);margin-top:6px}
/* gráficas */
.graf{position:relative;width:100%;}
.graf[data-graf]{transform:none;transform-origin:50% 50%}
.graf canvas{position:absolute;inset:0}
.graf img.respaldo{display:none;width:100%;height:100%;object-fit:contain;border-radius:10px}
.graf.falla canvas{display:none} .graf.falla img.respaldo{display:block}
.leyenda{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:21px;color:var(--mut)}
.anotaciones-grafica{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:12px 0 18px}
.reveal .anotaciones-grafica p{background:var(--vidrio);border:1px solid var(--borde);border-top:1px dashed var(--fuego);border-radius:8px;padding:14px 20px;margin:0;font-size:22px;line-height:1.3}
.reveal .anotaciones-grafica .evento-pro{border-top-color:var(--violeta)}
.anotaciones-grafica .evento-verified strong{color:var(--fuego)}
.anotaciones-grafica .evento-pro strong{color:var(--violeta)}
.leyenda i{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:9px;vertical-align:-1px}
.chip{display:inline-block;padding:9px 20px;border-radius:999px;border:1px solid var(--borde);background:rgba(255,255,255,.03);font-size:22px;color:var(--mut)}
/* Reveal controla la visibilidad; CSS conserva la entrada sin tweens interrumpidos. */
.reveal .slides section .fragment.g{opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .5s ease,transform .6s var(--ease),visibility .5s}
.reveal .slides section .fragment.g.visible{opacity:1;visibility:inherit;transform:none}
/* Retratos reales, locales y con fuentes registradas en fuentes.md. */
.reveal img.retrato{display:block;width:400px;height:500px;object-fit:cover;object-position:center 30%;border:1px solid var(--borde);border-top-color:var(--borde-luz);border-radius:10px;flex:none;margin:0;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.reveal img.retrato-mediano{width:340px;height:425px}
.reveal img.retrato-mini{width:140px;height:175px;border-radius:8px}
.reveal img.retrato-linea{display:inline-block;width:80px;height:90px;vertical-align:middle;margin-right:12px;border-radius:4px}
.reveal img.retrato[data-persona="hendrik-martina"]{width:460px;height:460px;object-fit:cover;object-position:center 42%}
.reveal img.retrato[data-persona="dhh"]{width:400px;height:400px}
.reveal img.retrato[data-persona="terence-tao"]{object-position:50% 25%}
.reveal img.retrato[data-persona="arthur-c-clarke"]{object-position:50% 20%}
.persona-cabecera{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.persona-inline{display:flex;align-items:center;gap:22px;margin-top:20px}
/* ===== Diapositiva 7: ruido (preguntas en cascada) → señal ===== */
.ruido{position:absolute;inset:0;overflow:hidden;transform-origin:50% 50%;transition:opacity 1.1s var(--ease),filter 1.1s var(--ease),transform 1.4s var(--ease)}
.ruido span{position:absolute;white-space:nowrap;font-family:var(--display);font-weight:560;font-stretch:104%;letter-spacing:-.01em;color:var(--mut);line-height:1.1}
.ruido span[data-o="0.42"]{opacity:.42;filter:blur(1.2px);color:var(--dim)}
.ruido span[data-o="0.7"]{opacity:.7}
.ruido span[data-o="1"]{color:var(--txt)}
.ruido span.titular{padding:10px 22px;border-radius:999px;border:1px solid var(--borde-luz);background:rgba(10,15,28,.92);color:var(--txt)}
section.ruido-slide:has(.senal.visible) .ruido{opacity:.13;filter:blur(7px);transform:scale(.95)}
.reveal .slides section .fragment.senal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;
  background:radial-gradient(ellipse 62% 46% at 50% 50%,rgba(4,6,12,.94) 30%,rgba(4,6,12,.6) 70%,transparent);transition:opacity .8s ease,visibility .8s}
.fragment.senal h2{font-size:108px;font-stretch:116%;text-align:center;max-width:1600px;margin:0;opacity:0;filter:blur(16px);transform:scale(1.06);transition:opacity .9s ease .25s,filter 1.1s var(--ease) .25s,transform 1.3s var(--ease) .25s}
.fragment.senal.visible h2{opacity:1;filter:none;transform:none}
.senal-linea{position:absolute;left:0;right:0;top:calc(50% + 150px);height:1px;background:linear-gradient(90deg,transparent,var(--cian) 35%,#e9fffb 50%,var(--cian) 65%,transparent);box-shadow:0 0 16px var(--cian);transform:scaleX(0);opacity:.9;transition:transform 1.2s var(--ease) .1s,opacity 1.6s ease 1.2s}
.fragment.senal.visible .senal-linea{transform:scaleX(1);opacity:.35}
.senal-palabra{position:relative;display:inline-block}
.senal-palabra::after{content:'';position:absolute;left:0;right:0;bottom:-.04em;height:6px;border-radius:3px;background:var(--cian);box-shadow:0 0 22px var(--cian);transform:scaleX(0);transform-origin:left center;transition:transform .9s var(--ease) 1s}
.fragment.senal.visible .senal-palabra::after{transform:scaleX(1)}
/* embudo */
.embudo .nivel{margin:0 auto 14px;height:118px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;box-sizing:border-box;width:100%;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--borde);border-top-color:var(--borde-luz);box-shadow:none}
.embudo .nivel b{font-family:var(--display);font-weight:700;font-stretch:108%;font-size:40px;white-space:nowrap}
.embudo .nivel span{font-size:24px;color:var(--mut);white-space:nowrap;margin-left:20px}
/* barras de adopción */
.barraH{height:74px;border-radius:8px;background:rgba(255,255,255,.05);position:relative;overflow:hidden;margin:12px 0 30px}
.barraH > div{position:absolute;inset:0 auto 0 0;border-radius:8px}
/* etiquetas de escena 3D */
.lado{position:absolute;right:110px;top:50%;transform:translateY(-50%);width:600px}
.izq{max-width:900px}
.marca-completar{display:inline-block;border:2px dashed rgba(255,180,92,.6);color:var(--fuego2);padding:14px 26px;border-radius:12px;font-size:24px}
/* reveal UI: la barra de progreso es el horizonte encendido. */
.reveal .progress{height:2px;background:transparent;color:transparent;z-index:20}
.reveal .progress span{background:linear-gradient(90deg,rgba(255,180,92,.2),var(--fuego) 70%,#fff4e0);box-shadow:0 0 14px rgba(255,180,92,.8)}
.reveal .slide-number{background:transparent;font-family:var(--display);font-weight:600;font-stretch:118%;letter-spacing:.12em;font-size:14px;color:var(--dim);right:128px;bottom:18px}
.reveal .controls{color:var(--mut)}
mark.completar{background:#ffe08a;color:#3a2600;padding:0 4px}
/* Un dominio por diapositiva; el lienzo ocupa el espacio de la antigua cuadrícula. */
.dominio .cont{position:absolute;inset:0;transform:none;transform-origin:50% 50%}
.dominio.falla .cont{display:none}
.mini{height:100%;box-sizing:border-box;padding:24px 32px 16px;display:flex;flex-direction:column;border-radius:10px;position:relative}
.dominio .mini{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--borde);border-top-color:color-mix(in srgb,var(--cian) 55%,transparent);box-shadow:0 30px 60px -28px rgba(0,0,0,.7);isolation:isolate}
/* La luz acompaña la inclinación de la superficie, no representa otro eje de datos. */
.dominio .mini::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 48%,rgba(127,178,255,.1));opacity:var(--luz,0)}
.mini .mv{font-family:var(--display);font-weight:760;font-stretch:108%;font-size:48px;display:flex;gap:24px;align-items:baseline;margin-bottom:24px;font-variant-numeric:tabular-nums}
.mini .mv .a{color:var(--mut)} .mini .mv .fl{color:var(--dim)} .mini .mv .b{color:var(--fuego2)}
.dominio .mv .a{color:var(--mut)}.dominio .mv .fl{color:var(--violeta)}.dominio .mv .b{color:var(--fuego2)}
.mini .mc{position:relative;flex:1;min-height:0}
.mini .mc canvas{position:absolute;inset:0}
/* línea de tiempo log */
.logeje{position:relative;height:430px;margin-top:110px}
.logeje .linea{position:absolute;left:0;right:0;top:211px;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--fuego),var(--violeta) 70%,var(--cian));box-shadow:0 0 16px rgba(127,178,255,.5);transform-origin:left center}
.logeje .hito{position:absolute;top:0;height:430px;width:360px;margin-left:-180px;text-align:center}
.logeje .hito .pt{position:absolute;left:50%;top:198px;width:28px;height:28px;margin-left:-14px;border-radius:50%;background:var(--txt);box-shadow:0 0 0 6px rgba(4,6,12,.9),0 0 24px currentColor}
.logeje .hito .arr{position:absolute;left:0;right:0;bottom:250px}
.logeje .hito .abj{position:absolute;left:0;right:0;top:250px}
.logeje .hito b{display:block;font-family:var(--display);font-weight:760;font-stretch:108%;font-size:44px;line-height:1}
.logeje .hito span{display:block;font-size:22px;color:var(--mut);margin-top:8px;line-height:1.25}
.logeje .esc{position:absolute;top:236px;font-size:17px;color:var(--dim);transform:translateX(-50%)}

.lista.compacta li{font-size:26px;padding:9px 0;gap:22px}.lista.compacta li::before{font-size:20px;min-width:34px}.lista.compacta li span.d{font-size:19px;margin-top:2px}
/* rendimiento: sin backdrop-filter sobre escenas 3D animadas */
section[data-escena] .vidrio{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,12,22,.92)}

/* ===== ↩ Tesis como capa final sobre la misma diapositiva ===== */
.reveal .capa-tesis{position:absolute;inset:-40px;z-index:20;display:flex;align-items:center;justify-content:flex-start;padding:0 160px;background:rgba(4,6,12,.97);overflow:hidden;isolation:isolate;transition:opacity .45s ease,visibility .45s!important}
.reveal .capa-tesis .ct-in{transform:translateY(16px);transition:transform .6s var(--ease)}
.reveal .capa-tesis.visible .ct-in{transform:none}
.capa-tesis .icono{font-family:var(--display);font-weight:620;font-stretch:118%;font-size:24px;letter-spacing:.24em;text-transform:uppercase;color:var(--fuego);margin-bottom:38px}
.capa-tesis blockquote{all:unset;display:block;font-family:var(--display);font-weight:600;font-stretch:106%;font-size:74px;line-height:1.1;letter-spacing:-.03em;max-width:1600px;color:var(--txt);text-wrap:balance}
.capa-tesis .barra{width:220px;height:2px;border-radius:1px;background:var(--fuego);box-shadow:0 0 18px rgba(255,180,92,.8);margin:48px 0 0}
.chip.mapa{border-color:color-mix(in srgb,var(--cian) 45%,transparent);color:var(--cian);font-family:var(--display);font-weight:600;font-stretch:112%;letter-spacing:.06em}

/* ===== Preguntas en vivo ===== */
.qr-caja{width:400px;height:400px;padding:16px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 0 80px -10px rgba(94,230,208,.35),0 40px 80px -30px rgba(0,0,0,.8)}
.qr-caja.grande{width:540px;height:540px;padding:20px}
.qr-caja svg{display:block;width:100%;height:100%}
.estado-preguntas{display:inline-flex;align-items:center;gap:12px}
.estado-preguntas i{width:12px;height:12px;border-radius:50%;background:var(--mut)}
.estado-preguntas.ok i{background:var(--cian);box-shadow:0 0 0 0 rgba(94,230,208,.6);animation:latidoPV 2s infinite}
.estado-preguntas.mal i{background:var(--fuego)}
@keyframes latidoPV{70%{box-shadow:0 0 0 12px rgba(94,230,208,0)}100%{box-shadow:0 0 0 0 rgba(94,230,208,0)}}
section.preguntas-vivo{display:grid!important;grid-template-columns:420px 1fr;grid-template-rows:auto 1fr;column-gap:90px;row-gap:46px;padding:80px 110px 70px!important;box-sizing:border-box;height:100%}
.preguntas-vivo .pv-cab{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-end}
.preguntas-vivo .pv-url{font-family:var(--display);font-weight:600;font-size:30px;margin-top:24px;color:var(--cian);word-break:break-all}
.preguntas-vivo .pv-der{position:relative;align-self:stretch;display:flex;flex-direction:column;min-height:0}
.preguntas-vivo .pv-estado{margin-bottom:14px}
.preguntas-vivo .pv-tablero{position:relative;flex:1;min-height:0;overflow:hidden}
.preguntas-vivo .pv-aviso{display:none;margin-top:0;padding:44px 50px;border-radius:14px;border:1px solid var(--borde);border-top-color:var(--borde-luz);background:var(--vidrio)}
.preguntas-vivo .pv-aviso h3{font-size:56px;margin:0 0 14px}
.preguntas-vivo .pv-aviso p{font-size:30px;line-height:1.4;margin:0}
.preguntas-vivo[data-estado-pv="vacio"] .pv-aviso[data-si~="vacio"],
.preguntas-vivo[data-estado-pv="sinconexion"] .pv-aviso[data-si~="sinconexion"],
.preguntas-vivo[data-estado-pv="sinconfig"] .pv-aviso[data-si~="sinconfig"]{display:block}
.preguntas-vivo[data-estado-pv="sinconexion"] .pv-tablero{opacity:.35}
/* tablero.css se comparte con la app del celular: aquí sólo se alinea su tipografía. */
.tp-rango,.tp-votos{font-family:var(--display)!important}

/* Proyección: contraste y cifras estables; el movimiento no es necesario para leer. */
.reveal ::selection{background:rgba(255,180,92,.35);color:#fff}
.reveal a{color:var(--cian);text-underline-offset:.18em}
.reveal a:focus-visible,.reveal button:focus-visible{outline:3px solid var(--cian);outline-offset:5px}
@media (max-width:900px){
  #sonido{top:6px;right:8px;min-height:30px;padding:5px 10px;font-size:10px}
  .reveal .slide-number{font-size:11px;right:104px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal .slides section{transform:none!important}
  .graf[data-graf],.dominio .cont{transform:none!important}
  .dominio .mini::after{opacity:0!important}
  .reveal .capa-tesis .ct-in{transform:none}
  .fragment.senal h2{filter:none}
  section.ruido-slide:has(.senal.visible) .ruido{transform:none}
}
/* Puente de transición en los separadores de capítulo y titulares sensacionalistas de la cascada. */
.puente{margin-top:34px;font-size:30px;line-height:1.4;color:var(--mut);max-width:1500px}
.puente b{color:var(--txt);font-weight:600}
.ruido span.sensa{font-weight:800;font-stretch:118%;text-transform:uppercase;letter-spacing:.03em;color:var(--fuego2);border-color:rgba(255,180,92,.4);background:rgba(28,16,6,.92)}

/* mano alzada */
.mano{display:inline-block;margin:6px 0 18px;padding:12px 28px;border-radius:999px;font-family:var(--display);font-weight:700;font-size:34px;color:var(--fuego2);border:1px solid color-mix(in srgb,var(--fuego2) 55%,transparent);background:rgba(255,160,60,.08)}
.mano b{color:#fff}
/* tríos de dominios */
.trio .col{flex:1;min-width:0;display:flex;flex-direction:column}
.trio .kicker{font-size:21px;white-space:normal;line-height:1.25;min-height:54px}
.trio .mini .mv{font-size:30px;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.trio .mini{padding:16px 20px 12px}
