/* ══════════════════════════════════════════════════════════════
   Código Atómico · FASE A · piel
   Solo :root. Ni una regla fuera.

   INSTALACIÓN · una línea en <head>, como ÚLTIMO stylesheet, después
   del <style> de la app y después de auth-shell.css:

     <link rel="stylesheet" href="atomico-skin.css?v=1">

   REVERSA · borrar esa línea.

   sw-atomico.js · subir VERSION. Y ANTES, el Arreglo A: su activate
   borra por barrido y se lleva cachés de otras apps, incluido
   rojo-audio-v1, el audio de crisis del Botón Rojo. Subir VERSION sin
   arreglar eso es lo que dispara el borrado.

   ───────────────────────────────────────────────────────────────
   EL CRITERIO QUE ORDENA TODO EL ARCHIVO

   La piel cambia el papel, la tinta y el azul.
   La piel NO cambia ningún token que lleve señal.

   Por eso los tres tokens P0.2 de celda y los dos de neutro quedan
   EXACTOS, ni el alfa ni la base. Se midieron el 10 de agosto y
   funcionan. Al cambiar el papel de crema a blanco sus contrastes
   SUBEN solos, no bajan: el borde de celda pasa de 3.33 a 3.39. No
   hay nada que recalcular ahí.

   El oro es la única excepción, y se explica en su bloque.
   ══════════════════════════════════════════════════════════════ */

:root{

  /* ── PAPEL Y TINTA ──────────────────────────────────────────
     El papel deja de ser crema y pasa a blanco. Es el cambio que
     más se nota de lejos después del azul. */
  --bg:           #ffffff;   /* era #f7f7f2 */
  --bg-deep:      #f4f5f7;   /* era #eef0f3 · el alterno del sistema */
  --bg-soft:      #ffffff;

  --text:         #1a2332;   /* era #0f1923 · 15.68:1 sobre blanco */
  --text-mid:     rgba(26,35,50,.82);

  /* --dim era rgba(15,25,35,.55) y daba 3.88:1 sobre crema: por debajo
     del 4.5:1 que pide AA. .64 es el valor más chico que pasa, y es el
     mismo que ya se corrigió en el sistema. Sube a 4.83:1.
     Es el único alfa que se mueve en todo el archivo, y se mueve
     porque el que había no cumplía. */
  --dim:          rgba(26,35,50,.64);

  --faint:        rgba(27,58,99,.14);
  --ghost:        rgba(27,58,99,.06);
  --line:         rgba(26,35,50,.18);

  /* ── AZUL ───────────────────────────────────────────────────
     De #3A71B1 a #1b3a63. Es bastante más oscuro: 4.68:1 pasa a
     11.46:1. Todo lo azul se va a ver más serio y más pesado. */
  --blue:         #1b3a63;
  --blue-deep:    #122a4a;
  --blue-bright:  #2f5c94;
  --blue-bg:      rgba(27,58,99,.07);
  --blue-glow:    rgba(27,58,99,.22);

  /* ── ORO · LA ESTRELLA DE HECHO ─────────────────────────────
     Carlos decidió que sigue brillante, y tiene razón: es lo primero
     que la alumna busca cada mañana, y a veces al sol.

     Por eso --gold NO baja al dorado apagado del sistema. Si bajara,
     la celda de HECHO se apagaría sola, porque son los mismos 459
     usos de var() los que pintan el estado y el adorno.

     Se mueve un solo punto, y por una razón medible: la tinta pasó de
     #0f1923 a #1a2332, que es más clara, y eso le come contraste a la
     estrella. #F5C518 con la tinta nueva da 10.43:1, por debajo del
     10.88 medido. #FCD54A lo devuelve a 10.99:1.

     O sea: el oro sube un punto de brillo para pagar lo que la tinta
     perdió. De lejos es el mismo amarillo. */
  --gold:         #FCD54A;   /* era #F5C518 · estrella 10.99:1 */
  --gold-deep:    #D4A409;
  --gold-bright:  #FFD93D;
  --gold-bg:      rgba(252,213,74,0.15);
  --gold-glow:    rgba(252,213,74,0.45);
  --gold-line:    rgba(252,213,74,0.5);

  /* El dorado apagado del sistema entra con SU PROPIO NOMBRE, para
     adornos: filetes, velos, tipografía de marca. Nunca para estado.
     Nadie lo usa todavía: queda disponible para la fase B. */
  --oro:          #e0c48a;
  --oro-h:        #d1b075;

  /* ── ROJO · FALLA ───────────────────────────────────────────
     #C44D4D pasa a #c0392b, que es el --error del sistema y el mismo
     rojo de la brasa del Botón Rojo. Sube de 4.33:1 a 5.44:1. */
  --red:          #c0392b;
  --red-deep:     #a3312b;
  --red-bg:       rgba(192,57,43,0.08);
  --red-line:     rgba(192,57,43,0.32);

  /* ── SEÑAL · NO SE TOCA ─────────────────────────────────────
     N/A, futuro y prerregistro. Idénticos, base y alfa.
     Con el papel blanco suben solos. */
  --neutral:      rgba(15,25,35,0.06);
  --neutral-line: rgba(15,25,35,0.14);

  /* ── ALIAS · NO SE TOCAN ────────────────────────────────────
     Si se rompen, se rompe código viejo que nadie está mirando. */
  --ash:          var(--text);
  --ash-dim:      var(--dim);
  --ash-faint:    var(--line);
  --ash-ghost:    var(--ghost);
  --gold-dim:     var(--gold-bg);
  --white:        var(--text);
  --done-bg:      var(--gold-bg);
  --done-color:   var(--gold);
  --red-mid:      var(--red-deep);

  /* ── P0.2 · CELDA · NO SE TOCA ──────────────────────────────
     Medidos el 2026-08-10 sobre papel crema. Sobre papel blanco:
       borde de celda   3.33 → 3.39
       raya de SALTADO  4.71 → 4.79
     Suben porque el papel aclaró. Ni la base ni el alfa se mueven. */
  --cell-line:     rgba(15,25,35,0.50);
  --cell-empty-bg: rgba(15,25,35,0.04);
  --cell-mark:     rgba(15,25,35,0.62);

  /* ── DISPONIBLES · nadie los usa todavía ────────────────────
     Nombres del sistema, para que la fase B no invente ninguno. */
  --azul:         #1b3a63;
  --ink:          #1a2332;
  --alt:          #f4f5f7;
  --luz:          #ffffff;
  --success:      #4a7c59;
  --error:        #c0392b;
  --line-suave:   rgba(26,35,50,.11);
  --serif:        'Cormorant Garamond', Georgia, serif;
  --body:         'Zen Kaku Gothic New', sans-serif;
  --focus-ring:   0 0 0 2px #ffffff, 0 0 0 4px #1b3a63;
  --motion-curva: cubic-bezier(.25,.1,.25,1);
}

/* ══════════════════════════════════════════════════════════════
   LO QUE ESTA HOJA NO HACE

   No cambia la letra. El :root de la app no tiene tokens de
   tipografía, así que Cormorant y Zen Kaku NO entran por aquí.
   Necesitan reglas sobre selectores, y eso ya no es fase A. Va
   aparte, con los seis woff2 subidos a /fonts/.

   No toca la rejilla: ni .check-btn, ni .m-cell, ni los @media de
   las líneas 1790 a 1845. Tres capas superpuestas, se abren las tres
   o ninguna.

   No toca los 255 literales del <style> (fase B), ni los 6
   !important con color a pelo (fase C).

   No toca ca.css ni nada compartido.
   ══════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════
   MOBILE CONTRAST FIX — RESCATADO DEL <style>, NO BORRAR

   La app tiene CUATRO bloques :root, no uno. El de la linea 1232
   de index.html vive dentro de @media (max-width:640px) y sube el
   texto secundario en el telefono. Un @media no suma
   especificidad: esta hoja es externa y va despues, asi que le
   ganaba tambien ahi y lo dejaba sin efecto, en silencio.

   Ese arreglo nacio de dolor real: la audiencia lee esto en el
   telefono, a veces al sol. Sin este bloque, --ash-dim quedaba en
   4.83 parejo — sobre AA, pero medio punto por debajo de lo que el
   telefono tiene hoy.

     --ash-dim, texto secundario, sobre el papel de cada epoca
       hoy en produccion   rgba(15,25,35,.65) / crema     5.37
       sin este bloque     rgba(26,35,50,.64) / blanco    4.83   baja
       con este bloque     rgba(26,35,50,.68) / blanco    5.50   ok

   El alfa sube de .65 a .68 porque la tinta nueva #1a2332 es mas
   clara que #0f1923. Se usa la tinta NUEVA, no la vieja: cargar el
   valor literal daria 5.52, casi lo mismo, pero dejaria el texto
   secundario del telefono en otra familia de tono que el primario.

   Los otros tres ya venian en el oro nuevo — se cargan literales.

   Las reglas de selector del bloque original (.mobile-day-label,
   .stat-label, .stat-sub, .month-bar-label, .mobile-habit-name) NO
   se copian aqui: no las pisa nadie, siguen en el <style> y leen
   estos tokens. Aqui solo viaja el :root, que es lo unico que esta
   hoja tumbaba.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  :root {
    --ash-dim:    rgba(26,35,50,0.68);
    --ash-faint:  rgba(252,213,74,0.22);
    --ash-ghost:  rgba(252,213,74,0.05);
    --gold-dim:   rgba(252,213,74,0.45);
  }
}
