/* EduFlow Slides — reproductor de presentaciones interactivas */
.efs{--efs-theme:#0b3156;--efs-accent:#8dc63f;--efs-text:#1e293b;--efs-muted:#64748b;position:relative;background:#0f172a;border-radius:14px;overflow:hidden;font-family:Inter,'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--efs-text);outline:none;box-shadow:0 10px 30px rgba(15,23,42,.18)}
.efs *,.efs *::before,.efs *::after{box-sizing:border-box}
.efs-i{flex:none;display:block}
.efs-head{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--efs-theme);color:#fff}
.efs-title{flex:1;min-width:0;font-weight:700;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.efs-count{font-size:12.5px;font-weight:700;opacity:.85;border-left:2px solid rgba(255,255,255,.5);padding-left:10px}
.efs-viewport{background:#0f172a;display:flex;justify-content:center}
.efs-stage{position:relative;width:100%;background:#fff;overflow:hidden;user-select:none;line-height:1.35}
.efs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.efs-layers{position:absolute;inset:0}
.efs-empty{color:#cbd5e1;padding:60px 20px;text-align:center}

/* Escena (una por lámina; dos durante la transición) */
.efs-scene{position:absolute;inset:0;overflow:hidden;background:#fff}
.efs-scene .efs-bg{transform-origin:50% 50%;will-change:transform}
.efs-flash{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:3}
.efs-flash.is-black{background:#000}.efs-flash.is-white{background:#fff}
.efs-flash.is-run{animation:efs-flash var(--efs-td,.8s) ease-in-out both}
@keyframes efs-flash{0%{opacity:0}50%{opacity:1}100%{opacity:0}}

/* Transiciones entre láminas */
.efs-scene[class*="efs-tin-"],.efs-scene[class*="efs-tout-"]{animation-duration:var(--efs-td,.8s);animation-fill-mode:both;animation-timing-function:cubic-bezier(.45,.05,.25,1)}
.efs-scene.is-leaving{pointer-events:none}
.efs-tin-fade,.efs-tin-fade-back,.efs-tin-dissolve,.efs-tin-dissolve-back{animation-name:efs-fade}
.efs-tout-fade,.efs-tout-fade-back{animation-name:efs-fadeout}
.efs-tout-dissolve,.efs-tout-dissolve-back{animation-name:efs-hold}
.efs-tout-black,.efs-tout-white,.efs-tout-black-back,.efs-tout-white-back{animation-name:efs-hold}
.efs-tin-push{animation-name:efs-from-right}.efs-tout-push{animation-name:efs-to-left}
.efs-tin-push-back{animation-name:efs-from-left}.efs-tout-push-back{animation-name:efs-to-right}
.efs-tin-cover{animation-name:efs-from-right}.efs-tin-cover-back{animation-name:efs-from-left}
.efs-tout-cover,.efs-tout-cover-back{animation-name:efs-dim}
.efs-tin-zoom,.efs-tin-zoom-back{animation-name:efs-zoomin-scene}.efs-tout-zoom,.efs-tout-zoom-back{animation-name:efs-fadeout}
.efs-tin-blur,.efs-tin-blur-back{animation-name:efs-fade}.efs-tout-blur,.efs-tout-blur-back{animation-name:efs-blurout}
.efs-tin-wipe{animation-name:efs-wipe}.efs-tin-wipe-back{animation-name:efs-wipe-back}
.efs-tout-wipe,.efs-tout-wipe-back,.efs-tout-circle,.efs-tout-circle-back{animation-name:efs-hold}
.efs-tin-circle,.efs-tin-circle-back{animation-name:efs-circle}
@keyframes efs-fadeout{from{opacity:1}to{opacity:0}}
@keyframes efs-hold{from{opacity:1}to{opacity:1}}
@keyframes efs-dim{from{filter:brightness(1)}to{filter:brightness(.55)}}
@keyframes efs-from-right{from{transform:translateX(100%)}to{transform:none}}
@keyframes efs-from-left{from{transform:translateX(-100%)}to{transform:none}}
@keyframes efs-to-left{from{transform:none}to{transform:translateX(-100%)}}
@keyframes efs-to-right{from{transform:none}to{transform:translateX(100%)}}
@keyframes efs-zoomin-scene{from{opacity:0;transform:scale(1.18)}to{opacity:1;transform:none}}
@keyframes efs-blurout{from{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(14px)}}
@keyframes efs-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes efs-wipe-back{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes efs-circle{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(75% at 50% 50%)}}

/* Capas: entrada y salida */
.efs-layer{position:absolute;opacity:0;visibility:hidden}
.efs-layer.is-in{opacity:1;visibility:visible;animation-duration:var(--efs-d,.6s);animation-fill-mode:both;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
.efs-layer.is-in.efs-in-fade{animation-name:efs-fade}
.efs-layer.is-in.efs-in-up{animation-name:efs-up}
.efs-layer.is-in.efs-in-down{animation-name:efs-down}
.efs-layer.is-in.efs-in-left{animation-name:efs-left}
.efs-layer.is-in.efs-in-right{animation-name:efs-right}
.efs-layer.is-in.efs-in-zoom{animation-name:efs-zoom}
.efs-layer.is-in.efs-in-pop{animation-name:efs-pop;animation-timing-function:cubic-bezier(.34,1.56,.64,1)}
.efs-layer.is-in.efs-in-blur{animation-name:efs-blurin}
.efs-layer.is-in.efs-in-wipe{animation-name:efs-wipe}
.efs-layer.is-in.efs-in-rotate{animation-name:efs-rotin}
.efs-layer.is-in.efs-in-none,.efs-layer.efs-noanim,.efs-layer.efs-noanim *{animation:none!important}
.efs-layer.is-out{animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.5,0,.75,0);pointer-events:none}
.efs-layer.is-out.efs-o-fade{animation-name:efs-fadeout}
.efs-layer.is-out.efs-o-up{animation-name:efs-out-up}
.efs-layer.is-out.efs-o-down{animation-name:efs-out-down}
.efs-layer.is-out.efs-o-left{animation-name:efs-out-left}
.efs-layer.is-out.efs-o-right{animation-name:efs-out-right}
.efs-layer.is-out.efs-o-zoom{animation-name:efs-out-zoom}
.efs-layer.is-out.efs-o-blur{animation-name:efs-blurout}
.efs-layer.is-out.efs-o-wipe{animation-name:efs-out-wipe}
@keyframes efs-fade{from{opacity:0}to{opacity:1}}
@keyframes efs-up{from{opacity:0;transform:translateY(18%)}to{opacity:1;transform:none}}
@keyframes efs-down{from{opacity:0;transform:translateY(-18%)}to{opacity:1;transform:none}}
@keyframes efs-left{from{opacity:0;transform:translateX(-14%)}to{opacity:1;transform:none}}
@keyframes efs-right{from{opacity:0;transform:translateX(14%)}to{opacity:1;transform:none}}
@keyframes efs-zoom{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
@keyframes efs-pop{0%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:none}}
@keyframes efs-blurin{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur(0)}}
@keyframes efs-rotin{from{opacity:0;transform:rotate(-14deg) scale(.85)}to{opacity:1;transform:none}}
@keyframes efs-out-up{to{opacity:0;transform:translateY(-18%)}}
@keyframes efs-out-down{to{opacity:0;transform:translateY(18%)}}
@keyframes efs-out-left{to{opacity:0;transform:translateX(-14%)}}
@keyframes efs-out-right{to{opacity:0;transform:translateX(14%)}}
@keyframes efs-out-zoom{to{opacity:0;transform:scale(.7)}}
@keyframes efs-out-wipe{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 100%)}}
.efs-stagger.is-in .efs-t-title,.efs-stagger.is-in .efs-t-body p,.efs-stagger.is-in .efs-t-body li{animation:efs-up .5s cubic-bezier(.2,.8,.2,1) both}

.efs-l-text{padding:.7em .9em;overflow:hidden;display:flex;flex-direction:column;gap:.35em}
.efs-st-card{background:rgba(255,255,255,.96);border-radius:.6em;box-shadow:0 .2em .9em rgba(15,23,42,.15)}
.efs-st-plain{background:transparent}
.efs-st-label{background:var(--efs-accent);color:#fff;border-radius:.5em;font-weight:700;justify-content:center}
.efs-st-accent{background:#fff;border-left:.35em solid var(--efs-accent);border-radius:.4em;box-shadow:0 .2em .7em rgba(15,23,42,.12)}
.efs-st-dark{background:var(--efs-theme);color:#fff;border-radius:.6em}
.efs-st-impact{background:transparent;color:var(--efs-tc,var(--efs-impact));font-weight:900;justify-content:center;text-shadow:0 0 .12em #fff,0 0 .12em #fff,0 0 .2em #fff,0 .12em .5em rgba(0,0,0,.35);line-height:1.15}
.efs-st-impact .efs-t-title,.efs-st-impact .efs-t-body{color:inherit}
.efs-st-impact .efs-t-title{font-size:1.6em}
.efs-st-caption{background:rgba(15,23,42,.72);color:#fff;border-radius:.4em;justify-content:center}
.efs-st-caption .efs-t-title{color:#fff}
.efs-l-text[style*="--efs-tc"]:not(.efs-st-impact){color:var(--efs-tc)}
.efs-l-text[style*="--efs-tc"] .efs-t-title{color:var(--efs-tc)}
.efs-t-title{font-weight:800;font-size:1.25em;line-height:1.2;color:var(--efs-theme)}
.efs-st-dark .efs-t-title,.efs-st-label .efs-t-title{color:#fff}
.efs-t-body{font-size:1em}
.efs-t-body p{margin:0 0 .4em}.efs-t-body ul{margin:0;padding-left:1.2em}
.efs-sz-s{font-size:.8em}.efs-sz-m{font-size:1em}.efs-sz-l{font-size:1.3em}.efs-sz-xl{font-size:1.8em}
.efs-al-center{text-align:center;align-items:center}.efs-al-right{text-align:right;align-items:flex-end}
.efs-l-image .efs-img-in,.efs-l-video{overflow:hidden}
.efs-img-in{width:100%;height:100%}
.efs-l-image img,.efs-vid{width:100%;height:100%;display:block;border:0;transform-origin:50% 50%}
.efs-fr-frame .efs-img-in,.efs-fr-frame .efs-vid{background:#fff;padding:.35em;box-shadow:0 .4em 1.4em rgba(15,23,42,.35)}
.efs-fr-frame .efs-img-in img{background:#e2e8f0}
.efs-fr-round .efs-img-in,.efs-fr-round .efs-vid{border-radius:.9em;overflow:hidden}
.efs-fr-circle .efs-img-in{border-radius:50%;overflow:hidden}
.efs-fr-shadow .efs-img-in,.efs-fr-shadow .efs-vid{box-shadow:0 .5em 1.6em rgba(15,23,42,.4)}
.efs-l-video .efs-vid{background:#000}
.efs-sh-round{border-radius:1em}.efs-sh-circle{border-radius:50%}
.efs-l-shape svg{display:block;width:100%;height:100%}
.efs-l-button{display:flex}
.efs-act{flex:1;display:flex;align-items:center;justify-content:center;border:0;border-radius:99em;font:inherit;font-weight:800;font-size:1em;cursor:pointer;padding:.4em 1.2em;box-shadow:0 .25em .7em rgba(15,23,42,.25);transition:transform .15s,filter .15s}
.efs-act:hover:not(:disabled){transform:translateY(-.06em);filter:brightness(1.07)}
.efs-act-accent{background:var(--efs-accent);color:#fff}.efs-act-theme{background:var(--efs-theme);color:#fff}
.efs-act-impact{background:var(--efs-impact);color:#fff}.efs-act-outline{background:rgba(255,255,255,.92);color:var(--efs-theme);box-shadow:inset 0 0 0 .14em var(--efs-theme)}
.efs-act:focus-visible{outline:.2em solid #fbbf24;outline-offset:.15em}
.efs-ph{width:100%;height:100%;display:grid;place-items:center;background:rgba(148,163,184,.25);border:2px dashed #94a3b8;border-radius:.5em;color:#64748b;font-size:.9em}

/* Puntos para tocar */
.efs-l-hotspot{display:grid;place-items:center}
.efs-hot{width:2.6em;height:2.6em;border-radius:50%;border:.2em solid #fff;background:var(--efs-accent);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 0 rgba(141,198,63,.7);animation:efs-pulse 1.8s infinite;padding:0}
.efs-hot .efs-i{width:1.3em;height:1.3em}
.efs-hot.is-visited{background:var(--efs-theme);animation:none}
.efs-hot:focus-visible{outline:.2em solid #fbbf24;outline-offset:.15em}
@keyframes efs-pulse{0%{box-shadow:0 0 0 0 rgba(141,198,63,.65)}70%{box-shadow:0 0 0 1.1em rgba(141,198,63,0)}100%{box-shadow:0 0 0 0 rgba(141,198,63,0)}}

/* Pestañas (botones que revelan contenido) */
.efs-l-tabs{display:flex;gap:.7em;justify-content:center}
.efs-tabs-vertical{flex-direction:column}
.efs-tabs-horizontal{flex-direction:row;align-items:stretch}
.efs-tab{position:relative;flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:.5em 1.6em .5em .8em;border:0;border-radius:.6em;background:var(--efs-accent);color:#fff;font:inherit;font-weight:800;font-size:1em;line-height:1.15;cursor:pointer;box-shadow:0 .2em .5em rgba(15,23,42,.18);transition:transform .15s,filter .15s,background .2s}
.efs-tab:hover{transform:translateY(-.08em);filter:brightness(1.06)}
.efs-tab:focus-visible{outline:.2em solid #fbbf24;outline-offset:.15em}
.efs-tab.is-visited{background:#cbd5e1;color:#fff}
.efs-tab.is-active{background:var(--efs-accent);box-shadow:0 0 0 .2em #fff,0 0 0 .4em var(--efs-accent)}
.efs-tab-dot{position:absolute;right:-.9em;top:50%;transform:translateY(-50%);width:1.6em;height:1.6em;border-radius:50%;background:#fff;border:.18em solid var(--efs-accent);color:var(--efs-accent);display:grid;place-items:center}
.efs-tab-dot .efs-i{width:.9em;height:.9em;opacity:0}
.efs-tab.is-visited .efs-tab-dot{border-color:#cbd5e1;color:#94a3b8}
.efs-tab.is-visited .efs-tab-dot .efs-i{opacity:1}
.efs-tabs-horizontal .efs-tab{padding:.6em .8em 1.2em}
.efs-tabs-horizontal .efs-tab-dot{right:50%;top:auto;bottom:-.9em;transform:translateX(50%)}
.efs-panel{position:absolute;background:rgba(255,255,255,.97);border-radius:.7em;box-shadow:0 .3em 1.4em rgba(15,23,42,.2);overflow:auto;padding:1em 1.2em}
.efs-panel.is-in{animation:efs-up .45s cubic-bezier(.2,.8,.2,1) both}
.efs-panel-title{font-weight:800;font-size:1.25em;color:var(--efs-theme);margin-bottom:.5em}
.efs-panel-body{display:flex;gap:1em;align-items:flex-start;font-size:1em}
.efs-panel-body p{margin:0 0 .45em}.efs-panel-body ul{margin:0;padding-left:1.2em}
.efs-panel-text{flex:1;min-width:0}
.efs-panel-body.has-img img{width:42%;max-height:14em;object-fit:contain;border-radius:.4em}

/* Ventana emergente */
.efs-popup{position:absolute;inset:0;background:rgba(7,29,51,.55);display:flex;align-items:center;justify-content:center;padding:4%;z-index:5}
.efs-popup[hidden]{display:none}
.efs-popup-card{position:relative;background:#fff;border-radius:.8em;max-width:70%;max-height:100%;overflow:auto;padding:1.3em 1.5em;box-shadow:0 1em 3em rgba(0,0,0,.3);animation:efs-zoom .3s both}
.efs-popup-x{position:absolute;top:.4em;right:.4em;color:var(--efs-muted)!important;background:transparent!important}

/* Pregunta */
.efs-l-question{background:#fff;border-radius:.7em;box-shadow:0 .3em 1.2em rgba(15,23,42,.18);padding:1em 1.2em;display:flex;flex-direction:column;gap:.6em;overflow:auto}
.efs-q-text{font-weight:800;color:var(--efs-theme);font-size:1.15em}
.efs-q-opts{display:flex;flex-direction:column;gap:.4em}
.efs-q-opt{display:flex;align-items:flex-start;gap:.6em;padding:.45em .7em;border:.12em solid #e2e8f0;border-radius:.5em;cursor:pointer;font-size:.95em}
.efs-q-opt input{margin-top:.2em;accent-color:var(--efs-theme)}
.efs-q-opt.is-checked{border-color:var(--efs-theme);background:#eff6ff}
.efs-q-opt.is-right{border-color:#10b981;background:#ecfdf5}
.efs-q-opt.is-wrong{border-color:#ef4444;background:#fef2f2}
.efs-q-foot{display:flex;align-items:center;gap:.8em;flex-wrap:wrap}
.efs-q-fb{font-size:.9em}.efs-q-fb.ok{color:#047857}.efs-q-fb.bad{color:#b91c1c}
.efs-btn{border:0;border-radius:.5em;padding:.5em 1.1em;font:inherit;font-weight:800;cursor:pointer}
.efs-btn-accent{background:var(--efs-theme);color:#fff}
.efs-btn:disabled{opacity:.6;cursor:default}

/* Aviso y botón grande */
.efs-hint{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);background:var(--efs-theme);color:#fff;border-radius:99em;padding:.45em 1.2em .45em 1em;font-size:.9em;font-weight:700;box-shadow:0 .3em 1em rgba(0,0,0,.2);display:flex;align-items:center;gap:.5em;white-space:nowrap;z-index:4;animation:efs-up .35s both}
.efs-hint::before{content:"";width:1.1em;height:1.1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4l12 7-6 1-3 6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4l12 7-6 1-3 6z'/%3E%3C/svg%3E") center/contain no-repeat}
.efs-hint.is-err{background:#b91c1c}
.efs-hint[hidden],.efs-bigplay[hidden],.efs-menu[hidden],.efs-cc[hidden],.efs-panel[hidden]{display:none!important}
.efs-bigplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4.5em;height:4.5em;border-radius:50%;border:0;background:rgba(11,49,86,.88);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:6;box-shadow:0 .5em 1.5em rgba(0,0,0,.35)}

/* Subtítulos */
.efs-cc{background:#111827;color:#f8fafc;padding:10px 18px;font-size:14px;line-height:1.55;max-height:120px;overflow:auto;border-top:1px solid #1f2937}
.efs-cc p{margin:0 0 4px}

/* Barra de control */
.efs-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#111827;color:#e5e7eb}
.efs-ib{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;padding:0;flex:none}
.efs-ib:hover:not(:disabled){background:rgba(255,255,255,.1)}
.efs-ib:disabled{opacity:.35;cursor:default}
.efs-ib[aria-pressed="true"]{background:rgba(255,255,255,.16);color:#fff}
.efs-ib:focus-visible,.efs-nav:focus-visible{outline:2px solid #fbbf24;outline-offset:1px}
.efs-seek{flex:1;min-width:60px;max-width:420px;accent-color:var(--efs-accent);height:4px;margin:0 6px}
.efs-time{font-size:12px;font-variant-numeric:tabular-nums;color:#cbd5e1;min-width:74px}
.efs-sp{flex:1}
.efs-nav{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font:inherit;font-size:12.5px;font-weight:800;letter-spacing:.04em;cursor:pointer}
.efs-nav:hover:not(:disabled){background:rgba(255,255,255,.1)}
.efs-nav-next{background:var(--efs-accent);border-color:var(--efs-accent);color:#fff}
.efs-nav-next:hover:not(:disabled){filter:brightness(1.08);background:var(--efs-accent)}
.efs-nav:disabled{opacity:.4;cursor:not-allowed;background:transparent;border-color:rgba(255,255,255,.2)}
.efs-nav-next.is-end span::after{content:" ✓"}

/* Índice */
.efs-menu{position:absolute;left:0;top:0;bottom:52px;width:min(340px,85%);background:#fff;z-index:8;box-shadow:6px 0 24px rgba(0,0,0,.25);display:flex;flex-direction:column}
.efs-menu-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--efs-theme);color:#fff}
.efs-menu-list{list-style:none;margin:0;padding:6px;overflow:auto;flex:1}
.efs-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;background:transparent;border-radius:8px;cursor:pointer;text-align:left;font:inherit;font-size:13.5px;color:#1e293b}
.efs-menu-item:hover:not(:disabled){background:#f1f5f9}
.efs-menu-item.is-cur{background:#eff6ff;font-weight:700}
.efs-menu-item:disabled{color:#94a3b8;cursor:not-allowed}
.efs-menu-n{width:24px;height:24px;border-radius:6px;background:#f1f5f9;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.efs-menu-item.is-done .efs-menu-n{background:#d1fae5;color:#065f46}
.efs-menu-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.efs-menu-st{color:#10b981;flex:none}
.efs-menu-item:disabled .efs-menu-st{color:#94a3b8}

/* Pantalla completa */
.efs:fullscreen{display:flex;flex-direction:column;border-radius:0;width:100vw;height:100vh}
.efs:fullscreen .efs-viewport{flex:1;align-items:center}
.efs:fullscreen .efs-stage{width:auto;height:100%;max-width:100%;max-height:100%}

@media (max-width:640px){
  .efs-bar{flex-wrap:wrap;gap:4px;padding:6px 8px}
  .efs-seek{order:-1;flex:1 1 100%;max-width:none;margin:2px 4px 4px}
  .efs-time,.efs-ib[aria-label="Repetir diapositiva"]{display:none}
  .efs-ib{width:32px;height:32px}
  .efs-nav{padding:0 8px;height:32px;font-size:11.5px}
  .efs-sp{display:none}
  .efs-nav:not(.efs-nav-next){margin-left:auto}
  .efs-ib{width:30px;height:30px}
  .efs-head{padding:8px 12px}
  .efs-title{font-size:13px}
  .efs-hint{font-size:.8em;white-space:normal;max-width:90%;text-align:center}
}
.efs{max-width:100%;min-width:0}
@media (prefers-reduced-motion:reduce){
  .efs-layer.is-in,.efs-panel.is-in,.efs-hot,.efs-popup-card,.efs-hint{animation:none!important}
}

/* ═══ 2.0: preguntas con botones e imágenes ═══════════════════════════ */
.efs-q-body{display:flex;gap:1.2em;align-items:flex-start;min-height:0}
.efs-q-body .efs-q-opts{flex:1;min-width:0}
.efs-q-img{width:44%;flex:none}
.efs-q-img img{width:100%;max-height:16em;object-fit:cover;border-radius:.3em;box-shadow:0 0 0 .3em #fff,0 .4em 1.2em rgba(15,23,42,.3)}
.efs-qd-buttons .efs-q-opts{flex-direction:row;flex-wrap:wrap;gap:.8em;justify-content:center}
.efs-q-btn{min-width:6.5em;padding:.6em 1.4em;border:0;border-radius:.4em;background:var(--efs-theme);color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 .25em .6em rgba(15,23,42,.25);transition:transform .15s,filter .15s}
.efs-q-btn:hover:not(:disabled){transform:translateY(-.06em);filter:brightness(1.1)}
.efs-q-btn.is-on{box-shadow:0 0 0 .2em #fff,0 0 0 .4em var(--efs-theme)}
.efs-q-btn.is-right{background:#059669}.efs-q-btn.is-wrong{background:#dc2626}
.efs-q-btn:disabled{cursor:default}
.efs-qd-images{background:transparent!important;box-shadow:none!important;align-items:center}
.efs-qd-images .efs-q-text{text-align:center}
.efs-qd-images .efs-q-opts{flex-direction:row;flex-wrap:wrap;gap:.9em;justify-content:center}
.efs-q-card{display:flex;flex-direction:column;align-items:center;gap:.35em;width:8.5em;padding:0;border:0;background:transparent;cursor:pointer;font:inherit;color:var(--efs-theme)}
.efs-q-pic{display:block;width:100%;aspect-ratio:4/3;background:#fff;border:.22em solid #cbd5e1;box-shadow:0 .2em .6em rgba(15,23,42,.15);transition:border-color .15s,transform .15s}
.efs-q-pic img{width:100%;height:100%;object-fit:contain;display:block}
.efs-q-card:hover:not(:disabled) .efs-q-pic{transform:translateY(-.08em)}
.efs-q-card.is-on .efs-q-pic{border-color:var(--efs-theme)}
.efs-q-card.is-right .efs-q-pic{border-color:#65a30d}.efs-q-card.is-wrong .efs-q-pic{border-color:#dc2626}
.efs-q-cap{font-weight:700;font-size:.92em;text-align:center;line-height:1.2}
.efs-q-card:disabled{cursor:default}
.efs-l-question.is-locked .efs-q-opt{cursor:default}
.efs-q-survey .efs-q-opt.is-checked{border-color:var(--efs-accent);background:#f7fee7}

/* Zonas para marcar */
.efs-l-zones{}
.efs-z-prompt{position:absolute;left:0;right:0;bottom:100%;text-align:center;font-weight:700;color:var(--efs-theme);padding-bottom:.4em}
.efs-zone{position:absolute;border:0;background:transparent;cursor:pointer;padding:0;border-radius:.3em}
.efs-zone:hover:not(:disabled){background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 .12em rgba(255,255,255,.6)}
.efs-zone.is-hint{box-shadow:inset 0 0 0 .12em rgba(255,255,255,.85),0 0 0 .1em rgba(15,23,42,.35)}
.efs-zone.is-edit{background:rgba(37,99,235,.18);box-shadow:inset 0 0 0 .14em #2563eb}
.efs-zone.is-on::before,.efs-zone.is-on::after{content:"";position:absolute;left:50%;top:50%;width:120%;max-width:9em;height:.32em;background:#dc2626;border-radius:.2em;box-shadow:0 0 .2em rgba(0,0,0,.3)}
.efs-mk-x.is-on::before{transform:translate(-50%,-50%) rotate(55deg)}
.efs-mk-x.is-on::after{transform:translate(-50%,-50%) rotate(-55deg)}
.efs-mk-check.is-on::before,.efs-mk-check.is-on::after,.efs-mk-circle.is-on::after{display:none}
.efs-mk-check.is-on{background:rgba(22,163,74,.22);box-shadow:inset 0 0 0 .2em #16a34a}
.efs-mk-circle.is-on{border-radius:50%;box-shadow:inset 0 0 0 .3em #dc2626}
.efs-mk-circle.is-on::before{display:none}
.efs-zone.is-right{box-shadow:inset 0 0 0 .25em #16a34a!important;background:rgba(22,163,74,.15)}
.efs-zone.is-wrong::before,.efs-zone.is-wrong::after{background:#94a3b8}
.efs-zone:focus-visible{outline:.2em solid #fbbf24}

/* Arrastrar a un destino */
.efs-l-drag{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.6em;padding:.3em}
.efs-ditem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2em;min-width:4.5em;max-width:9em;padding:.4em .6em;border:.12em solid #cbd5e1;border-radius:.5em;background:#fff;color:var(--efs-theme);font:inherit;font-weight:700;font-size:.9em;cursor:grab;touch-action:none;user-select:none;box-shadow:0 .15em .5em rgba(15,23,42,.15);transition:transform .15s,box-shadow .15s}
.efs-ditem.has-img{background:transparent;border-color:transparent;box-shadow:none;padding:.1em}
.efs-ditem img{max-width:7em;max-height:5em;object-fit:contain;pointer-events:none}
.efs-ghosts .efs-ditem:not(.is-placed) img{filter:brightness(0) opacity(.85)}
.efs-ditem.is-picked{transform:scale(1.06);box-shadow:0 0 0 .2em var(--efs-accent)}
.efs-ditem.is-dragging{opacity:.3}
.efs-dghost{position:fixed;z-index:2147483000;pointer-events:none;margin:0;opacity:.92;transform:scale(1.05);box-shadow:0 .6em 1.4em rgba(0,0,0,.3)!important}
.efs-dtarget{position:absolute;border:.14em dashed transparent;border-radius:.6em;transition:border-color .15s,background .15s}
.efs-dtarget>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.efs-dtarget.is-target,.efs-dtarget.is-edit{border-color:var(--efs-accent);background:rgba(255,255,255,.25)}
.efs-dtarget.is-edit{border-color:#f59e0b}
.efs-dt-lbl{position:absolute;left:0;right:0;top:-1.5em;text-align:center;font-weight:800;font-size:.85em;color:var(--efs-theme)}
.efs-dt-in{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;gap:.3em;justify-content:center;padding:.3em}
.efs-dt-in .efs-ditem{font-size:.75em;min-width:0}
.efs-dt-in .efs-ditem img{max-width:3.5em;max-height:2.6em}
.efs-ditem.is-right{box-shadow:0 0 0 .18em #16a34a}.efs-ditem.is-wrong{box-shadow:0 0 0 .18em #dc2626}
.efs-ditem:disabled{cursor:default}

/* Completar casillas */
.efs-l-slots{display:flex;flex-direction:column;justify-content:space-between;gap:1em}
.efs-sl-chips{display:flex;flex-wrap:wrap;gap:.7em;justify-content:center}
.efs-chip{min-width:7em;max-width:12em;padding:.6em .9em;border:0;border-radius:.2em;background:#7fb2da;color:#fff;font:inherit;font-size:.9em;font-weight:600;line-height:1.2;cursor:grab;touch-action:none;box-shadow:0 .2em .45em rgba(15,23,42,.25);transition:opacity .15s,transform .15s}
.efs-chip.is-used{opacity:.35}
.efs-chip.is-picked{transform:scale(1.05);box-shadow:0 0 0 .2em var(--efs-theme)}
.efs-sl-row{display:flex;align-items:center;justify-content:center;gap:.6em}
.efs-sl-sep{font-weight:900;font-size:1.8em;color:#334155}
.efs-slot{flex:1;max-width:12em;min-height:3em;padding:.4em .6em;border:0;border-radius:.2em;background:#9ca3af;color:#fff;font:inherit;font-size:.9em;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:inset 0 .15em .4em rgba(0,0,0,.25)}
.efs-slot.is-filled{background:var(--efs-theme)}
.efs-slot.is-right{background:#16a34a}.efs-slot.is-wrong{background:#dc2626}

/* Listas desplegables */
.efs-l-select{display:flex;gap:1em;justify-content:center;align-items:flex-end}
.efs-sel-col{flex:1;max-width:12em;display:flex;flex-direction:column;align-items:center;gap:.4em}
.efs-sel-img{width:100%;aspect-ratio:1;display:grid;place-items:end center}
.efs-sel-img img{max-width:100%;max-height:100%;object-fit:contain}
.efs-sel-lbl{font-weight:700;font-size:.9em;color:var(--efs-theme);text-align:center}
.efs-sel{width:100%;padding:.35em .5em;border:0;border-radius:.2em;background:#f97316;color:#fff;font:inherit;font-size:.85em;font-weight:600;cursor:pointer}
.efs-sel option{background:#fff;color:#1e293b}
.efs-sel-col.is-right .efs-sel{background:#16a34a}.efs-sel-col.is-wrong .efs-sel{background:#dc2626}

/* Medidor de autoevaluación */
.efs-l-meter{display:flex;flex-direction:column;justify-content:center;gap:.7em;text-align:center}
.efs-m-msg{font-size:1em;color:#334155}
.efs-m-bar{position:relative;height:1.3em;border-radius:99em;background:linear-gradient(90deg,#84cc16,#facc15 50%,#ef4444);display:grid;place-items:center}
.efs-m-bar.is-inv{background:linear-gradient(90deg,#ef4444,#facc15 50%,#84cc16)}
.efs-m-bar b{font-size:.75em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.efs-m-mark{position:absolute;top:-1.1em;width:1.3em;height:1.1em;transform:translateX(-50%);transition:left 1s cubic-bezier(.2,.8,.2,1);background:#e2e8f0;clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.efs-l-meter.is-empty .efs-m-mark{display:none}

/* Botón «Aceptar» y retroalimentación */
.efs-accept{position:absolute;left:50%;bottom:3.2%;transform:translateX(-50%);z-index:4;border:0;border-radius:99em;padding:.5em 2.2em;background:var(--efs-impact);color:#fff;font:inherit;font-weight:700;font-size:1em;cursor:pointer;box-shadow:0 .3em .9em rgba(15,23,42,.3)}
.efs-accept:disabled{opacity:.45;cursor:default}
.efs-accept[hidden]{display:none}
.efs-stage.has-accept .efs-hint{bottom:12%}
.efs-fb-ok,.efs-fb-bad{text-align:center;min-width:16em}
.efs-fb-ico{width:3.4em;height:3.4em;border-radius:50%;margin:0 auto .6em;display:grid;place-items:center;color:#fff}
.efs-fb-ok .efs-fb-ico{background:#16a34a}.efs-fb-bad .efs-fb-ico{background:#dc2626}
.efs-fb-ok .efs-panel-title{color:#15803d}.efs-fb-bad .efs-panel-title{color:#b91c1c}
.efs-fb-foot{margin-top:.8em}
.efs-btn-ghost{background:#fff;color:var(--efs-theme);box-shadow:inset 0 0 0 .12em var(--efs-theme)}

/* Pantalla de inicio y de cierre */
.efs-splash,.efs-endscreen{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;background:rgba(248,250,252,.96);text-align:center;padding:6%}
.efs-splash p,.efs-endscreen p{margin:0;font-size:1.25em;font-weight:600;color:#475569;max-width:26em}
.efs-sp-ico{display:flex;gap:1.4em;color:var(--efs-theme)}
.efs-sp-ico .efs-i{width:3.4em;height:3.4em}
.efs-sp-go{display:inline-flex;align-items:center;gap:.5em;font-size:1em;padding:.6em 1.6em;border-radius:99em}
.efs-es-ico{width:4em;height:4em;border-radius:50%;background:var(--efs-accent);color:#fff;display:grid;place-items:center}

/* ═══ Piel cinematográfica ═══════════════════════════════════════════ */
.efs-cinema{background:#f1f5f9}
.efs-cinema .efs-viewport{background:#e2e8f0}
.efs-chead{position:absolute;left:0;right:0;top:0;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:1em;padding:.6em 1.2em .55em;background:rgba(255,255,255,.88);border-bottom:.12em solid var(--efs-impact);backdrop-filter:blur(4px)}
.efs-chead[hidden]{display:none}
.efs-ch-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.efs-ch-title{font-size:1.05em;color:#334155}
.efs-ch-sub{font-size:.95em;color:var(--efs-impact);font-weight:600}
.efs-ch-count{font-size:.8em;color:#64748b;font-weight:700;white-space:nowrap}
.efs-cinema .efs-nav{position:absolute;top:50%;z-index:4;width:2.8em;height:2.8em;margin-top:-1.4em;padding:0;border-radius:50%;display:grid;place-items:center;border:.12em solid var(--efs-impact);background:rgba(255,255,255,.9);color:var(--efs-impact);box-shadow:0 .2em .6em rgba(15,23,42,.18)}
.efs-cinema .efs-nav .efs-i{width:1.3em;height:1.3em}
.efs-cinema .efs-nav-prev{left:1.4%}.efs-cinema .efs-nav-next{right:1.4%}
.efs-cinema .efs-nav:hover:not(:disabled){background:#fff;filter:none}
.efs-cinema .efs-nav:disabled{opacity:.35;background:rgba(255,255,255,.75);border-color:var(--efs-impact)}
.efs-cinema .efs-nav-next.is-ready{background:var(--efs-impact);color:#fff;animation:efs-ready 1.6s infinite}
@keyframes efs-ready{0%{box-shadow:0 0 0 0 rgba(200,16,46,.55)}70%{box-shadow:0 0 0 .9em rgba(200,16,46,0)}100%{box-shadow:0 0 0 0 rgba(200,16,46,0)}}
.efs-hud{position:absolute;bottom:2.4%;z-index:4;display:flex;gap:.5em}
.efs-hud-l{left:1.4%}.efs-hud-r{right:1.4%}
.efs-cinema .efs-ib{width:2.3em;height:2.3em;border-radius:50%;border:.1em solid var(--efs-impact);background:rgba(255,255,255,.9);color:var(--efs-impact)}
.efs-cinema .efs-ib .efs-i{width:1.1em;height:1.1em}
.efs-cinema .efs-ib:hover:not(:disabled){background:#fff}
.efs-cinema .efs-ib[aria-pressed="true"]{background:var(--efs-impact);color:#fff}
.efs-cprog{position:absolute;left:0;right:0;bottom:0;height:.35em;background:rgba(148,163,184,.35);z-index:4;cursor:pointer}
.efs-cprog span{display:block;height:100%;width:0;background:var(--efs-impact)}
.efs-cinema .efs-cc{position:absolute;left:12%;right:12%;bottom:12%;z-index:4;border-radius:.4em;background:rgba(15,23,42,.78);font-size:.95em;max-height:30%;border:0}
.efs-cinema .efs-menu{bottom:0}
.efs-cinema .efs-hint{bottom:12%}
.efs-cinema .efs-accept{bottom:2.6%}
.efs-cinema:fullscreen .efs-viewport{background:#000}
@media (max-width:640px){
  .efs-cinema .efs-nav{width:2.4em;height:2.4em;margin-top:-1.2em}
  .efs-cinema .efs-ib{width:2em;height:2em}
  .efs-chead{padding:.4em .7em}
}
@media (prefers-reduced-motion:reduce){
  .efs-scene[class*="efs-tin-"],.efs-scene[class*="efs-tout-"],.efs-flash.is-run{animation-duration:.01s!important}
  .efs-cinema .efs-nav-next.is-ready{animation:none}
}
