/* ============================================================
   JurisOne — SISTEMA B · «EL REGISTRO» · tokens
   Única fuente de verdad de la propuesta 3.

   TESIS. JurisOne no se ve porque queda ESCRITO. Lo que el cliente compra
   no es material: es la cadena de custodia de cada operación —quién la
   autorizó, en qué capa, bajo qué licencia, por qué riel—. La página es un
   registro: una hoja pautada donde cada cosa queda anotada en su renglón.

   La regla tipográfica del sistema, en una línea:
     lo que JurisOne aporta va MECANOGRAFIADO (Courier Prime);
     lo que la página explica va IMPRESO (Public Sans).
   Son las dos únicas letras que hay en un formulario diligenciado.

   Requiere assets/css/comun/estructura.tokens.css cargado antes.
   ============================================================ */

:root {
  /* ══════════════════════════════════════════════════════════
     CAPA 1 · PRIMITIVAS
     ══════════════════════════════════════════════════════════ */

  /* La hoja. Greige neutro-frío de papel de registro: ni crema, ni blanco
     de pantalla, ni el gris mineral del sistema A. */
  --_registro-hoja:   #edede7;
  --_registro-trama:  #e4e4dc;  /* el margen con fondo de seguridad */
  --_registro-cajon:  #dcdcd3;  /* zona rehundida: lo que está fuera de la plataforma */

  /* Tintas */
  --_registro-tinta:     #181a16;
  --_registro-tinta-500: #50544a;
  --_registro-papel:     #edede7;  /* texto sobre tinta */
  --_registro-papel-500: #a6a99e;

  /* Pauta */
  --_registro-renglon:        #c6c7be;
  --_registro-renglon-fuerte: #9ea096;
  --_registro-control:        #71746a;  /* borde de control: cumple 3:1 sobre hoja y trama */

  /* Taxonomía de familias — tintas de sello.
     Más saturadas y más oscuras que las del sistema A: un sello se estampa
     con tinta densa, no con un tono de superficie. Todas ≥ 4.5:1 sobre la
     hoja y sobre el margen tramado. */
  --_sello-identidad:    #7a5510;
  --_sello-dinero:       #8b4213;
  --_sello-emision:      #912b33;
  --_sello-aceptacion:   #4a6024;
  --_sello-inteligencia: #3f5566;


  /* ══════════════════════════════════════════════════════════
     CAPA 2 · SEMÁNTICAS
     ══════════════════════════════════════════════════════════ */

  /* ---- El registro se pauta, no se troquela ----
     El mando global de radio a cero. Una decisión de una línea que dice
     todo lo que este sistema piensa distinto del sistema A. */
  --radio-escala: 0;

  /* ---- Tipografía · familias ---- */
  --fuente-display:  "Courier Prime", ui-monospace, "Courier New", monospace;  /* el asiento */
  --fuente-texto:    "Public Sans", "Helvetica Neue", Arial, sans-serif;       /* la forma impresa */
  --fuente-utilidad: "Public Sans", "Helvetica Neue", Arial, sans-serif;       /* los rótulos del formulario */
  --fuente-dato:     "Courier Prime", ui-monospace, "Courier New", monospace;  /* códigos y cifras */

  /* ---- Tipografía · tamaños por rol ----
     La mono ocupa ~1,7 veces más ancho por carácter que una grotesca, así
     que la escala de display es deliberadamente más corta que la del
     sistema A: el mismo titular en cuerpo 7rem sería ilegible. */
  --tamano-titular-mayor:  clamp(1.75rem, .85rem + 3.4vw, 3.25rem);
  --tamano-titular:        clamp(1.5rem, 1.05rem + 1.8vw, 2.25rem);
  --tamano-subtitulo:      clamp(1.125rem, .95rem + .8vw, 1.5rem);
  --tamano-placa:          1.0625rem;
  --tamano-lead:           clamp(1.0625rem, 1rem + .4vw, 1.25rem);
  --tamano-cuerpo:         1.0625rem;
  --tamano-cuerpo-menor:   .9375rem;
  --tamano-utilidad:       .75rem;
  --tamano-utilidad-menor: .6875rem;

  /* ---- Tipografía · pesos ---- */
  --peso-display:        700;  /* Courier Prime solo tiene 400 y 700 */
  --peso-display-fuerte: 700;
  --peso-cuerpo:         400;
  --peso-cuerpo-fuerte:  600;
  --peso-utilidad:       700;  /* el rótulo impreso de un formulario es grueso */

  /* ---- Tipografía · interlineado y tracking ---- */
  --interlinea-titular:   1.08;  /* la mono necesita más aire que una grotesca */
  --interlinea-subtitulo: 1.2;
  --interlinea-placa:     1.3;
  --interlinea-lead:      1.55;
  --interlinea-cuerpo:    1.6;
  --interlinea-utilidad:  1.4;
  --tracking-titular:   -.02em;
  --tracking-subtitulo: -.01em;
  --tracking-placa:      0em;
  --tracking-utilidad:   .12em;
  --tracking-dato:       .04em;

  /* ---- Color · superficie ---- */
  --color-superficie-base:    var(--_registro-hoja);
  --color-superficie-elevada: var(--_registro-hoja);   /* no hay elevación: no hay placas */
  --color-superficie-hundida: var(--_registro-cajon);
  --color-superficie-inversa: var(--_registro-tinta);

  /* ---- Color · pauta ---- */
  --color-borde-sutil:    var(--_registro-renglon);
  --color-borde-fuerte:   var(--_registro-renglon-fuerte);
  --color-borde-control:  var(--_registro-control);
  --color-trazo-diagrama: var(--_registro-renglon-fuerte);

  /* ---- Color · texto ---- */
  --color-texto-principal:  var(--_registro-tinta);
  --color-texto-secundario: var(--_registro-tinta-500);
  --color-texto-inverso:    var(--_registro-papel);
  --color-foco:             var(--_registro-tinta);

  /* ---- Color · taxonomía ---- */
  --color-familia-identidad:    var(--_sello-identidad);
  --color-familia-dinero:       var(--_sello-dinero);
  --color-familia-emision:      var(--_sello-emision);
  --color-familia-aceptacion:   var(--_sello-aceptacion);
  --color-familia-inteligencia: var(--_sello-inteligencia);

  /* ---- La trama de seguridad ----
     El elemento firma del sistema. Es el fondo de línea fina de un documento
     de valor: lo que en una tarjeta hace el holograma, en un instrumento de
     papel lo hace la trama. Monocroma, sin degradado, sin movimiento.
     Ocupa el margen del registro y nada más. */
  --paso-trama: var(--espacio-minimo);
  --trama-seguridad: repeating-linear-gradient(
    45deg,
    var(--_registro-renglon) 0 var(--trazo-hairline),
    transparent var(--trazo-hairline) var(--paso-trama)
  );
  --opacidad-trama: .42;

  /* ---- Medida propia del registro ---- */
  --ancho-margen-registro: 13.5rem;  /* la columna de códigos y sellos */
  --ancho-minimo-asiento:  11rem;    /* umbral de columna del índice de asientos */
  --trazo-cierre: 3px;               /* filete grueso del doble filete de cierre */

  /* ---- Color · fotografía ---- */
  --foto-mancha:   var(--_registro-cajon);
  --foto-opacidad: .22;
  /* El velo se declara contra la primitiva, no contra --color-superficie-base:
     un custom property resuelve sus var() anidadas donde se declara. */
  --foto-velo: linear-gradient(
    180deg,
    color-mix(in srgb, var(--_registro-hoja) 70%, transparent) 0%,
    color-mix(in srgb, var(--_registro-hoja) 88%, transparent) 55%,
    var(--_registro-hoja) 100%
  );

  /* ---- Sombra · un registro es plano ---- */
  --sombra-placa:    none;
  --sombra-flotante: none;
}

/* ══════════════════════════════════════════════════════════
   CONTEXTOS
   El registro tiene un solo mundo: la hoja. Lo que cambia no es la
   luz, es la profundidad — un bloque puede estar en la hoja o en el
   cajón (rehundido, fuera del alcance de la plataforma).
   .sobre-tinta existe solo para el bloque de atribución del cierre.
   ══════════════════════════════════════════════════════════ */
.sobre-hoja {
  --color-superficie-base: var(--_registro-hoja);
  background-color: var(--color-superficie-base);
  color: var(--color-texto-principal);
}

.sobre-tinta {
  --color-superficie-base:    var(--_registro-tinta);
  --color-superficie-elevada: var(--_registro-tinta);
  --color-superficie-hundida: var(--_registro-tinta);
  --color-superficie-inversa: var(--_registro-papel);
  --color-borde-sutil:    color-mix(in srgb, var(--_registro-papel) 22%, transparent);
  --color-borde-fuerte:   color-mix(in srgb, var(--_registro-papel) 38%, transparent);
  --color-borde-control:  color-mix(in srgb, var(--_registro-papel) 60%, transparent);
  --color-trazo-diagrama: color-mix(in srgb, var(--_registro-papel) 45%, transparent);
  --color-texto-principal:  var(--_registro-papel);
  --color-texto-secundario: var(--_registro-papel-500);
  --color-texto-inverso:    var(--_registro-tinta);
  --color-foco:             var(--_registro-papel);
  --opacidad-trama: .18;
  background-color: var(--color-superficie-base);
  color: var(--color-texto-principal);
}
