/* ==========================================================================
   Stargazer — космическая неоновая тема (опциональная третья палитра)
   Включается переключателем палитры в шапке: светлая → тёмная → Stargazer.
   Всё scoped под [data-md-color-scheme="stargazer"]: светлой и тёмной теме
   (default/slate) эти стили не принадлежат.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Шрифты (self-hosted, используются только этой темой)
   -------------------------------------------------------------------------- */
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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";
  src: url("../fonts/inter-cyrillic-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  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";
  src: url("../fonts/inter-cyrillic-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  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";
  src: url("../fonts/inter-cyrillic-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  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";
  src: url("../fonts/inter-cyrillic-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/jetbrains-mono-latin-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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";
  src: url("../fonts/jetbrains-mono-cyrillic-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/jetbrains-mono-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  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";
  src: url("../fonts/jetbrains-mono-cyrillic-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* --------------------------------------------------------------------------
   2. Палитра схемы: полный набор переменных Material
    -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] {
  --md-hue: 234;
  color-scheme: dark;
  background-color: #070a14; /* фон body: фолбэк под canvas-космосом */

  --md-default-fg-color: hsla(234, 30%, 93%, 0.92);
  --md-default-fg-color--light: hsla(234, 25%, 90%, 0.62);
  --md-default-fg-color--lighter: hsla(234, 25%, 90%, 0.36);
  --md-default-fg-color--lightest: hsla(234, 25%, 90%, 0.13);
  --md-default-bg-color: #0b0e1d;
  --md-default-bg-color--light: rgba(13, 17, 38, 0.54);
  --md-default-bg-color--lighter: rgba(13, 17, 38, 0.26);
  --md-default-bg-color--lightest: rgba(13, 17, 38, 0.07);

  --md-primary-fg-color: #b388ff;
  --md-primary-fg-color--light: #c9aaff;
  --md-primary-fg-color--dark: #7c4dff;
  --md-primary-bg-color: #0b0e1d;
  --md-primary-bg-color--light: rgba(11, 14, 29, 0.54);

  --md-accent-fg-color: #22d3ee;
  --md-accent-fg-color--transparent: rgba(34, 211, 238, 0.1);
  --md-accent-bg-color: #0b0e1d;
  --md-accent-bg-color--light: rgba(11, 14, 29, 0.54);

  --md-typeset-a-color: #a78bfa;
  --md-typeset-color: var(--md-default-fg-color);
  --md-typeset-kbd-color: rgba(23, 28, 56, 0.9);
  --md-typeset-kbd-accent-color: rgba(179, 136, 255, 0.18);
  --md-typeset-kbd-border-color: rgba(179, 136, 255, 0.28);
  --md-typeset-mark-color: rgba(255, 213, 79, 0.4);
  --md-typeset-table-color: hsla(234, 40%, 88%, 0.13);
  --md-typeset-table-color--light: hsla(234, 40%, 88%, 0.05);

  --md-code-fg-color: hsla(234, 22%, 88%, 0.85);
  --md-code-bg-color: rgba(19, 24, 50, 0.92);
  --md-code-bg-color--light: rgba(19, 24, 50, 0.7);
  --md-code-bg-color--lighter: rgba(19, 24, 50, 0.4);
  --md-code-hl-color: #22d3ee;
  --md-code-hl-color--light: rgba(34, 211, 238, 0.12);
  --md-code-hl-number-color: #f9a8d4;
  --md-code-hl-special-color: #ff8fb3;
  --md-code-hl-function-color: #c4b5fd;
  --md-code-hl-constant-color: #a78bfa;
  --md-code-hl-keyword-color: #7dd3fc;
  --md-code-hl-string-color: #6ee7b7;
  --md-code-hl-name-color: var(--md-code-fg-color);
  --md-code-hl-operator-color: hsla(234, 22%, 85%, 0.65);
  --md-code-hl-punctuation-color: hsla(234, 22%, 85%, 0.55);
  --md-code-hl-comment-color: hsla(234, 15%, 68%, 0.55);
  --md-code-hl-generic-color: hsla(234, 18%, 78%, 0.7);
  --md-code-hl-variable-color: hsla(234, 18%, 78%, 0.7);

  --md-admonition-fg-color: var(--md-default-fg-color);
  --md-admonition-bg-color: rgba(19, 24, 50, 0.55);

  --md-footer-fg-color: hsla(234, 25%, 90%, 0.8);
  --md-footer-fg-color--light: hsla(234, 25%, 90%, 0.55);
  --md-footer-fg-color--lighter: hsla(234, 25%, 90%, 0.32);
  --md-footer-bg-color: rgba(7, 10, 20, 0.87);
  --md-footer-bg-color--dark: #070a14;

  --md-shadow-z1: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.4),
    0 0 0.05rem rgba(0, 0, 0, 0.45);
  --md-shadow-z2: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.5),
    0 0 0.05rem rgba(0, 0, 0, 0.5);
  --md-shadow-z3: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.6),
    0 0 0.05rem rgba(0, 0, 0, 0.6);

  /* Шрифты: Material разворачивает эти переменные на body */
  --md-text-font: "Inter";
  --md-code-font: "JetBrains Mono";
  --md-text-font-family: "Inter", -apple-system, BlinkMacSystemFont, Helvetica,
    Arial, sans-serif;
  --md-code-font-family: "JetBrains Mono", SFMono-Regular, Consolas, Menlo,
    monospace;
}

/* --------------------------------------------------------------------------
   3. Космос: canvas со звёздами/туманностями (создаётся в stargazer-theme.js)
   Canvas — первый ребёнок body с z-index: -1: рисуется над фоном страницы,
   но под контентом. Контейнерам контента position/z-index не задаём —
   иначе ломается расчёт offsetParent у h1 в Material.
   -------------------------------------------------------------------------- */
#sg-cosmos {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   4. Хедер, табы, сайдбар, футер — стекло над космосом
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] .md-header {
  background: rgba(9, 12, 26, 0.55);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: 0 1px 0 rgba(179, 136, 255, 0.28),
    0 6px 28px rgba(0, 0, 0, 0.45);
  /* Material красит текст и кнопки хедера в --md-primary-bg-color.
     В этой палитре она тёмная (для светло-фиолетовых поверхностей),
     а хедер — тёмное стекло, поэтому светлый цвет задаётся явно. */
  color: #e9edff;
}

[data-md-color-scheme="stargazer"] .md-header .md-search__input + .md-search__icon {
  color: #e9edff;
}

[data-md-color-scheme="stargazer"] .md-header .md-search__input::placeholder {
  color: rgba(233, 237, 255, 0.6);
}

[data-md-color-scheme="stargazer"] .md-header[data-md-state="shadow"] {
  background: rgba(7, 10, 22, 0.72);
}

[data-md-color-scheme="stargazer"] .md-tabs {
  background: rgba(9, 12, 26, 0.42);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
  border-bottom: 1px solid rgba(124, 77, 255, 0.14);
}

[data-md-color-scheme="stargazer"] .md-header__topic,
[data-md-color-scheme="stargazer"] .md-tabs__link {
  transition: text-shadow 0.25s ease, color 0.25s ease;
}

[data-md-color-scheme="stargazer"] .md-tabs__link {
  color: rgba(226, 232, 255, 0.75);
}

[data-md-color-scheme="stargazer"] .md-tabs__link:hover,
[data-md-color-scheme="stargazer"] .md-tabs__link--active {
  color: #fff;
  text-shadow: 0 0 14px rgba(34, 211, 238, 0.65);
}

[data-md-color-scheme="stargazer"] .md-logo img,
[data-md-color-scheme="stargazer"] .md-header__button:hover {
  filter: drop-shadow(0 0 6px rgba(179, 136, 255, 0.7));
}

[data-md-color-scheme="stargazer"] .md-header__button:hover,
[data-md-color-scheme="stargazer"] .md-search__icon:hover,
[data-md-color-scheme="stargazer"] .md-search__icon[src*="toggle"]:hover {
  color: var(--md-accent-fg-color);
}

/* Сайдбар: активный пункт светится */
[data-md-color-scheme="stargazer"] .md-nav__link {
  transition: text-shadow 0.2s ease, color 0.2s ease;
}

[data-md-color-scheme="stargazer"] .md-nav__link:hover {
  color: var(--md-accent-fg-color);
}

[data-md-color-scheme="stargazer"] .md-nav__link--active,
[data-md-color-scheme="stargazer"] .md-nav__link[data-md-state="blur"] {
  color: var(--md-typeset-a-color);
  text-shadow: 0 0 10px rgba(167, 139, 250, 0.55);
}

[data-md-color-scheme="stargazer"] .md-nav__item--active > .md-nav__link {
  color: var(--md-typeset-a-color);
  text-shadow: 0 0 10px rgba(167, 139, 250, 0.55);
}

[data-md-color-scheme="stargazer"] .md-ellipsis {
  text-shadow: inherit;
}

/* Кнопка «наверх» */
[data-md-color-scheme="stargazer"] .md-top {
  border-radius: 0.4rem;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

[data-md-color-scheme="stargazer"] .md-top:hover {
  box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.5), 0 0 18px rgba(34, 211, 238, 0.4);
  transform: translateY(-2px);
}

/* Футер */
[data-md-color-scheme="stargazer"] .md-footer {
  border-top: 1px solid rgba(124, 77, 255, 0.2);
}

[data-md-color-scheme="stargazer"] .md-footer-meta {
  background: rgba(5, 7, 16, 0.6);
}

/* --------------------------------------------------------------------------
   5. Контентная панель — читаемость поверх космоса
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] .md-content {
  background: rgba(10, 13, 28, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 0.45rem;
}

/* --------------------------------------------------------------------------
   6. Типографика
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] .md-typeset {
  text-rendering: optimizeLegibility;
}

[data-md-color-scheme="stargazer"] .md-typeset h1 {
  background: linear-gradient(92deg, #e8ddff 0%, #b388ff 45%, #22d3ee 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 16px rgba(124, 77, 255, 0.35));
  letter-spacing: 0.01em;
}

[data-md-color-scheme="stargazer"] .md-typeset h2 {
  background: linear-gradient(92deg, #ddd0ff, #9f7bff 70%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 12px rgba(124, 77, 255, 0.25));
}

[data-md-color-scheme="stargazer"] .md-typeset h3 {
  color: #cdd3ff;
}

[data-md-color-scheme="stargazer"] .md-typeset h1:hover .headerlink,
[data-md-color-scheme="stargazer"] .md-typeset h2:hover .headerlink,
[data-md-color-scheme="stargazer"] .md-typeset h3:hover .headerlink {
  color: var(--md-accent-fg-color);
}

[data-md-color-scheme="stargazer"] .md-typeset hr {
  height: 1px;
  border: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(124, 77, 255, 0.55),
    rgba(34, 211, 238, 0.55),
    transparent
  );
}

[data-md-color-scheme="stargazer"] ::selection {
  background: rgba(124, 77, 255, 0.45);
  color: #fff;
}

/* Цитаты (в galags.md — фракционные досье): неоновая карточка */
[data-md-color-scheme="stargazer"] .md-typeset blockquote {
  border-left: 0.25rem solid rgba(124, 77, 255, 0.55);
  border-radius: 0.25rem;
  background: linear-gradient(
    90deg,
    rgba(124, 77, 255, 0.08),
    rgba(34, 211, 238, 0.04)
  );
  box-shadow: 0 0 16px rgba(124, 77, 255, 0.08);
  transition: box-shadow 0.25s ease;
}

[data-md-color-scheme="stargazer"] .md-typeset blockquote:hover {
  box-shadow: 0 0 22px rgba(124, 77, 255, 0.18);
}

/* Инлайн-код */
[data-md-color-scheme="stargazer"] .md-typeset code {
  border-radius: 0.2rem;
}

[data-md-color-scheme="stargazer"] .md-typeset a {
  transition: text-shadow 0.2s ease;
}

[data-md-color-scheme="stargazer"] .md-typeset a:hover,
[data-md-color-scheme="stargazer"] .md-typeset a:focus {
  text-shadow: 0 0 12px rgba(167, 139, 250, 0.6);
}

/* --------------------------------------------------------------------------
   7. Admonitions и details — неоновые карточки
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] .md-typeset .admonition,
[data-md-color-scheme="stargazer"] .md-typeset details {
  background-color: var(--md-admonition-bg-color);
  border: 0.075rem solid rgba(124, 77, 255, 0.6);
  box-shadow: 0 0 18px rgba(124, 77, 255, 0.1);
}

[data-md-color-scheme="stargazer"] .md-typeset .admonition:focus-within,
[data-md-color-scheme="stargazer"] .md-typeset details:focus-within {
  box-shadow: 0 0 0 0.2rem rgba(179, 136, 255, 0.12);
}

[data-md-color-scheme="stargazer"] .md-typeset .admonition:hover,
[data-md-color-scheme="stargazer"] .md-typeset details:hover {
  box-shadow: 0 0 24px rgba(124, 77, 255, 0.18);
}

/* Цвета по типам (Material 9.7 задаёт их хардкодом — переопределяем) */
[data-md-color-scheme="stargazer"] .md-typeset .admonition.note,
[data-md-color-scheme="stargazer"] .md-typeset details.note {
  border-color: #4fc3f7;
  box-shadow: 0 0 18px rgba(79, 195, 247, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.note:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.note:hover {
  box-shadow: 0 0 24px rgba(79, 195, 247, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.abstract,
[data-md-color-scheme="stargazer"] .md-typeset details.abstract {
  border-color: #40c4ff;
  box-shadow: 0 0 18px rgba(64, 196, 255, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.abstract:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.abstract:hover {
  box-shadow: 0 0 24px rgba(64, 196, 255, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.info,
[data-md-color-scheme="stargazer"] .md-typeset details.info {
  border-color: #26c6da;
  box-shadow: 0 0 18px rgba(38, 198, 218, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.info:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.info:hover {
  box-shadow: 0 0 24px rgba(38, 198, 218, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.tip,
[data-md-color-scheme="stargazer"] .md-typeset details.tip {
  border-color: #64f5b0;
  box-shadow: 0 0 18px rgba(100, 245, 176, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.tip:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.tip:hover {
  box-shadow: 0 0 24px rgba(100, 245, 176, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.success,
[data-md-color-scheme="stargazer"] .md-typeset details.success {
  border-color: #3ce97e;
  box-shadow: 0 0 18px rgba(60, 233, 126, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.success:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.success:hover {
  box-shadow: 0 0 24px rgba(60, 233, 126, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.question,
[data-md-color-scheme="stargazer"] .md-typeset details.question {
  border-color: #aef05a;
  box-shadow: 0 0 18px rgba(174, 240, 90, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.question:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.question:hover {
  box-shadow: 0 0 24px rgba(174, 240, 90, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.warning,
[data-md-color-scheme="stargazer"] .md-typeset details.warning {
  border-color: #ffb14d;
  box-shadow: 0 0 18px rgba(255, 177, 77, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.warning:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.warning:hover {
  box-shadow: 0 0 24px rgba(255, 177, 77, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.failure,
[data-md-color-scheme="stargazer"] .md-typeset details.failure {
  border-color: #ff6b81;
  box-shadow: 0 0 18px rgba(255, 107, 129, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.failure:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.failure:hover {
  box-shadow: 0 0 24px rgba(255, 107, 129, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.danger,
[data-md-color-scheme="stargazer"] .md-typeset details.danger {
  border-color: #ff4d6d;
  box-shadow: 0 0 18px rgba(255, 77, 109, 0.14);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.danger:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.danger:hover {
  box-shadow: 0 0 24px rgba(255, 77, 109, 0.22);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.bug,
[data-md-color-scheme="stargazer"] .md-typeset details.bug {
  border-color: #ff4fa3;
  box-shadow: 0 0 18px rgba(255, 79, 163, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.bug:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.bug:hover {
  box-shadow: 0 0 24px rgba(255, 79, 163, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.example,
[data-md-color-scheme="stargazer"] .md-typeset details.example {
  border-color: #b388ff;
  box-shadow: 0 0 18px rgba(179, 136, 255, 0.12);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.example:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.example:hover {
  box-shadow: 0 0 24px rgba(179, 136, 255, 0.2);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.quote,
[data-md-color-scheme="stargazer"] .md-typeset details.quote {
  border-color: #9aa7c7;
  box-shadow: 0 0 18px rgba(154, 167, 199, 0.1);
}
[data-md-color-scheme="stargazer"] .md-typeset .admonition.quote:hover,
[data-md-color-scheme="stargazer"] .md-typeset details.quote:hover {
  box-shadow: 0 0 24px rgba(154, 167, 199, 0.16);
}

/* details: акцентная стрелка и hover на заголовке */
[data-md-color-scheme="stargazer"] .md-typeset summary {
  transition: color 0.2s ease;
}

[data-md-color-scheme="stargazer"] .md-typeset summary:hover {
  color: var(--md-accent-fg-color);
}

[data-md-color-scheme="stargazer"] .md-typeset details[open] > summary {
  text-shadow: 0 0 10px rgba(34, 211, 238, 0.35);
}

/* --------------------------------------------------------------------------
   8. Таблицы — рамка, отделённая шапка и неоновый hover строк
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] .md-typeset table:not([class]) {
  background: rgba(11, 14, 29, 0.72);
  border: 1px solid rgba(179, 136, 255, 0.28);
  border-radius: 0.45rem;
  box-shadow: 0 0 18px rgba(124, 77, 255, 0.1);
}

[data-md-color-scheme="stargazer"] .md-typeset table:not([class]) th {
  background: rgba(23, 28, 56, 0.92);
  border-bottom: 1px solid rgba(179, 136, 255, 0.3);
  color: #e9edff;
  text-shadow: 0 0 10px rgba(124, 77, 255, 0.3);
}

[data-md-color-scheme="stargazer"] .md-typeset table:not([class]) td {
  border-top: 1px solid rgba(179, 136, 255, 0.14);
}

[data-md-color-scheme="stargazer"] .md-typeset table:not([class]) tbody tr {
  transition: background 0.15s ease;
}

[data-md-color-scheme="stargazer"] .md-typeset table:not([class]) tbody tr:hover {
  background: rgba(124, 77, 255, 0.1);
}

/* --------------------------------------------------------------------------
   9. Галереи и изображения
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] .gallery img {
  border: 1px solid rgba(255, 255, 255, 0.06);
}

[data-md-color-scheme="stargazer"] .gallery img:hover {
  transform: scale(1.03) translateY(-2px);
  box-shadow: 0 0 0 1px rgba(179, 136, 255, 0.45),
    0 12px 32px rgba(124, 77, 255, 0.35);
}

[data-md-color-scheme="stargazer"] .md-typeset img:not(.gallery img) {
  border-radius: 0.4rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* --------------------------------------------------------------------------
   10. Фракционные коды galags.md — неоновый ремап (паттерн code-colors.css)
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] code[style*="SkyBlue" i] {
  color: #4fd8ff !important;
  text-shadow: 0 0 10px rgba(79, 216, 255, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="Crimson" i] {
  color: #ff5b7a !important;
  text-shadow: 0 0 10px rgba(255, 91, 122, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="MediumOrchid" i] {
  color: #c78bff !important;
  text-shadow: 0 0 10px rgba(199, 139, 255, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="Darkorange" i] {
  color: #ffb054 !important;
  text-shadow: 0 0 10px rgba(255, 176, 84, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="Coral" i] {
  color: #ff8f75 !important;
  text-shadow: 0 0 10px rgba(255, 143, 117, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="SteelBlue" i] {
  color: #8fb7ff !important;
  text-shadow: 0 0 10px rgba(143, 183, 255, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="DarkKhaki" i] {
  color: #e8d268 !important;
  text-shadow: 0 0 10px rgba(232, 210, 104, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="DarkSeaGreen" i] {
  color: #7fe3a2 !important;
  text-shadow: 0 0 10px rgba(127, 227, 162, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="Aquamarine" i] {
  color: #5ceec2 !important;
  text-shadow: 0 0 10px rgba(92, 238, 194, 0.55);
}
[data-md-color-scheme="stargazer"] code[style*="ForestGreen" i] {
  color: #4fd878 !important;
  text-shadow: 0 0 10px rgba(79, 216, 120, 0.55);
}

/* --------------------------------------------------------------------------
   11. Мелочи: скроллбар, glightbox, поиск, полоса прогресса, fade-in
   -------------------------------------------------------------------------- */
[data-md-color-scheme="stargazer"] * {
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 77, 255, 0.55) transparent;
}

[data-md-color-scheme="stargazer"] ::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

[data-md-color-scheme="stargazer"] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #7c4dff, #22d3ee);
  border-radius: 6px;
  border: 2px solid #0b0e1d;
}

[data-md-color-scheme="stargazer"] ::-webkit-scrollbar-track {
  background: transparent;
}

/* glightbox: глубокий космос под лайтбоксом */
[data-md-color-scheme="stargazer"] .glightbox-container .goverlay {
  background: rgba(4, 6, 14, 0.92);
}

[data-md-color-scheme="stargazer"] .gclose:hover,
[data-md-color-scheme="stargazer"] .gnext:hover,
[data-md-color-scheme="stargazer"] .gprev:hover {
  filter: drop-shadow(0 0 8px rgba(34, 211, 238, 0.7));
}

/* Полоса прогресса чтения (заполняется из stargazer-theme.js) */
#sg-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  transform-origin: 0 50%;
  transform: scaleX(0);
  background: linear-gradient(90deg, #7c4dff, #22d3ee);
  box-shadow: 0 0 10px rgba(34, 211, 238, 0.8);
  z-index: 5;
  pointer-events: none;
  display: none;
}

[data-md-color-scheme="stargazer"] #sg-progress {
  display: block;
}

/* Появление блоков при скролле (классы вешает stargazer-theme.js).
   Scoped под схему: в остальных темах классы нейтральны. */
[data-md-color-scheme="stargazer"] .sg-reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

[data-md-color-scheme="stargazer"] .sg-reveal.sg-on {
  opacity: 1;
  transform: none;
}

/* --------------------------------------------------------------------------
   12. Движение — уважительно
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  [data-md-color-scheme="stargazer"] .sg-reveal,
  [data-md-color-scheme="stargazer"] .sg-reveal.sg-on {
    opacity: 1;
    transform: none;
    transition: none;
  }

  [data-md-color-scheme="stargazer"] .gallery img,
  [data-md-color-scheme="stargazer"] .md-typeset blockquote,
  [data-md-color-scheme="stargazer"] .md-typeset .admonition,
  [data-md-color-scheme="stargazer"] .md-typeset details,
  [data-md-color-scheme="stargazer"] .md-typeset table:not([class]) tbody tr {
    transition: none;
  }
}