/* KameTraining — capa de accesibilidad compartida.
   Se carga al final del <head> de cada página, después de sus estilos propios. */

/* Foco visible para teclado: los inputs quitaban el outline y dejaban solo un borde casi invisible */
:focus-visible {
    outline: 2px solid var(--accent, #e8ff47) !important;
    outline-offset: 2px !important;
}
input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline-offset: 0 !important;
}

/* Objetivos táctiles mínimos de 44px en los controles flotantes */
.mobile-toggle {
    min-width: 44px;
    min-height: 44px;
}

/* Movimiento reducido: las entradas y transiciones terminan al instante,
   pero los indicadores de carga siguen girando porque comunican estado. */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-delay: 0s !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
    .spinner, .spinner::before, .spinner::after, .icon-spin {
        animation-duration: 1s !important;
        animation-iteration-count: infinite !important;
    }
}
