/* Identidad visual del EVA: variables centrales y foco accesible. */

/* ==========================================================================
   Tipografia del sistema. Autohospedada: la CSP solo permite font-src
   'self'. Archivo es variable de 400 a 700, asi que la escala de pesos no
   pasa de 700: por encima el navegador tendria que falsear la negrita.
   ========================================================================== */

@font-face {
  font-display: swap;
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 700;
  src: url('../vendor/fonts/archivo-latin.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Encode Sans Expanded';
  font-style: normal;
  font-weight: 700;
  src: url('../vendor/fonts/encode-sans-expanded-700-latin.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  src: url('../vendor/fonts/ibm-plex-mono-500-latin.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  src: url('../vendor/fonts/ibm-plex-mono-600-latin.woff2') format('woff2');
}
.eva-app,
.eva-auth {
  --eva-institutional: #174a7e;
  --eva-primary: #2563eb;
  --eva-indigo: #4f46e5;
  --eva-sky: #0ea5e9;
  --eva-success: #10b981;
  --eva-warning: #f59e0b;
  --eva-danger: #ef4444;
  --eva-bg: #f8fafc;
  --eva-surface: #ffffff;
  --eva-text: #172033;
  --eva-muted: #5b6a80;
  --eva-border: #e2e8f0;

  /* Escala de superficie y realce. Antes cada hoja escribia su propio
     gris o azul claro: 231 valores distintos para unos 140 colores
     reales. Estos son los que de verdad se repiten. */
  --eva-surface-soft: #f8fafc;
  --eva-surface-info: #eaf2ff;
  --eva-border-soft: #edf1f6;
  --eva-border-strong: #cbd5e1;
  --eva-primary-dark: #1d4ed8;
  --eva-primary-tint: #dbeafe;
  --eva-primary-line: #bfdbfe;
  --eva-text-strong: #334155;
  --eva-text-soft: #475569;
  --eva-success-tint: #ecfdf5;
  --eva-success-ink: #047857;
  --eva-warning-tint: #fffbeb;
  --eva-danger-tint: #fff1f2;
  /* Escala tipografica unica: cuatro pesos y nada mas. Antes
     convivian once (400,500,600,650,700,750,760,780,800,850,900),
     lo que hacia que dos titulos del mismo rango se vieran distintos
     segun la pagina. */
  --eva-font-sans: 'Archivo', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --eva-font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;
  --eva-fw-regular: 400;
  --eva-fw-medium: 500;
  --eva-fw-semibold: 600;
  --eva-fw-bold: 700;
  --eva-radius-sm: 0.75rem;
  --eva-radius: 1rem;
  --eva-radius-lg: 1.125rem;
  --eva-radius-xl: 1.5rem;
  --eva-shadow-sm: 0 0.4rem 1.2rem rgba(23, 32, 51, 0.06);
  --eva-shadow: 0 0.8rem 2rem rgba(23, 32, 51, 0.09);
  --eva-shadow-md: var(--eva-shadow);
  --eva-shadow-lg: 0 1.4rem 3.5rem rgba(23, 32, 51, 0.16);
  --eva-gradient: linear-gradient(135deg, #174a7e 0%, #2563eb 55%, #0ea5e9 100%);
  --eva-gradient-deep: linear-gradient(135deg, #123f70 0%, #2563eb 70%, #0ea5e9 100%);
  --eva-duration-fast: 180ms;
  --eva-duration: 240ms;
  --eva-duration-normal: var(--eva-duration);
  --eva-duration-slow: 420ms;
  --bs-primary: var(--eva-primary);
  --bs-primary-rgb: 37, 99, 235;
  --bs-body-color: var(--eva-text);
  --bs-body-bg: var(--eva-bg);
  --bs-border-color: var(--eva-border);
  --bs-border-radius: var(--eva-radius-sm);
  --bs-border-radius-lg: var(--eva-radius);
  color: var(--eva-text);
  font-family: var(--eva-font-sans);
  /* Con la negrita real de la fuente variable, el suavizado evita que
     los titulos se vean empastados en pantallas normales. */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.eva-app :is(a, button, input, select, textarea, summary):focus-visible,
.eva-auth :is(a, button, input, select, textarea):focus-visible {
  border-radius: 0.35rem;
  outline: 0.2rem solid rgba(14, 165, 233, 0.42);
  outline-offset: 0.16rem;
}

.eva-app .text-eva-muted,
.eva-auth .text-eva-muted {
  color: var(--eva-muted) !important;
}

.eva-app .bg-eva-gradient,
.eva-auth .bg-eva-gradient {
  background: var(--eva-gradient) !important;
}

@media (prefers-reduced-motion: reduce) {
  .eva-app *, .eva-app *::before, .eva-app *::after,
  .eva-auth *, .eva-auth *::before, .eva-auth *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
