/* gorosti.css — la marca de Gorosti sobre los tokens de tkv_base.css (va justo detrás) y la página de entrada.
   Verde bosque en vez del azul de TKV: el chat (charla.css) pinta con estos tokens, así que cambia solo.
   Contrastes: acción #1d6b45 sobre blanco 6,6:1; texto de acción #1a6340 7,1:1; bocadillo propio #0f3b25 sobre #d8ecdf 10:1. */
:root {
  --tkv-fondo: #edf1ed;
  --tkv-barra: #1f3a2c; --tkv-sobre-barra: #ffffff; --tkv-sobre-barra-2: #c8d7cc;
  --tkv-accion: #1d6b45; --tkv-accion-hover: #185c3b; --tkv-accion-pulsado: #134d31; --tkv-sobre-accion: #ffffff;
  --tkv-accion-texto: #1a6340;
  --tkv-accion-suave: #d8ecdf; --tkv-sobre-accion-suave: #0f3b25;
  --tkv-foco: #0f3b25;
  --g-titulo: "Literata", Georgia, serif;
  --g-letra: "Public Sans", var(--tkv-letra);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="claro"]) {
    --tkv-fondo: #222a25;
    --tkv-barra: #1f3a2c; --tkv-sobre-barra: #ffffff; --tkv-sobre-barra-2: #c8d7cc;
    --tkv-accion: #8fd3ad; --tkv-accion-hover: #a6dcbe; --tkv-accion-pulsado: #bce6cf; --tkv-sobre-accion: #0b2a1a;
    --tkv-accion-texto: #8fd3ad;
    --tkv-accion-suave: #24492f; --tkv-sobre-accion-suave: #d4efdf;
    --tkv-foco: #ffffff;
  }
}
:root[data-tema="oscuro"] {
  --tkv-fondo: #222a25;
  --tkv-barra: #1f3a2c; --tkv-sobre-barra: #ffffff; --tkv-sobre-barra-2: #c8d7cc;
  --tkv-accion: #8fd3ad; --tkv-accion-hover: #a6dcbe; --tkv-accion-pulsado: #bce6cf; --tkv-sobre-accion: #0b2a1a;
  --tkv-accion-texto: #8fd3ad;
  --tkv-accion-suave: #24492f; --tkv-sobre-accion-suave: #d4efdf;
  --tkv-foco: #ffffff;
}

@font-face { font-family: "Literata"; src: url("/static/fonts/Literata-latin.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url("/static/fonts/PublicSans-latin.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }

/* ── Entrada (/login) ─────────────────────────────────────────────────────────────────────────────────────────────── */
.g-entrada { margin: 0; min-height: 100dvh; display: grid; place-items: center; padding: var(--tkv-s-6) var(--tkv-lado);
  box-sizing: border-box; font-family: var(--g-letra); color: var(--tkv-texto); -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(1100px 620px at 12% -8%, color-mix(in srgb, var(--tkv-accion) 22%, transparent), transparent 62%),
    radial-gradient(900px 520px at 108% 112%, color-mix(in srgb, var(--tkv-accion) 14%, transparent), transparent 60%),
    var(--tkv-fondo); }
.g-caja { width: 100%; max-width: 400px; background: var(--tkv-superficie); border-radius: var(--tkv-r-16);
  padding: var(--tkv-s-8) var(--tkv-s-6) var(--tkv-s-6); box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(15, 59, 37, .06), 0 24px 56px -12px rgba(15, 59, 37, .22); }
.g-marca { display: flex; align-items: center; gap: var(--tkv-s-3); margin: 0 0 var(--tkv-s-6); }
.g-hoja { width: 44px; height: 44px; flex: none; border-radius: var(--tkv-r-12); background: var(--tkv-barra);
  display: grid; place-items: center; }
.g-hoja svg { width: 24px; height: 24px; fill: none; stroke: #bfe3cc; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.g-nombre { margin: 0; font-family: var(--g-titulo); font-weight: 600; font-size: 28px; line-height: 32px; letter-spacing: -.02em; }
.g-sub { margin: 2px 0 0; font-size: var(--tkv-t-14); line-height: var(--tkv-l-14); color: var(--tkv-texto-2); }
.g-error { margin: 0 0 var(--tkv-s-4); padding: var(--tkv-s-3) var(--tkv-s-4); border-radius: var(--tkv-r-8);
  background: var(--tkv-error-fondo, #fdecea); color: var(--tkv-error-texto, #b3261e); font-size: var(--tkv-t-14); line-height: var(--tkv-l-14); }
.g-campo { display: block; margin: 0 0 var(--tkv-s-4); }
.g-campo span { display: block; margin: 0 0 6px; font-size: var(--tkv-t-14); line-height: var(--tkv-l-14); font-weight: var(--tkv-p-medio); }
.g-campo input { display: block; width: 100%; box-sizing: border-box; height: var(--tkv-toque); padding: 0 var(--tkv-s-4);
  border: 1px solid var(--tkv-borde, #7b838b); border-radius: var(--tkv-r-8); background: var(--tkv-superficie); color: var(--tkv-texto);
  font: inherit; font-size: var(--tkv-t-16); }
.g-campo input:focus-visible { outline: 2px solid var(--tkv-foco); outline-offset: 2px; border-color: var(--tkv-accion); }
.g-entrar { display: block; width: 100%; height: var(--tkv-toque); margin: var(--tkv-s-6) 0 0; border: 0; border-radius: var(--tkv-r-8);
  background: var(--tkv-accion); color: var(--tkv-sobre-accion); font: inherit; font-size: var(--tkv-t-16); font-weight: 600; cursor: pointer;
  transition: background-color 120ms cubic-bezier(.2, 0, 0, 1); }
.g-entrar:hover { background: var(--tkv-accion-hover); }
.g-entrar:active { background: var(--tkv-accion-pulsado); }
.g-entrar:focus-visible { outline: 2px solid var(--tkv-foco); outline-offset: 2px; }
.g-pie { margin: var(--tkv-s-6) 0 0; text-align: center; font-size: var(--tkv-t-12); line-height: var(--tkv-l-12); color: var(--tkv-texto-2); }
@media (prefers-reduced-motion: reduce) { .g-entrar { transition: none; } }

/* ── Chat: «Salir», en la cabecera de la lista, junto al título (gorosti.js) ────────────────────────────────────── */
.g-salir { flex: none; margin: 0 6px; display: inline-flex; align-items: center; min-height: 32px; padding: 0 14px; border-radius: var(--tkv-r-pildora);
  font: 500 var(--tkv-t-13)/1 var(--g-letra); color: var(--tkv-sobre-barra); text-decoration: none;
  background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28); }
.g-salir:hover { background: rgba(255, 255, 255, .2); }
.g-salir:focus-visible { outline: 2px solid var(--tkv-sobre-barra); outline-offset: 2px; }
