/* Promtdea · sistema tipográfico «i1» (decisión del titular, 3-nov-2026). Fuente única de la verdad para toda la plataforma.
   NO aplica a las apps generadas (public/a/*): tienen su propia dirección de arte (api/_arte.js).
   Piezas:
   · PRIMARIA  Jost 600 (550 en oscuro): titulares y títulos grandes. Nunca en párrafos; nunca por debajo de 17 px en páginas
               públicas ni de 20 px en Studio y paneles (por debajo: Inter 600). Tracking −0,015 em, interlineado 1,02–1,04.
   · SECUNDARIA Inter 400–600: toda la interfaz (texto, botones, formularios, tablas, paneles). Cuerpo de portada 17/1,47.
   · MONO      IBM Plex Mono: solo enlaces, slugs, códigos y atajos (Ctrl K). Las cifras grandes van en Jost 600 con tabular-nums.
   · ACENTO    Instrument Serif itálica: solo una palabra o frase corta por pantalla en titulares grandes de páginas públicas
               (portada, by, marca, presentación, precios/kits). Nunca en Studio, paneles, formularios ni texto.
   Google Fonts (un solo <link>, cabe en la CSP):
   UI:       css2?family=Jost:wght@500..600&family=Inter:wght@400..700&family=IBM+Plex+Mono:wght@400;500&display=swap
   Públicas: … &family=Instrument+Serif:ital@1&display=swap
   Respaldo con size-adjust (medido en Chromium contra Arial/Times, scratchpad tipografia/implementada/metricas.js) para que el
   cambio de fuente al cargar no mueva la página. */
@font-face{font-family:"Jost Respaldo";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:96.8%;ascent-override:110.5%;descent-override:39.3%;line-gap-override:0%}
@font-face{font-family:"Inter Respaldo";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:105.9%;ascent-override:91.6%;descent-override:22.7%;line-gap-override:0%}
@font-face{font-family:"Instrument Serif Respaldo";font-style:italic;src:local("Times New Roman Italic"),local("TimesNewRomanPS-ItalicMT"),local("Times New Roman");size-adjust:86.2%;ascent-override:114.8%;descent-override:36%;line-gap-override:0%}
:root{
  --f-display:"Jost","Jost Respaldo","Futura","Avenir Next",system-ui,sans-serif;
  --f-ui:"Inter","Inter Respaldo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Consolas,monospace;
  --f-acento:"Instrument Serif","Instrument Serif Respaldo",Georgia,serif;
  /* pesos */
  --w-tit:600; --w-ui:500; --w-txt:400; --w-fuerte:600;
  /* tracking e interlineado de titulares */
  --ls-display:-.015em; --ls-titulo:-.01em; --lh-display:1.03; --lh-titulo:1.12;
  /* escala pública (portada, by, marca, presentación, SEO) */
  --t-display:clamp(3rem,6.4vw,5.5rem);   /* héroe */
  --t-h1:clamp(2rem,3.4vw,3rem);
  --t-h2:1.75rem;
  --t-h3:1.3125rem;                        /* 21 px */
  --t-sub:1.3125rem;  --ls-sub:-.017em;    /* 21 px Inter */
  --t-cuerpo:1.0625rem; --lh-cuerpo:1.47; --ls-cuerpo:-.013em;   /* 17 px Inter */
  --t-boton:1.0625rem;
  --t-etiqueta:.8125rem; --ls-etiqueta:-.003em;                  /* 13 px Inter 500, sin versalitas */
  --t-meta:.875rem;
  --t-cifra:2rem;
  /* escala de producto (Studio, paneles, admin) */
  --s-h1:32px; --s-h2:26px; --s-tarjeta:21px; --s-panel:17px; --s-cuerpo:14px; --s-ui:13.5px; --s-etiqueta:12px; --s-meta:12.5px; --s-cifra:20px; --s-mono:12.5px;
}
:root[data-theme="dark"],:root[data-tema="oscuro"]{--w-tit:550}
/* Cifras: siempre tabulares (precios, KPI, contadores, tablas). */
table,td,th,.cifra,.kpi,.kpis b,.num,.precio,.monto,.total,.saldo,.contador,[data-cifra]{font-variant-numeric:tabular-nums}
/* Acento editorial: una palabra o frase corta en un titular grande. */
.acento-serif{font-family:var(--f-acento);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:.9}
/* Atajos y códigos */
kbd,code,samp{font-family:var(--f-mono)}
