/* theAkdemy · identidad compartida, septiembre 2026.
   Originales del SVG/PNG: #03899b / #fb6b58. Los assets conservan esos colores.
   Botones suaves con tinta oscura; franjas intensas con blanco (mínimo 4,79:1).
   Los colores de ilustraciones, gráficos y actividades didácticas no se filtran.
   Este archivo es la fuente de los tokens de interfaz, después de los skins. */
body.identidad{
  --marca-turquesa:#03899b;--marca-coral:#fb6b58;
  --ak-fondo:#f5f8f8;--ak-papel:#fff;--ak-suave:#eaf4f4;--ak-tinta:#16343b;
  --ak-secundario:#50666c;--ak-linea:#d1e0e2;--ak-control:#748b90;
  --ak-accion:#007e8f;--ak-accion-hover:#006573;--ak-sobre-accion:#fff;
  --ak-enlace:#006b78;--ak-coral-tinta:#102f36;--ak-coral-suave:#fff0e9;
  --ak-banda:var(--marca-turquesa);--ak-radio:20px;--ak-radio-boton:12px;
  --ak-foco:#004c60;--ak-ok:#226843;--ak-ok-fondo:#eaf6ee;
  --ak-error:#b52d3a;--ak-error-fondo:#fff0f1;
  --ak-sombra:0 8px 28px #16343b0b,0 1px 3px #16343b08;
  /* Ambos extremos permiten texto blanco pequeño; el hover nunca aclara el fondo. */
  --ak-degradado:linear-gradient(115deg,#007e8f,#006573 58%,#005561);
  --ak-degradado-hover:linear-gradient(115deg,#006573,#005561);
  --ak-degradado-suave:linear-gradient(125deg,var(--ak-suave),var(--ak-papel));
  /* Muchas opciones no deben convertirse en una pared de color intenso. */
  --ak-boton-tinta:#102f36;--ak-boton-borde:#54818b;
  --ak-boton:linear-gradient(115deg,#e2f4f5,#ccebef);
  --ak-boton-hover:linear-gradient(115deg,#d1edf0,#bce3e8);
  --ak-boton-activo:linear-gradient(115deg,#bce3e8,#a5d9e0);
  --ak-boton-coral:linear-gradient(115deg,#ffebe6,#ffdbd2);
  /* Puentes para componentes existentes y paneles. */
  --tinta:var(--ak-tinta);--suave:var(--ak-secundario);--enlace:var(--ak-enlace);
  --verde:var(--ak-accion);--azul:var(--ak-accion);--morado:var(--ak-enlace);
  --vidrio:var(--ak-papel);--vidrio-suave:var(--ak-suave);--vidrio-borde:var(--ak-linea);
  --campo:var(--ak-papel);--campo-borde:var(--ak-control);--campo-hover:var(--ak-enlace);
  --campo-placeholder:var(--ak-secundario);--sombra:var(--ak-sombra);
  --acento1:var(--ak-enlace);--acento2:var(--ak-enlace);--acento3:var(--ak-enlace);
  --grad:var(--ak-degradado);--radio:var(--ak-radio);--ok:var(--ak-ok);--mal:var(--ak-error);
  --ui-tinta:var(--ak-tinta);--ui-suave:var(--ak-secundario);--ui-fondo:var(--ak-fondo);
  --ui-superficie:var(--ak-papel);--ui-borde:var(--ak-linea);--ui-verde:var(--ak-accion);
  --ui-verde-2:#005561;--ui-cielo:var(--ak-enlace);--ui-violeta:var(--ak-enlace);
  --ui-coral:var(--marca-coral);--ui-radio:var(--ak-radio);--ui-radio-sm:var(--ak-radio-boton);
  --ui-sombra:var(--ak-sombra);--ui-sombra-alta:0 14px 34px #16343b16;
  --ui-foco:0 0 0 3px var(--ak-papel),0 0 0 6px var(--ak-foco);
  color:var(--ak-tinta);background:var(--ak-fondo);accent-color:var(--ak-accion);
}
/* La edad modula intensidad y formas; mantiene lugares, iconos y significados. */
body.identidad.edad-peques{--ak-fondo:#fffcf7;--ak-suave:#eaf7f2;--ak-banda:var(--marca-turquesa);--ak-radio:24px;--ak-radio-boton:16px}
body.identidad.edad-explorador{--ak-fondo:#f4faf8;--ak-suave:#e7f5f1;--ak-banda:var(--marca-turquesa);--ak-radio:20px;--ak-radio-boton:14px}
body.identidad.edad-investigador{--ak-fondo:#f3f8fa;--ak-suave:#e9f2f6;--ak-banda:var(--marca-turquesa);--ak-radio:16px}
body.identidad.edad-analista{--ak-fondo:#f5f8fa;--ak-suave:#ecf2f5;--ak-banda:var(--marca-turquesa);--ak-radio:12px;--ak-radio-boton:10px}
body.identidad.edad-preuniversitario{--ak-fondo:#f6f7f8;--ak-suave:#eef2f4;--ak-banda:var(--marca-turquesa);--ak-radio:10px;--ak-radio-boton:10px}
body.identidad.oscuro{
  --ak-fondo:#0e2027;--ak-papel:#172e36;--ak-suave:#203d46;--ak-tinta:#eef7f8;
  --ak-secundario:#b5cacf;--ak-linea:#37535c;--ak-control:#72939c;
  --ak-enlace:#85e3e5;--ak-coral-suave:#3e2d2c;--ak-banda:var(--marca-turquesa);
  --ak-foco:#ffd06b;--ak-ok:#89dfb0;--ak-ok-fondo:#17392c;
  --ak-error:#ffb5b9;--ak-error-fondo:#40262d;--ak-sombra:0 8px 28px #0002;
  color:var(--ak-tinta);background:var(--ak-fondo);
}

/* Superficies: opacas para que el contraste no dependa del fondo. */
body.identidad :is(.topbar,.card,.panel,.testCard,.continuarHero,.temaNavegacion,.temaIndice,.lectorRuta,.perfilPop){
  background:var(--ak-papel);color:var(--ak-tinta);border-color:var(--ak-linea);
  box-shadow:var(--ak-sombra);border-radius:var(--ak-radio);backdrop-filter:none;
}
body.identidad .topbar:before,body.identidad.oscuro .topbar:before{background:none}
body.identidad.oscuro :is(.temaNavegacion,.temaIndice){background:var(--ak-papel);color:var(--ak-tinta);border-color:var(--ak-linea)}
body.identidad .marca.marcaGrafica{background:none;color:var(--ak-tinta)}
body.identidad :is(h1,h2,h3,h4){color:var(--ak-tinta)}
body.identidad :is(.mini,.mini-desc,.tinyNote,.progressTxt,.temaUbicacion span,.camMat,.lvlTag){color:var(--ak-secundario)}
body.identidad .topnav a:not(.btn-mini){color:var(--ak-tinta)}
body.identidad .topnav a:not(.btn-mini):hover{background:var(--ak-suave);color:var(--ak-enlace)}
body.identidad :is(.btn,.btn-mini){
  background:var(--ak-boton);color:var(--ak-boton-tinta);border:1px solid var(--ak-boton-borde);
  box-shadow:0 3px 9px #16343b14;border-radius:var(--ak-radio-boton);text-decoration:none;
}
/* Mantiene la prioridad del botón compacto de la cabecera. */
body.identidad .btn-mini{color:var(--ak-boton-tinta)!important}
body.identidad :is(.btn,.btn-mini):hover{background:var(--ak-boton-hover);filter:none;box-shadow:0 5px 14px #16343b20}
body.identidad :is(.btn,.btn-mini):active{box-shadow:0 1px 4px #16343b20}
body.identidad .btn.blue{background:var(--ak-boton);color:var(--ak-boton-tinta)}
body.identidad .btn.blue:hover{background:var(--ak-boton-hover)}
body.identidad .btn.orange{background:var(--ak-boton-coral);color:var(--ak-boton-tinta);border-color:#a8695e;box-shadow:0 3px 9px #16343b14}
body.identidad .btn.orange:hover{background:linear-gradient(115deg,#ffdfd6,#ffd0c3)}
body.identidad .btn.gray{background:var(--ak-suave);color:var(--ak-tinta);border-color:var(--ak-control);box-shadow:none}
body.identidad .btn.gray:hover{background:var(--ak-papel);border-color:var(--ak-enlace)}
body.identidad .btn.rojo{background:#b52d3a;color:#fff}
body.identidad :is(.temaBtn,.temaAccesos a,.temaAccesos button,.lectorPorPartes summary,.panelToggle,.camMaterias){
  color:var(--ak-tinta);background:var(--ak-papel);border:1px solid var(--ak-control);box-shadow:none;
}
body.identidad :is(.temaAccesos a,.temaAccesos button,.panelToggle,.camMaterias):hover{background:var(--ak-suave);color:var(--ak-enlace)}
body.identidad :is(.tabs button,nav button){background:var(--ak-papel);color:var(--ak-tinta);border:1px solid var(--ak-control);box-shadow:none}
body.identidad :is(.tabs button.active,nav button.active){background:var(--ak-boton-activo);color:var(--ak-boton-tinta);border-color:var(--ak-accion);box-shadow:inset 0 -3px var(--ak-accion)}
body.identidad :is(input,select,textarea){color:var(--ak-tinta);background-color:var(--ak-papel);border-color:var(--ak-control)}
body.identidad ::placeholder{color:var(--ak-secundario);opacity:1}
body.identidad :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--ak-foco);outline-offset:3px;box-shadow:0 0 0 3px var(--ak-papel);
}

/* Interfaz de la lección. Se conserva el color semántico de los ejercicios. */
body.identidad .card.lesson:before{background:var(--ak-banda)}
body.identidad .card>h2:first-child:not(.lectorSuperficie):after{background:var(--marca-turquesa)}
body.identidad .card.lesson{border-left-color:var(--ak-banda)}
body.identidad .lecBanner{background:var(--ak-degradado);color:var(--ak-sobre-accion);box-shadow:none;border-radius:var(--ak-radio-boton)}
body.identidad .lecBanner :is(b,strong,span){color:inherit}
body.identidad :is(.lecNavCard,.lecNumero,.lectorRutaCab){color:var(--ak-enlace)}
body.identidad :is(.statMini,.pie){color:var(--ak-secundario)}
body.identidad .tabs .tabLink{background:var(--ak-papel);color:var(--ak-tinta);border:1px solid var(--ak-control);box-shadow:none}
body.identidad .lecChip{background:var(--ak-papel);color:var(--ak-secundario);border-color:var(--ak-control)}
body.identidad .lecChip.actual{background:var(--ak-suave);color:var(--ak-enlace);border-color:var(--ak-enlace);box-shadow:0 0 0 3px var(--ak-papel)}
body.identidad .lecChip.hecha{background:var(--ak-ok-fondo);border-color:var(--ak-ok);color:var(--ak-ok)}
body.identidad .lecBanTip{background:#00000014;color:var(--ak-sobre-accion)}
body.identidad .lecBanTip.lista{background:var(--ak-papel);color:var(--ak-ok)}
body.identidad .progOut{background:var(--ak-linea);border-color:var(--ak-linea)}
body.identidad .progIn,body.identidad .progIn.azul{background:var(--ak-degradado)}
body.identidad .lectorRuta{border-color:var(--ak-linea)}
body.identidad :is(.xpBarIn,.quizBarIn,.lectorRutaProgreso span){background:var(--ak-degradado)}
body.identidad :is(.xpBarOut,.quizBarOut,.lectorRutaProgreso){background:var(--ak-linea)}
body.identidad .lectorSuperficie:hover{background:var(--ak-suave);border-color:var(--ak-control)}
body.identidad .lectorSuperficie:after,body.identidad .card>h2.lectorSuperficie:first-child:after{
  background-color:#ccebef;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23102f36' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M15 27v-6M23 33V15M31 29V19'/%3E%3C/g%3E%3C/svg%3E"),var(--ak-boton);
  box-shadow:0 0 0 1px var(--ak-boton-borde),0 3px 10px #006b7812;filter:none;
}
body.identidad .lectorSuperficie.reproduciendo{background:var(--ak-coral-suave);border-color:var(--marca-coral)}
body.identidad .lectorSuperficie.reproduciendo:after,body.identidad .card>h2.lectorSuperficie.reproduciendo:first-child:after{
  background-color:#ffdbd2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='17' y='17' width='14' height='14' rx='3' fill='%23102f36'/%3E%3C/svg%3E"),var(--ak-boton-coral);
  box-shadow:0 0 0 4px var(--ak-papel);animation:none;
}
body.identidad :is(.tipBox,.demoBox){background:var(--ak-suave);color:var(--ak-tinta);border-color:var(--ak-linea);border-left:4px solid var(--ak-banda);border-radius:var(--ak-radio-boton)}
body.identidad .tipBox b{color:var(--ak-enlace)}
body.identidad :is(.testCard:hover,.continuarHero:hover){border-color:var(--ak-enlace);box-shadow:var(--ui-sombra-alta)}
body.identidad :is(.chipTema,.sigueChip){background:var(--ak-suave);color:var(--ak-enlace);border-color:var(--ak-linea)}
body.identidad .optGrid button{background:var(--ak-papel);color:var(--ak-tinta);border-color:var(--ak-control)}
body.identidad .optGrid button.ok,body.identidad .feedback.good{background:var(--ak-ok-fondo);color:var(--ak-ok);border-color:var(--ak-ok)}
body.identidad .optGrid button.bad,body.identidad .feedback.bad{background:var(--ak-error-fondo);color:var(--ak-error);border-color:var(--ak-error)}
body.identidad .tabla{background:var(--ak-papel);color:var(--ak-tinta)}
body.identidad .tabla th{background:var(--ak-accion);color:var(--ak-sobre-accion)}
body.identidad .tabla td{border-color:var(--ak-linea)}
body.identidad .tabla tr:hover td{background:var(--ak-suave)}
body.identidad .appBarra{background:var(--ak-papel);border-color:var(--ak-linea)}
body.identidad .appBarra button{background:var(--ak-papel);border-color:var(--ak-control);color:var(--ak-tinta)}
/* El modo opcional por pasos conserva su contrato de prioridad CSS. */
body.identidad .appBarra .appAvanzar:not(:disabled){background:var(--ak-boton)!important;color:var(--ak-boton-tinta)!important;border-color:var(--ak-boton-borde)!important}
body.identidad.moderno .adminStat .num{background:none;color:var(--ak-enlace);-webkit-text-fill-color:currentColor}
body.identidad.moderno .kpi.ambar .v{color:#8b5200}
body.identidad.moderno.oscuro .kpi.ambar .v{color:#ffd06b}

/* Tour: la misma identidad. Conserva sus tres recorridos y muestras acotadas. */
body.identidad.tourWeb{--tw-acento:var(--ak-enlace);--tw-tinta:var(--ak-tinta);--tw-suave:var(--ak-suave);--tw-borde:var(--ak-linea)}
body.identidad.tourWeb[data-experiencia="peques"]{--ak-fondo:#fffcf7;--ak-suave:#eaf7f2}
body.identidad.tourWeb[data-experiencia="mayores"]{--ak-fondo:#f4faf8;--ak-suave:#e7f5f1}
body.identidad.tourWeb[data-experiencia="adolescentes"]{--ak-fondo:#f5f8fa;--ak-suave:#ecf2f5}
body.identidad.tourWeb :is(.twBajada,.twGuia>p,.twGuia .twGuiaNota,.twLetraPequena,.twEstado,.twDiscreto,.twNotaFamilia,.twBarraRecorrido label,.twNavegacion>span){color:var(--ak-secundario)}
body.identidad.tourWeb :is(.twEscenario,.twDialogo){background:var(--ak-papel);border-color:var(--ak-linea);box-shadow:var(--ak-sombra)}
body.identidad.tourWeb :is(.twVentana,.twInforme){background:var(--ak-suave);color:var(--ak-secundario);border-color:var(--ak-linea)}
body.identidad.tourWeb .twPeques{background:#eaf7f2;color:#16343b;border-color:#c8e6dc}
body.identidad.tourWeb .twMayores{background:#e9f2f6;color:#16343b;border-color:#cbdde4}
body.identidad.tourWeb .twAdolescentes{background:#203d46;color:#eef7f8;border-color:#203d46}
body.identidad.tourWeb .twEleccion b{color:inherit}
body.identidad.tourWeb .twPortada h1 em{color:var(--marca-turquesa)}
body.identidad.tourWeb :is(.twBarras span,.twTira .llena){background:var(--marca-turquesa)}
body.identidad.tourWeb .twOrbita{border-color:var(--ak-linea)}
body.identidad.tourWeb .twInsignia{background:var(--marca-coral);color:var(--ak-coral-tinta)}
body.identidad.tourWeb .twVoces button[aria-pressed="true"]{background:var(--ak-suave);border-color:var(--ak-enlace);color:var(--ak-enlace)}
body.identidad.tourWeb .twPasos button{background:transparent;border:0;color:var(--ak-secundario)}
body.identidad.tourWeb .twPasos button[aria-current]{background:var(--ak-suave);color:var(--ak-enlace);box-shadow:inset 3px 0 var(--ak-enlace)}
@media(prefers-reduced-motion:reduce){body.identidad .btn:hover{transform:none}}

/* Misma familia de color en todas las edades y estados. */
body.identidad .continuarHero .chBtn{background:var(--ak-boton);color:var(--ak-boton-tinta);border:1px solid var(--ak-boton-borde);box-shadow:var(--ak-sombra)}
body.identidad.tourWeb .twBoton:not(.twSecundario){background:var(--ak-boton);color:var(--ak-boton-tinta)!important;border-color:var(--ak-boton-borde)}
body.identidad.tourWeb .twBoton:hover{filter:none}
body.identidad.tourWeb .twCartas button:not(.vista),body.identidad.tourWeb .twCartasPortada span:nth-child(2){background:var(--ak-degradado);color:var(--ak-sobre-accion)}
body.identidad.tourWeb .twTableroRuta button.pisada{background:var(--ak-degradado);color:var(--ak-sobre-accion)}

/* Estados que solo se ven al abrir el perfil, el índice y el vestidor. */
body.identidad .perfilPop{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--ak-linea);box-shadow:0 18px 55px #16343b30}
body.identidad .ppBanner{background:var(--ak-degradado);border-bottom:4px solid var(--marca-coral)}
body.identidad .ppIni{background:var(--ak-degradado);color:var(--ak-sobre-accion)}
body.identidad .ppAvatar{background:var(--ak-degradado-suave);border-color:var(--ak-papel);box-shadow:0 8px 20px #16343b26}
body.identidad .ppAvatar .ppIniG{color:var(--ak-enlace)}
body.identidad .ppHola{color:var(--ak-tinta)}
body.identidad .ppRol{color:var(--ak-secundario)}
body.identidad .ppStats span{background:var(--ak-suave);color:var(--ak-tinta)}
body.identidad .ppOps a{background:var(--ak-suave);color:var(--ak-tinta);border-color:var(--ak-linea)}
body.identidad .ppOps a:hover{background:var(--ak-papel);color:var(--ak-enlace);border-color:var(--ak-enlace)}
body.identidad .ppOps .ppOpBtn{background:var(--ak-coral-suave);color:var(--ak-tinta);border-color:var(--marca-coral)}
body.identidad .ppOps .ppOpBtn:hover{background:var(--ak-papel);border-color:var(--ak-enlace)}
body.identidad .ppSalir,body.identidad .ppSalir:hover{background:var(--ak-error-fondo);color:var(--ak-error)}
body.identidad .ppApodoForm input{border-color:var(--ak-control)}
body.identidad .avMiniTop{background:var(--ak-suave);border-color:var(--marca-turquesa)}
body.identidad :is(.monChip,.pjBtn.sel){box-shadow:none}
body.identidad :is(.temaIndice button,.temaPanelCerrar){background:var(--ak-papel);color:var(--ak-tinta);border-color:var(--ak-control)}
body.identidad .temaIndiceLista button[aria-current="step"]{background:var(--ak-suave);color:var(--ak-enlace);border-color:var(--ak-enlace)}
body.identidad .temaIndiceLista small{color:var(--ak-secundario)}
body.identidad .lecPage .card.lesson:not(.mech){border-left-color:var(--ak-banda)}
body.identidad .lecPage .card.lesson h2{color:var(--ak-tinta)}
body.identidad :is(.vestCard,.vestTabs,.vestFicha){background:var(--ak-papel);color:var(--ak-tinta)}
body.identidad :is(.vestCab,.vestCerrar,.vestOp,.pjBtn){border-color:var(--ak-control);background:var(--ak-papel);color:var(--ak-tinta)}
body.identidad :is(.vestOp .vestNom,.pjBtn){color:var(--ak-tinta)}
body.identidad :is(.vestOp.puesto,.vestOp.probando,.pjBtn.sel){background:var(--ak-suave);border-color:var(--ak-enlace)}
body.identidad :is(.vestTabs button,.avTabs button){background:var(--ak-suave);color:var(--ak-tinta);box-shadow:none}
body.identidad :is(.vestTabs button.activo,.avTabs button.activo){background:var(--ak-boton-activo);color:var(--ak-boton-tinta);border-color:var(--ak-accion);box-shadow:inset 0 -3px var(--ak-accion)}
body.identidad .vestOp .vestNuevo{background:var(--ak-boton-coral);color:var(--ak-boton-tinta);box-shadow:none}
body.identidad .vestBarraIn{background:var(--ak-degradado)}
body.identidad .avisoPantalla{background:var(--ak-papel);color:var(--ak-tinta);border-color:var(--ak-enlace)}

/* Registro y acceso comparten las acciones y superficies del curso. */
body.identidad .regCard,body.identidad.oscuro .regCard{background:var(--ak-papel);color:var(--ak-tinta);border-color:var(--ak-linea);box-shadow:var(--ak-sombra)}
body.identidad .regCard :is(.sub,.rSub,.regPie,.regSeguro){color:var(--ak-secundario)}
body.identidad .regCard :is(.rTit,.regCampo label){color:var(--ak-tinta)}
body.identidad .regRol{background:var(--ak-papel);border-color:var(--ak-control)}
body.identidad .regRol.sel{background:var(--ak-suave);border-color:var(--ak-enlace);box-shadow:var(--ak-sombra)}
body.identidad .regBtn{background:var(--ak-boton);color:var(--ak-boton-tinta);border:1px solid var(--ak-boton-borde);box-shadow:var(--ak-sombra)}
body.identidad .regBtn:hover{background:var(--ak-boton-hover)}
body.identidad .regOjo:hover{background:var(--ak-suave)}
body.identidad :is(input,select,textarea):focus{border-color:var(--ak-enlace);box-shadow:0 0 0 3px var(--ak-papel),0 0 0 6px var(--ak-foco)}

/* El modo por pasos conserva un fondo suave de la misma familia. */
body.identidad.appNino .lecPage:not(.hidden),body.identidad.appArrancando::after,
body.identidad.appNino.appPaginado #sec-quiz{background:var(--ak-degradado-suave)}
body.identidad .appRutaBarra span{background:var(--ak-degradado)}
body.identidad.tourWeb :is(.twMuestra,.twTableroRuta button:not(.pisada)){background:var(--ak-suave);color:var(--ak-tinta);border-color:var(--ak-linea)}
body.identidad.tourWeb .twBoton:not(.twSecundario):hover{background:var(--ak-boton-hover)}
body.identidad.tourWeb .twMonograma{background:var(--ak-degradado);color:var(--ak-sobre-accion)}
body.identidad.tourWeb .twMonograma span{color:var(--marca-coral)}
body.identidad.tourWeb .twBarras span{background:var(--ak-degradado)}
