/* ==========================================================================
   cjk.css — lo que cambia cuando el texto no lleva espacios (2026-09-11)

   CARGA LA ULTIMA, Y ESA ES LA MITAD DEL ARREGLO. La primera version de estas
   reglas vivia en `base.css`, que se sirve ANTES de `chrome.css` y de
   `publica.css`: perdia la cascada contra cualquier regla de esas dos con la
   misma especificidad, y en la barra de navegacion, el pie y los titulares
   seguia mandando el tracking calibrado para latinas. Se vio MIDIENDO en el
   navegador, no leyendo la hoja.

   Se sirve SOLO en chino (`base.html` la enlaza con `{% if idioma == 'zh' %}`):
   los otros seis idiomas no pagan ni una peticion.

   TRES COSAS QUE NO SE ARREGLAN TRADUCIENDO:

   1. INTERLINEADO. El ideograma es un cuadrado que llena su caja entera; con el
      `line-height` calibrado para latinas las lineas se tocan. Un escalon, no
      mas: pasarse rompe el ritmo vertical de las tarjetas.

   2. DONDE PARTE UNA LINEA. El chino no tiene espacios y parte entre
      caracteres — eso ya lo hace el navegador solo. Lo que hay que impedir es
      que un signo de ancho completo ABRA linea (`line-break: strict`, que es la
      falta de maqueta mas visible del chino mal compuesto) y que una palabra
      latina suelta (CUPS, PDF, kWh, IBAN) se parta por la mitad.

   3. LA VERSALITA NO EXISTE EN CHINO. `text-transform: uppercase` no hace nada
      sobre un ideograma, pero el `letter-spacing` que lo acompana SI: separa
      los caracteres y el rotulo se desarma. En el repo hay 213 declaraciones de
      `letter-spacing` repartidas por catorce hojas, asi que una lista de clases
      escrita a mano se queda corta el dia que alguien anada la 214 — y se queda
      en silencio. MEDIDO en el navegador, la lista corta que habia dejaba fuera
      la barra de navegacion (`.lz-top__enlace`, 1,17 px), los titulos del pie
      (`.lz-pie__titulo`, 2,08 px), las etiquetas de seccion (`.lz-etiqueta` —
      que NO casa con `[class*="__etiqueta"]`, es un solo guion) y el tracking
      NEGATIVO de los titulares (-1,4 px), que en chino aprieta los ideogramas
      unos contra otros.

      Por eso la regla es GENERICA y lo que se declara aparte es la excepcion:
      lo que lleva contenido LATINO POR CONSTRUCCION y necesita su tracking para
      leerse (un codigo de un solo uso, una clave de recuperacion, una mascara).
   ========================================================================== */

:lang(zh) {
  line-height: 1.75;
  line-break: strict;
  overflow-wrap: break-word;
  word-break: normal;
}

/* La regla ancha, CON `!important`, y esto esta medido, no elegido por gusto.

   `html:lang(zh) *` es (0,1,1). Recorriendo las catorce hojas y calculando la
   especificidad de cada regla que declara `letter-spacing`, **38 le ganan** —
   la mas alta es `.area-comparativa__cifra.es-neutra .area-comparativa__eti`
   (0,3,0)— y en el area del colaborador se vio en pantalla: `.co-cr .co-datos
   dt` (0,2,1) dejaba los rotulos 邮箱 / 姓名 / 公开昵称 con 0,65 px entre
   ideogramas. Subir la especificidad a base de trucos obliga a recalcular el
   numero cada vez que alguien escribe una regla mas especifica, o sea a
   mantener una carrera que se pierde en silencio.

   `!important` aqui es seguro y acotado: esta hoja se sirve SOLO en chino, su
   unico trabajo es apagar un tracking pensado para latinas, y **ningun JS del
   repo escribe `letterSpacing` en linea** (comprobado), asi que no hay estilo
   de autor en tiempo de ejecucion al que pueda ganarle. Las excepciones de
   abajo lo llevan tambien: entre dos `!important` del mismo origen decide la
   especificidad, y las suyas son mayores. */
html:lang(zh) *,
html:lang(zh) *::before,
html:lang(zh) *::after {
  letter-spacing: normal !important;
}

/* LA EXCEPCION: contenido latino por construccion, donde el tracking no es
   decoracion sino lo que hace legible una cadena que se copia a mano. */
html:lang(zh) .co-codigo-otp     { letter-spacing: 0.35em !important; }
html:lang(zh) .co-secreto__valor { letter-spacing: 0.18em !important; }
html:lang(zh) .co-recovery__item { letter-spacing: 0.1em !important; }
html:lang(zh) .co-mascara__valor { letter-spacing: 0.06em !important; }

/* El wordmark es LATINO y no se toca: «luzgasia» conserva su dibujo. */
html:lang(zh) .lz-marca,
html:lang(zh) [class*="wordmark"],
html:lang(zh) [class*="lzk-"] {
  line-height: normal;
}
