/* ══════════════════════════════════════════════════════════════════════
   simulador-excel.css — el simulador de Excel (/excel/simulador/, 20 oct 2026)
   ----------------------------------------------------------------------
   Va aparte de main.css a propósito (regla 6: los prototipos viven en su
   página hasta que se aprueban): solo lo carga esta página.
   · La tarjeta de la misión usa los colores del sitio (claro y oscuro).
   · La planilla es siempre clara, como Excel: blanca, con la cinta verde.
   · Pensado primero para el celular: celdas de 40 px de alto, botones de
     44 px, la letra de la barra de fórmulas en 16 px (con menos, el iPhone
     hace zoom al tocarla).
   ══════════════════════════════════════════════════════════════════════ */
.sx{--xl:#217346;--xl-osc:#185c37;--xl-claro:#e2efda;--sx-arriba:0px;max-width:640px;margin:0 auto}
.sx-sinjs{padding:18px;border:1px dashed var(--border);border-radius:14px;color:var(--text2)}

/* ── La tarjeta de la misión ── */
.sx-mision{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:12px;scroll-margin-top:80px}
.sx-cab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sx-paso{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);margin:0}
.sx-puntos{display:inline-flex;gap:6px}
.sx-puntos span{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--border);display:inline-block}
.sx-puntos span.ahora{border-color:var(--accent)}
.sx-puntos span.hecho{background:var(--green);border-color:var(--green)}
.sx-mtitulo{font-size:19px;line-height:1.3;margin:6px 0 8px;color:var(--text)}
.sx-pasos{font-size:15.5px;line-height:1.6;color:var(--text);margin:0}
.sx-nota{font-size:13.5px;line-height:1.5;color:var(--text2);margin:8px 0 0}
.sx-mision code{font-family:'Space Mono',monospace;font-size:.9em;background:var(--surface2);border:1px solid var(--border);
  border-radius:6px;padding:1px 6px;overflow-wrap:anywhere;color:var(--text)}
.sx-avance{display:inline-block;margin:10px 0 0;font-family:'Space Mono',monospace;font-size:12.5px;color:var(--accent);
  border:1px solid var(--border);border-radius:999px;padding:3px 10px}
.sx-fb{margin:10px 0 0;padding:9px 12px;border-radius:10px;font-size:14.5px;line-height:1.5;
  background:rgba(245,166,35,.12);border-left:3px solid var(--amber);color:var(--text)}
.sx-pista{margin:10px 0 0;padding:10px 12px;border-radius:10px;font-size:14.5px;line-height:1.55;background:var(--accent-soft);
  border-left:3px solid var(--accent);color:var(--text)}
.sx-docente{margin:10px 0 0;font-size:14px;color:var(--text2)}
.sx-docente a,.sx-clase a,.sx-aprender-cta a,.sx-link-fuera{color:var(--accent);font-weight:600}
.sx-retomado{margin:0 0 8px;font-size:13px;color:var(--text2)}
.sx-acciones{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sx-btn{font:inherit;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;
  padding:9px 16px;border-radius:999px;cursor:pointer;text-decoration:none;background:var(--accent);color:#04121a;border:1px solid var(--accent)}
.sx-btn.sec{background:transparent;color:var(--text);border-color:var(--border);font-weight:600}
.sx-btn.sec:hover{border-color:var(--accent);color:var(--accent)}
.sx-btn.sx-wa{background:#25d366;border-color:#25d366;color:#063d1e}
.sx-btn:focus-visible,.sx-opciones button:focus-visible,.sx-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sx-link{font:inherit;font-size:13.5px;background:none;border:0;color:var(--text2);text-decoration:underline;cursor:pointer;padding:6px}
.sx-pregunta{font-weight:700;font-size:15px;margin:14px 0 8px;color:var(--text)}
.sx-opciones{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sx-opciones button{font:inherit;font-size:14.5px;min-height:46px;padding:8px 10px;border-radius:12px;cursor:pointer;text-align:left;
  background:var(--surface2);border:1px solid var(--border);color:var(--text);transition:border-color .2s}
.sx-opciones button:hover{border-color:var(--accent)}
.sx-opciones button.on{border-color:var(--accent);background:var(--accent-soft);font-weight:700}
.sx-aprender{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.sx-privado{margin:12px 0 0;font-size:13.5px;color:var(--text2)}
.sx-privado-2{margin-top:4px}
.sx-logrado{border-color:var(--green)}
.sx-logrado .sx-mtitulo{color:var(--green)}
.sx-recien{animation:sx-logro .6s ease}
@keyframes sx-logro{0%{transform:scale(.98);box-shadow:0 0 0 0 rgba(46,204,138,.5)}60%{transform:scale(1.01);box-shadow:0 0 0 10px rgba(46,204,138,0)}100%{transform:none}}
.sx-clase{margin:10px 0 0;font-size:14.5px;color:var(--text2)}

/* ── El final ── */
.sx-resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0 4px}
.sx-resumen div{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.sx-resumen span{display:block;font-size:12.5px;color:var(--text2)}
.sx-resumen b{font-size:18px;color:var(--text)}
.sx-resumen .verde{border-color:var(--green)} .sx-resumen .verde b{color:var(--green)}
.sx-resumen .rojo{border-color:var(--red)} .sx-resumen .rojo b{color:var(--red)}
.sx-bloque{border-top:1px solid var(--border);margin-top:14px;padding-top:2px}
.sx-hecho{margin:8px 0 0;font-size:14px;color:var(--green);font-weight:600}
.sx-dos{grid-template-columns:1fr 1fr}
.sx-seguir-cta,.sx-aprender-cta{margin-top:10px;font-size:14.5px;line-height:1.55;color:var(--text)}
.sx-seguir-cta p{margin:0 0 8px}
.sx-link-fuera{display:inline-block;margin:10px 0 0 12px;font-size:14px}
.sx-etiqueta{display:block;font-size:14px;margin:12px 0 6px;color:var(--text)}
.sx-comentario textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface2);color:var(--text);resize:vertical}
.sx-trampa{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sx-reiniciar{margin:14px 0 0;text-align:center}

/* ── La planilla (siempre clara, como Excel) ── */
.sx-app{background:#fff;color:#1f1f1f;border:1px solid #c8c8c8;border-radius:12px;overflow:clip;box-shadow:0 10px 30px rgba(0,0,0,.18);
  font-family:"Segoe UI",Calibri,Roboto,Arial,sans-serif}
.sx-titulo{display:flex;align-items:center;gap:8px;background:var(--xl);color:#fff;font-size:13px;padding:8px 12px;min-height:22px}
.sx-logo{width:18px;height:18px;border-radius:3px;background:#fff;position:relative;flex:0 0 auto}
.sx-logo::after{content:"";position:absolute;inset:4px;background:linear-gradient(var(--xl),var(--xl)) 0 0/100% 2px no-repeat,
  linear-gradient(var(--xl),var(--xl)) 0 4px/100% 2px no-repeat,linear-gradient(var(--xl),var(--xl)) 0 8px/100% 2px no-repeat,
  linear-gradient(var(--xl),var(--xl)) 4px 0/2px 100% no-repeat}
.sx-archivo{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.sx-guardado{margin-left:auto;font-size:11.5px;opacity:.85;white-space:nowrap}
.sx-menu{display:flex;gap:2px;background:var(--xl);padding:0 8px;font-size:12.5px;color:#d9eadf;overflow:hidden;white-space:nowrap}
.sx-menu span{padding:5px 10px 6px;border-radius:6px 6px 0 0}
.sx-menu span.on{background:#f3f3f3;color:var(--xl-osc);font-weight:600}
.sx-barra{position:sticky;top:var(--sx-arriba);z-index:20;background:#f3f3f3;border-bottom:1px solid #d4d4d4}
.sx-fx{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:7px 8px;margin:0}
.sx-nombre{min-width:40px;padding:6px 6px;border:1px solid #c6c6c6;border-radius:4px;background:#fff;font-size:13px;text-align:center;color:#1f1f1f}
.sx-fxicono{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:#666;font-size:15px;padding:0 2px}
.sx-entrada{width:100%;box-sizing:border-box;min-width:0;font:inherit;font-size:16px;padding:8px 9px;border:1px solid #c6c6c6;border-radius:4px;
  background:#fff;color:#1f1f1f;font-family:Consolas,"Cascadia Mono","Segoe UI",monospace}
.sx-entrada:focus{outline:2px solid var(--xl);outline-offset:-1px;border-color:var(--xl)}
.sx-fx button{width:40px;height:40px;border-radius:8px;border:1px solid #c6c6c6;background:#fff;font-size:18px;cursor:pointer;color:#1f1f1f}
.sx-fx .sx-ok{background:var(--xl);border-color:var(--xl);color:#fff;font-weight:700}
.sx-fx button:disabled{opacity:.35;cursor:default}
.sx-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 8px 8px}
.sx-chips[hidden]{display:none}
.sx-chip{font-family:Consolas,"Cascadia Mono",monospace;font-size:15px;min-height:40px;min-width:40px;padding:6px 12px;border-radius:8px;cursor:pointer;
  background:#fff;border:1px solid #bdbdbd;color:#1f1f1f;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.sx-chip:active{background:var(--xl-claro);border-color:var(--xl)}
.sx-chip-auto{font-family:"Segoe UI",Arial,sans-serif;color:var(--xl-osc);font-weight:700;border-color:var(--xl)}
.sx-chip-borrar,.sx-chip-tecla{font-family:"Segoe UI",Arial,sans-serif;font-size:14px;color:#444}
.sx-tip{margin:0 8px 8px;padding:8px 11px;border-radius:8px;font-size:14px;line-height:1.5;color:#1f1f1f;background:#fff4ce;border-left:3px solid #c19c00}
.sx-tip[hidden]{display:none}
.sx-tip-error{background:#fde7e9;border-left-color:#c42b1c}
.sx-grilla-caja{overflow-x:auto;background:#fff}
.sx-grilla{border-collapse:collapse;table-layout:fixed;width:100%;min-width:300px;font-size:15px}
.sx-grilla col.c-n{width:34px}
.sx-grilla col.c-A{width:46%}
.sx-grilla col.c-B{width:34%}
.sx-grilla th{background:#f3f3f3;color:#555;font-weight:400;font-size:12px;border:1px solid #d4d4d4;height:24px;padding:0;text-align:center}
.sx-grilla th.on{background:#d3f0e0;color:var(--xl-osc);font-weight:700;border-bottom-color:var(--xl)}
.sx-grilla tbody th.on{border-bottom-color:#d4d4d4;border-right-color:var(--xl)}
.sx-grilla td{border:1px solid #e1e1e1;padding:0;height:40px}
.sx-c{display:block;width:100%;height:40px;border:0;margin:0;background:transparent;font:inherit;color:#1f1f1f;text-align:left;padding:0 6px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:cell;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.sx-c.num{text-align:right}
.sx-c.err{color:#c42b1c;font-weight:600}
.sx-c.e-cab{background:var(--xl);color:#fff;font-weight:700}
.sx-c.e-neg{font-weight:700}
.sx-c.e-total{font-weight:700;background:var(--xl-claro);box-shadow:inset 0 2px 0 var(--xl)}
.sx-c.e-semaforo{text-align:center;font-weight:700}
.sx-c.verde{background:#c6efce;color:#006100}
.sx-c.rojo{background:#ffc7ce;color:#9c0006}
.sx-c.objetivo{background-color:rgba(33,115,70,.07);box-shadow:inset 0 0 0 2px rgba(33,115,70,.55);
  animation:sx-latido 1.8s ease-in-out infinite}
@keyframes sx-latido{50%{box-shadow:inset 0 0 0 2px rgba(33,115,70,.15)}}
.sx-c.sel{box-shadow:inset 0 0 0 2px var(--xl);animation:none}
.sx-c.ref0{box-shadow:inset 0 0 0 2px #2b6cd4;animation:none} .sx-c.ref1{box-shadow:inset 0 0 0 2px #c43e1c;animation:none}
.sx-c.ref2{box-shadow:inset 0 0 0 2px #7a3db8;animation:none} .sx-c.ref3{box-shadow:inset 0 0 0 2px #0f8a6a;animation:none}
.sx-c.cambio{animation:sx-cambio 1.1s ease}
@keyframes sx-cambio{0%,30%{background-color:#fff2a8}100%{background-color:transparent}}
.sx-c:focus-visible{outline:2px solid #2b6cd4;outline-offset:-2px}
.sx-hojas{display:flex;align-items:center;gap:4px;background:#f3f3f3;border-top:1px solid #d4d4d4;padding:0 8px;font-size:13px;color:#444}
.sx-hoja{padding:6px 14px}
.sx-hoja.on{background:#fff;color:var(--xl);font-weight:600;box-shadow:inset 0 -2px 0 var(--xl)}
.sx-hoja-mas{padding:4px 8px;color:#777}

/* «Compartir con un amigo» (compartir.js): sus estilos pasaron a main.css el 26 oct 2026 (ahora también va en el encabezado). */

/* ── La página alrededor ── */
.sx-seccion{max-width:820px;margin:0 auto}
.sx-misiones{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px;counter-reset:m}
.sx-misiones li{counter-increment:m;position:relative;padding:12px 14px 12px 52px;background:var(--surface);border:1px solid var(--border);border-radius:14px;
  font-size:15px;line-height:1.55;color:var(--text2)}
.sx-misiones li::before{content:counter(m);position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-family:'Space Mono',monospace;font-size:13px;font-weight:700;color:#04121a;background:var(--accent)}
.sx-misiones b{color:var(--text)}
.sx-misiones a{color:var(--accent);font-weight:600}
.sx-docentes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}
.sx-docentes article{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.sx-docentes h3{margin:0;font-size:17px;color:var(--text)}
.sx-docentes p{margin:0;font-size:14.5px;line-height:1.55;color:var(--text2);flex:1}
.sx-docentes .btn-wa{text-align:center;font-size:15px}

@media (max-width:420px){
  .sx-mision{padding:14px 14px}
  .sx-mtitulo{font-size:18px}
  .sx-fx{gap:4px;padding:6px}
  .sx-fx button{width:38px;height:38px}
  .sx-guardado{display:none}
  .sx-grilla col.c-A{width:47%}
}
@media (prefers-reduced-motion:reduce){
  .sx-c.objetivo,.sx-c.cambio,.sx-recien{animation:none}
}
.sx-zona{margin:0 0 30px}
.sx-pagina .sx-misiones li{margin:0}
.sx-pagina .btn-wa{white-space:normal}
.sx-faq{margin-top:10px}
.sx-autor{font-size:14.5px!important;margin-top:34px}

/* ── Los dos niveles (21 oct 2026): el 1 guiado, paso a paso ── */
.sx-niveles{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}
.sx-niveles button{font:inherit;font-size:14px;display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border-radius:12px;cursor:pointer;
  text-align:left;background:var(--surface);border:1px solid var(--border);color:var(--text2)}
.sx-niveles button.on{border-color:var(--accent);color:var(--text);font-weight:700;background:var(--accent-soft)}
.sx-nnum{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-family:'Space Mono',monospace;font-size:12px;
  font-weight:700;background:var(--surface2);border:1px solid var(--border);color:var(--text)}
.sx-niveles button.on .sx-nnum{background:var(--accent);border-color:var(--accent);color:#04121a}
.sx-saltar{margin:10px 0 0;font-size:13.5px;color:var(--text2)}
.sx-saltar .sx-link{padding:4px 2px;color:var(--accent);font-weight:600}
.sx-compacta{padding:12px 16px}
.sx-compacta .sx-nota{margin-top:8px}
.sx-barrita{display:block;height:6px;border-radius:999px;background:var(--surface2);border:1px solid var(--border);overflow:hidden;margin-top:8px}
.sx-barrita span{display:block;height:100%;background:var(--green);transition:width .4s ease}
/* la consigna fija arriba de la barra de fórmulas: se ve mientras se toca la planilla */
.sx-guia{padding:9px 12px 10px;background:#fffbe8;border-bottom:1px solid #ecd98a;color:#1f1f1f;font-size:14.5px;line-height:1.45}
.sx-guia[hidden]{display:none}
.sx-guia p{margin:0}
.sx-guia-cab{font-size:12px;color:#6b5a14;margin-bottom:3px!important}
.sx-guia-cab span{float:right;color:#6b5a14}
.sx-guia code{font-family:Consolas,"Cascadia Mono",monospace;font-size:.95em;background:#fff;border:1px solid #e3d48e;border-radius:5px;padding:0 5px;color:#1f1f1f;overflow-wrap:anywhere}
.sx-guia .sx-fb{margin-top:6px!important;background:#fde7e9;border-left-color:#c42b1c;color:#1f1f1f;font-size:14px;padding:6px 9px}
.sx-guia .sx-pista{margin-top:6px!important;background:#fff;border-left-color:var(--xl);color:#1f1f1f;font-size:14px;padding:6px 9px}
.sx-guia .sx-avance{color:var(--xl-osc);border-color:#d8c77c;margin-top:6px!important}
.sx-guia .sx-link{color:#6b5a14;font-size:13.5px;padding:4px 0 0}
.sx-guia-bien{background:#e8f6ee;border-bottom-color:#a9dcbd}
.sx-guia-bien .sx-guia-cab{color:var(--xl-osc);font-weight:700;font-size:14px}
.sx-guia-bien .sx-btn{margin-top:8px;min-height:42px;background:var(--xl);border-color:var(--xl);color:#fff}
.sx-ok.sx-pulsa{animation:sx-ok 1.2s ease-in-out infinite}
@keyframes sx-ok{50%{box-shadow:0 0 0 5px rgba(33,115,70,.3)}}
.sx-guiado .sx-c.objetivo{position:relative}

@keyframes sx-dedo{50%{transform:translateY(-3px)}}
.sx-cols4 .sx-grilla{font-size:14px}
.sx-cols4 .sx-c{padding:0 4px}
.sx-grupo{width:100%;font-size:16px}
@media (prefers-reduced-motion:reduce){.sx-ok.sx-pulsa,.sx-guiado .sx-c.objetivo::after{animation:none}}

/* Tres niveles (21 oct 2026): el selector reparte el ancho entre los que haya */
.sx-niveles{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
@media (max-width:420px){.sx-niveles button{font-size:12.5px;padding:6px 7px;gap:6px;line-height:1.2}.sx-nnum{width:22px;height:22px}}
.sx-guia .sx-link + .sx-link{margin-left:12px}

/* Accesibilidad (21 oct 2026) */
.sx-anuncio{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sx-guia:focus{outline:none}
.sx-guia:focus-visible{outline:2px solid var(--xl);outline-offset:-2px}
.sx-mision:focus{outline:none}
h2.sx-mtitulo{font-family:inherit;font-weight:700}
/* En el tema claro, el verde y el botón principal llegan a AA (el verde del sitio está pensado para fondo oscuro) */
html[data-theme="light"] .sx{--sx-verde:#177245}
.sx{--sx-verde:var(--green)}
.sx-resumen .verde b,.sx-hecho,.sx-logrado .sx-mtitulo{color:var(--sx-verde)}
.sx-resumen .verde,.sx-logrado{border-color:var(--sx-verde)}
html[data-theme="light"] .sx-btn:not(.sec):not(.sx-wa){color:#fff}
html[data-theme="light"] .sx-niveles button.on .sx-nnum{color:#fff}

/* ── Las ayudas para el que nunca usó Excel (21 oct 2026) ── */
.sx-c.objetivo{animation:none}
.sx-grilla td.sx-turno{position:relative;z-index:1}
.sx-grilla td.sx-turno .sx-c{box-shadow:inset 0 0 0 2px var(--xl)}
/* pasos 1 a 4: una flecha que baja y sube sobre la celda */
.sx-ayuda-flecha::before{content:"";position:absolute;right:6px;top:-17px;width:13px;height:16px;background:var(--xl);pointer-events:none;
  clip-path:polygon(32% 0,68% 0,68% 52%,100% 52%,50% 100%,0 52%,32% 52%);animation:sx-baja 1.4s ease-in-out infinite;z-index:2}
@keyframes sx-baja{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
/* del paso 5 en adelante: un anillo que sale de la celda y se desvanece */
.sx-ayuda-anillo .sx-c{animation:sx-anillo 2s ease-out infinite}
@keyframes sx-anillo{0%{box-shadow:inset 0 0 0 2px #217346,0 0 0 0 rgba(33,115,70,.45)}75%,100%{box-shadow:inset 0 0 0 2px #217346,0 0 0 9px rgba(33,115,70,0)}}
/* la primera vez: foco suave sobre la planilla y la flecha */
/* (la sombra va en el botón: Chrome no dibuja box-shadow en celdas de tabla con border-collapse) */
.sx-ayuda-primera::before{content:"";position:absolute;right:6px;top:-17px;width:13px;height:16px;background:var(--xl);pointer-events:none;
  clip-path:polygon(32% 0,68% 0,68% 52%,100% 52%,50% 100%,0 52%,32% 52%);animation:sx-baja 1.4s ease-in-out infinite;z-index:2}
.sx-grilla td.sx-ayuda-primera .sx-c{background:#fff;box-shadow:inset 0 0 0 2px var(--xl),0 0 0 9999px rgba(10,14,20,.30);animation:sx-foco .5s ease-out}
@keyframes sx-foco{from{box-shadow:inset 0 0 0 2px var(--xl),0 0 0 9999px rgba(10,14,20,0)}}
.sx-app{position:relative}
.sx-globo{position:absolute;z-index:25;width:220px;box-sizing:border-box;background:var(--xl);color:#fff;border-radius:12px;padding:10px 12px;
  font-size:14.5px;line-height:1.45;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:sx-globo .35s ease-out}
.sx-globo::before{content:"";position:absolute;top:-7px;left:var(--sx-punta,40px);border:7px solid transparent;border-top:0;border-bottom-color:var(--xl)}
.sx-globo p{margin:0}
.sx-globo b{font-weight:700}
.sx-globo-ok{margin-top:8px;font:inherit;font-size:13.5px;font-weight:600;min-height:36px;padding:4px 14px;border-radius:999px;cursor:pointer;
  background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}
.sx-globo-ok:focus-visible{outline:2px solid #fff;outline-offset:2px}
@keyframes sx-globo{from{opacity:0;transform:translateY(-6px)}}
/* la fórmula en gris, en la barra de fórmulas */
.sx-entrada::placeholder{color:#9aa0a6;opacity:1}
@media (prefers-reduced-motion:reduce){.sx-ayuda-flecha::before,.sx-ayuda-primera::before,.sx-ayuda-anillo .sx-c,.sx-ayuda-primera,.sx-globo{animation:none}}

/* ── Festejos, final de a poco, repetir y el cuadradito de relleno (24 oct 2026) ── */
.sx-mision{position:relative}
.sx-chispas{position:absolute;left:0;top:0;width:100%;height:min(100%,900px);pointer-events:none;z-index:3}
/* chico: las celdas del paso se iluminan */
.sx-c.sx-festeja{animation:sx-festeja .9s ease}
@keyframes sx-festeja{0%{background-color:rgba(46,204,138,.0)}25%{background-color:rgba(46,204,138,.45)}100%{background-color:transparent}}
.sx-guia-bien .sx-guia-cab{animation:sx-pop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes sx-pop{from{transform:scale(.6);opacity:0}}
.sx-guia-acc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px}
.sx-guia-acc .sx-btn{margin-top:0}
.sx-guia-acc .sx-repetir{color:var(--xl-osc);font-size:13.5px}
/* grande: el sello del nivel */
.sx-sello{display:inline-block;margin:8px 0 0;font-family:'Space Mono',monospace;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--sx-verde);border:2px solid var(--sx-verde);border-radius:8px;padding:4px 10px;transform:rotate(-6deg)}
.sx-festejo .sx-sello{animation:sx-sello .5s cubic-bezier(.2,1.6,.4,1) both}
@keyframes sx-sello{from{opacity:0;transform:scale(2.2) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(-6deg)}}
.sx-aprendiste{margin:14px 0 4px;border:1px solid var(--sx-verde);background:rgba(46,204,138,.08);border-radius:12px;padding:12px 16px}
.sx-festejo .sx-aprendiste{animation:sx-entra-izq .45s ease .45s both}
@keyframes sx-entra-izq{from{opacity:0;transform:translateX(-14px)}}
.sx-ap-et{margin:0 0 6px;font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--sx-verde);font-weight:700}
.sx-aprendiste ul{margin:0;padding-left:20px;font-size:14.5px;line-height:1.6;color:var(--text)}
.sx-aprendiste li::marker{color:var(--sx-verde)}
.sx-aprendiste .sx-clase{margin-top:8px}
.sx-otra-vez{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px}
/* el final de a poco: las preguntas llegan después, y el resto cuando contesta */
.sx-etapa2{animation:sx-sube .5s ease 1.1s both}
.sx-etapa3.sx-entra{animation:sx-sube .45s ease both}
@keyframes sx-sube{from{opacity:0;transform:translateY(10px)}}
/* el cuadradito de relleno de Excel, en la esquina de la celda elegida */
.sx-grilla td.sx-tsel{position:relative;z-index:2;cursor:crosshair}
.sx-grilla td.sx-tsel::after{content:"";position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;z-index:3;cursor:crosshair;
  background:linear-gradient(var(--xl),var(--xl)) center/8px 8px no-repeat,linear-gradient(#fff,#fff) center/11px 11px no-repeat}
@media (prefers-reduced-motion:reduce){.sx-c.sx-festeja,.sx-guia-bien .sx-guia-cab,.sx-festejo .sx-sello,.sx-festejo .sx-aprendiste,.sx-etapa2,.sx-etapa3.sx-entra{animation:none}}

/* La consigna fija en los tres niveles (24 oct 2026) */
.sx-guia-nota{margin-top:5px!important;font-size:13px;color:#4a4a4a}
.sx-guia-nota a,.sx-guia-clase a{color:var(--xl-osc);font-weight:600}
.sx-guia-clase{margin-top:6px!important;font-size:13.5px;color:#2b2b2b}

/* En el celular, los botones de fórmula en una sola fila que se desliza (eran hasta tres renglones):
   la barra fija dejaba poca planilla a la vista. Un degradé a la derecha avisa que hay más. */
@media (max-width:560px){
  .sx-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);padding-right:28px}
  .sx-chips::-webkit-scrollbar{display:none}
  .sx-chip{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
}

/* ── El final compacto: acordeones sutiles y «¿Te sirvió?» en una línea (24 oct 2026) ── */
details.sx-acord{margin:12px 0 0;border-radius:12px;interpolate-size:allow-keywords}
details.sx-acord>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:40px;-webkit-tap-highlight-color:transparent}
details.sx-acord>summary::-webkit-details-marker{display:none}
details.sx-acord>summary::after{content:"";flex:0 0 auto;width:8px;height:8px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s ease;opacity:.7}
details.sx-acord[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
details.sx-acord>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
details.sx-acord::details-content{block-size:0;overflow:hidden;transition:block-size .3s ease,content-visibility .3s allow-discrete}
details.sx-acord[open]::details-content{block-size:auto}
/* «Hoy aprendiste»: la misma banda verde, cerrada; se abre con un toque */
details.sx-aprendiste{padding:4px 16px}
details.sx-aprendiste>summary{color:var(--sx-verde)}
details.sx-aprendiste .sx-ap-et{margin:0}
details.sx-aprendiste[open]{padding-bottom:12px}
.sx-acord-cuenta{font-size:13px;color:var(--text2);font-family:inherit}
/* las aclaraciones chicas: solo un renglón gris */
details.sx-acord-mini{margin-top:6px}
details.sx-acord-mini>summary{min-height:34px;font-size:13.5px;color:var(--text2);width:max-content;max-width:100%;gap:10px}
details.sx-acord-mini>summary::after{margin-left:0}
details.sx-acord-mini>p{margin:0 0 6px;font-size:13.5px;line-height:1.55;color:var(--text2)}
/* «¿Te sirvió?» en una línea, debajo del resultado */
.sx-voto-mini{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px;padding:8px 12px;border-radius:12px;background:var(--surface2);border:1px solid var(--border)}
.sx-voto-p{font-weight:700;font-size:15px;color:var(--text);margin-right:auto}
.sx-voto-mini>button{font-size:20px;line-height:1;width:48px;height:44px;border-radius:999px;cursor:pointer;background:var(--surface);border:1px solid var(--border)}
.sx-voto-mini>button:hover{border-color:var(--accent)}
.sx-voto-mini>button.on{border-color:var(--accent);background:var(--accent-soft)}
.sx-voto-mini>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sx-voto-mini .sx-comentario{flex:1 1 100%}
.sx-voto-mini .sx-hecho{margin:0}
@media (prefers-reduced-motion:reduce){details.sx-acord::details-content,details.sx-acord>summary::after{transition:none}}
/* «Qué vas a aprender», debajo del simulador: cada nivel plegado, con el nombre y cuántos pasos tiene
   (como «Qué vas a practicar» en los talleres del Ombú). Las preguntas frecuentes siguen abiertas. */
details.sx-nivel-lista{border:1px solid var(--border);background:var(--surface);padding:2px 16px;margin-top:10px}
details.sx-nivel-lista>summary h3{margin:0;font-size:17px;line-height:1.35;color:var(--text);flex:1 1 auto}
details.sx-nivel-lista>summary{min-height:52px}
details.sx-nivel-lista>summary:hover h3{color:var(--accent)}
details.sx-nivel-lista[open]{padding-bottom:14px}
details.sx-nivel-lista .sx-misiones{margin-top:6px}

/* ── El modo de a un toque y el juego (26 oct 2026) ── */
/* la oferta, arriba de la consigna */
.sx-oferta{margin:0 0 8px;padding:10px 12px;border-radius:10px;background:#fff;border:2px solid var(--xl);color:#1f1f1f;animation:sx-sube .4s ease both}
.sx-oferta p{margin:0;font-size:14.5px;line-height:1.45}
.sx-oferta .sx-guia-acc{margin-top:8px}
.sx-oferta .sx-btn{min-height:40px;background:var(--xl);border-color:var(--xl);color:#fff}
.sx-oferta .sx-link{color:#4a4a4a}
/* la consigna en el modo fácil: el próximo toque, grande */
.sx-guia-facil{background:#eef7f1;border-bottom-color:#a9dcbd}
.sx-facil-dice{margin:4px 0 2px!important;font-size:17px;line-height:1.4;font-weight:600;color:#1f1f1f}
.sx-facil-n{display:block;font-size:12px;font-weight:400;color:#5b5b5b;margin-top:2px}
.sx-guia-facil .sx-link{color:#4a4a4a;font-size:12.5px;padding:2px 0}
/* una sola cosa encendida */
/* los que no van ahora: grises pero legibles (AA), sin transparencia */
.sx-modo-facil .sx-chip:not(.sx-encendido){color:#666;background:#f2f2f2;border-color:#dcdcdc;box-shadow:none}
/* el ✓ también, mientras no le toca: si no, compite con lo encendido (visto en el celular, 26 oct 2026) */
.sx-modo-facil .sx-fx .sx-ok:not(.sx-encendido):not(:disabled){background:#f2f2f2;border-color:#dcdcdc;color:#666;box-shadow:none;animation:none}
.sx-chip.sx-encendido{border-color:var(--xl);background:#e2efda;color:var(--xl-osc);font-weight:700;box-shadow:0 0 0 3px rgba(33,115,70,.25);animation:sx-encendido 1.2s ease-in-out infinite}
.sx-chip-num{font-family:Consolas,"Cascadia Mono",monospace;font-size:17px;font-weight:700;min-width:48px}
.sx-ok.sx-encendido{animation:sx-encendido 1.2s ease-in-out infinite;box-shadow:0 0 0 4px rgba(33,115,70,.3)}
.sx-grilla td.sx-encendido .sx-c{box-shadow:inset 0 0 0 3px var(--xl);background:rgba(33,115,70,.10)}
/* El botón de turno (28 oct 2026, pedido de Javier): cuando lo que sigue es tocarlo («Seguir →», «Dale», «Empezar →»),
   un aro que late y la flecha que se corre un poco. Arranca a los 0,9 s: primero se ve el festejo. El aro va en el color
   del botón (verde Excel; «Empezar», en el del portal). Con «reducir movimiento», el aro queda quieto. */
.sx-llamado{--aro:rgba(33,115,70,.30);--aro2:rgba(33,115,70,.10);box-shadow:0 0 0 3px var(--aro);animation:sx-llamado 1.4s ease-in-out .9s infinite}
.sx-llamado-acento{--aro:color-mix(in srgb,var(--accent) 35%,transparent);--aro2:color-mix(in srgb,var(--accent) 12%,transparent)}
@keyframes sx-llamado{0%,100%{box-shadow:0 0 0 3px var(--aro)}50%{box-shadow:0 0 0 9px var(--aro2)}}
.sx-flecha{display:inline-block}
.sx-llamado .sx-flecha{animation:sx-flecha 1.4s ease-in-out .9s infinite}
@keyframes sx-flecha{50%{transform:translateX(4px)}}
.sx-guia .sx-siguiente.sx-encendido{animation-delay:0s}
/* con la oferta a la vista, late solo «Dale»: el ✓ y la marca de la celda se quedan quietos */
.sx-ofreciendo .sx-ok.sx-pulsa,.sx-ofreciendo .sx-c.objetivo,.sx-ofreciendo .sx-ayuda-anillo .sx-c,.sx-ofreciendo .sx-ayuda-flecha::before,.sx-ofreciendo .sx-ayuda-primera::before{animation:none}
/* tocó mal varias veces: lo que hay que tocar se marca fuerte un momento (la sombra va en el botón, no en el td) */
td.sx-insiste .sx-c,.sx-chip.sx-insiste,.sx-ok.sx-insiste,.sx-entrada.sx-insiste{position:relative;z-index:3;animation:sx-insiste .6s ease-in-out 4}
@keyframes sx-insiste{0%,100%{box-shadow:inset 0 0 0 3px var(--xl),0 0 0 0 rgba(33,115,70,.55)}50%{box-shadow:inset 0 0 0 3px var(--xl),0 0 0 10px rgba(33,115,70,0)}}
@keyframes sx-encendido{50%{box-shadow:0 0 0 7px rgba(33,115,70,.12)}}
/* El foco (28 oct 2026): de a un toque, lo que no hay que mirar ahora se atenúa. Sin opacity (no pasa AA): el texto
   va a #5f6368 y el fondo se vela de gris claro (#eef0f3), 5,3 a 1. Los títulos verdes, en gris de la misma luz (el
   blanco sigue leyéndose igual). El marco de Excel (título, cinta, pestañas) también pasa a gris. */
.sx-velo .sx-grilla td:not(.sx-a-la-vista) .sx-c:not(.e-cab):not(.ref0):not(.ref1):not(.ref2):not(.ref3){color:#5f6368;box-shadow:inset 0 0 0 999px #eef0f3}
.sx-velo .sx-grilla td:not(.sx-a-la-vista) .sx-c.e-cab,.sx-velo .sx-titulo,.sx-velo .sx-menu,.sx-velo .sx-hojas{filter:grayscale(1)}
.sx-velo .sx-grilla td.sx-encendido .sx-c{background:#fff;box-shadow:inset 0 0 0 3px var(--xl),0 0 0 3px rgba(33,115,70,.22)}
.sx-grilla .sx-c,.sx-titulo,.sx-menu,.sx-hojas{transition:color .25s ease,filter .25s ease}
@media (prefers-reduced-motion:reduce){.sx-grilla .sx-c,.sx-titulo,.sx-menu,.sx-hojas{transition:none}}
/* tocar otra cosa no es error: se sacude suave */
.sx-sacude{animation:sx-sacude .35s ease}
@keyframes sx-sacude{20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
/* las estrellas y las insignias */
.sx-estrellas{font-size:13px;letter-spacing:1px;margin-left:4px}
.sx-est-vacia{color:#b9b9b9}
.sx-insignia{margin:4px 0 0!important;font-size:13.5px;color:var(--xl-osc);animation:sx-pop .45s cubic-bezier(.2,1.6,.4,1) .2s both}
/* el asado se cocina: la barrita del avance */
.sx-parrilla{display:flex;align-items:center;gap:10px;margin-top:10px}
.sx-par-pista{position:relative;flex:1;height:10px;border-radius:999px;background:var(--surface2);border:1px solid var(--border)}
.sx-par-fuego{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#f5a623,#e4572e);transition:width .5s ease}
/* la alcancía del aguinaldo: se llena de dorado, no de fuego */
.sx-prog-alcancia .sx-par-fuego{background:linear-gradient(90deg,#f7d774,#d4a017)}
.sx-par-carne{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:20px;line-height:1;transition:left .5s ease;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.35))}
.sx-par-txt{flex:0 0 auto;font-size:13px;color:var(--text2);white-space:nowrap}
/* el final: estrellas e insignias del nivel */
.sx-juego-fin{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.sx-jf-est,.sx-jf-ins{font-size:13px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text)}
.sx-jf-est{font-weight:700;border-color:#f5a623}
@media (prefers-reduced-motion:reduce){td.sx-insiste .sx-c,.sx-chip.sx-insiste,.sx-ok.sx-insiste,.sx-entrada.sx-insiste{outline:3px solid var(--xl);outline-offset:1px}}
@media (prefers-reduced-motion:reduce){td.sx-insiste .sx-c,.sx-chip.sx-insiste,.sx-ok.sx-insiste,.sx-entrada.sx-insiste,.sx-llamado,.sx-llamado .sx-flecha,.sx-chip.sx-encendido,.sx-ok.sx-encendido,.sx-guia .sx-siguiente.sx-encendido,.sx-sacude,.sx-insignia,.sx-oferta,.sx-par-fuego,.sx-par-carne{animation:none;transition:none}}

/* ── Las referencias fijas, el cuadradito sin desbordar y la celda que causa el error (26 oct 2026) ── */
/* las letras (y la fila de títulos) pegadas debajo de la barra de fórmulas, solo al bajar */
.sx-fijas{position:absolute;top:100%;left:0;right:0;overflow:hidden;background:#fff;box-shadow:0 4px 8px -2px rgba(0,0,0,.18);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility 0s linear .15s}
.sx-fijas.on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .15s ease}
.sx-fijas td{height:auto}
.sx-fc{display:flex;align-items:center;height:30px;padding:0 6px;font-size:12.5px;line-height:1.05;color:#1f1f1f;overflow:hidden}
.sx-fc.e-cab{background:var(--xl);color:#fff;font-weight:700}
.sx-cols4 .sx-fc{padding:0 4px}
/* los números de fila quedan a la izquierda si la planilla es más ancha que la pantalla */
.sx-grilla tbody th,.sx-grilla thead th.sx-esquina{position:sticky;left:0;z-index:4}
/* el cuadradito de la última columna (y de la última fila) va adentro: si sobresale, aparece una barra para deslizar */
.sx-grilla td.sx-tsel:last-child::after{right:-1px;background-position:right 1px bottom 1px,right 0 bottom 0}
.sx-grilla tr:last-child td.sx-tsel::after{bottom:-1px;background-position:right 1px bottom 1px,right 0 bottom 0}
/* la celda que causa el error de otra */
.sx-c.sx-origen{background:#fde7e9;box-shadow:inset 0 0 0 2px #c42b1c;animation:sx-origen 1.2s ease-in-out 2}
@keyframes sx-origen{50%{box-shadow:inset 0 0 0 4px #c42b1c}}
@media (prefers-reduced-motion:reduce){.sx-fijas,.sx-fijas.on{transition:none}.sx-c.sx-origen{animation:none}}
/* un texto largo se sigue viendo sobre la celda vacía de al lado, como en Excel */
.sx-c.sx-desborda{overflow:visible;text-overflow:clip;position:relative;z-index:1}
/* en un celular muy angosto (320 px), la planilla de 4 columnas un punto más chica */
@media (max-width:340px){.sx-cols4 .sx-grilla{font-size:13px}}
/* «Ajustar texto»: un texto que no entra y no puede seguir sobre la celda de al lado va en dos renglones */
.sx-c.sx-ajusta{white-space:normal;text-overflow:clip;line-height:1.1;font-size:13px}
/* el toque «escribí tu número» (los sueldos del aguinaldo): la barra de fórmulas encendida */
.sx-fx .sx-entrada.sx-encendido{border-color:var(--xl);box-shadow:0 0 0 3px rgba(33,115,70,.25)}
/* una ayuda a la vez: «0 de 5» al costado del título y los enlaces en un renglón */
.sx-guia-cab .sx-cab-avance{float:right;font-family:'Space Mono',monospace;font-size:11.5px;font-weight:700;color:var(--xl-osc)}
.sx-guia-links{margin:4px 0 0!important;line-height:1.5}
.sx-guia-links .sx-link{margin-right:12px}
.sx-guia-links .sx-link + .sx-link{margin-left:0}
@media (max-width:420px){.sx-guia-links .sx-link{font-size:13px;margin-right:10px}}
