/* Dice×Dice — визуальный язык E поверх темы Zensical.
   Токены: docs/design/01-tokens.md; шрифты — копии из game-front (без Google Fonts). */

@font-face { font-family: "Fira Sans Extra Condensed"; font-style: normal; font-display: swap; font-weight: 800;
  src: url("../assets/fonts/firaec800-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Fira Sans Extra Condensed"; font-style: normal; font-display: swap; font-weight: 800;
  src: url("../assets/fonts/firaec800-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter Variable"; font-style: normal; font-display: swap; font-weight: 400 700;
  src: url("../assets/fonts/inter-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Inter Variable"; font-style: normal; font-display: swap; font-weight: 400 700;
  src: url("../assets/fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono Variable"; font-style: normal; font-display: swap; font-weight: 400 500;
  src: url("../assets/fonts/jetbrains-mono-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "JetBrains Mono Variable"; font-style: normal; font-display: swap; font-weight: 400 500;
  src: url("../assets/fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --md-text-font: "Inter Variable";
  --md-code-font: "JetBrains Mono Variable";
}

:root > *, [data-md-color-scheme="default"] {
  --md-default-bg-color: #f4efe6;           /* paper */
  --md-default-bg-color--light: #ede6da;    /* paper-2 */
  --md-default-fg-color: #171613;           /* ink */
  --md-default-fg-color--light: #403b36;    /* ink-body */
  --md-default-fg-color--lighter: #6a625b;  /* ink-muted */
  --md-default-fg-color--lightest: #d2c8bc; /* rule-subtle */
  --md-primary-fg-color: #f4efe6;           /* шапка — бумага */
  --md-primary-fg-color--light: #ede6da;
  --md-primary-fg-color--dark: #e6ded1;
  --md-primary-bg-color: #171613;           /* текст шапки — чернила */
  --md-primary-bg-color--light: #403b36;
  --md-accent-fg-color: #e76531;            /* ember */
  --md-accent-fg-color--transparent: #e765311a;
  --md-accent-bg-color: #171613;
  --md-typeset-a-color: #b94e28;            /* ember-line: ссылки днём */
  --md-code-bg-color: #ede6da;
  --md-code-fg-color: #403b36;
  --md-footer-bg-color: #ede6da;
  --md-footer-bg-color--dark: #e6ded1;
  --md-footer-fg-color: #171613;
  --md-footer-fg-color--light: #403b36;
  --md-footer-fg-color--lighter: #6a625b;
  --dxd-rule: #71685f;
  --dxd-print: #40362f;
  --dxd-info: #6a625b;
  --dxd-success: #718c6c;
  --dxd-warning: #91651d;
  --dxd-danger: #b94e45;
}

[data-md-color-scheme="slate"] {
  --md-default-bg-color: #181817;
  --md-default-bg-color--light: #1e1d1b;
  --md-default-fg-color: #f4efe8;
  --md-default-fg-color--light: #d7cec4;
  --md-default-fg-color--lighter: #aca198;
  --md-default-fg-color--lightest: #34302d;
  --md-primary-fg-color: #181817;
  --md-primary-fg-color--light: #1e1d1b;
  --md-primary-fg-color--dark: #242220;
  --md-primary-bg-color: #f4efe8;
  --md-primary-bg-color--light: #d7cec4;
  --md-accent-fg-color: #ff7b45;
  --md-accent-fg-color--transparent: #f26a361f;
  --md-accent-bg-color: #181817;
  --md-typeset-a-color: #f26a36;            /* ember ночью */
  --md-code-bg-color: #1e1d1b;
  --md-code-fg-color: #d7cec4;
  --md-footer-bg-color: #1e1d1b;
  --md-footer-bg-color--dark: #181817;
  --md-footer-fg-color: #f4efe8;
  --md-footer-fg-color--light: #d7cec4;
  --md-footer-fg-color--lighter: #aca198;
  --dxd-rule: #69615a;
  --dxd-info: #aca198;
  --dxd-success: #7e9d77;
  --dxd-warning: #c7a453;
  --dxd-danger: #cf675b;
}

/* Логотип: полный знак, свой для каждой темы. */
.md-header__button.md-logo img.dxd-logo,
.md-nav__button.md-logo img.dxd-logo { height: 1.9rem; width: auto; }
[data-md-color-scheme="slate"] .md-logo img.dxd-logo--light,
[data-md-color-scheme="default"] .md-logo img.dxd-logo--dark { display: none; }

/* Шапка — бумага с линейкой, как в игре. */
.md-header { box-shadow: none; border-bottom: 1px solid var(--dxd-rule); }

/* Дисплейный капс для заголовка страницы. */
.md-typeset h1 {
  font-family: "Fira Sans Extra Condensed", var(--md-text-font-family);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.012em;
  color: var(--md-default-fg-color);
}

/* Карточки и кнопки — «оттиск» вместо размытой тени. */
.md-typeset .grid.cards > ul > li {
  border: 1px solid var(--dxd-rule);
  border-radius: 4px;
  box-shadow: 4px 4px 0 0 var(--dxd-print);
  background: var(--md-default-bg-color--light);
}
.md-typeset .grid.cards > ul > li:hover { border-color: var(--md-accent-fg-color); }
.md-typeset .md-button { border-radius: 4px; box-shadow: 2px 2px 0 0 var(--dxd-print); }
.md-typeset .md-button--primary { background: var(--md-accent-fg-color); border-color: var(--md-accent-fg-color); color: #171613; }

/* Врезки: смысловые цвета языка E. */
.md-typeset .admonition, .md-typeset details { border-radius: 4px; box-shadow: none; }
.md-typeset .admonition.info, .md-typeset details.info { --dxd-tone: var(--dxd-info); }
.md-typeset .admonition.success, .md-typeset details.success { --dxd-tone: var(--dxd-success); }
.md-typeset .admonition.warning, .md-typeset details.warning { --dxd-tone: var(--dxd-warning); }
.md-typeset .admonition.danger, .md-typeset details.danger { --dxd-tone: var(--dxd-danger); }
.md-typeset :is(.admonition, details):is(.info, .success, .warning, .danger) {
  border-color: var(--dxd-tone);
  background-color: color-mix(in srgb, var(--dxd-tone) 7%, var(--md-default-bg-color));
}
.md-typeset :is(.info, .success, .warning, .danger) > :is(.admonition-title, summary) {
  background-color: color-mix(in srgb, var(--dxd-tone) 16%, var(--md-default-bg-color));
}
.md-typeset :is(.info, .success, .warning, .danger) > :is(.admonition-title, summary)::before {
  background-color: var(--dxd-tone);
}

/* В шапке бренд уже в логотипе — название сайта текстом не повторяем;
   при прокрутке там по-прежнему появляется название страницы. */
.md-header__title .md-header__topic:first-child { visibility: hidden; }
