/*
 * PlantIO · web (SSR publica) — tokens de diseno, identidad «Brote digital» (RP-01).
 *
 * Paleta Brote digital verde+lima y tipografia Space Grotesk / Newsreader /
 * IBM Plex Mono (autoalojadas en `public/fonts/`, cubiertas por
 * `font-src 'self'`). Valores identicos a `docs/web-publica-mockup/web.css`
 * y `api/public/css/seller.css`.
 *
 * D-RP01-1: override explicito y autorizado de la paleta corporativa de
 * organizacion (gemelo de D-RV01-1, web del vendedor). Los nombres viejos
 * (`--gold`, `--*-tint`, `--font-*`) siguen resolviendo via alias de
 * compatibilidad (deuda intencional; su retiro es RP-02+). D-RP01-2: el modo
 * oscuro se mantiene (aditivo), con tokens Brote adaptados.
 *
 * Se sirve como CSS estatico externo: `style-src 'self'` lo cubre sin nonce.
 * Cargado PRIMERO en el `<head>` (antes de `reset.css`/`ui.css`).
 */

:root {
  /* Base Brote digital. */
  --bg: #F4F6F1;
  --panel: #FFFFFF;
  --panel2: #E9EEE4;
  --line: #CFD8C9;
  --txt: #0E1A12;
  --grey: #536056;
  --teal: #1E6B2E;
  --teal-ink: #16542A;
  /* Texto sobre --teal-ink (hero/bandas oscuras): blanco en ambos temas. */
  --on-ink: #FFFFFF;
  --teal-soft: #E3F3D8;
  --accent: #B9F227;
  --green: #17773F;
  --green-soft: #E2F1E8;
  --orange: #A45A14;
  --orange-soft: #F8EBDD;
  --red: #B83A2A;
  --red-soft: #F8E4E0;
  --blue: #2D5E9E;
  --blue-soft: #E3ECF7;
  --e1: 0 1px 2px rgba(14, 26, 18, 0.06), 0 1px 3px rgba(14, 26, 18, 0.1);
  --e2: 0 18px 48px rgba(14, 26, 18, 0.22);
  --ff: 'Space Grotesk', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --sci: 'Newsreader', Georgia, serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;

  /* Alias de compatibilidad (nombres viejos → Brote). */
  --gold: var(--teal);
  --gold-tint: var(--teal-soft);
  --green-tint: var(--green-soft);
  --orange-tint: var(--orange-soft);
  --red-tint: var(--red-soft);
  --font-sans: var(--ff);
  --font-serif: var(--sci);

  /* Escala tipografica legada — 12 / 14 / 16 / 20 / 26 / 34. */
  --fs-1: 12px;
  --fs-2: 14px;
  --fs-3: 16px;
  --fs-4: 20px;
  --fs-5: 26px;
  --fs-6: 34px;

  /* Rejilla de espaciado de 8. */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 40px;
  --sp-8: 48px;
  --screen-pad: 20px;

  /* Radios. */
  --r-control: 12px;
  --r-card: 16px;
  --r-sheet: 24px;
  --r-pill: 999px;

  /* Elevacion suave (sombras, no bordes duros). */
  --e-0: none;
  --e-1: var(--e1);
  --e-2: 0 4px 12px rgba(14, 26, 18, 0.12);
}

/* Fuentes Brote autoalojadas (rutas self; la CSP no autoriza origenes remotos). */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/space-grotesk-latin-wght.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/newsreader-latin-400-italic.woff2') format('woff2');
}

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

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

/* Archivo, fallback dentro de `--ff` (D-7 de F1-29b, conservada). */
@font-face {
  font-family: 'Archivo Variable';
  src: url('/fonts/archivo-latin-wght-normal.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Tema oscuro (D-RP01-2): solo tokens base; alias y var() se recalculan.
   Contraste AA sobre --bg/--panel; verificacion visual en navegador. */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0E140F;
    --panel: #161C17;
    --panel2: #1E261F;
    --line: #2C352D;
    --txt: #ECF1EA;
    --grey: #9FB0A2;
    --teal: #5BBE68;
    /* --teal-ink es un fondo profundo (hero/footer) con texto claro encima:
       se mantiene inky en oscuro, NO se invierte a menta. Blanco encima = AA 8.99.
       Render-check RP-01 (coordinador): #BFE8C4 daba 1.35 (ilegible). */
    --teal-ink: #16542A;
    --teal-soft: #1C2E20;
    --accent: #C6F53F;
    --green: #43C06B;
    --green-soft: #15271C;
    --orange: #E89A4D;
    --orange-soft: #2E2114;
    --red: #EB6B57;
    --red-soft: #2E1A16;
    --blue: #6AA0E0;
    --blue-soft: #152233;
    --e1: 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.4);
    --e2: 0 18px 48px rgba(0, 0, 0, 0.55);
    --e-2: 0 4px 12px rgba(0, 0, 0, 0.45);
  }
}
