@import url('./laptops/interfaz-laptop.css');
@import url('./celulares/interfaz-celular.css');
@import url('./recursos-offline/fuentes/poppins.css');
/* Una paleta y un material compartidos. Las hojas de cada módulo definen su distribución. */
:root{color-scheme:light;--fondo:#edf5f7;--bg:var(--fondo);--texto:#142b36;--text:var(--texto);--muted:#455b67;--texto-suave:var(--muted);--primary:#086f69;--primario:var(--primary);--boton:var(--primary);--secondary:#6545a8;--secundario:var(--secondary);--panel:rgba(255,255,255,.68);--glass:var(--panel);--surface:rgba(255,255,255,.44);--control:rgba(255,255,255,.65);--border:rgba(36,111,116,.3);--peligro:#a72d48;--exito:#08674f;--sombra:rgba(26,94,111,.18);--vidrio-menu:var(--panel);--vidrio-fondo:var(--panel);--vidrio-fondo-suave:var(--surface);--vidrio-borde:var(--border);--vidrio-brillo:rgba(255,255,255,.88);--vidrio-sombra:rgba(32,61,87,.12);--cuaderno-panel:var(--panel);--cuaderno-line:var(--border);--cuaderno-soft:var(--surface);--labial-teal:var(--primary);--labial-violet:var(--secondary);--accion:linear-gradient(125deg,#096e70,#6949ac);--luz-uno:rgba(66,213,199,.23);--luz-dos:rgba(171,145,234,.23);--luz-tres:rgba(255,197,143,.19)}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--fondo:#0a1425;--texto:#edf7fa;--muted:#bfd1df;--primary:#69e1d3;--secondary:#c5abff;--panel:rgba(22,38,58,.76);--surface:rgba(58,81,106,.38);--control:rgba(31,51,75,.86);--border:rgba(133,215,216,.38);--peligro:#ff9db4;--exito:#84efd2;--vidrio-brillo:rgba(218,251,255,.16);--vidrio-sombra:rgba(0,5,15,.28);--accion:linear-gradient(125deg,#126566,#58408d);--luz-uno:rgba(26,137,136,.18);--luz-dos:rgba(103,65,173,.22);--luz-tres:rgba(189,121,82,.12)}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root body{margin:0;color:var(--texto);font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;background:radial-gradient(ellipse at 0 0,var(--luz-uno),transparent 55%),radial-gradient(ellipse at 100% 10%,var(--luz-tres),transparent 55%),radial-gradient(ellipse at 80% 100%,var(--luz-dos),transparent 60%),var(--fondo);background-attachment:fixed;line-height:1.5}
body>.bg,body>.fondo-labial{display:none}
main,section,article,aside,header,form,fieldset,figure,div{min-width:0}
img,video,canvas{max-width:100%}
button,input,select,textarea{font:inherit;touch-action:manipulation}
a{color:var(--primary)}
::selection{background:var(--primary);color:var(--fondo)}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
:root body :is(.menu-card,.glass-card,.tarjeta-herramienta,.video-card,.avatar-card,.panel-card,.learn-hero,.progress-dashboard,.challenge-card,.lesson-library,.rewards-section,.cuaderno-hero,.explorador,.biblioteca-laminas,.proximo-reto,.teclado-lsm,.reto-visual,.world-hero,.mapa-world,.mision-world,.historia-world,.recompensas-world,.visor-labial,.panel-labial,.preparacion-offline,.admin-section){color:var(--texto);background:var(--panel);border:1px solid var(--border);box-shadow:0 14px 36px var(--vidrio-sombra),inset 0 1px 0 var(--vidrio-brillo);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
:root body :is(.world-hero,.learn-hero,.cuaderno-hero){background:linear-gradient(125deg,var(--luz-uno),var(--luz-dos)),var(--panel)}
:root body :is(.indice-cuaderno,.detalle-tecla,.desafio-teclado,.panel-recompensas,.progreso-reto,.teclado-contador,.palabra-objetivo,.palabra-construida,.nota-validacion,.pasos-movimiento,.mini-stat,.verificacion-edicion,.fast-login,.estado,.resultado-grande,.guia-item,.perfil-activo,.log-area,.palabra-secreta,.vidas-hud,.monedas-hud,.combo-hud,.xp-hud,.medalla-world,.medalla-reto,.lugar-world,.achievement-card,.lesson-card,.sentence-builder,.write-answer,.reloj-reto,.capacidad-check){color:var(--texto);background:var(--surface);border-color:var(--border);box-shadow:inset 0 1px 0 var(--vidrio-brillo)}
:root body :is(.world-topbar,.barra-labial,.topbar,.barra){color:var(--texto);background:var(--panel);border-bottom:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);text-shadow:none}
:root body :is(.logo,.logo-mini,.marca,.marca-labial){color:var(--texto);text-shadow:none}
:root body :is(button,input[type=button],input[type=submit],.volver,.volver-menu,.volver-labial,.boton,.file-drop):where(:not(.tecla-lsm):not(.nodo-world)){color:var(--texto);background:var(--control);border:1px solid var(--border);box-shadow:0 5px 14px var(--vidrio-sombra),inset 0 1px 0 var(--vidrio-brillo);text-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
:root body :is(.btn-main,.btn-principal,.btn-world,.boton-labial.principal,.train-btn,.learn-actions .btn-principal,.camara-acciones button:first-child){color:#fff;background:var(--accion);border-color:var(--primary)}
:root body :is(button,.boton,a.volver-menu,a.volver-labial){min-height:44px;white-space:normal;overflow-wrap:anywhere}
:root body button:not(.nodo-world):not(.tecla-lsm):disabled{opacity:1;color:var(--muted);background:var(--surface);cursor:not-allowed;box-shadow:none}
:root body :is(button,a.boton,a.volver,a.volver-menu,a.volver-labial):hover:not(:disabled){border-color:var(--primary)}
:root body :is(button[aria-pressed=true],button[aria-current=true],.mode-btn.activa,.mundo-chip.actual,.camara-modos .activo){border-color:var(--primary);outline:2px solid var(--primary);outline-offset:1px;background:var(--surface)}
:root body :is(.correcta,.exito){color:var(--exito);border-color:var(--exito)}
:root body :is(.incorrecta,.error,.btn-peligro,.btn-delete){color:var(--peligro);border-color:var(--peligro)}
:root body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){max-width:100%;min-height:44px;background:var(--control);color:var(--texto);border:1px solid var(--border);border-radius:14px;box-shadow:inset 0 1px 0 var(--vidrio-brillo)}
:root body :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
:root body :is(.input-group small,.capacidades-nota,.grid button small,.alerta-texto p){color:var(--muted)}
:root body .ajuste{min-width:0}
:root body .ajuste select{width:100%;min-width:0}
:root body .sin-webgl{background:var(--panel);color:var(--texto);flex-direction:column;gap:12px;padding:24px;text-align:center}
:root body .sin-webgl img{width:130px;height:130px;object-fit:cover;border-radius:24px}
:root body :is(.dropdown,.help-box,.acerca-contenido,.alerta,.capacidades-dropdown,.capacidades-panel){color:var(--texto);background:var(--panel);border-color:var(--border);box-shadow:0 18px 40px var(--vidrio-sombra);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
:root body :is(.dropdown a,.help-box p,.acerca-contenido p,.alerta-texto p,.capacidades-dropdown summary){color:var(--texto);text-shadow:none}
:root body.pagina-acceso .help-btn{color:#fff;background:var(--accion);border:2px solid var(--primary);font-size:1.55rem;opacity:1}
:root body :is(.eyebrow,.eyebrow-labial,.world-hero .eyebrow,.mapa-world .eyebrow,.palabra-objetivo strong){color:var(--primary);text-shadow:none}
:root body :is(.world-hero h1,.mapa-world h2,.historia-world h2,.recompensas-world h2,.progreso-world,.reto-mision>p,.respuesta-deletreo,.deletreo-mision output,.medalla-world,.lugar-world,.mundo-chip){color:var(--texto);text-shadow:none}
:root body :is(.world-hero p:not(.eyebrow),.mapa-encabezado p:not(.eyebrow),.historia-world>div>p:not(.eyebrow),.guia-mision,.instruccion-reto,.vidas-hud small,.monedas-hud small,.combo-hud small,.xp-hud small,.avatar-historia figcaption,.lamina-destacada figcaption,.imagen-reto figcaption,.visual-mision figcaption,.camara-reto p){color:var(--muted);text-shadow:none}
:root body :is(.imagen-reto figcaption,.visual-mision figcaption){background:var(--panel)}
:root body :is(.medalla-world,.medalla-reto,.lugar-world,.achievement-card){opacity:1;filter:none}
:root body :is(.medalla-world.desbloqueada,.medalla-reto.desbloqueada,.lugar-world.desbloqueado,.achievement-card.unlocked){border-color:var(--primary);background:linear-gradient(125deg,var(--luz-uno),var(--luz-dos)),var(--surface)}
:root body .nodo-world{color:#183b42;text-shadow:none;backdrop-filter:none;opacity:1}
:root body .nodo-world:disabled{background:#c8d8dc;border-color:#f6ffff;color:#385561;box-shadow:0 4px 0 #9aafb5;filter:none;opacity:1}
:root body .nodo-world small{color:#142b36;text-shadow:0 1px 2px #fff,0 0 4px #fff;font-weight:800}
:root body .mundos-world{max-width:100%;scrollbar-color:var(--primary) transparent}
:root body .lugares-world{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));overflow:visible}
:root body .lugar-world{min-width:0}
:root body .glass-card{animation:none}
body:is(.pagina-aprende-lsm,.pagina-cuaderno-lsm,.pagina-letter-world,.pagina-labial){padding:0 24px 32px}
:root body:is(.pagina-aprende-lsm,.pagina-cuaderno-lsm,.pagina-letter-world,.pagina-labial)>:is(.topbar,.world-topbar,.barra-labial){position:relative;inset:auto;min-height:72px;height:auto;width:calc(100% + 48px);margin:0 -24px 24px;padding:12px 24px;gap:12px;justify-content:space-between;flex-wrap:wrap}
:root body.pagina-acceso .topbar{position:relative;height:62px;min-height:62px;padding:8px 20px;background:none;border:0;backdrop-filter:none;box-shadow:none;justify-content:flex-end}
:root body.pagina-acceso .logo-mini{display:none}
:root body.pagina-acceso .container{min-height:calc(100svh - 62px);padding-top:8px;padding-bottom:95px}
:root body.pagina-acceso .glass-card{width:min(570px,100%);padding:clamp(22px,5vw,42px)}
:root body .help-box{max-width:calc(100vw - 32px);max-height:calc(100svh - 150px);overflow:auto;right:16px;bottom:90px}
:root body .help-btn{right:20px;bottom:20px;width:58px;height:58px;min-height:58px;z-index:100}
.preparacion-offline{margin-top:24px;padding:20px;border-radius:22px;text-align:left}
.preparacion-offline h2{margin:0 0 9px;font-size:1.15rem}
.preparacion-offline p{margin:10px 0;line-height:1.5}
.preparacion-offline progress{width:100%;height:12px;accent-color:var(--primary)}
.preparacion-offline .nota-offline{font-size:.82rem;color:var(--muted)}
.biblioteca-gestos{padding-left:22px;line-height:1.9}
:root body.sin-efecto-glass :is(.glass-card,.menu-card,.tarjeta-herramienta,.avatar-card,.panel-card,.cuaderno-hero,.explorador,.world-hero,.mapa-world,.panel-labial,.visor-labial){background:var(--fondo);backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:1000px){:root body .progress-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}:root body .progress-main{grid-column:1/-1}:root body .practice-studio{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 body:is(.pagina-aprende-lsm,.pagina-cuaderno-lsm,.pagina-letter-world,.pagina-labial){padding:0 12px 24px}
 :root body:is(.pagina-aprende-lsm,.pagina-cuaderno-lsm,.pagina-letter-world,.pagina-labial)>:is(.topbar,.world-topbar,.barra-labial){width:calc(100% + 24px);margin:0 -12px 20px;padding:10px 12px;min-height:64px;flex-wrap:nowrap}
 :root body :is(.volver-menu,.volver-labial,.volver){font-size:.88rem;padding:10px 12px;flex-shrink:1;line-height:1.25}
 :root body :is(.learn-hero,.challenge-card,.lesson-library,.rewards-section,.avatar-card,.panel-card){padding:20px;border-radius:23px}
 :root body .learning-layout{grid-template-columns:minmax(0,1fr)}
 :root body .challenge-modes{grid-template-columns:repeat(2,minmax(0,1fr))}
 :root body .challenge-stage{grid-template-columns:minmax(0,1fr)}
 :root body .progress-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:8px}
 :root body .mini-stat{min-width:0;min-height:86px;padding:7px}
 :root body .learn-hero{display:block}.learn-actions{margin-top:18px}
 :root body .learn-actions button{width:100%}
 :root body .learning-panel{min-width:0}
 :root body .world-hero{grid-template-columns:64px minmax(0,1fr)}
 :root body .hud-mundo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
 :root body .historia-world{grid-template-columns:minmax(0,1fr);text-align:left}
 :root body .recompensas-world{grid-template-columns:minmax(0,1fr)}
 :root body .marco-camara-labial{height:auto;aspect-ratio:4/3}
 :root body .paneles-labial{grid-template-columns:minmax(0,1fr)}
 :root body .selector-camara{flex-basis:100%}
 :root body .selector-camara select{width:100%}
 :root body .ajuste{grid-template-columns:minmax(0,1fr)}
 :root body .ajuste select{max-width:none}
 :root body .transcripcion-panel{grid-column:auto}
 :root body :is(input,select,textarea){font-size:16px}
 :root body .preparacion-offline button{width:100%}
 :root body .topbar .logo{font-size:1.15rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){button,a,input,select,textarea{border:1px solid CanvasText!important}}
