/*
 * Warm Retro — цветовые схемы сайта (светлая и тёмная).
 *
 * Палитра:
 *   #FFEAD6 cream   — фон светлой темы, текст (с прозрачностью) тёмной
 *   #562915 brown   — текст светлой темы, шапка тёмной
 *   #C44C18 burnt   — шапка и ссылки светлой темы
 *   #EE6F34 orange  — primary light
 *   #F0A224 golden  — hero светлой, ссылки и заголовок hero тёмной
 *   #FFBF52 yellow  — подсветка, выделение
 *   #D13955 crimson — accent светлой (hover, фокус)
 *   #FCA6AF pink    — accent тёмной (hover, фокус)
 *
 * Производные для тёмной темы (приглушённый коричневый, не из палитры):
 *   #32251E — фон страницы («эспрессо»)
 *   #42322A — фон кода
 *   #241A15 — футер и announce-баннер
 *
 * Схемы подключаются в mkdocs.yml (theme.palette) как
 * `warm-retro` (по умолчанию) и `warm-retro-dark`.
 */

/* ================================================================== */
/* Светлая схема                                                       */
/* ================================================================== */

[data-md-color-scheme="warm-retro"] {
  color-scheme: light;

  /* Основные цвета */
  --md-default-fg-color:            #562915;
  --md-default-fg-color--light:     rgba(86, 41, 21, 0.72);
  --md-default-fg-color--lighter:   rgba(86, 41, 21, 0.40);
  --md-default-fg-color--lightest:  rgba(86, 41, 21, 0.09);
  --md-default-bg-color:            #FFEAD6;
  --md-default-bg-color--light:     rgba(255, 234, 214, 0.70);
  --md-default-bg-color--lighter:   rgba(255, 234, 214, 0.30);
  --md-default-bg-color--lightest:  rgba(255, 234, 214, 0.12);

  /* Primary (шапка, вкладки) */
  --md-primary-fg-color:            #C44C18;
  --md-primary-fg-color--light:     #EE6F34;
  --md-primary-fg-color--dark:      #9E3B11;
  --md-primary-bg-color:            #FFEAD6;
  --md-primary-bg-color--light:     rgba(255, 234, 214, 0.70);

  /* Accent (hover, фокус, активные элементы) */
  --md-accent-fg-color:             #D13955;
  --md-accent-fg-color--transparent: rgba(209, 57, 85, 0.10);
  --md-accent-bg-color:             #FFEAD6;
  --md-accent-bg-color--light:      rgba(255, 234, 214, 0.70);

  /* Код */
  --md-code-fg-color:               #562915;
  --md-code-bg-color:               #F3D9C2;
  --md-code-bg-color--light:        rgba(243, 217, 194, 0.70);
  --md-code-bg-color--lighter:      rgba(243, 217, 194, 0.30);
  --md-code-hl-color:               #FFBF52;
  --md-code-hl-color--light:        rgba(255, 191, 82, 0.25);
  --md-code-hl-number-color:        #D13955;
  --md-code-hl-special-color:       #A8203C;
  --md-code-hl-function-color:      #9E3B11;
  --md-code-hl-constant-color:      #B3611A;
  --md-code-hl-keyword-color:       #C44C18;
  --md-code-hl-string-color:        #7D5A11;
  --md-code-hl-name-color:          var(--md-code-fg-color);
  --md-code-hl-operator-color:      var(--md-default-fg-color--light);
  --md-code-hl-punctuation-color:   var(--md-default-fg-color--light);
  --md-code-hl-comment-color:       var(--md-default-fg-color--light);
  --md-code-hl-generic-color:       var(--md-default-fg-color--light);
  --md-code-hl-variable-color:      var(--md-default-fg-color--light);

  /* Типографика */
  --md-typeset-color:               var(--md-default-fg-color);
  --md-typeset-a-color:             #C44C18;
  --md-typeset-del-color:           rgba(209, 57, 85, 0.15);
  --md-typeset-ins-color:           rgba(240, 162, 36, 0.25);
  --md-typeset-kbd-color:           #F3D9C2;
  --md-typeset-kbd-accent-color:    #FFEAD6;
  --md-typeset-kbd-border-color:    #D6AE8C;
  --md-typeset-mark-color:          rgba(255, 191, 82, 0.55);
  --md-typeset-table-color:         rgba(86, 41, 21, 0.14);
  --md-typeset-table-color--light:  rgba(86, 41, 21, 0.04);

  /* Admonitions */
  --md-admonition-fg-color:         var(--md-default-fg-color);
  --md-admonition-bg-color:         var(--md-default-bg-color);
  --wr-adm-note:     #C44C18;
  --wr-adm-note-bg:  rgba(196, 76, 24, 0.10);
  --wr-adm-abstract: #EE6F34;
  --wr-adm-abstract-bg:rgba(238, 111, 52, 0.12);
  --wr-adm-info:     #F0A224;
  --wr-adm-info-bg:  rgba(240, 162, 36, 0.14);
  --wr-adm-tip:      #F0A224;
  --wr-adm-tip-bg:   rgba(240, 162, 36, 0.14);
  --wr-adm-success:  #F0A224;
  --wr-adm-success-bg:rgba(240, 162, 36, 0.14);
  --wr-adm-question: #EE6F34;
  --wr-adm-question-bg:rgba(238, 111, 52, 0.12);
  --wr-adm-warning:  #EE6F34;
  --wr-adm-warning-bg:rgba(238, 111, 52, 0.12);
  --wr-adm-failure:  #D13955;
  --wr-adm-failure-bg:rgba(209, 57, 85, 0.10);
  --wr-adm-danger:   #D13955;
  --wr-adm-danger-bg:rgba(209, 57, 85, 0.10);
  --wr-adm-bug:      #D13955;
  --wr-adm-bug-bg:   rgba(209, 57, 85, 0.10);
  --wr-adm-example:  #C44C18;
  --wr-adm-example-bg:rgba(196, 76, 24, 0.10);
  --wr-adm-quote:    #562915;
  --wr-adm-quote-bg: rgba(86, 41, 21, 0.08);

  /* Предупреждение о версии */
  --md-warning-fg-color:            #562915;
  --md-warning-bg-color:            #FFBF52;

  /* Футер и announce-баннер */
  --md-footer-fg-color:             #FFEAD6;
  --md-footer-fg-color--light:      rgba(255, 234, 214, 0.70);
  --md-footer-fg-color--lighter:    rgba(255, 234, 214, 0.45);
  --md-footer-bg-color:             #562915;
  --md-footer-bg-color--dark:       #3F1D0E;

  /* Тени */
  --md-shadow-z1: 0 0.2rem 0.5rem rgba(86, 41, 21, 0.06), 0 0 0.05rem rgba(86, 41, 21, 0.12);
  --md-shadow-z2: 0 0.2rem 0.5rem rgba(86, 41, 21, 0.12), 0 0 0.05rem rgba(86, 41, 21, 0.28);
  --md-shadow-z3: 0 0.2rem 0.5rem rgba(86, 41, 21, 0.22), 0 0 0.05rem rgba(86, 41, 21, 0.38);

  /* Hero главной (src/overrides/home.html) */
  --wr-hero-bg:                     #F0A224;
  --wr-hero-fg:                     #562915;
  --wr-hero-title:                  #562915;
  --wr-hero-button-hover-bg:        #562915;
  --wr-hero-button-hover-fg:        #FFEAD6;
}

/* ================================================================== */
/* Тёмная схема                                                        */
/* ================================================================== */
/*
 * Принцип тот же, что у светлой: один тёплый оттенок, никаких чёрного и
 * белого. Фон — «эспрессо» (приглушённый коричневый ~16% светлоты), текст —
 * кремовый с прозрачностью, чтобы не резал глаз. Шапка — коричневый #562915
 * из палитры (в светлой теме шапка burnt orange), ссылки — золотой, hover — розовый.
 */

[data-md-color-scheme="warm-retro-dark"] {
  color-scheme: dark;

  /* Основные цвета */
  --md-default-fg-color:            rgba(255, 234, 214, 0.84);
  --md-default-fg-color--light:     rgba(255, 234, 214, 0.64);
  --md-default-fg-color--lighter:   rgba(255, 234, 214, 0.36);
  --md-default-fg-color--lightest:  rgba(255, 234, 214, 0.08);
  --md-default-bg-color:            #32251E;
  --md-default-bg-color--light:     rgba(50, 37, 30, 0.70);
  --md-default-bg-color--lighter:   rgba(50, 37, 30, 0.30);
  --md-default-bg-color--lightest:  rgba(50, 37, 30, 0.12);

  /* Primary (шапка, вкладки) — коричневый из палитры */
  --md-primary-fg-color:            #562915;
  --md-primary-fg-color--light:     #6B3519;
  --md-primary-fg-color--dark:      #3F1D0E;
  --md-primary-bg-color:            #FFEAD6;
  --md-primary-bg-color--light:     rgba(255, 234, 214, 0.70);

  /* Accent (hover, фокус, активные элементы) */
  --md-accent-fg-color:             #FCA6AF;
  --md-accent-fg-color--transparent: rgba(252, 166, 175, 0.12);
  --md-accent-bg-color:             #32251E;
  --md-accent-bg-color--light:      rgba(50, 37, 30, 0.70);

  /* Код */
  --md-code-fg-color:               rgba(255, 234, 214, 0.86);
  --md-code-bg-color:               #42322A;
  --md-code-bg-color--light:        rgba(66, 50, 42, 0.70);
  --md-code-bg-color--lighter:      rgba(66, 50, 42, 0.30);
  --md-code-hl-color:               #FFBF52;
  --md-code-hl-color--light:        rgba(255, 191, 82, 0.12);
  --md-code-hl-number-color:        #FCA6AF;
  --md-code-hl-special-color:       #E86A80;
  --md-code-hl-function-color:      #F0A224;
  --md-code-hl-constant-color:      #F5C98A;
  --md-code-hl-keyword-color:       #EE6F34;
  --md-code-hl-string-color:        #FFBF52;
  --md-code-hl-name-color:          var(--md-code-fg-color);
  --md-code-hl-operator-color:      var(--md-default-fg-color--light);
  --md-code-hl-punctuation-color:   var(--md-default-fg-color--light);
  --md-code-hl-comment-color:       var(--md-default-fg-color--light);
  --md-code-hl-generic-color:       var(--md-default-fg-color--light);
  --md-code-hl-variable-color:      var(--md-default-fg-color--light);

  /* Типографика */
  --md-typeset-color:               var(--md-default-fg-color);
  --md-typeset-a-color:             #F0A224;
  --md-typeset-del-color:           rgba(209, 57, 85, 0.25);
  --md-typeset-ins-color:           rgba(240, 162, 36, 0.22);
  --md-typeset-kbd-color:           #42322A;
  --md-typeset-kbd-accent-color:    #4E3B32;
  --md-typeset-kbd-border-color:    #241A15;
  --md-typeset-mark-color:          rgba(255, 191, 82, 0.30);
  --md-typeset-table-color:         rgba(255, 234, 214, 0.12);
  --md-typeset-table-color--light:  rgba(255, 234, 214, 0.035);

  /* Admonitions */
  --md-admonition-fg-color:         var(--md-default-fg-color);
  --md-admonition-bg-color:         var(--md-default-bg-color);
  --wr-adm-note:     #EE6F34;
  --wr-adm-note-bg:  rgba(238, 111, 52, 0.14);
  --wr-adm-abstract: #F0A224;
  --wr-adm-abstract-bg:rgba(240, 162, 36, 0.14);
  --wr-adm-info:     #FFBF52;
  --wr-adm-info-bg:  rgba(255, 191, 82, 0.12);
  --wr-adm-tip:      #FFBF52;
  --wr-adm-tip-bg:   rgba(255, 191, 82, 0.12);
  --wr-adm-success:  #FFBF52;
  --wr-adm-success-bg:rgba(255, 191, 82, 0.12);
  --wr-adm-question: #F0A224;
  --wr-adm-question-bg:rgba(240, 162, 36, 0.14);
  --wr-adm-warning:  #F0A224;
  --wr-adm-warning-bg:rgba(240, 162, 36, 0.14);
  --wr-adm-failure:  #E86A80;
  --wr-adm-failure-bg:rgba(232, 106, 128, 0.14);
  --wr-adm-danger:   #E86A80;
  --wr-adm-danger-bg:rgba(232, 106, 128, 0.14);
  --wr-adm-bug:      #E86A80;
  --wr-adm-bug-bg:   rgba(232, 106, 128, 0.14);
  --wr-adm-example:  #EE6F34;
  --wr-adm-example-bg:rgba(238, 111, 52, 0.14);
  --wr-adm-quote:    #C9AE98;
  --wr-adm-quote-bg: rgba(201, 174, 152, 0.10);

  /* Предупреждение о версии */
  --md-warning-fg-color:            #32251E;
  --md-warning-bg-color:            #FFBF52;

  /* Футер и announce-баннер */
  --md-footer-fg-color:             #FFEAD6;
  --md-footer-fg-color--light:      rgba(255, 234, 214, 0.70);
  --md-footer-fg-color--lighter:    rgba(255, 234, 214, 0.45);
  --md-footer-bg-color:             #241A15;
  --md-footer-bg-color--dark:       #1C1410;

  /* Тени */
  --md-shadow-z1: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.20), 0 0 0.05rem rgba(0, 0, 0, 0.10);
  --md-shadow-z2: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.30), 0 0 0.05rem rgba(0, 0, 0, 0.25);
  --md-shadow-z3: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.40), 0 0 0.05rem rgba(0, 0, 0, 0.35);

  /* Hero главной (src/overrides/home.html): фон как у страницы, золотой заголовок */
  --wr-hero-bg:                     #32251E;
  --wr-hero-fg:                     rgba(255, 234, 214, 0.84);
  --wr-hero-title:                  #F0A224;
  --wr-hero-button-hover-bg:        #F0A224;
  --wr-hero-button-hover-fg:        #32251E;
}

/* Изображения в тёмной теме слегка приглушаем, чтобы не «светили» */
[data-md-color-scheme="warm-retro-dark"] .md-typeset img {
  filter: brightness(0.90);
}

/* Кнопки в контенте: коричневый primary на тёмном фоне не читается */
[data-md-color-scheme="warm-retro-dark"] .md-typeset .md-button {
  color: #F0A224;
}
[data-md-color-scheme="warm-retro-dark"] .md-typeset .md-button--primary {
  background-color: #F0A224;
  border-color: #F0A224;
  color: #32251E;
}

/* ================================================================== */
/* Admonitions: цвета берутся из --wr-adm-* текущей схемы              */
/* ================================================================== */

/* Без типа → как note */
.md-typeset .admonition,
.md-typeset details {
  border-color: var(--wr-adm-note);
}
.md-typeset .admonition > .admonition-title,
.md-typeset details > summary {
  background-color: var(--wr-adm-note-bg);
}
.md-typeset .admonition > .admonition-title::before,
.md-typeset details > summary::before {
  background-color: var(--wr-adm-note);
}
.md-typeset .admonition > .admonition-title::after,
.md-typeset details > summary::after {
  color: var(--wr-adm-note);
}

.md-typeset .admonition.note,
.md-typeset details.note {
  border-color: var(--wr-adm-note);
}
.md-typeset .admonition.note:focus-within,
.md-typeset details.note:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-note-bg);
}
.md-typeset .note > .admonition-title,
.md-typeset .note > summary {
  background-color: var(--wr-adm-note-bg);
}
.md-typeset .note > .admonition-title::before,
.md-typeset .note > summary::before {
  background-color: var(--wr-adm-note);
}
.md-typeset .note > .admonition-title::after,
.md-typeset .note > summary::after {
  color: var(--wr-adm-note);
}

.md-typeset .admonition.abstract,
.md-typeset details.abstract {
  border-color: var(--wr-adm-abstract);
}
.md-typeset .admonition.abstract:focus-within,
.md-typeset details.abstract:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-abstract-bg);
}
.md-typeset .abstract > .admonition-title,
.md-typeset .abstract > summary {
  background-color: var(--wr-adm-abstract-bg);
}
.md-typeset .abstract > .admonition-title::before,
.md-typeset .abstract > summary::before {
  background-color: var(--wr-adm-abstract);
}
.md-typeset .abstract > .admonition-title::after,
.md-typeset .abstract > summary::after {
  color: var(--wr-adm-abstract);
}

.md-typeset .admonition.info,
.md-typeset details.info {
  border-color: var(--wr-adm-info);
}
.md-typeset .admonition.info:focus-within,
.md-typeset details.info:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-info-bg);
}
.md-typeset .info > .admonition-title,
.md-typeset .info > summary {
  background-color: var(--wr-adm-info-bg);
}
.md-typeset .info > .admonition-title::before,
.md-typeset .info > summary::before {
  background-color: var(--wr-adm-info);
}
.md-typeset .info > .admonition-title::after,
.md-typeset .info > summary::after {
  color: var(--wr-adm-info);
}

.md-typeset .admonition.tip,
.md-typeset details.tip {
  border-color: var(--wr-adm-tip);
}
.md-typeset .admonition.tip:focus-within,
.md-typeset details.tip:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-tip-bg);
}
.md-typeset .tip > .admonition-title,
.md-typeset .tip > summary {
  background-color: var(--wr-adm-tip-bg);
}
.md-typeset .tip > .admonition-title::before,
.md-typeset .tip > summary::before {
  background-color: var(--wr-adm-tip);
}
.md-typeset .tip > .admonition-title::after,
.md-typeset .tip > summary::after {
  color: var(--wr-adm-tip);
}

.md-typeset .admonition.success,
.md-typeset details.success {
  border-color: var(--wr-adm-success);
}
.md-typeset .admonition.success:focus-within,
.md-typeset details.success:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-success-bg);
}
.md-typeset .success > .admonition-title,
.md-typeset .success > summary {
  background-color: var(--wr-adm-success-bg);
}
.md-typeset .success > .admonition-title::before,
.md-typeset .success > summary::before {
  background-color: var(--wr-adm-success);
}
.md-typeset .success > .admonition-title::after,
.md-typeset .success > summary::after {
  color: var(--wr-adm-success);
}

.md-typeset .admonition.question,
.md-typeset details.question {
  border-color: var(--wr-adm-question);
}
.md-typeset .admonition.question:focus-within,
.md-typeset details.question:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-question-bg);
}
.md-typeset .question > .admonition-title,
.md-typeset .question > summary {
  background-color: var(--wr-adm-question-bg);
}
.md-typeset .question > .admonition-title::before,
.md-typeset .question > summary::before {
  background-color: var(--wr-adm-question);
}
.md-typeset .question > .admonition-title::after,
.md-typeset .question > summary::after {
  color: var(--wr-adm-question);
}

.md-typeset .admonition.warning,
.md-typeset details.warning {
  border-color: var(--wr-adm-warning);
}
.md-typeset .admonition.warning:focus-within,
.md-typeset details.warning:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-warning-bg);
}
.md-typeset .warning > .admonition-title,
.md-typeset .warning > summary {
  background-color: var(--wr-adm-warning-bg);
}
.md-typeset .warning > .admonition-title::before,
.md-typeset .warning > summary::before {
  background-color: var(--wr-adm-warning);
}
.md-typeset .warning > .admonition-title::after,
.md-typeset .warning > summary::after {
  color: var(--wr-adm-warning);
}

.md-typeset .admonition.failure,
.md-typeset details.failure {
  border-color: var(--wr-adm-failure);
}
.md-typeset .admonition.failure:focus-within,
.md-typeset details.failure:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-failure-bg);
}
.md-typeset .failure > .admonition-title,
.md-typeset .failure > summary {
  background-color: var(--wr-adm-failure-bg);
}
.md-typeset .failure > .admonition-title::before,
.md-typeset .failure > summary::before {
  background-color: var(--wr-adm-failure);
}
.md-typeset .failure > .admonition-title::after,
.md-typeset .failure > summary::after {
  color: var(--wr-adm-failure);
}

.md-typeset .admonition.danger,
.md-typeset details.danger {
  border-color: var(--wr-adm-danger);
}
.md-typeset .admonition.danger:focus-within,
.md-typeset details.danger:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-danger-bg);
}
.md-typeset .danger > .admonition-title,
.md-typeset .danger > summary {
  background-color: var(--wr-adm-danger-bg);
}
.md-typeset .danger > .admonition-title::before,
.md-typeset .danger > summary::before {
  background-color: var(--wr-adm-danger);
}
.md-typeset .danger > .admonition-title::after,
.md-typeset .danger > summary::after {
  color: var(--wr-adm-danger);
}

.md-typeset .admonition.bug,
.md-typeset details.bug {
  border-color: var(--wr-adm-bug);
}
.md-typeset .admonition.bug:focus-within,
.md-typeset details.bug:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-bug-bg);
}
.md-typeset .bug > .admonition-title,
.md-typeset .bug > summary {
  background-color: var(--wr-adm-bug-bg);
}
.md-typeset .bug > .admonition-title::before,
.md-typeset .bug > summary::before {
  background-color: var(--wr-adm-bug);
}
.md-typeset .bug > .admonition-title::after,
.md-typeset .bug > summary::after {
  color: var(--wr-adm-bug);
}

.md-typeset .admonition.example,
.md-typeset details.example {
  border-color: var(--wr-adm-example);
}
.md-typeset .admonition.example:focus-within,
.md-typeset details.example:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-example-bg);
}
.md-typeset .example > .admonition-title,
.md-typeset .example > summary {
  background-color: var(--wr-adm-example-bg);
}
.md-typeset .example > .admonition-title::before,
.md-typeset .example > summary::before {
  background-color: var(--wr-adm-example);
}
.md-typeset .example > .admonition-title::after,
.md-typeset .example > summary::after {
  color: var(--wr-adm-example);
}

.md-typeset .admonition.quote,
.md-typeset details.quote {
  border-color: var(--wr-adm-quote);
}
.md-typeset .admonition.quote:focus-within,
.md-typeset details.quote:focus-within {
  box-shadow: 0 0 0 0.2rem var(--wr-adm-quote-bg);
}
.md-typeset .quote > .admonition-title,
.md-typeset .quote > summary {
  background-color: var(--wr-adm-quote-bg);
}
.md-typeset .quote > .admonition-title::before,
.md-typeset .quote > summary::before {
  background-color: var(--wr-adm-quote);
}
.md-typeset .quote > .admonition-title::after,
.md-typeset .quote > summary::after {
  color: var(--wr-adm-quote);
}

/* ================================================================== */
/* Announce-баннер: иконки соцсетей в палитре вместо фирменных синих   */
/* ================================================================== */

.md-banner .mastodon {
  color: #FFBF52;
}
.md-banner .twitter {
  color: #FCA6AF;
}

/* ================================================================== */
/* Hero главной страницы (src/overrides/home.html)                      */
/* ================================================================== */

.mdx-container.mdx-container--home {
  background: var(--wr-hero-bg);
}
.mdx-container--home .mdx-hero,
.mdx-container--home .mdx-hero .md-button {
  color: var(--wr-hero-fg);
}
.mdx-container--home .mdx-hero h1:first-of-type {
  color: var(--wr-hero-title);
}
.mdx-container--home .mdx-hero .md-button:hover,
.mdx-container--home .mdx-hero .md-button:focus {
  background-color: var(--wr-hero-button-hover-bg);
  border-color: var(--wr-hero-button-hover-bg);
  color: var(--wr-hero-button-hover-fg);
}
