/* Singularity Foundry · SF/CIA — tokens v1.0
   Generado desde tokens.json. Tema oscuro por defecto; claro con data-theme="light" en <html>.
   Requiere fonts.css (04_fuentes/web) para Inter y JetBrains Mono. */

:root,
[data-theme="dark"] {
  color-scheme: dark;
  --signal-red: #F5222D;
  --intelligence-black: #050B11;
  --pure-white: #FFFFFF;
  --off-white: #F4F5F6;
  --steel-gray: #69727B;
  --signal-red-aa: #A81222;
  --red-400: #FF3B47;
  --red-600: #D01422;
  --surface: var(--intelligence-black);
  --surface-raised: #0F1821;
  --surface-inverse: var(--pure-white);
  --line: #1E2934;
  --line-strong: #636D77;
  --ink: var(--pure-white);
  --ink-muted: #8E979F;
  --ink-inverse: var(--intelligence-black);
  --signal: var(--signal-red);
  --signal-text: var(--red-400);
  --signal-tint: #2A0B10;
  --action: var(--red-600);
  --action-hover: var(--signal-red-aa);
  --on-action: var(--pure-white);
  --on-signal: var(--intelligence-black);
  --focus: var(--red-400);
  --data-1: var(--pure-white);
  --data-2: #8E979F;
  --data-3: #5A646E;
  --data-highlight: var(--signal-red);
  --shadow-float: 0 16px 40px -8px #000000cc, 0 0 0 1px #1e2934;
  --focus-ring: 0 0 0 2px #050b11, 0 0 0 4px #ff3b47;
}

[data-theme="light"] {
  color-scheme: light;
  --surface: var(--pure-white);
  --surface-raised: var(--off-white);
  --surface-inverse: var(--intelligence-black);
  --line: #DBDFE4;
  --line-strong: var(--steel-gray);
  --ink: var(--intelligence-black);
  --ink-muted: #5A636C;
  --ink-inverse: var(--pure-white);
  --signal: var(--signal-red);
  --signal-text: var(--red-600);
  --signal-tint: #FFE8EA;
  --action: var(--red-600);
  --action-hover: var(--signal-red-aa);
  --on-action: var(--pure-white);
  --on-signal: var(--intelligence-black);
  --focus: var(--red-600);
  --data-1: var(--intelligence-black);
  --data-2: #5A636C;
  --data-3: #8A939B;
  --data-highlight: var(--signal-red);
  --shadow-float: 0 16px 40px -12px #050b1133, 0 0 0 1px #dbdfe4;
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #d01422;
}

/* Opcional: seguir la preferencia del sistema operativo cuando no hay data-theme.
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) { …copiar aquí el bloque [data-theme="light"]… }
} */

:root {
  /* spacing */
  --space-4: 4px;
  --space-8: 8px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  /* radius */
  --radius-0: 0px;
  --radius-2: 2px;
  --radius-6: 6px;
  /* stroke */
  --stroke-hairline: 1px;
  --stroke-mark: 2px;
  /* layout */
  --grid-columns: 12;
  --grid-gutter: 24px;
  --page-margin: 64px;
  --content-max: 1200px;
  --measure: 68ch;
  /* duration */
  --duration-fast: 160ms;
  --duration-base: 220ms;
  --duration-slow: 300ms;
  /* easing */
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  /* type families */
  --font-display: "Inter", "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-sans: "Inter", "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

/* Estilos tipográficos */
.statement { font-family: var(--font-display); font-size: 72px; line-height: 68px; font-weight: 900; letter-spacing: -0.02em; font-variation-settings: 'opsz' 32; text-transform: uppercase; }
.display { font-family: var(--font-display); font-size: 48px; line-height: 52px; font-weight: 800; letter-spacing: -0.015em; font-variation-settings: 'opsz' 32; text-transform: uppercase; }
.h1 { font-family: var(--font-display); font-size: 32px; line-height: 40px; font-weight: 700; letter-spacing: -0.01em; font-variation-settings: 'opsz' 32; }
.h2 { font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 700; letter-spacing: -0.005em; font-variation-settings: 'opsz' 28; }
.h3 { font-family: var(--font-display); font-size: 20px; line-height: 28px; font-weight: 600; font-variation-settings: 'opsz' 24; }
.lead { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.descriptor { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }
.data { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 400; }
.data-sm { font-family: var(--font-mono); font-size: 11px; line-height: 16px; font-weight: 500; letter-spacing: 0.02em; }
