@charset "UTF-8";
/* xeiraNos — base.css
 * Ruta: /public_html/assets/css/core/base.css
 * Que hace: normalizacion y estilos de elementos base. Se carga SIEMPRE
 *           despues de tokens.css y antes de cualquier CSS de seccion. La
 *           cascada del nucleo es: tokens -> base -> seccion.
 *
 * @version 02.00
 * HISTORIAL
 *   02.00 · 2026-07-25 · UI · Escala tipografica del rediseno (titulos mas
 *           grandes y con menos peso), foco visible unificado y estilos base
 *           de tabla. Antes: solo normalizacion minima.
 *   01.00 · 2026-07-25 · NEW · Nace en la Fase 0.
 */

*, *::before, *::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    background: var(--sup-fondo);
}

body {
    margin: 0;
    background: var(--sup-fondo);
    color: var(--txt-normal);
    font-family: var(--fuente);
    font-size: 14px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
    color: var(--txt-fuerte);
    line-height: 1.3;
    margin: 0;
    font-weight: 500;
}

h1 { font-size: 1.35rem; letter-spacing: -0.015em; }
h2 { font-size: 1.05rem; }
h3 { font-size: 0.95rem; }
h4 { font-size: 0.85rem; }

p { margin: 0 0 var(--e3); }
p:last-child { margin-bottom: 0; }

a { color: var(--acento); text-decoration: none; }
a:hover { text-decoration: underline; }

:focus-visible {
    outline: 2px solid var(--acento-vivo);
    outline-offset: 2px;
    border-radius: var(--r1);
}

code {
    font-family: var(--mono);
    font-size: 0.85em;
    background: var(--sup-hundido);
    padding: 2px var(--e1);
    border-radius: var(--r1);
    color: var(--txt-fuerte);
}

table { border-collapse: collapse; width: 100%; }

svg { display: block; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
