@charset "UTF-8";

/*
  redKAOS chroma.css — estilos exclusivos de páginas de artículo (.IsPage).
  Cargado solo en single pages; base.css cubre todas las páginas.

  Secciones:
    1. Tipografía y layout de artículo (h1.title, .rev, article *)
    2. Sintaxis Chroma — paleta Kubuntu Breeze
*/

/* ─── 1. Artículo ─────────────────────────────────────────────── */

/* h1 de artículo: título de contenido, no marquee.
   Hereda color + Nimbus Mono + letter-spacing -0.1em + line-height 1 de h1.
   Añade word-spacing y text-wrap propios (relevantes solo en títulos multi-palabra). */
h1.title {
  font-size: 2em;
  font-weight: 400;
  letter-spacing: -0.10em;
  word-spacing: -0.3em;
  line-height: 1;
  text-wrap: pretty;
}

/* Última modificación (meta en cabecera de artículo, alineada a la derecha) */
.rev {
  font-family: var(--font-mono);
  font-size: 0.85em;
  color: var(--muted);
  margin: 0.4em 0 0;
  text-align: right;
}

article p,
article ul {
  max-width: 62ch;
}

article li::before {
  content: none;
}

article ul {
  list-style: disc;
  padding-left: 1.5em;
}

article li {
  display: list-item;
  padding: 0.2em 0;
  text-wrap: pretty;
}

article ul a {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--rule);
  text-underline-offset: 0.15em;
  font-family: inherit;
  min-width: unset;
  flex-shrink: unset;
}

article ul a:hover {
  color: var(--accent);
  text-decoration-color: var(--accent);
}

/* Inline code: no background — la página ya es el terminal.
   Diferenciación solo por tipografía (Ubuntu Mono). */
article code {
  font-family: var(--font-mono);
  font-size: 0.92em;
}

/* Code block: sin fondo, delimitado por borde. Radio 2px ecosystem-wide (ver IDENTITY.md). */
article pre {
  font-family: var(--font-mono);
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: 2px;
  padding: 1em 1.2em;
  overflow-x: auto;
  font-size: 0.88em;
  line-height: 1.5;
}

article pre code {
  padding: 0;
}

/* ─── 2. Chroma ────────────────────────────────────────────────── */

/*
  redKAOS chroma.css — paleta Kubuntu Breeze aplicada a Chroma.

  Tres roles de color dentro de la disciplina de paleta:
    - comentarios       → --muted  (#a1a9b1, Breeze ForegroundInactive)
    - literales string  → --accent (#11D116, verde Breeze)
    - todo lo demás     → --text   (#fcfcfc)

  Para compensar la contención cromática se usa *peso tipográfico*:
  keywords, builtins y nombres de función llegan en bold — da jerarquía
  visual al bloque sin introducir un cuarto color.

  Los errores usan --accent para destacar. El fondo y el borde del bloque
  vienen de `article pre` en la sección 1 de este mismo archivo.
*/

/* Reset wrapper — anula background inline Monokai de Chroma.
   El bloque no pinta fondo propio: la página ya es el terminal. */
article pre.chroma,
article .highlight pre {
  background: transparent !important;
  color: var(--text) !important;
}

/* Bloque renderizado por Hugo con fences: <div class="highlight"><pre>…</pre></div> */
article .highlight { margin: 1em 0; }

/* Flex line wrapper que emite Chroma */
article .chroma .line { display: flex; }

/* ─── Comentarios (muted) ─── */
article .chroma .c,      /* Comment */
article .chroma .ch,     /* CommentHashbang */
article .chroma .cm,     /* CommentMultiline */
article .chroma .c1,     /* CommentSingle */
article .chroma .cs,     /* CommentSpecial */
article .chroma .cp,     /* CommentPreproc */
article .chroma .cpf {   /* CommentPreprocFile */
  color: var(--muted);
  font-style: normal;
}

/* ─── Strings (accent, como en un prompt bash clásico) ─── */
article .chroma .s,      /* LiteralString */
article .chroma .sa,     /* LiteralStringAffix */
article .chroma .sb,     /* LiteralStringBacktick */
article .chroma .sc,     /* LiteralStringChar */
article .chroma .dl,     /* LiteralStringDelimiter */
article .chroma .sd,     /* LiteralStringDoc */
article .chroma .s2,     /* LiteralStringDouble */
article .chroma .se,     /* LiteralStringEscape */
article .chroma .sh,     /* LiteralStringHeredoc */
article .chroma .si,     /* LiteralStringInterpol */
article .chroma .sx,     /* LiteralStringOther */
article .chroma .sr,     /* LiteralStringRegex */
article .chroma .s1,     /* LiteralStringSingle */
article .chroma .ss {    /* LiteralStringSymbol */
  color: var(--accent);
  font-style: normal;
}

/* ─── Keywords, builtins y funciones: --text en bold ─── */
article .chroma .k,      /* Keyword */
article .chroma .kc,     /* KeywordConstant */
article .chroma .kd,     /* KeywordDeclaration */
article .chroma .kn,     /* KeywordNamespace */
article .chroma .kp,     /* KeywordPseudo */
article .chroma .kr,     /* KeywordReserved */
article .chroma .kt,     /* KeywordType */
article .chroma .nb,     /* NameBuiltin — cat, echo, wget, sudo… */
article .chroma .bp,     /* NameBuiltinPseudo */
article .chroma .nf,     /* NameFunction */
article .chroma .fm,     /* NameFunctionMagic */
article .chroma .nc,     /* NameClass */
article .chroma .nd,     /* NameDecorator */
article .chroma .ne,     /* NameException */
article .chroma .nt,     /* NameTag — HTML tags */
article .chroma .ow,     /* OperatorWord — and, or, not, in… */
article .chroma .gh,     /* GenericHeading */
article .chroma .gs,     /* GenericStrong */
article .chroma .gu,     /* GenericSubheading */
article .chroma .gp {    /* GenericPrompt — $, >>> */
  color: var(--text);
  font-weight: 700;
  font-style: normal;
}

/* ─── Todo lo demás: --text plano (override de Monokai) ─── */
article .chroma .n,      /* Name */
article .chroma .na,     /* NameAttribute */
article .chroma .no,     /* NameConstant */
article .chroma .ni,     /* NameEntity */
article .chroma .nl,     /* NameLabel */
article .chroma .nn,     /* NameNamespace */
article .chroma .nx,     /* NameOther */
article .chroma .py,     /* NameProperty */
article .chroma .nv,     /* NameVariable */
article .chroma .vc,     /* NameVariableClass */
article .chroma .vg,     /* NameVariableGlobal */
article .chroma .vi,     /* NameVariableInstance */
article .chroma .vm,     /* NameVariableMagic */
article .chroma .m,      /* LiteralNumber */
article .chroma .mb,     /* LiteralNumberBin */
article .chroma .mf,     /* LiteralNumberFloat */
article .chroma .mh,     /* LiteralNumberHex */
article .chroma .mi,     /* LiteralNumberInteger */
article .chroma .il,     /* LiteralNumberIntegerLong */
article .chroma .mo,     /* LiteralNumberOct */
article .chroma .o,      /* Operator */
article .chroma .p,      /* Punctuation */
article .chroma .ge,     /* GenericEmph */
article .chroma .gi,     /* GenericInserted */
article .chroma .go {    /* GenericOutput */
  color: var(--text);
  font-weight: normal;
  font-style: normal;
}

/* ─── Errores: accent (el único color vivo, para marcar algo roto) ─── */
article .chroma .err,    /* Error */
article .chroma .gd,     /* GenericDeleted */
article .chroma .gr {    /* GenericError */
  color: var(--accent);
}
