/* Keynote Cancún 2026 · sistema del deck
   Tokens del sitio de Truly Tech (tech-immersive-20260910/web/tokens.css) + mundo medido del video (mundos/truly-nolen).
   El escenario mide SIEMPRE 1920×1080; control.js lo escala a la ventana. Todas las medidas de pantalla van en px de escenario. */
@font-face{font-family:Bricolage;src:url('assets/fuentes/bricolage.woff2') format('woff2');font-weight:200 800;font-display:block}
@font-face{font-family:Hanken;src:url('assets/fuentes/hanken-400.woff2') format('woff2');font-weight:400;font-display:block}
@font-face{font-family:Hanken;src:url('assets/fuentes/hanken-500.woff2') format('woff2');font-weight:500;font-display:block}
@font-face{font-family:Hanken;src:url('assets/fuentes/hanken-600.woff2') format('woff2');font-weight:600;font-display:block}
@font-face{font-family:Hanken;src:url('assets/fuentes/hanken-700.woff2') format('woff2');font-weight:700;font-display:block}
@font-face{font-family:'JetBrains Mono';src:url('assets/fuentes/jetbrains-mono.woff2') format('woff2');font-weight:400 700;font-display:block}
@font-face{font-family:Inter;src:url('assets/fuentes/inter-variable.woff2') format('woff2');font-weight:100 900;font-display:block}
@font-face{font-family:'Google Sans';src:url('assets/fuentes/google-sans-400-700.woff2') format('woff2');font-weight:400 700;font-display:block}

:root{
  /* marca */
  --amarillo:#ffd900; --amarillo-claro:#fff2a1; --dorado:#bf8b00; --cobalto:#1737ef; --navy:#071750; --tinta:#111d39;
  --blanco:#fff; --tinte:#eaf0ff; --tinte-suave:#f2f5fc; --orbita:#849cff; --texto-2:#4f5c75; --borde:#d8deea;
  /* mundo del video */
  --crema:#f4f1e8; --crema-2:#ebe7db; --losa:#dcd8cc; --noche:#060a1c; --noche-2:#0b1236;
  --bien:#0f7a4a; --cuidado:#a86400; --mal:#b3261e;
  /* tipografía */
  --f-titular:Bricolage,sans-serif; --f-texto:Hanken,system-ui,sans-serif; --f-mono:'JetBrains Mono',ui-monospace,monospace;
  /* retícula: celdas de 120 px (16×9) y margen seguro */
  --celda:120px; --margen:120px;
  --ease:cubic-bezier(.2,.7,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#000;overflow:hidden;font-synthesis:none;-webkit-font-smoothing:antialiased}
body{font-family:var(--f-texto);color:var(--blanco);cursor:none}
body.con-cursor{cursor:auto}

/* ---------- el escenario ---------- */
#marco{position:fixed;inset:0;background:#000;overflow:hidden}
#escenario{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:50% 50%;overflow:hidden;background:var(--noche)}
#fondos,#pantallas,#sobre{position:absolute;inset:0}
#fondos{z-index:0} #pantallas{z-index:1} #sobre{z-index:2}
#fondos canvas{position:absolute;inset:0;width:1920px;height:1080px}
.pantalla{position:absolute;inset:0;overflow:hidden}
#sobre{pointer-events:none}
#negro{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
#celdas{position:absolute;inset:0;display:grid;grid-template-columns:repeat(16,120px);grid-template-rows:repeat(9,120px)}
#celdas i{display:block;opacity:0}

/* ---------- tipografía de escena ---------- */
.titular{font-family:var(--f-titular);font-variation-settings:"wght" 700,"opsz" 96;letter-spacing:-.055em;line-height:.94;font-size:132px;margin:0;text-wrap:balance}
.titular.xl{font-size:208px;line-height:.9}
.titular.l{font-size:168px}
.titular.m{font-size:96px;line-height:.98}
.titular.s{font-size:68px;line-height:1.02;letter-spacing:-.045em}
.sub{font-family:var(--f-texto);font-weight:500;font-size:42px;line-height:1.22;letter-spacing:-.01em;margin:0;text-wrap:balance}
.sub.s{font-size:32px}
.en,.bajada{font-family:var(--f-texto);font-weight:500;font-size:30px;line-height:1.2;letter-spacing:0;opacity:.62;margin:0}
.indice{font-family:var(--f-mono);font-weight:500;font-size:22px;letter-spacing:.18em;text-transform:uppercase;margin:0}
.cifra{font-family:var(--f-titular);font-variation-settings:"wght" 700,"opsz" 96;letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:.86;font-size:360px;margin:0}
.cifra.l{font-size:480px}
.cifra.m{font-size:220px}
.cifra.s{font-size:132px}
.cifra small,.cifra .unidad{font-size:.3em;letter-spacing:-.03em;margin-left:.12em}
.amarillo{color:var(--amarillo)} .cobalto{color:var(--cobalto)} .navy{color:var(--navy)} .blanco{color:#fff} .tinta{color:var(--tinta)}
.sobre-claro{color:var(--navy)} .sobre-claro .sub{color:var(--tinta)} .sobre-claro .en,.sobre-claro .bajada{color:var(--texto-2);opacity:1}
.sobre-oscuro{color:#fff}
/* el amarillo nunca va como texto sobre claro: sobre claro el acento es cobalto */

/* ---------- piezas de marca ---------- */
.lockup{display:inline-flex;align-items:center;gap:.28em;font-family:var(--f-titular);font-variation-settings:"wght" 700,"opsz" 96;letter-spacing:-.025em;font-size:44px;white-space:nowrap;line-height:1}
.lockup img{height:1.15em;width:auto;display:block}
.pildora,.lockup .tech{display:inline-block;background:var(--amarillo);color:var(--navy);font-family:var(--f-titular);font-variation-settings:"wght" 700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:.2em .5em;font-size:.5em;line-height:1}
.marca{font-family:var(--f-titular);font-variation-settings:"wght" 700,"opsz" 96;letter-spacing:-.055em;white-space:nowrap;line-height:1}
.marca .p{display:inline-block;width:.34em;height:.34em;border-radius:50%;background:var(--amarillo);margin-right:.18em;vertical-align:.12em;box-shadow:0 0 .3em rgba(255,217,0,.5)}
.punto{position:absolute;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff 0 14%,#ffe763 22%,var(--amarillo) 60%,#f2c800 100%);border:2.5px solid var(--dorado);box-shadow:0 0 18px rgba(255,217,0,.55),0 0 60px rgba(255,217,0,.25);visibility:hidden}
.casilla{display:inline-flex;align-items:center;justify-content:center;background:var(--crema);color:var(--navy);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.2);padding:.08em .32em .12em;font-family:var(--f-titular);font-variation-settings:"wght" 700,"opsz" 96;letter-spacing:-.05em;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.vidrio{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.34);border-radius:22px;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 30px 80px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35);color:#fff}
.vidrio.claro{background:rgba(255,255,255,.82);border-color:rgba(17,29,57,.1);color:var(--tinta);box-shadow:0 24px 60px rgba(17,29,57,.16)}
.boton{display:inline-flex;align-items:center;gap:.5em;background:var(--amarillo);color:var(--navy);font-family:var(--f-texto);font-weight:700;font-size:30px;border-radius:999px;padding:.6em 1.2em;line-height:1}
.resalte{background:linear-gradient(var(--amarillo),var(--amarillo)) no-repeat 0 100%/0% 100%;color:var(--navy);padding:0 .12em;margin:0 -.04em;border-radius:.08em}
.regla{height:1px;background:rgba(255,255,255,.16)} .sobre-claro .regla{background:rgba(17,29,57,.12)}

/* ---------- el producto en escena: una ventana real, sin cromo de navegador ---------- */
.ventana{position:absolute;background:#fff;color:var(--tinta);border-radius:20px;overflow:hidden;box-shadow:0 50px 120px rgba(4,10,40,.45),0 0 0 1px rgba(17,29,57,.08)}
.ventana.filo{box-shadow:0 50px 120px rgba(4,10,40,.45),0 0 0 2px var(--dorado),0 0 60px rgba(255,217,0,.22)}
.telefono{position:absolute;width:420px;height:860px;border-radius:64px;background:#0a0a0c;padding:14px;box-shadow:0 60px 120px rgba(0,0,0,.5),inset 0 0 0 2px #2a2a30,inset 0 0 0 6px #111}
.telefono>.vista{position:absolute;inset:14px;border-radius:52px;overflow:hidden;background:#fff}
.telefono:before{content:"";position:absolute;left:50%;top:28px;width:120px;height:34px;margin-left:-60px;border-radius:20px;background:#000;z-index:3}

/* ---------- utilidades de posición ---------- */
.abs{position:absolute} .centro{position:absolute;left:0;right:0;text-align:center}
.oculto{visibility:hidden}
.t-palabra{display:inline-block;white-space:pre} .t-letra{display:inline-block;white-space:pre}

/* ---------- vista privada del presentador ---------- */
#presentador{position:fixed;inset:0;display:none;background:#0b0d14;color:#e9ecf5;font-family:var(--f-texto)}
body.presentador #presentador{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:18px}
body.presentador{cursor:auto}
body.presentador #marco{position:absolute;inset:0;background:#000;overflow:hidden}
#pr-cab{grid-column:1/3;display:flex;gap:34px;color:#a7b0c8;font-size:13px}
#pr-cab span{display:flex;flex-direction:column;gap:2px}
#pr-cab b{font-size:28px;color:#fff;font-variant-numeric:tabular-nums;font-weight:600}
#pr-cab .mal{color:#ff9a89} #pr-cab .bien{color:#91ddbc}
#pr-visuales{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr);gap:8px}
.pr-etiqueta{font-size:12px;letter-spacing:.05em;color:#9da9c6;display:flex;justify-content:space-between;align-items:center;gap:8px}
.pr-etiqueta span{letter-spacing:0;text-align:right}
#pr-escena,#pr-previa{position:relative;min-height:0;background:#000;overflow:hidden;border:1px solid #30384f;border-radius:6px}
#pr-proxima{width:100%;height:100%;object-fit:contain}
#pr-sin-previa{position:absolute;inset:35% 10%;font-size:16px;text-align:center;color:#a7b0c8}
#pr-notas{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;padding:0 8px}
#pr-ahora{font-size:var(--prompter,32px);line-height:1.35;white-space:pre-wrap;overflow:auto;padding:8px 10px 18px 0;color:#fff}
#pr-idea{font:600 20px/1.3 var(--f-texto);color:#ffd977;margin:0 0 10px;white-space:normal}
#pr-idea[hidden]{display:none}
#pr-voz-completa{font-size:19px;line-height:1.45;white-space:pre-wrap;color:#dfe8ff;padding:6px 0 14px}
#pr-cues{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;padding:14px 16px;background:#182641;border-left:3px solid #ffd900;color:#fff}
#pr-cues .pr-cue-ancho{grid-column:1/-1}
#pr-cues [hidden]{display:none}
#pr-cues strong{display:block;font:600 12px/1.4 var(--f-texto);letter-spacing:.06em;color:#ffeb80}
#pr-cues p{margin:5px 0 0;font:500 21px/1.35 var(--f-texto);overflow-wrap:anywhere;white-space:pre-wrap}
#pr-detalles{min-width:0;border-top:1px solid #404d6b;color:#c3d3f4}
#pr-detalles summary{padding:10px 0;cursor:pointer;font:500 16px/1.4 var(--f-texto)}
#pr-detalles summary:focus-visible,#pr-detalles-contenido:focus-visible,#pr-ahora:focus-visible{outline:2px solid #ffd900;outline-offset:2px}
#pr-detalles-contenido{max-height:140px;overflow:auto;overscroll-behavior:contain;padding:0 12px 8px 0}
.pr-guia-privada{margin:0 0 16px;padding:12px 14px;border-left:3px solid #86a9ff;background:#182641;color:#c3d3f4;white-space:pre-wrap;font:500 18px/1.5 var(--f-texto)}
#pr-luego{font-size:21px;line-height:1.4;white-space:pre-wrap;color:#b8c3dd;padding:12px 0}
#pr-luego .pr-guia-privada{margin-top:14px}
#pr-pie{grid-column:1/3;display:flex;flex-direction:column;gap:12px}
#pr-controles{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#pr-conexion{font-size:13px;color:#a7b0c8;margin-right:auto}
#pr-barra{height:4px;background:#252c40;border-radius:2px;overflow:hidden}
#pr-barra i{display:block;height:100%;background:var(--amarillo);width:0}
#presentador button{font:500 14px var(--f-texto);color:#e9ecf5;background:#252e46;border:1px solid #404d6b;border-radius:6px;padding:9px 12px;cursor:pointer}
#presentador button:focus-visible{outline:2px solid #ffd900;outline-offset:2px}
#presentador #pr-avanza{background:#ffd900;color:#101729;border-color:#ffd900}
#presentador #pr-menos,#presentador #pr-mas{padding:4px 10px;margin-left:4px}
#pr-guia{max-width:700px;max-height:85vh;overflow:auto;background:#131a2a;color:#e9ecf5;border:1px solid #485777;border-radius:12px;padding:28px;font:18px/1.5 var(--f-texto)}
#pr-guia::backdrop{background:#000b} #pr-guia a{color:#ffd900} #pr-guia li{margin:10px 0}
@media(max-width:1000px){#pr-cab{gap:18px}#pr-cab b{font-size:23px}#pr-ahora{font-size:var(--prompter,26px)}#pr-luego{font-size:18px}body.presentador #presentador{padding:10px;gap:10px}}

#notas-flotantes{display:none}
body.notas:not(.publico) #notas-flotantes{position:fixed;left:24px;right:24px;bottom:20px;background:#080a12ed;color:#fff;font:500 22px/1.35 var(--f-texto);padding:14px 20px;border-radius:12px;display:block;white-space:pre-wrap;z-index:50}
#aviso-sonido{position:fixed;left:50%;top:24px;transform:translateX(-50%);background:var(--amarillo);color:var(--navy);font:700 18px var(--f-texto);padding:10px 18px;border-radius:999px;z-index:60;display:none;cursor:pointer}

#pr-cab #pr-plan{display:none}

/* Acceso y sonido: controles privados; nunca aparecen en el escenario público. */
.pr-textos-label{font-size:12px;color:#a7b0c8;flex-basis:100%}
.pr-audio-linea{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;flex-basis:100%;font-size:12px;color:#c3d3f4}
.pr-audio-linea a{color:#dfe8ff;margin-left:auto;text-underline-offset:3px}
body.solo-revision{cursor:auto}#solo-controles{position:fixed;z-index:55;left:50%;bottom:18px;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;padding:12px 16px;background:#0b1236f5;color:#fff;border:1px solid #849cff66;border-radius:12px;box-shadow:0 6px 30px #0004;font:14px var(--f-texto);transition:opacity .16s}
#solo-controles[data-oculto="si"]{opacity:0;pointer-events:none}#solo-controles .solo-fila{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#solo-controles button,#solo-controles select,#solo-controles a{font:500 14px var(--f-texto);color:#fff;background:#252e46;border:1px solid #404d6b;border-radius:6px;padding:9px 12px;text-decoration:none;cursor:pointer}#solo-controles #solo-next{background:var(--amarillo);color:var(--navy);border-color:var(--amarillo)}#solo-controles p{margin:8px 0 0;color:#c3d3f4;font-size:12px;line-height:1.4}#solo-controles select:disabled,#solo-controles button:disabled{opacity:.5;cursor:default}#solo-controles :focus-visible{outline:2px solid var(--amarillo);outline-offset:2px}
@media(max-width:680px){#solo-controles{width:calc(100vw - 24px);max-width:none;padding:10px}#solo-controles .solo-fila{gap:6px}#solo-controles button,#solo-controles select,#solo-controles a{padding:10px 8px}#solo-controles label{font-size:12px}}

#pr-audio-idioma{background:#242d44;color:#fff;border:1px solid #46546e;border-radius:5px;padding:8px 10px;font:inherit}#pr-audio-idioma:disabled{opacity:.5}#pr-audio-idioma:focus-visible{outline:2px solid #ffdf00;outline-offset:2px}
#pr-audio-estado{flex-basis:100%;color:#aebddb;font-size:12px}

/* v31: bloque «VIENE →» junto a la guía de lo siguiente: función, pantalla y primera frase del próximo clic */
#pr-viene{margin:0 0 10px;padding:10px 18px;border-left:6px solid #ffd900;background:#0d1b5a;border-radius:8px;color:#fff}
#pr-viene .pr-viene-etq{display:block;font:700 26px/1.1 var(--f-titular,sans-serif);letter-spacing:.04em;color:#ffd900;margin-bottom:8px}
#pr-viene .pr-viene-fila{margin-top:8px}
#pr-viene .pr-viene-fila span{display:block;font:600 14px/1.2 var(--f-mono,monospace);letter-spacing:.12em;color:#9fb0d8}
#pr-viene strong{display:block;font:700 26px/1.2 var(--f-titular,sans-serif)}
#pr-viene em{display:block;font:500 22px/1.3 var(--f-texto,sans-serif);font-style:normal;color:#dbe4f7}
#pr-viene p{margin:2px 0 0;font:500 22px/1.3 var(--f-texto,sans-serif);color:#fff}

/* v31.4 · cabina en 1440×900: hora, transcurrido, ritmo, QUÉ DECIR y VIENE siempre a la vista; pie en una sola fila */
body.presentador #presentador{gap:12px;padding:14px 18px}
#pr-cab{gap:28px;align-items:flex-end}
#pr-cab span{flex-direction:row;align-items:baseline;gap:8px}
#pr-cab b{font-size:26px}
#pr-notas{grid-template-rows:auto minmax(150px,1fr) auto auto auto;overflow:hidden}
#pr-notas>*{min-height:0}
#pr-cues,#pr-viene{overflow:auto}
body.con-viene #pr-cues .pr-cue-next{display:none}
body.con-viene #pr-cues{grid-template-columns:minmax(0,1fr)}
#pr-pie{gap:8px}
#pr-controles{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:nowrap}
#pr-controles .pr-grupo{display:flex;align-items:center;gap:8px;flex:none}
#pr-controles .pr-estado{flex:1 1 auto;min-width:0;justify-content:center}
#pr-conexion,#pr-film{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;margin:0;flex-basis:auto}
#pr-film{color:#dfe8ff}
@media (max-height:1000px){
  #pr-cab b{font-size:22px}
  #pr-ahora{font-size:var(--prompter,28px)}
  #pr-cues{padding:8px 12px;gap:6px 14px}
  #pr-cues p{font-size:17px}
  #pr-viene{padding:8px 14px;margin:0}
  #pr-viene .pr-viene-etq{font-size:20px;margin-bottom:2px}
  #pr-viene .pr-viene-fila{margin-top:4px}
  #pr-viene .pr-viene-fila span{font-size:11px}
  #pr-viene strong{font-size:20px}
  #pr-viene em,#pr-viene p{font-size:17px}
  #pr-detalles summary{padding:6px 0;font-size:14px}
  #presentador button{padding:7px 10px}
}
@media (max-width:1300px){#pr-controles{flex-wrap:wrap}#pr-controles .pr-estado{order:3;flex-basis:100%;justify-content:flex-start}}

/* esquema de las 4 pantallas (configuración antes de empezar) */
#pr-config{position:fixed;inset:0;z-index:70;overflow:auto;background:#0b0d14;padding:28px 36px;display:flex;flex-direction:column;gap:16px;color:#e9ecf5;font-family:var(--f-texto)}
#pr-config[hidden]{display:none}
#pr-config h2{margin:0;font:700 30px/1.1 var(--f-titular,sans-serif);color:#ffd900}
#pr-esquema{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1300px}
.pe-caja{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:2px solid #485777;border-radius:10px;background:#131a2a;min-height:150px}
.pe-caja b{font:700 24px/1.15 var(--f-titular,sans-serif);color:#fff}
.pe-caja small{font-size:15px;color:#a7b0c8}
.pe-caja .pe-con{font:600 17px/1.3 var(--f-texto);color:#ff9a89}
.pe-caja[data-estado="si"]{border-color:#3e9b74}
.pe-caja[data-estado="si"] .pe-con{color:#91ddbc}
.pe-caja .pe-comp{font-size:15px;color:#c3d3f4}
.pe-caja .pe-accion{margin-top:auto;align-self:flex-start}
.pe-cabina{grid-column:2;min-height:0}
#pr-pantallas-monitores,#pr-pantallas-estado{margin:0;font-size:16px;color:#c3d3f4;max-width:1300px}
.pr-config-botones{display:flex;gap:12px}
#presentador #pr-colocar,#presentador #pr-empezar{font-size:18px;padding:12px 20px}
#presentador #pr-empezar{background:#ffd900;color:#101729;border-color:#ffd900}
.pr-config-fila{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pr-config-fila .pr-textos-label{flex-basis:auto;margin-right:6px}
#pr-config .pr-audio-linea:has(#pr-efectos:disabled) label[for="pr-efectos"],#pr-config #pr-efectos:disabled{display:none}

/* letrero grande de cada ventana del público hasta Empezar */
#rotulo-ventana{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#060a1cf2;color:#fff;font-family:var(--f-texto)}
#rotulo-ventana[hidden]{display:none}
#rotulo-ventana .rv-caja{text-align:center;padding:4vh 4vw;border:6px solid #ffd900;border-radius:28px;max-width:90vw}
#rotulo-ventana .rv-nombre{margin:0;white-space:nowrap;font:800 min(8.5vw,18vh)/1 var(--f-titular,sans-serif);letter-spacing:.02em;color:#ffd900}
#rotulo-ventana .rv-sub{margin:2vh 0 0;font:600 clamp(24px,4.4vw,84px)/1.1 var(--f-titular,sans-serif)}
#rotulo-ventana .rv-instr{margin:3vh 0 0;font:500 clamp(18px,2.2vw,40px)/1.3 var(--f-texto);color:#dfe8ff}
#rotulo-ventana .rv-completa{margin-top:3vh;font:600 clamp(16px,1.8vw,32px) var(--f-texto);padding:.6em 1.2em;border-radius:12px;border:0;background:#ffd900;color:#101729;cursor:pointer}

/* v31.6: estado real de ES, reloj por paso y monitores numerados. */
body.presentador #presentador{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr)}
#pr-cab{flex-wrap:wrap;gap:8px 24px}
#pr-panel-actividad{flex-basis:100%;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px}
#pr-panel-actividad>div{background:#142039;border:1px solid #314262;border-radius:8px;padding:9px 12px;display:flex;flex-direction:column;gap:4px}
#pr-panel-actividad small{font-size:11px;color:#aebfda;letter-spacing:.04em}
#pr-panel-actividad b{font-size:20px;color:#ffe172}
#pr-panel-actividad span{display:block;font-size:13px;line-height:1.3;color:#e0e8f8}
#pr-ahora{font-size:var(--prompter,36px)}
#pr-contexto{font:400 17px/1.45 var(--f-texto);color:#bed0ed;border-top:1px solid #34415b;margin-top:18px;padding-top:12px;white-space:normal}
#pr-contexto:before{content:'CONTEXTO · REFERENCIAS';display:block;color:#ffe172;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:6px}
.pe-caja label{display:flex;flex-direction:column;gap:5px;font-size:13px;margin:7px 0}
.pe-caja select{padding:9px;background:#0b1220;color:#fff;border:1px solid #667895;border-radius:5px;font:16px var(--f-texto)}
#arranque-estado{position:fixed;inset:35% 20%;z-index:100;background:#101b32;color:white;padding:32px;text-align:center;font:24px sans-serif;border:2px solid #ffd900;border-radius:12px}
#arranque-estado[hidden]{display:none}
#arranque-estado button{padding:12px;font-size:18px}
@media(max-height:800px){#pr-panel-actividad>div{padding:5px 9px}#pr-panel-actividad b{font-size:17px}#pr-panel-actividad span{font-size:12px}#pr-ahora{font-size:var(--prompter,30px)}#pr-contexto{font-size:15px}#pr-cab b{font-size:20px}#pr-cab{gap:6px 16px}}

.vv31[data-vv31="v31-K4"] video,.vv31[data-vv31="v31-K4"] img,.vv31[data-vv31="v31-K4.2"] video,.vv31[data-vv31="v31-K4.2"] img{object-fit:contain!important}

#pr-sonido{font-weight:700;color:#ffdc94}#pr-sonido[data-activo="1"]{color:#9ae6b4}#pr-mando{font:500 12px/1.4 var(--f-texto);color:#becbe0;padding:2px 12px}

/* v31.8: readable script first; three actual public-window samples. */
body.presentador #presentador{grid-template-columns:minmax(320px,.7fr) minmax(0,1.4fr);gap:14px}
#pr-cab{flex-wrap:wrap;gap:12px 28px}#pr-cab .pr-reloj-principal b{font-size:48px;color:#ffe16a}
#pr-panel-actividad b{font-size:30px}#pr-panel-actividad [data-tarde="true"]{background:#562030;border-color:#ff7382}
#pr-visuales{grid-template-rows:auto auto minmax(140px,1fr) auto auto minmax(80px,.4fr);gap:6px}
#pr-visuales>.pr-etiqueta:has(#pr-donde),#pr-escena{position:absolute!important;left:-10000px!important;width:480px!important;height:270px!important;pointer-events:none}
#pr-monitores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pr-monitor{min-width:0;text-align:left;padding:6px;border:1px solid #334360;background:#101b31;color:#e6edff;border-radius:7px;cursor:pointer}
.pr-monitor strong{font-size:12px}.pr-monitor span{display:block;font-size:10px;line-height:1.4;margin-top:4px}.pr-monitor[data-elegido="true"]{border:2px solid #ffe16a}.pr-monitor[data-estado="error"] span{color:#ff9c9c}
.pr-monitor-vista{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;margin-top:5px}
#pr-monitor-ampliado{position:relative;overflow:hidden;background:#000;border:1px solid #34445b;border-radius:7px;min-height:140px}
.pr-monitor-vista iframe,#pr-monitor-ampliado iframe{position:absolute;width:1920px;height:1080px;left:50%;top:50%;transform-origin:center;pointer-events:none;border:0}
#pr-ahora{font-size:var(--prompter,48px);line-height:1.4;letter-spacing:.005em;padding:6px 12px 20px 20px;border-left:4px solid #ffe16a}
#pr-notas{grid-template-rows:auto minmax(200px,1fr) auto auto auto}#pr-contexto{font-size:17px;line-height:1.5}#pr-viene{padding:10px 14px}#pr-viene-frase{font-size:18px}#pr-cues{padding:8px 14px}#pr-cue-salida{font-size:17px}
#pr-aviso-tiempo{margin:3px 0;padding:8px 12px;background:#552134;color:#fff;font:700 24px/1.25 var(--f-texto);border-left:5px solid #ff6f80}

#pr-viene .pr-viene-fila:has(#pr-viene-pantalla){display:none}#pr-viene{max-height:165px;overflow:auto}#pr-cues{max-height:105px}#pr-viene-frase{font-size:22px!important;line-height:1.3}#pr-cue-salida{margin:3px 0}#pr-panel-actividad #pr-tiempo-paso{font-size:42px}#pr-ahora{scroll-padding:20px}#pr-idea{font-size:17px;margin-bottom:12px}#pr-contexto:empty{display:none}

/* Recuperación privada, accesible sin recorrer escenas públicas. */
#pr-retomar-dialogo{width:min(760px,90vw);max-height:90vh;overflow:auto;background:#131a2a;color:#eef1fa;border:1px solid #586787;border-radius:14px;padding:24px;font:18px/1.4 var(--f-texto)}
#pr-retomar-dialogo::backdrop{background:#000b}#pr-retomar-dialogo h2{margin:0;font-size:28px}
#pr-retomar-dialogo label{display:block;margin:12px 0}#pr-retomar-dialogo input,#pr-retomar-dialogo select{display:block;box-sizing:border-box;width:100%;padding:8px;background:#0a1020;color:#fff;border:1px solid #586787;border-radius:6px;font:18px/1.4 var(--f-texto)}
#pr-retomar-dialogo button{padding:10px 14px;font-size:17px}#pr-ultimo{padding:12px;background:#17335e;border-radius:8px}#pr-ultimo p{margin:6px 0}#pr-destino{max-height:90px;overflow:auto}#pr-retomar-dialogo .pr-retomar-nota{font-size:15px;color:#b8c6dd}.pr-retomar-acciones{display:flex;gap:12px;flex-wrap:wrap}#pr-confirmar-salto,#pr-retomar-ultimo{background:#ffdf00!important;color:#111!important}

#pr-retomar-dialogo #pr-guardado-disco{font-size:15px;margin:6px 0;color:#b8c6dd}#pr-retomar-dialogo label{margin:8px 0}

/* v31.13 · prompter: función y una palabra. */
#pr-contexto,#pr-cues,#pr-detalles-contenido,#pr-ahora details,#pr-guia-ahora,#pr-voz-completa,#pr-viene-pantalla,.pr-viene-fila:has(#pr-viene-pantalla){display:none!important}
#pr-idea{font-size:30px!important;line-height:1.25!important;color:#f2f4fa!important}
#pr-voz-ahora{font-size:calc(var(--prompter,32px) + 12px)!important;line-height:1.18!important;color:#ffdf00!important;white-space:normal;text-wrap:pretty}
#pr-viene-frase{font-size:24px!important;line-height:1.25!important;white-space:normal}
.v27-entry-screen{transform:none!important}

#pr-detalles{display:none!important}
.v26-voice video{transform:none!important;object-fit:contain!important}

/* v31.15 · medios completos, sin acercamiento ni recorte del reproductor. */
.pantalla video{object-fit:contain!important}

/* Sin respiración/acercamiento en las cámaras de las escenas animadas. */
.pantalla .cam,.pantalla .zoom{transform:none!important}

/* v31.16: guía operativa siempre visible, separada del texto a decir. */
#pr-notas{grid-template-rows:auto minmax(145px,1fr) auto auto auto}
#pr-cues{display:grid!important;grid-template-columns:1fr!important;gap:8px;max-height:none;overflow:visible;padding:12px 16px}
#pr-cues p,#pr-cue-salida{font-size:18px;line-height:1.3;margin:3px 0 0}
#pr-cues strong{font-size:12px}#pr-cues .pr-cue-next{display:none}
#pr-idea{font-size:26px!important;margin-bottom:8px}
@media(max-height:850px){#pr-cues p,#pr-cue-salida{font-size:16px}#pr-cues{padding:8px 12px;gap:5px}#pr-idea{font-size:22px!important}#pr-viene-frase{font-size:20px!important}}

#pr-notas{grid-template-rows:auto minmax(190px,1fr) auto auto auto;gap:8px}
#pr-cues{padding:10px 14px;gap:6px}#pr-cues p,#pr-cue-salida{font-size:17px;line-height:1.25}
#pr-viene{padding:8px 14px}#pr-viene-funcion{font-size:22px}#pr-viene-frase{font-size:22px!important}
/* Las etiquetas redundantes no deben quitar espacio a la próxima frase. */
#pr-viene .pr-viene-fila>span{display:none}#pr-viene .pr-viene-etq{font-size:17px}
#pr-viene{max-height:none;overflow:visible;min-height:100px}
#pr-viene-funcion{font-size:21px}#pr-viene-frase{margin:5px 0 0;font-size:21px!important}
@media(max-height:950px){
 #pr-panel-actividad b{font-size:24px}#pr-panel-actividad #pr-tiempo-paso{font-size:34px}
 #pr-panel-actividad>div{padding:7px 10px;gap:3px}
 #pr-aviso-tiempo{font-size:18px;padding:4px 10px;margin:0}
 #pr-pie{gap:6px}#pr-controles button{font-size:13px;padding:8px}
 #pr-ahora{padding-bottom:10px}#pr-notas{gap:6px}
}

/* v31.22: el guion actual y próximo reciben la mayor parte de la cabina. */
body.presentador #presentador{grid-template-columns:minmax(230px,18%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:14px;box-sizing:border-box}
#pr-cab{grid-column:1;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
#pr-cab>span{display:flex;flex-direction:column;align-items:start;gap:2px;font-size:11px}
#pr-cab b{font-size:24px}#pr-cab .pr-reloj-principal b{font-size:32px}
#pr-version{grid-column:1/-1;font-size:11px}
#pr-panel-actividad{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
#pr-panel-actividad>div:first-child{grid-column:1/-1}
#pr-panel-actividad>div{padding:7px;gap:3px}
#pr-panel-actividad b{font-size:21px}#pr-panel-actividad #pr-tiempo-paso{font-size:30px}
#pr-panel-actividad span{font-size:12px}#pr-panel-actividad small{font-size:10px}
#pr-visuales{grid-column:1;grid-row:2;grid-template-rows:auto auto minmax(70px,1fr) auto minmax(50px,.65fr);gap:5px}
#pr-monitor-ampliado{min-height:0}.pr-monitor{padding:4px}.pr-monitor strong{font-size:11px}.pr-monitor span{font-size:9px}
#pr-visuales>.pr-etiqueta{font-size:10px}
#pr-notas{grid-column:2;grid-row:1/3;grid-template-rows:auto minmax(0,1.3fr) minmax(0,1fr);padding:0;gap:10px;overflow:hidden}
#pr-ahora{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;padding:12px 16px;border-left:5px solid #ffe16a;min-height:0;background:#121b2c;border-radius:8px;white-space:normal}
#pr-discurso{overflow:auto;min-height:0;padding:0 10px 8px 0;scrollbar-gutter:stable;scrollbar-color:#ffe16a #1b2a42;scrollbar-width:auto}
#pr-voz-ahora{font-size:var(--prompter,clamp(28px,2.4vw,46px))!important;line-height:1.3!important;white-space:pre-line;color:#fff!important}
#pr-idea{font-size:23px!important;color:#ffe16a!important;margin:0 0 12px}
#pr-cues{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 18px;padding:9px 0 0;border:0;border-top:1px solid #46556e;background:none;max-height:none;overflow:visible;white-space:normal}
#pr-cues .pr-cue-ancho{grid-column:auto}#pr-cues p,#pr-cue-salida{font-size:17px;line-height:1.3}#pr-cues strong{font-size:11px}
#pr-viene{min-height:0;max-height:none;margin:0;padding:14px 18px;overflow:auto;background:#102b40;border-left:5px solid #7fd6e9;scrollbar-gutter:stable;scrollbar-color:#7fd6e9 #1b2a42}
#pr-viene .pr-viene-etq{font-size:16px;color:#7fd6e9;margin:0 0 8px}#pr-viene-funcion{font-size:23px}
#pr-viene-frase{font-size:clamp(26px,2vw,36px)!important;line-height:1.35!important;white-space:pre-line;margin-top:9px!important}
#pr-viene #pr-viene-accion{font-size:18px;margin-top:14px;padding-top:8px;border-top:1px solid #436777;color:#afe7f3}
#pr-pie{grid-column:1/3;grid-row:3;gap:5px}#pr-controles{gap:8px}#pr-controles button{font-size:13px;padding:7px 9px}
#pr-aviso-tiempo{font-size:18px;padding:5px 10px}
@media(max-height:800px){#pr-cab{gap:5px}#pr-panel-actividad b{font-size:18px}#pr-panel-actividad span{font-size:11px}#pr-panel-actividad>div{padding:5px}#pr-cues p{font-size:15px}#pr-viene-frase{font-size:26px!important}#pr-voz-ahora{font-size:var(--prompter,30px)!important}#pr-visuales{grid-template-rows:auto auto minmax(50px,1fr) auto minmax(45px,.5fr)}}

body.presentador:not(.con-viene) #pr-notas{grid-template-rows:auto minmax(0,1fr)}

/* El aviso ocupa la previa lateral: nunca reduce el guion al ir tarde. */
#pr-pie{position:relative}#pr-aviso-tiempo{position:absolute;bottom:calc(100% + 8px);left:0;width:max(230px,calc(18vw - 20px));box-sizing:border-box;z-index:3;border-radius:6px;box-shadow:0 4px 18px #0008}

@media(max-height:800px){#pr-visuales{display:block;overflow:auto}#pr-monitor-ampliado,#pr-previa,#pr-visuales>.pr-etiqueta:has(#pr-monitor-elegido),#pr-visuales>.pr-etiqueta:has(#pr-proximo-titulo){display:none!important}}

/* v31.23 · siguiente diapositiva e ideas juntas, también en portátiles. */
#pr-viene{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px 20px;overflow:hidden;scrollbar-gutter:auto}
#pr-viene[hidden]{display:none}
#pr-viene .pr-viene-etq{grid-column:1/-1;margin:0}
#pr-viene #pr-previa{display:flex!important;grid-column:1;grid-row:2;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;height:100%;aspect-ratio:auto;background:#080e19;border-radius:5px;overflow:hidden}
#pr-viene #pr-proxima{display:block;object-fit:contain;width:100%;height:100%;min-height:0}
#pr-viene #pr-proxima[hidden]{display:none}
#pr-viene-texto{grid-column:2;grid-row:2;min-height:0;overflow:auto;padding:2px 5px 4px 0}
#pr-viene-funcion{font-size:clamp(21px,1.6vw,29px);line-height:1.18;color:#afe7f3}
#pr-viene #pr-viene-frase{margin:12px 0 0!important;padding-left:1em;font-size:clamp(24px,1.8vw,34px)!important;line-height:1.3!important;white-space:normal}
#pr-viene-frase li+li{margin-top:.35em}#pr-viene-frase li::marker{color:#7fd6e9}
#pr-viene-guion{margin-top:16px;border-top:1px solid #436777;padding-top:9px}
#pr-viene-guion summary{font-size:15px;color:#b5c6d1;cursor:pointer}
#pr-viene #pr-viene-completo,#pr-viene #pr-viene-accion{font-size:18px;line-height:1.4;white-space:pre-line;margin-top:10px}
@media(max-height:800px){#pr-viene{padding:10px 12px;gap:8px 14px}#pr-viene #pr-viene-frase{font-size:24px!important}#pr-viene-funcion{font-size:21px}#pr-viene-guion{margin-top:12px}#pr-viene .pr-viene-etq{font-size:14px}}

/* Prioridad del presentador: restante actual, slide siguiente y lo que dice ahora. */
body.presentador #presentador{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
#pr-cab{display:block;grid-column:1;grid-row:1;min-width:0}#pr-cab>span,#pr-version{display:none!important}
#pr-panel-actividad{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(0,1fr);gap:14px;align-items:center}
#pr-panel-actividad>div:nth-child(2){grid-column:1;grid-row:1;background:#142637;border-left:5px solid #7fd6e9;padding:12px 16px}
#pr-panel-actividad>div:first-child{grid-column:2;grid-row:1;background:none;padding:4px}
#pr-panel-actividad>div:nth-child(3){display:none}
#pr-panel-actividad #pr-tiempo-paso{font-size:clamp(60px,5vw,96px);line-height:1.05;color:#fff}
#pr-panel-actividad #pr-tiempo-paso-etiqueta{font-size:12px;letter-spacing:.03em;color:#afe7f3}
#pr-panel-actividad #pr-tiempo-paso-detalle{font-size:14px}#pr-actividad{font-size:19px!important}#pr-carga-audio{display:none}
#pr-viene{grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;padding:12px;gap:10px}
#pr-viene #pr-previa{grid-column:1;grid-row:2}
#pr-viene-texto{grid-column:1;grid-row:3;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 16px;align-items:start;max-height:130px}
#pr-viene-funcion{font-size:20px;max-width:250px}#pr-viene #pr-viene-frase{font-size:20px!important;margin:0!important;line-height:1.25!important}
#pr-viene-guion{grid-column:1/-1;margin-top:0;padding-top:5px}#pr-viene-guion summary{font-size:13px}
#pr-notas,body.presentador:not(.con-viene) #pr-notas{grid-column:2;grid-row:1/3;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}
#pr-ahora{padding:20px;grid-template-rows:minmax(0,1fr) auto}
#pr-idea{font-size:clamp(24px,2vw,36px)!important;margin-bottom:22px}
#pr-voz-ahora{font-size:var(--prompter,clamp(30px,2.8vw,52px))!important;line-height:1.28!important;white-space:normal;margin:0;padding-left:1em}
#pr-voz-ahora li+li{margin-top:.55em}#pr-voz-ahora li::marker{color:#ffe16a}
#pr-ahora #pr-actual-guion{display:block!important;margin-top:28px;border-top:1px solid #46556e;padding-top:12px}
#pr-actual-guion summary{font-size:16px;color:#c3cde0;cursor:pointer}#pr-actual-completo{font-size:24px;line-height:1.4;white-space:pre-line}
#pr-visuales{grid-column:auto;grid-row:3;display:block;overflow:hidden}#pr-monitor-ampliado,#pr-visuales>.pr-etiqueta:has(#pr-monitor-elegido){display:none!important}
#pr-monitores .pr-monitor{max-height:135px}#pr-cues p{font-size:16px;line-height:1.3}
#pr-aviso-tiempo{width:max(280px,calc(50vw - 20px));font-size:14px!important}
@media(max-height:800px){#pr-panel-actividad #pr-tiempo-paso{font-size:58px}#pr-panel-actividad>div:nth-child(2){padding:8px 12px}#pr-panel-actividad #pr-tiempo-paso-etiqueta{font-size:10px}#pr-panel-actividad #pr-tiempo-paso-detalle{font-size:12px}#pr-notas{gap:7px}#pr-ahora{padding:14px}#pr-idea{font-size:25px!important;margin-bottom:15px}#pr-voz-ahora{font-size:var(--prompter,32px)!important}#pr-viene-funcion{font-size:17px;max-width:190px}#pr-viene #pr-viene-frase{font-size:18px!important}#pr-cues p{font-size:13px}#pr-cues strong{font-size:10px}#pr-monitores .pr-monitor{max-height:100px}#pr-ahora #pr-actual-guion{margin-top:4px;padding-top:9px}#pr-actual-guion summary{font-size:14px}}

/* v31.24: tres ideas también visibles bajo la imagen siguiente. */
#pr-viene-texto{max-height:210px}
@media(max-height:800px){#pr-viene-texto{max-height:190px}}
#pr-voz-ahora{font-size:var(--prompter,clamp(30px,2.4vw,46px))!important}
#pr-voz-ahora li+li{margin-top:.42em}
@media(max-height:800px){#pr-voz-ahora{font-size:var(--prompter,30px)!important}}
