/* ─────────────────────────────────────────────────────────────────────────
   Подсветка кода в статьях и релизах.

   Зачем отдельный файл: глобально подключена светлая тема Prism
   (themes/prism.min.css), и она уместна на страницах документации и примеров —
   там SyntaxBlock рисует код на светлом фоне (#f5f2f0). А статьи и релизы идут
   через Markdig на тёмном фоне, и светлая палитра поверх тёмного давала
   нечитаемый выцветший текст.

   Поэтому цвета переопределяются ТОЛЬКО внутри .art-body и .rel-body.
   Документация, примеры и лендинги не затрагиваются ни одним селектором.

   Палитра взята не с потолка, а из блоков кода на лендингах
   (WhyRedbase, классы .c/.k/.f/.t/.n/.s) — чтобы статьи выглядели так же,
   как остальной сайт. Одно отступление: комментарии сделаны светлее
   лендинговых #555555 — в статье на 36 КБ их читают, а не проглядывают.

   Файл подключён обычным путём (css/articles.css), а не через @Assets,
   поэтому копия в живой папке перекрывает запечённую: правки стилей можно
   выкатывать без пересборки образа.
   ───────────────────────────────────────────────────────────────────────── */

.art-body pre[class*="language-"],
.rel-body pre[class*="language-"],
.art-body code[class*="language-"],
.rel-body code[class*="language-"] {
    color: #d6deeb;
    background: none;
    text-shadow: none;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.88rem;
    line-height: 1.55;
    tab-size: 4;
}

/* Комментарии светлее, чем на лендингах: в длинном тексте их читают. */
.art-body .token.comment,  .rel-body .token.comment,
.art-body .token.prolog,   .rel-body .token.prolog,
.art-body .token.cdata,    .rel-body .token.cdata,
.art-body .token.doctype,  .rel-body .token.doctype {
    color: #6b7280;
    font-style: normal;
}

.art-body .token.keyword,   .rel-body .token.keyword,
.art-body .token.atrule,    .rel-body .token.atrule,
.art-body .token.boolean,   .rel-body .token.boolean,
.art-body .token.important, .rel-body .token.important {
    color: #c792ea;
}

.art-body .token.function,      .rel-body .token.function,
.art-body .token.function-name, .rel-body .token.function-name {
    color: #82aaff;
}

.art-body .token.class-name, .rel-body .token.class-name,
.art-body .token.tag,        .rel-body .token.tag,
.art-body .token.builtin,    .rel-body .token.builtin,
.art-body .token.namespace,  .rel-body .token.namespace {
    color: #ffcb6b;
    opacity: 1;
}

.art-body .token.number,   .rel-body .token.number,
.art-body .token.constant, .rel-body .token.constant,
.art-body .token.symbol,   .rel-body .token.symbol,
.art-body .token.property, .rel-body .token.property,
.art-body .token.variable, .rel-body .token.variable,
.art-body .token.attr-name, .rel-body .token.attr-name {
    color: #f78c6c;
}

.art-body .token.string,    .rel-body .token.string,
.art-body .token.char,      .rel-body .token.char,
.art-body .token.attr-value, .rel-body .token.attr-value,
.art-body .token.regex,     .rel-body .token.regex,
.art-body .token.inserted,  .rel-body .token.inserted {
    color: #c3e88d;
}

.art-body .token.operator,    .rel-body .token.operator,
.art-body .token.entity,      .rel-body .token.entity,
.art-body .token.url,         .rel-body .token.url,
.art-body .token.punctuation, .rel-body .token.punctuation {
    color: #89ddff;
    background: none;
}

.art-body .token.deleted, .rel-body .token.deleted { color: #ff5370; }

/* Prism подсвечивает уже в браузере. Пока он не отработал, код не должен
   выглядеть погасшим — задаём читаемый базовый цвет сразу. */
.art-body pre code, .rel-body pre code { color: #d6deeb; }

/* Код внутри строки текста: заметный, но не спорящий с ссылками. */
.art-body :not(pre) > code, .rel-body :not(pre) > code {
    color: #ffcb6b;
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}
