/* ============================================================================
   DetectivesApp — FASE 3B · HOJA DE ANIMACIONES CONSOLIDADA
   ----------------------------------------------------------------------------
   Origen: tandas 1-4 de Claude Design, DEDUPLICADAS.
     · BASE_GALERIA        → se conserva SOLO :root (paleta). El chrome de la
                             galería de demo (.gal-*) se descartó: era andamiaje.
     · ESCENA_UBICACION    → venía repetido en las 4 tandas ⇒ UNA sola copia.
     · DIALOGO_SUBTITULO   → venía repetido en las 4 tandas ⇒ UNA sola copia.
     · MAPA (map-*)        → tanda 2.
     · VIAJE (vj-*)        → tanda 3.
     · TABLERO (tb-*) y MEDALLAS (md-*) → tanda 4.
     · prefers-reduced-motion → los 4 bloques fusionados en UNO al final.

   REGLAS DURAS
     · Solo se animan `transform` y `opacity` (más stroke-dashoffset en SVG,
       que también va por compositor). Nada de width/height/top/left animados.
     · Cero recursos externos: ni fuentes, ni imágenes, ni URLs. Georgia y
       Courier New son fuentes de sistema.
     · Todo va prefijado (esc- dlg- map- vj- tb- md- anim-) para no chocar con
       los estilos de index.html.
     · No se toca html/body: esta hoja convive dentro de la app, no la gobierna.
============================================================================ */

/* ============ PALETA (única copia de BASE_GALERIA) ============ */
:root{
  --gold:#d9a648; --red:#b3322c; --red2:#d9433b;
  --green:#4caf6e; --muted:#8a8d93; --muted2:#6b6e75; --border:#2a2d33;
}

/* ============ ESCENARIO ANFITRIÓN (nuevo · pegamento con React) ============
   `.anim-escenario` es el marco que React monta y anim.js rellena. Relación de
   aspecto fija para que la composición del arte (pensada a 390×844) no se
   deforme en pantallas raras. `--anim-alto` permite recortarlo por pantalla. */
.anim-escenario{
  position:relative; width:100%; height:var(--anim-alto,58vh);
  max-height:560px; min-height:300px;
  border-radius:14px; overflow:hidden; background:#0e0f12;
  border:1px solid var(--border);
  box-shadow:0 24px 60px -34px #000;
  contain:layout paint;              /* aísla el repintado del resto de la pantalla */
}
.anim-escenario--completo{
  height:100%; min-height:0; max-height:none; border-radius:0; border:none;
}
.anim-escenario--mapa{ --anim-alto:64vh; max-height:620px; }
.anim-cargando{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font:400 9px/1 'Courier New',monospace; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted2);
}

/* ============ COMPONENTE: ESCENA_UBICACION ============ */
.esc-escena{position:absolute;inset:0;overflow:hidden;background:#141826}
.esc-camara{position:absolute;inset:0;transform-origin:50% 42%;will-change:transform}
.esc-play .esc-camara{animation:escena-camara 1400ms cubic-bezier(.19,1,.22,1) both}
.esc-capa{position:absolute;inset:0;will-change:transform}
.esc-capa--fondo{animation:escena-driftA 19s ease-in-out infinite alternate}
.esc-capa--media{animation:escena-driftB 15s ease-in-out infinite alternate}
.esc-capa--frente{animation:escena-driftC 11s ease-in-out infinite alternate}
.esc-capa svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.esc-play .esc-capa--fondo{animation:escena-entraFondo 900ms cubic-bezier(.19,1,.22,1) both,escena-driftA 19s ease-in-out 900ms infinite alternate}
.esc-play .esc-capa--frente{animation:escena-entraFrente 800ms cubic-bezier(.19,1,.22,1) both,escena-driftC 11s ease-in-out 800ms infinite alternate}

/* haz de luz cálida de lámpara */
.esc-luz{position:absolute;left:50%;top:-12%;width:150%;height:82%;transform:translateX(-50%);background:radial-gradient(50% 60% at 50% 0%,rgba(255,214,140,.24),rgba(255,214,140,.07) 45%,transparent 72%);opacity:0}
.esc-play .esc-luz{animation:escena-luzIn 1200ms ease-out 120ms both}
.esc-vineta{position:absolute;inset:0;background:radial-gradient(120% 82% at 50% 42%,transparent 52%,rgba(10,8,20,.30) 82%,rgba(10,8,20,.58) 100%);opacity:0}
.esc-play .esc-vineta{animation:escena-vinetaIn 900ms ease-out both}
.esc-grano{position:absolute;inset:-20%;opacity:.028;background:repeating-linear-gradient(27deg,#fff 0 1px,transparent 1px 3px),repeating-linear-gradient(-63deg,#fff 0 1px,transparent 1px 4px);animation:escena-grano 1.1s steps(3) infinite}
.esc-polvo{position:absolute;inset:0;overflow:hidden}
.esc-mota{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(217,166,72,.55);opacity:0;will-change:transform,opacity;animation:escena-mota linear infinite}

/* letrero del lugar — parte del decorado, al fondo */
.esc-letrero-caja{position:absolute;left:50%;top:8%;transform:translateX(-50%) scale(.92);text-align:center;opacity:0;max-width:82%}
.esc-play .esc-letrero-caja{animation:escena-letreroIn 700ms cubic-bezier(.19,1,.22,1) 180ms both}
.esc-lamparas{display:flex;justify-content:center;gap:56px;margin-bottom:-7px;position:relative;z-index:2}
.esc-lampara{width:26px;height:9px;border-radius:9px 9px 2px 2px;background:linear-gradient(180deg,#3a3d45,#20232a);box-shadow:0 7px 16px -4px rgba(217,166,72,.55)}
.esc-letrero{position:relative;padding:9px 16px 8px;border:1px solid rgba(217,166,72,.34);background:linear-gradient(170deg,rgba(30,26,18,.92),rgba(14,15,18,.92));box-shadow:inset 0 1px 0 rgba(217,166,72,.16),0 18px 40px -22px #000}
.esc-letrero-txt{font:700 12px/1.25 'Courier New',monospace;letter-spacing:.34em;text-transform:uppercase;color:#f0d69a;text-shadow:0 0 14px rgba(217,166,72,.65);white-space:pre-line}
.esc-letrero-sub{margin-top:5px;font:400 7.5px/1 'Courier New',monospace;letter-spacing:.3em;text-transform:uppercase;color:rgba(217,166,72,.55)}
.esc-letrero-glow{position:absolute;inset:-14px;background:radial-gradient(60% 70% at 50% 50%,rgba(217,166,72,.32),transparent 70%);opacity:0;pointer-events:none}
.esc-play .esc-letrero-glow{animation:escena-encender 1100ms steps(1,end) 260ms both}

/* personaje en primer plano */
.esc-personaje{position:absolute;left:50%;bottom:0;height:82%;transform:translateX(-50%);opacity:0}
.esc-personaje svg{height:100%;width:auto;display:block;filter:drop-shadow(0 -6px 30px rgba(0,0,0,.75))}
.esc-play .esc-personaje{animation:escena-enfoque 760ms cubic-bezier(.19,1,.22,1) 260ms both}
.esc-p-cuerpo{transform-box:fill-box;transform-origin:50% 100%;animation:escena-respirar 4.6s ease-in-out infinite}
.esc-p-cabeza{transform-box:fill-box;transform-origin:50% 100%;animation:escena-cabeza 8.5s ease-in-out infinite}
.esc-p-parpado{transform-box:fill-box;transform-origin:50% 0%;transform:scaleY(0);animation:escena-parpadeo 6.2s ease-in-out infinite}
.esc-p-parpado--b{animation-delay:.06s}
.esc-p-boca{transform-box:fill-box;transform-origin:50% 45%;transform:scaleY(.35)}
.esc-p-mano{transform-box:fill-box;transform-origin:20% 90%}
.esc-hablando .esc-p-boca{animation:escena-hablar 300ms ease-in-out infinite alternate}
.esc-hablando .esc-p-cabeza{animation:escena-cabeza-habla 2.4s ease-in-out infinite}
.esc-hablando .esc-p-mano{animation:escena-gesto 3.4s ease-in-out infinite}

@keyframes escena-camara{from{transform:scale(1.1) translateY(10px)}to{transform:scale(1) translateY(0)}}
@keyframes escena-entraFondo{from{transform:scale(1.06) translateY(-8px);opacity:0}to{transform:none;opacity:1}}
@keyframes escena-entraFrente{from{transform:translateY(26px) scale(1.04);opacity:0}to{transform:none;opacity:1}}
@keyframes escena-driftA{from{transform:translate3d(-4px,0,0)}to{transform:translate3d(4px,-2px,0)}}
@keyframes escena-driftB{from{transform:translate3d(5px,1px,0)}to{transform:translate3d(-5px,-1px,0)}}
@keyframes escena-driftC{from{transform:translate3d(8px,0,0)}to{transform:translate3d(-8px,2px,0)}}
@keyframes escena-luzIn{from{opacity:0;transform:translateX(-50%) scaleY(.86)}to{opacity:1;transform:translateX(-50%) scaleY(1)}}
@keyframes escena-vinetaIn{from{opacity:0}to{opacity:1}}
@keyframes escena-letreroIn{0%{opacity:0;transform:translateX(-50%) scale(.9) translateY(-6px)}100%{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}
@keyframes escena-encender{0%{opacity:0}18%{opacity:1}26%{opacity:.15}34%{opacity:.9}46%{opacity:.3}60%{opacity:1}100%{opacity:1}}
@keyframes escena-enfoque{0%{opacity:0;transform:translateX(-50%) translateY(30px) scale(.965)}60%{opacity:1}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes escena-respirar{0%,100%{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.014) translateY(-2px)}}
@keyframes escena-cabeza{0%,100%{transform:rotate(-.9deg) translateX(-1px)}50%{transform:rotate(1deg) translateX(1px)}}
@keyframes escena-cabeza-habla{0%,100%{transform:rotate(-1.4deg) translateY(0)}30%{transform:rotate(.6deg) translateY(-1.5px)}65%{transform:rotate(1.6deg) translateY(.5px)}}
@keyframes escena-parpadeo{0%,92%,100%{transform:scaleY(0)}94.5%{transform:scaleY(1)}96.5%{transform:scaleY(0)}}
@keyframes escena-hablar{0%{transform:scaleY(.3) scaleX(1)}100%{transform:scaleY(1.25) scaleX(.94)}}
@keyframes escena-gesto{0%,100%{transform:rotate(0) translateY(0)}35%{transform:rotate(-7deg) translateY(-6px)}70%{transform:rotate(3deg) translateY(-2px)}}
@keyframes escena-mota{0%{opacity:0;transform:translate3d(0,0,0)}15%{opacity:.9}100%{opacity:0;transform:translate3d(14px,-90px,0)}}
@keyframes escena-grano{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(-2%,1%,0)}100%{transform:translate3d(1%,-1%,0)}}

/* ============ COMPONENTE: DIALOGO_SUBTITULO ============ */
.dlg-caja{position:absolute;left:0;right:0;bottom:0;padding:13px 16px 15px;background:linear-gradient(180deg,rgba(8,9,11,0) 0%,rgba(8,9,11,.82) 16%,rgba(8,9,11,.95) 40%,rgba(8,9,11,.97) 100%);border-top:1px solid rgba(217,166,72,.22);will-change:transform,opacity;max-height:74%;overflow-y:auto;overscroll-behavior:contain}
.dlg-play .dlg-caja{animation:dlg-subir 620ms cubic-bezier(.16,1.28,.36,1) both}
.dlg-cabecera{display:flex;align-items:baseline;gap:8px}
.dlg-nombre{font:700 10px/1 'Courier New',monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.dlg-rol{font:400 8px/1 'Courier New',monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2)}
.dlg-regla{height:1px;margin:8px 0 10px;background:linear-gradient(90deg,rgba(217,166,72,.6),rgba(217,166,72,.06) 65%,transparent)}
.dlg-texto{font:400 15.5px/1.48 Georgia,'Times New Roman',serif;color:#e8e6e1;min-height:3.6em;text-wrap:pretty;margin:0}
.dlg-cursor{display:inline-block;margin-left:6px;color:var(--gold);font-size:12px;opacity:0;transform:translateY(-2px)}
.dlg-cursor--on{animation:dlg-cursor 1.1s steps(1,end) infinite}
.dlg-opciones{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.dlg-opcion{display:flex;gap:9px;align-items:flex-start;cursor:pointer;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:linear-gradient(150deg,rgba(22,24,29,.9),rgba(16,18,22,.9));opacity:0;will-change:transform,opacity;transition:border-color .18s,color .18s}
.dlg-play .dlg-opcion{animation:dlg-opcionIn 460ms cubic-bezier(.19,1,.22,1) both}
.dlg-flecha{flex:0 0 auto;width:9px;font:700 11px/1.45 'Courier New',monospace;color:var(--gold);opacity:0;transition:opacity .16s}
.dlg-opcion-txt{font:400 12.5px/1.4 'Courier New',monospace;letter-spacing:.045em;color:var(--muted);text-wrap:pretty}
.dlg-opcion--foco{border-color:rgba(217,166,72,.62);background:linear-gradient(150deg,rgba(34,30,20,.95),rgba(20,20,24,.95));transform:translateX(6px);box-shadow:0 0 24px -14px rgba(217,166,72,.9),inset 2px 0 0 var(--gold)}
.dlg-opcion--foco .dlg-flecha{opacity:1;animation:dlg-foco 1.4s ease-in-out infinite}
.dlg-opcion--foco .dlg-opcion-txt{color:#e8e6e1}
.dlg-opcion--usada{opacity:.42}
.dlg-opcion--usada .dlg-opcion-txt{color:var(--muted2);text-decoration:line-through;text-decoration-color:rgba(138,141,147,.6)}
.dlg-pie{display:flex;justify-content:space-between;gap:10px;margin-top:11px;font:400 8px/1.3 'Courier New',monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--muted2)}
.dlg-fondo-neutro{position:absolute;inset:0;background:radial-gradient(110% 70% at 50% 30%,#1a1d23,#0b0c0f 70%)}

/* variantes nuevas de opción (coste PA, acción de salida, opción vetada) */
.dlg-opcion--coste .dlg-opcion-txt::after{content:attr(data-coste);float:right;margin-left:10px;color:var(--gold);letter-spacing:.1em}
.dlg-opcion--salida{border-style:dashed}
.dlg-opcion--salida .dlg-opcion-txt{color:var(--muted2)}
.dlg-opcion--veto{opacity:.35;cursor:not-allowed}
.dlg-opcion--clave{border-color:rgba(217,66,59,.5)}
.dlg-opcion--clave .dlg-flecha{color:var(--red2)}
/* acotación por encima de la caja (estado de la operación / avisos del NPC) */
.dlg-acot{position:absolute;left:0;right:0;bottom:100%;margin-bottom:8px;text-align:center;
  font:700 8px/1.5 'Courier New',monospace;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(232,230,225,.7);text-shadow:0 2px 10px #000;pointer-events:none}
.dlg-acot--ruta{color:#ffd68c}
.dlg-acot--listo{color:#7fd39a}
.dlg-acot--alerta{color:var(--red2)}

@keyframes dlg-subir{0%{transform:translateY(110%);opacity:0}62%{transform:translateY(-9px);opacity:1}100%{transform:translateY(0)}}
@keyframes dlg-opcionIn{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
@keyframes dlg-cursor{0%,49%{opacity:1}50%,100%{opacity:.05}}
@keyframes dlg-foco{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}

/* ============ COMPONENTE: MAPA_MUNDI (tanda 2) ============ */
.map-panel{position:absolute;left:5%;right:5%;top:15%;height:36%;border-radius:6px;overflow:hidden;
  background:#0f2630;border:2px solid rgba(217,166,72,.5);
  box-shadow:0 0 0 6px rgba(10,14,20,.85),0 26px 60px -26px #000,inset 0 0 40px -10px rgba(127,208,216,.35);opacity:0}
.esc-play .map-panel{animation:map-panelIn 760ms cubic-bezier(.19,1,.22,1) 200ms both}
.map-lienzo{position:absolute;inset:0;transform-origin:50% 50%;
  transition:transform 900ms cubic-bezier(.19,1,.22,1);will-change:transform}
.map-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.map-panel-brillo{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.16) 0 12%,transparent 26% 100%)}
.map-panel-lineas{position:absolute;inset:0;pointer-events:none;opacity:.16;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,.9) 0 1px,transparent 1px 3px)}
.map-barrido{position:absolute;left:-30%;top:0;width:30%;height:100%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(127,208,216,.16),transparent);
  animation:map-barrido 6.5s linear infinite}
.map-panel-cabecera{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;
  padding:5px 8px;font:700 7px/1 'Courier New',monospace;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(217,166,72,.9);background:linear-gradient(180deg,rgba(8,12,18,.95),rgba(8,12,18,0));pointer-events:none}

.map-tierra path{transition:fill-opacity .3s}
.map-etq{font:700 19px/1 'Courier New',monospace;letter-spacing:.12em;fill:#ffe6b4}
.map-etq--origen{font-size:18px;fill:#e8e6e1;opacity:.8}

/* puntos de destino: halo que late, etiqueta al enfocar */
.map-punto{cursor:pointer}
.map-nucleo,.map-halo,.map-pulso{transform-box:fill-box;transform-origin:50% 50%}
.map-halo{opacity:.5;animation:map-latido 2.6s ease-in-out infinite}
.map-pulso{opacity:0;animation:map-onda 2.6s cubic-bezier(.2,.6,.3,1) infinite}
.map-pulso--b{animation-delay:1.3s}
.map-nucleo{transition:transform .35s cubic-bezier(.19,1,.22,1),filter .35s}
.map-etq-g{opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;
  transform-box:fill-box;transform-origin:50% 50%}
.map-punto--foco .map-nucleo{transform:scale(1.9);filter:drop-shadow(0 0 10px rgba(255,214,140,.95))}
.map-punto--foco .map-halo{opacity:1;animation-duration:1.3s}
.map-punto--foco .map-pulso{animation-duration:1.3s}
.map-punto--foco .map-etq-g{opacity:1;transform:translateY(0)}
.map-punto--elegido .map-nucleo{filter:drop-shadow(0 0 12px rgba(127,211,154,.95))}
.map-origen circle:last-of-type{filter:drop-shadow(0 0 6px rgba(232,230,225,.6))}
/* con un destino enfocado, la etiqueta de origen se aparta para no solaparse */
.map-puntos--con-foco .map-origen .map-etq--origen{opacity:0;transition:opacity .25s}

/* ruta punteada: hormigas en marcha + avión */
.map-ruta{--marcha:-20;animation:map-hormigas 900ms linear infinite}
.map-ruta-g{filter:drop-shadow(0 0 6px rgba(255,214,140,.75))}
.map-avion{transition:opacity .25s}

@keyframes map-panelIn{from{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes map-latido{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:.85;transform:scale(1.12)}}
@keyframes map-onda{0%{opacity:.9;transform:scale(.5)}70%{opacity:0;transform:scale(2.6)}100%{opacity:0;transform:scale(2.6)}}
@keyframes map-hormigas{to{stroke-dashoffset:var(--marcha)}}
@keyframes map-barrido{0%{transform:translateX(0)}100%{transform:translateX(440%)}}
@keyframes map-letreroIn{0%{opacity:0;transform:translateX(-50%) scale(.84) translateY(-8px)}100%{opacity:1;transform:translateX(-50%) scale(.88) translateY(0)}}

/* composición del aeropuerto: el agente se aparta para dejar ver el mapa */
.anim-t2 .esc-personaje{left:58%;height:72%}
.anim-t2 .esc-letrero-caja{top:2.5%;bottom:auto;left:50%;transform:translateX(-50%) scale(.88)}
.anim-t2 .esc-play .esc-letrero-caja{animation:map-letreroIn 700ms cubic-bezier(.19,1,.22,1) 180ms both}

/* ============ COMPONENTE: VIAJE (tanda 3) ============ */
.vj-cine{position:absolute;inset:0;overflow:hidden;background:#0b1020;opacity:0;pointer-events:none}
.vj-cine--on{opacity:1;pointer-events:auto}

/* ---- cielo: dos capas que se relevan ---- */
.vj-cielo{position:absolute;inset:0}
.vj-cielo--tarde{background:linear-gradient(180deg,#2b3566 0%,#7b4a7a 38%,#d9784a 68%,#f0a860 82%,#f7c887 100%)}
.vj-cielo--noche{background:linear-gradient(180deg,#05070f 0%,#0b1330 45%,#132145 74%,#1b2c55 100%);opacity:0}
.vj-run .vj-cielo--noche{animation:vj-anochecer 1600ms linear 1000ms both}
/* height fija de respaldo: `aspect-ratio` es Chrome 88+ y minSdk 24 admite
   WebView más viejos. Con soporte, aspect-ratio manda y corrige el círculo. */
.vj-sol{position:absolute;left:50%;top:56%;width:26%;height:26vw;max-height:150px;aspect-ratio:1;
  margin-left:-13%;border-radius:50%;
  background:radial-gradient(circle,#ffe6b4 0 46%,rgba(255,214,140,.5) 62%,transparent 72%)}
.vj-run .vj-sol{animation:vj-poniente 2600ms cubic-bezier(.4,0,.6,1) both}
.vj-estrellas{position:absolute;inset:0;opacity:0}
.vj-run .vj-estrellas{animation:vj-estrellasIn 1100ms ease-out 1700ms both}
.vj-estrella{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;
  animation:vj-titilar 2.4s ease-in-out infinite}

/* ---- mar ---- */
.vj-mar{position:absolute;left:-10%;right:-10%;bottom:0;height:34%;transform-origin:50% 100%;
  background:linear-gradient(180deg,#1d3c52 0%,#12293a 55%,#0c1d2b 100%)}
.vj-run .vj-mar{animation:vj-alejarMar 1400ms cubic-bezier(.19,1,.22,1) both}
.vj-horizonte{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(255,214,140,.55)}
.vj-brillo{position:absolute;inset:0;opacity:.5;
  background:
    linear-gradient(180deg,transparent 6%,rgba(255,214,140,.30) 8%,transparent 11%,
      transparent 21%,rgba(255,214,140,.16) 23.5%,transparent 26%,
      transparent 40%,rgba(255,214,140,.24) 43%,transparent 47%,
      transparent 62%,rgba(255,214,140,.12) 64%,transparent 67%,
      transparent 79%,rgba(255,214,140,.20) 82%,transparent 86%);
  animation:vj-brillar 3.2s ease-in-out infinite alternate}
.vj-olas{position:absolute;inset:0;opacity:.3;
  background:
    linear-gradient(180deg,transparent 14%,rgba(127,208,216,.22) 15.5%,transparent 17%,
      transparent 33%,rgba(127,208,216,.14) 34.5%,transparent 36%,
      transparent 52%,rgba(127,208,216,.20) 54%,transparent 56%,
      transparent 71%,rgba(127,208,216,.12) 72.5%,transparent 74%,
      transparent 90%,rgba(127,208,216,.18) 92%,transparent 94%);
  animation:vj-olear 4.2s linear infinite}
.vj-sombra{position:absolute;left:38%;top:22%;width:22%;height:7%;border-radius:50%;
  background:rgba(4,10,18,.55);filter:blur(1px)}
.vj-run .vj-sombra{animation:vj-sombraVuelo 2500ms cubic-bezier(.4,0,.5,1) both}

/* ---- nubes en parallax ---- */
.vj-nubes{position:absolute;inset:0;overflow:hidden}
.vj-nube{position:absolute;opacity:0;will-change:transform,opacity}
.vj-nube svg{width:100%;height:auto;display:block}
.vj-run .vj-nube{animation:vj-atravesar var(--dur,1400ms) cubic-bezier(.42,0,.86,.62) var(--ret,0ms) both}

/* ---- avión ---- */
.vj-avion{position:absolute;left:50%;top:40%;width:40%;margin-left:-20%;will-change:transform;
  perspective:520px;transform-style:preserve-3d}
.vj-avion svg{width:100%;height:auto;display:block;transform:rotateX(62deg);transform-origin:50% 60%;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.55))}
.vj-run .vj-avion{animation:vj-vuelo 3000ms cubic-bezier(.32,.14,.28,1) both}
.vj-estela{position:absolute;left:50%;top:44%;width:0;height:0;opacity:0}
.vj-run .vj-estela{animation:vj-estelaIn 2400ms ease-out 400ms both}
.vj-estela span{position:absolute;top:0;width:4px;height:150px;border-radius:4px;transform-origin:top center;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0))}

/* ---- HUD ---- */
.vj-hud{position:absolute;left:0;right:0;top:0;padding:14px 16px;opacity:0}
.vj-run .vj-hud{animation:vj-hudIn 500ms ease-out 250ms both}
.vj-hud-fila{display:flex;justify-content:space-between;align-items:baseline;
  font:700 8px/1 'Courier New',monospace;letter-spacing:.22em;text-transform:uppercase;color:rgba(232,230,225,.8)}
.vj-hud-arco{margin-top:9px}
.vj-hud-arco svg{width:100%;height:38px;display:block;overflow:visible}
.vj-hud-guia{fill:none;stroke:rgba(232,230,225,.28);stroke-width:1.4;stroke-dasharray:3 5}
.vj-hud-avance{fill:none;stroke:#ffd68c;stroke-width:2.4;stroke-linecap:round;
  stroke-dasharray:var(--largo,300);stroke-dashoffset:var(--largo,300)}
.vj-run .vj-hud-avance{animation:vj-arco 2400ms cubic-bezier(.35,0,.3,1) 300ms both}
.vj-hud-punto{fill:#ffd68c;opacity:0}
.vj-run .vj-hud-punto{animation:vj-hudIn 300ms ease-out 400ms both}
.vj-hud-datos{display:flex;gap:14px;margin-top:7px;
  font:400 8px/1 'Courier New',monospace;letter-spacing:.16em;color:rgba(127,208,216,.85)}

/* ---- rótulo del destino ---- */
.vj-titulo{position:absolute;left:0;right:0;bottom:19%;text-align:center;opacity:0}
.vj-run .vj-titulo{animation:vj-tituloIn 900ms cubic-bezier(.19,1,.22,1) 2050ms both}
.vj-titulo-ciudad{font:700 26px/1.1 Georgia,'Times New Roman',serif;letter-spacing:.16em;color:#fff;
  text-shadow:0 6px 30px rgba(0,0,0,.85)}
.vj-titulo-pais{margin-top:8px;font:700 9px/1 'Courier New',monospace;letter-spacing:.42em;
  text-transform:uppercase;color:#ffd68c}
.vj-titulo-regla{width:74px;height:1px;margin:11px auto 0;background:rgba(255,214,140,.7)}

/* ---- llegada ---- */
.vj-pista{position:absolute;left:0;right:0;bottom:0;height:0;overflow:hidden}
.vj-run .vj-pista{animation:vj-pistaIn 700ms cubic-bezier(.19,1,.22,1) 2450ms both}
.vj-pista-luz{position:absolute;bottom:12px;width:5px;height:5px;border-radius:50%;background:#ffd68c;
  animation:vj-pistaLuz .5s linear infinite}
.vj-flash{position:absolute;inset:0;background:#fff;opacity:0}
.vj-run .vj-flash{animation:vj-flash 480ms ease-out 2620ms both}

/* ---- saltar ---- */
.vj-toque{position:absolute;inset:0;z-index:4;cursor:pointer}
.vj-saltar{position:absolute;right:12px;bottom:12px;cursor:pointer;z-index:5;
  display:flex;align-items:center;min-height:44px;padding:14px 20px;
  border:1px solid rgba(232,230,225,.4);border-radius:999px;background:rgba(8,10,16,.68);
  font:700 10px/1 'Courier New',monospace;letter-spacing:.24em;text-transform:uppercase;color:rgba(232,230,225,.9)}
.vj-saltar:hover{border-color:rgba(255,214,140,.7);color:#ffd68c}

/* ---- escena de llegada bajo la cinemática ---- */
.vj-llegada{position:absolute;inset:0}
.vj-llegada-rotulo{position:absolute;left:0;right:0;bottom:22px;text-align:center;
  font:700 9px/1 'Courier New',monospace;letter-spacing:.34em;text-transform:uppercase;color:#ffd68c;
  text-shadow:0 2px 12px #000}

@keyframes vj-anochecer{from{opacity:0}to{opacity:1}}
@keyframes vj-poniente{0%{transform:translateY(0) scale(1);opacity:.95}
  60%{transform:translateY(46%) scale(.86);opacity:.7}
  100%{transform:translateY(120%) scale(.7);opacity:0}}
@keyframes vj-estrellasIn{from{opacity:0}to{opacity:1}}
@keyframes vj-titilar{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes vj-alejarMar{0%{transform:translateY(14%) scaleY(1.5)}100%{transform:translateY(0) scaleY(1)}}
@keyframes vj-brillar{from{transform:translateY(-6px) scaleY(1)}to{transform:translateY(6px) scaleY(1.04)}}
@keyframes vj-olear{to{transform:translateY(18px)}}
@keyframes vj-sombraVuelo{0%{transform:translate3d(-30%,0,0) scale(1.3);opacity:.6}
  60%{transform:translate3d(10%,0,0) scale(.7);opacity:.32}
  100%{transform:translate3d(46%,0,0) scale(.45);opacity:0}}
@keyframes vj-atravesar{
  0%{transform:translate3d(0,0,0) scale(.28);opacity:0}
  16%{opacity:var(--op,.8)}
  68%{opacity:var(--op,.8)}
  100%{transform:translate3d(var(--dx,0px),var(--dy,0px),0) scale(var(--sc,3.4));opacity:0}}
@keyframes vj-vuelo{
  0%{transform:translate3d(0,70%,0) scale(1.2) rotate(0deg)}
  18%{transform:translate3d(-3%,46%,0) scale(1.02) rotate(-2.5deg)}
  46%{transform:translate3d(3%,18%,0) scale(.72) rotate(1.5deg)}
  72%{transform:translate3d(-2%,0%,0) scale(.52) rotate(-1deg)}
  100%{transform:translate3d(1%,-14%,0) scale(.36) rotate(0deg)}}
@keyframes vj-estelaIn{0%{opacity:0;transform:scaleY(.15)}35%{opacity:.85}100%{opacity:0;transform:scaleY(1)}}
@keyframes vj-hudIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes vj-arco{to{stroke-dashoffset:0}}
@keyframes vj-tituloIn{0%{opacity:0;transform:translateY(16px);letter-spacing:.5em;filter:blur(6px)}
  60%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;letter-spacing:.16em}}
@keyframes vj-pistaIn{from{height:0}to{height:22%}}
@keyframes vj-pistaLuz{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes vj-flash{0%{opacity:0}25%{opacity:.9}100%{opacity:0}}

/* ============ COMPONENTE: TABLERO DE CONSPIRACIÓN (tanda 4A) ============ */
.tb-panel{position:absolute;inset:0;overflow:hidden;
  background:
    radial-gradient(120% 80% at 50% 0%,rgba(217,166,72,.06),transparent 60%),
    repeating-conic-gradient(from 0deg at 50% 50%,#6b4a25 0deg 1deg,#5e4020 1deg 2deg),
    linear-gradient(160deg,#5c3f21,#442d16)}
.tb-corcho{position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;
  background:
    radial-gradient(1px 1px at 20% 30%,rgba(0,0,0,.5) 40%,transparent 41%),
    radial-gradient(1px 1px at 70% 60%,rgba(0,0,0,.45) 40%,transparent 41%),
    radial-gradient(2px 2px at 40% 80%,rgba(0,0,0,.35) 40%,transparent 41%),
    radial-gradient(1px 1px at 85% 20%,rgba(255,255,255,.14) 40%,transparent 41%),
    radial-gradient(1px 1px at 12% 66%,rgba(255,255,255,.1) 40%,transparent 41%);
  background-size:120px 120px,90px 90px,140px 140px,70px 70px,100px 100px}
.tb-vineta{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 80% at 50% 42%,transparent 46%,rgba(20,10,4,.5) 82%,rgba(10,6,2,.8) 100%)}
.tb-cabecera{position:absolute;left:0;right:0;top:0;z-index:6;display:flex;justify-content:space-between;
  align-items:center;padding:12px 14px;
  background:linear-gradient(180deg,rgba(10,7,3,.78),transparent)}
.tb-titulo{font:700 11px/1 'Courier New',monospace;letter-spacing:.28em;text-transform:uppercase;color:#f0d9a0;
  text-shadow:0 1px 6px rgba(0,0,0,.7)}
.tb-progreso{font:400 8px/1 'Courier New',monospace;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,217,160,.7)}

.tb-lienzo{position:absolute;inset:0}
.tb-hilos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.tb-hilo{fill:none;stroke:#a3271f;stroke-width:2.4;stroke-linecap:round;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.tb-hilo--pend{opacity:.14;stroke-dasharray:4 6}
.tb-hilo--dibujando{opacity:1;stroke-dasharray:var(--L);stroke-dashoffset:var(--L);
  animation:tb-dibujar 760ms cubic-bezier(.5,0,.3,1) forwards}
.tb-hilo--hecho{opacity:1}
.tb-hilo--vibrar{animation:tb-cuerda 620ms ease-out}
.tb-hilo--red{animation:tb-hiloRed 1200ms ease-in-out}

/* nodos */
.tb-nodo{position:absolute;width:23%;transform:translate(-50%,-50%);z-index:3;cursor:pointer;
  transition:transform .18s;background:none;border:none;padding:0;color:inherit;font:inherit}
.tb-ficha{position:relative;padding:10px 8px 9px;border-radius:3px;
  background:linear-gradient(158deg,#efe7d2,#d8ccae);
  box-shadow:0 8px 16px -6px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.5);
  transform:rotate(var(--tilt,0deg))}
.tb-chincheta{position:absolute;left:50%;top:-7px;width:15px;height:15px;margin-left:-7.5px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#ff8f84,#b3322c 60%,#7c1f1a);
  box-shadow:0 3px 5px rgba(0,0,0,.5);z-index:4}
.tb-foto{height:40px;border-radius:2px;margin-bottom:6px;position:relative;overflow:hidden;
  background:linear-gradient(150deg,#4a4038,#2b2521)}
.tb-foto svg{position:absolute;inset:0;width:100%;height:100%}
.tb-nombre{font:700 8px/1.15 'Courier New',monospace;letter-spacing:.06em;text-transform:uppercase;color:#2b2018;
  text-align:center;text-wrap:balance}
.tb-rol{font:400 6.5px/1.2 'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase;
  color:#7a6a52;text-align:center;margin-top:2px}

/* estado: bloqueado */
.tb-nodo--bloq .tb-ficha{filter:grayscale(.85) brightness(.5) contrast(.9)}
.tb-nodo--bloq{cursor:not-allowed}
.tb-candado{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:5;
  color:#0c0a08;opacity:.86}
.tb-nodo--bloq .tb-candado{display:flex}
.tb-candado svg{width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.tb-nodo--temblar{animation:tb-temblar 420ms cubic-bezier(.36,.07,.19,.97)}

/* estado: disponible */
.tb-nodo--disp .tb-ficha{box-shadow:0 8px 16px -6px rgba(0,0,0,.65),
  inset 0 1px 0 rgba(255,255,255,.5),0 0 0 2px rgba(217,166,72,.85),0 0 22px -2px rgba(217,166,72,.75);
  animation:tb-latir 1.7s ease-in-out infinite}
.tb-nodo--disp .tb-chincheta{background:radial-gradient(circle at 35% 30%,#ffe6a0,#d9a648 60%,#a5741f)}

/* estado: resuelto */
.tb-nodo--res .tb-ficha{filter:saturate(.92)}
.tb-sello{position:absolute;left:50%;top:52%;z-index:6;pointer-events:none;
  transform:translate(-50%,-50%) rotate(-16deg) scale(2.4);opacity:0}
.tb-sello svg{width:74px;height:auto;display:block}
.tb-nodo--res .tb-sello{animation:tb-estampar 520ms cubic-bezier(.3,1.5,.5,1) forwards}
.tb-nodo--destello .tb-ficha::after{content:"";position:absolute;inset:0;border-radius:3px;background:#fff;
  animation:tb-flash 560ms ease-out}
/* nodo seleccionado por el jugador (lo dicta React, no el componente) */
.tb-nodo--sel .tb-ficha{outline:2px solid var(--gold);outline-offset:3px}

/* nodo jefe */
.tb-nodo--jefe{width:27%}
.tb-nodo--jefe .tb-ficha{background:linear-gradient(158deg,#f2e4c2,#d8c69c)}
.tb-nodo--jefe .tb-foto{height:48px}

.tb-final{position:absolute;left:0;right:0;top:44%;z-index:8;text-align:center;opacity:0;pointer-events:none}
.tb-final--on{animation:tb-finalIn 900ms cubic-bezier(.19,1,.22,1) forwards}
.tb-final-txt{display:inline-block;font:700 22px/1 'Courier New',monospace;letter-spacing:.2em;text-transform:uppercase;
  color:#fff;padding:12px 20px;border:2px solid #d9433b;background:rgba(120,26,22,.5);
  box-shadow:0 0 40px -6px rgba(217,66,59,.9);text-shadow:0 2px 12px rgba(0,0,0,.7);transform:rotate(-3deg)}
.tb-final-sub{margin-top:12px;font:400 8px/1 'Courier New',monospace;letter-spacing:.34em;text-transform:uppercase;
  color:#f0d9a0}
.tb-humo{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 46%,rgba(217,66,59,.22),transparent 70%);
  opacity:0}
.tb-final--on ~ .tb-humo,.tb-panel--red .tb-humo{animation:tb-humoIn 1200ms ease-out forwards}

@keyframes tb-dibujar{to{stroke-dashoffset:0}}
@keyframes tb-cuerda{0%,100%{stroke-width:2.4}25%{stroke-width:3.6}50%{stroke-width:1.8}75%{stroke-width:3}}
@keyframes tb-hiloRed{0%,100%{stroke:#a3271f;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
  50%{stroke:#ff5a4e;filter:drop-shadow(0 0 8px rgba(255,90,78,.9))}}
@keyframes tb-latir{0%,100%{box-shadow:0 8px 16px -6px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.5),0 0 0 2px rgba(217,166,72,.85),0 0 16px -2px rgba(217,166,72,.6)}
  50%{box-shadow:0 8px 16px -6px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.5),0 0 0 2px rgba(217,166,72,1),0 0 30px 1px rgba(217,166,72,.95)}}
@keyframes tb-temblar{0%,100%{transform:translate(-50%,-50%)}
  20%{transform:translate(-53%,-50%)}40%{transform:translate(-47%,-50%)}
  60%{transform:translate(-52%,-50%)}80%{transform:translate(-48%,-50%)}}
@keyframes tb-estampar{0%{opacity:0;transform:translate(-50%,-50%) rotate(-16deg) scale(2.6)}
  55%{opacity:1;transform:translate(-50%,-50%) rotate(-13deg) scale(.82)}
  72%{transform:translate(-50%,-50%) rotate(-15deg) scale(1.04)}
  100%{opacity:1;transform:translate(-50%,-50%) rotate(-14deg) scale(1)}}
@keyframes tb-flash{0%{opacity:.9}100%{opacity:0}}
@keyframes tb-finalIn{0%{opacity:0;transform:translateY(14px) scale(.9)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes tb-humoIn{from{opacity:0}to{opacity:1}}

/* ============ COMPONENTE: MEDALLAS (tanda 4B) ============ */
.md-panel{position:absolute;inset:0;overflow:hidden;overflow-y:auto;
  background:radial-gradient(120% 80% at 50% 0%,#1b1f2a,#0c0e14 62%,#08090d 100%)}
.md-cabecera{position:sticky;top:0;z-index:4;padding:16px 16px 12px;
  background:linear-gradient(180deg,#0c0e14 60%,transparent)}
.md-tit{font:700 12px/1 'Courier New',monospace;letter-spacing:.28em;text-transform:uppercase;color:#f0d9a0}
.md-sub{margin-top:5px;font:400 8px/1.4 'Courier New',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted2)}
.md-contador{display:flex;align-items:baseline;gap:6px;margin-top:12px}
.md-cont-num{font:700 30px/1 Georgia,serif;color:#ffd68c;font-variant-numeric:tabular-nums;
  text-shadow:0 0 20px rgba(255,214,140,.4)}
.md-cont-tot{font:400 13px/1 'Courier New',monospace;letter-spacing:.1em;color:var(--muted)}
.md-barra{margin-top:9px;height:4px;border-radius:2px;background:#20242e;overflow:hidden}
.md-barra-fill{height:100%;width:0;border-radius:2px;background:linear-gradient(90deg,#c9932f,#ffd68c);
  transition:width .9s cubic-bezier(.2,.7,.2,1)}

.md-rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:6px 16px 24px}
.md-celda{position:relative;min-height:106px;aspect-ratio:1;border-radius:10px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 6px;
  background:linear-gradient(160deg,#161a22,#0e1016);border:1px solid #23272f;overflow:hidden}
.md-disco{position:relative;width:58%;min-height:54px;aspect-ratio:1}
.md-disco svg{width:100%;height:100%;display:block;overflow:visible}
.md-etq{font:700 7px/1.2 'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase;text-align:center;
  color:var(--muted);text-wrap:balance}
.md-brillo{position:absolute;top:0;left:-60%;width:55%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);opacity:0}
.md-chispa{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffe6a0;pointer-events:none;opacity:0;
  box-shadow:0 0 6px 1px rgba(255,214,140,.9)}
/* pie descriptivo: cómo se consigue cada medalla (honestidad con el jugador) */
.md-pista{margin:0 16px 20px;font:400 9px/1.7 'Courier New',monospace;letter-spacing:.06em;color:var(--muted2)}
.md-pista b{color:var(--muted);font-weight:400}

/* bloqueada */
.md-celda--bloq .md-disco{filter:grayscale(1) brightness(.42)}
.md-celda--bloq .md-candado{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#6b6e75}
.md-celda--bloq .md-candado svg{width:22px;height:22px}
.md-celda--bloq .md-etq{color:var(--muted2)}

/* desbloqueada */
.md-celda--ok{border-color:rgba(217,166,72,.4);
  background:linear-gradient(160deg,#1c2130,#12131b);box-shadow:inset 0 0 26px -10px rgba(217,166,72,.6)}
.md-celda--ok .md-etq{color:#e8dcc0}
.md-celda--ok .md-disco{animation:md-flotar 4.2s ease-in-out infinite}
.md-celda--nueva .md-disco{animation:md-aparecer 760ms cubic-bezier(.3,1.6,.5,1)}
.md-celda--nueva .md-brillo{animation:md-shine 900ms ease-out .5s}
.md-celda--nueva .md-halo{animation:md-halo 800ms ease-out}
.md-halo{position:absolute;inset:0;border-radius:10px;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 50% 44%,rgba(255,214,140,.7),transparent 60%)}

@keyframes md-aparecer{0%{transform:scale(0) rotate(-40deg);opacity:0}
  60%{transform:scale(1.18) rotate(6deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes md-shine{0%{left:-60%;opacity:0}10%{opacity:1}100%{left:120%;opacity:0}}
@keyframes md-halo{0%{opacity:0;transform:scale(.6)}40%{opacity:1}100%{opacity:0;transform:scale(1.3)}}
@keyframes md-flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes md-chispa{0%{opacity:0;transform:translate(0,0) scale(.4)}
  18%{opacity:1}100%{opacity:0;transform:translate(var(--cx),var(--cy)) scale(1)}}

/* ============================================================================
   ACCESIBILIDAD · MOVIMIENTO REDUCIDO
   Los cuatro bloques de las tandas 1-4, fusionados. Todo lo que se mueve se
   apaga y se deja el estado FINAL visible (nada queda invisible por opacity:0).
============================================================================ */
@media (prefers-reduced-motion: reduce){
  /* escena + diálogo */
  .esc-capa,.esc-capa--fondo,.esc-capa--media,.esc-capa--frente,.esc-grano,.esc-mota,
  .esc-p-cuerpo,.esc-p-cabeza,.esc-p-parpado,.esc-p-mano,
  .esc-hablando .esc-p-boca,.esc-hablando .esc-p-cabeza,.esc-hablando .esc-p-mano,
  .esc-play .esc-camara,.esc-play .esc-capa--fondo,.esc-play .esc-capa--frente,
  .esc-play .esc-luz,.esc-play .esc-vineta,.esc-play .esc-letrero-caja,
  .esc-play .esc-letrero-glow,.esc-play .esc-personaje,
  .dlg-play .dlg-caja,.dlg-play .dlg-opcion,.dlg-cursor--on,.dlg-opcion--foco .dlg-flecha,
  /* mapa */
  .map-halo,.map-pulso,.map-ruta,.map-barrido,.esc-play .map-panel,
  /* viaje */
  .vj-cine *,
  /* tablero + medallas */
  .tb-nodo--disp .tb-ficha,.tb-hilo--dibujando,.tb-hilo--vibrar,.tb-hilo--red,.tb-sello,
  .tb-nodo--res .tb-sello,.tb-nodo--temblar,.tb-nodo--destello .tb-ficha::after,
  .md-celda--ok .md-disco,.md-celda--nueva .md-disco,
  .md-celda--nueva .md-brillo,.md-celda--nueva .md-halo,.md-chispa,.tb-humo{
    animation:none !important;transition:none !important
  }
  .esc-luz,.esc-vineta,.esc-letrero-caja,.esc-letrero-glow,.esc-personaje,.dlg-opcion{opacity:1}
  .esc-letrero-caja{transform:translateX(-50%) scale(1)}
  .anim-t2 .esc-letrero-caja{opacity:1;transform:translateX(-50%) scale(.88)}
  .esc-personaje{transform:translateX(-50%)}
  .esc-p-parpado{transform:scaleY(0)}
  .dlg-cursor{opacity:1}
  .esc-grano{display:none}
  .map-lienzo,.map-nucleo,.map-etq-g{transition:none !important}
  .map-panel{opacity:1}
  .map-etq-g{opacity:1;transform:none}
  .vj-cielo--noche,.vj-estrellas,.vj-hud,.vj-titulo{opacity:1}
  .vj-nube,.vj-sol,.vj-flash{display:none}
  .tb-hilo--dibujando,.tb-hilo--hecho{stroke-dashoffset:0 !important;opacity:1}
  .tb-sello{opacity:1;transform:translate(-50%,-50%) rotate(-14deg) scale(1)}
  .md-barra-fill{transition:none !important}
}
