/* Цвета документации берутся из активной палитры темы WordPress (Neve): переменные --nv-*
   отдаёт плагин smlog (REST smlog/v1/theme-css), значения ниже - запасные на случай,
   если сайт недоступен (локальный просмотр build/). Файл копируется build.py в
   build/<part>/custom.css - страницы Dr.Explain подключают его последним. */
@import url("https://www.samovar-tool.ru/wp-json/smlog/v1/theme-css");

:root {
  --nv-site-bg: #121212;
  --nv-light-bg: #1a1a1a;
  --nv-dark-bg: #000000;
  --nv-text-color: #ffffff;
  --nv-text-dark-bg: #ffffff;
  --nv-primary-accent: #00c2ff;
  --nv-secondary-accent: #00c2ff;
  --doc-bg: var(--nv-site-bg);
  --doc-panel: var(--nv-light-bg);
  --doc-text: var(--nv-text-color);
  --doc-accent: var(--nv-primary-accent);
  --doc-border: rgba(128, 128, 128, 0.45);
  --doc-hover: rgba(128, 128, 128, 0.25);
  --doc-mark: rgba(255, 200, 0, 0.35);
}
@supports (color: color-mix(in srgb, red, blue)) {
  :root {
    --doc-border: color-mix(in srgb, var(--nv-text-color) 22%, transparent);
    --doc-hover: color-mix(in srgb, var(--nv-primary-accent) 22%, transparent);
    --doc-mark: color-mix(in srgb, var(--nv-primary-accent) 35%, transparent);
  }
}

/* каркас: страница, шапка, подвал, дерево, поиск */
.b-body { background: var(--doc-bg); color: var(--doc-text); }
.m-pageContent__side__header, .m-pageContent__side__footer, .b-workZone, .b-article, .b-tree,
.b-tabs__wrapperItems, .m-tabs__selectorItem__selected .b-tabs__selectorContent,
.b-workZone.m-workZone__withoutSideNav { background: var(--doc-panel); color: var(--doc-text); }
.b-tabs__wrapperItemInner .os-scrollbar-horizontal, .b-tabs__wrapperItemInner .os-scrollbar-vertical,
.b-tabs__wrapperItemInner .os-scrollbar-corner { background-color: var(--doc-panel) !important; }
.b-tabs__wrapperItemInner .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle { background-color: var(--doc-border) !important; }
.b-tabs__wrapperItemInner .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle,
.b-tabs__wrapperItemInner .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active { background-color: var(--doc-accent) !important; }
.m-pageContent__side__header__wrapper { box-shadow: 0 1px 0 0 var(--doc-border); }
.b-article__wrapper, .b-article__wrapper .os-scrollbar-horizontal, .b-article__wrapper .os-scrollbar-vertical,
.b-article__wrapper .os-scrollbar-corner { background-color: var(--doc-bg) !important; box-shadow: none; }
.b-article__wrapper { box-shadow: inset 0 0 0 1px var(--doc-border); }
.b-tabs__selectorContent, .b-tree__itemLink { color: var(--doc-text) !important; }
.m-tabs__selectorItem__selected .b-tabs__selectorContent { border-bottom-color: var(--doc-accent); }
.m-tabs__selectorItem__hovered .b-tabs__selectorContent { background-color: var(--doc-hover); color: var(--doc-text); }
.m-tree__itemContent__selected { background-color: var(--doc-accent); color: var(--nv-site-bg); }
.m-tree__itemContent__selected .b-tree__itemLink { color: var(--nv-site-bg) !important; }
.b-tree__itemContent:hover { background-color: var(--doc-hover); color: var(--doc-text); }
.m-tree__contextMenu, .b-tree__i_angle_tl_inner, .b-tree__i_angle_tr_inner, .b-tree__i_angle_bl_inner,
.b-tree__i_angle_br_inner, .b-tree__i_hLine_mr_inner, .b-tree__i_vLine_mb_inner, .b-tree__i_vLine_tb_inner,
.b-tree__i_vLine_tm_inner { border-color: var(--doc-border); }
.m-search__tabs .b-search__inputText { color: var(--doc-text); background-color: var(--doc-bg); border-color: var(--doc-border); }
.m-search__tabs .b-search__labelPlaceholder { color: var(--doc-border); }
.b-button { background-color: var(--doc-accent); }
.b-button__text { color: var(--nv-site-bg); }
.b-breadCrumbs__link, .b-breadCrumbs__link:visited, .b-controlButtons__link, .b-controlButtons__link:visited,
tr.topLinkRow a, tr.topLinkRow a:visited { color: var(--doc-accent) !important; border-bottom-color: var(--doc-border) !important; }
.b-breadCrumbs__link:hover, .b-controlButtons__link:hover { color: var(--doc-text) !important; }
.b-breadCrumbs__item:before, .b-breadCrumbs__itemSep, .b-article__generatorCopyright { color: var(--doc-border); }
.b-article__generatorCopyright { border-top-color: var(--doc-border); }
.b-article__generatorCopyrightLink:link, .b-article__generatorCopyrightLink:visited { color: var(--doc-border); border-bottom-color: var(--doc-border); }
.drex_highlight { background-color: var(--doc-mark); }
div.index_page_title, div.index_page { color: var(--doc-text); border-color: var(--doc-border); }
.cloned_node, .hiddenContent { background-color: var(--doc-bg); }
.b-pageLayout.b-pageLayout__xs .b-article__presentSideNavButton, #workZone_nav.topmost .b-workZone__side__nav__dismiss { color: var(--doc-text); }

/* содержимое страниц: Dr.Explain задаёт цвета классами span.de_* и inline-стилями,
   поэтому переопределяем и те, и другие */
div.description_on_page div.p, div.description_on_page div.p a, .m-pageContent__side__header div.p,
.m-pageContent__side__footer div.p, span.code, span.quote,
span.de_0C5455DC09, span.de_16289C7444, span.de_1F692B3E67, span.de_2340FA5F49, span.de_2721A56C0B,
span.de_37245722E7, span.de_496AA02164, span.de_4CD179DA38, span.de_51752156DC, span.de_54CE635358,
span.de_56F4564E24, span.de_585AE78DFF, span.de_7ECBECEBE5, span.de_8175361C4D, span.de_922EDE2353,
span.de_937E0348B4, span.de_93B9A1F82E, span.de_A36F343FC3, span.de_AA8586C066, span.de_AD171DD315,
span.de_AD3B714EC2, span.de_B31CD75A3B, span.de_B7783F760D, span.de_CAB14B116D, span.de_CCD88D350B,
span.de_D68646C8A7, span.de_D8BCB2AC4C, span.de_DABA477879, span.de_DBF328B893, span.de_F485A8891E { color: var(--doc-text); }
h1, h2,
span.de_0F609BFBFC, span.de_181CFA2C5C, span.de_2B94C39861, span.de_510E46C8C2, span.de_6A6C64B13E,
span.de_79F0AA00F6, span.de_81467AB571, span.de_85A8B2DE25, span.de_95DB6CA6B6, span.de_9A907AF931,
span.de_AF2DC2B8B7, span.de_BA298BADA9, span.de_E5AB8B9CEA, span.de_F010B72055, span.de_F7C7BA1F07 { color: var(--doc-accent); }
.description_on_page [style*="color: #000000"], .description_on_page [style*="color:#000000"],
.description_on_page [style*="color:#222222"], .description_on_page [style*="color:#3f3f3f"],
.description_on_page [style*="color:#808080"], .description_on_page [style*="color: #808080"] { color: var(--doc-text) !important; }
.description_on_page [style*="color:#0012ff"], .description_on_page [style*="color:#0000ff"],
.description_on_page [style*="color: #0000ff"] { color: var(--doc-accent) !important; }
.m-pageContent__side__header [style*="color:#f0f0f0"], .m-pageContent__side__header [style*="color:#ffffff"],
.m-pageContent__side__footer [style*="color:#f0f0f0"], .m-pageContent__side__footer [style*="color:#ffffff"] { color: var(--doc-text) !important; }
.description_on_page [style*="border-left-color: #000000"], .description_on_page [style*="border-color: #000000"],
.description_on_page [style*="border-color:#000000"] { border-color: var(--doc-border) !important; }
.description_on_page [style*="background-color:#000000"] { background-color: var(--doc-border) !important; }
.description_on_page img.de_wndimg { border-color: var(--doc-border) !important; border-radius: 4px; }

/* ссылка на PDF в шапке (вставляет build.py) */
.doc-pdf { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); padding: 5px 12px;
  border: 1px solid var(--doc-accent); border-radius: 6px; color: var(--doc-accent); font: 13px Arial, sans-serif;
  text-decoration: none; white-space: nowrap; }
.doc-pdf:hover { background: var(--doc-accent); color: var(--nv-site-bg); }

/* маркеры списков в экспорте Dr.Explain были невидимы (светлые на белом) - сохраняем вид */
.description_on_page .de_list { list-style: none; }

/* переключатель языка документации рядом с кнопкой PDF (build.py, lang.py) */
.doc-lang { position: absolute; right: 150px; top: 50%; transform: translateY(-50%); padding: 5px 12px;
  border: 1px solid var(--doc-accent); border-radius: 6px; color: var(--doc-accent); font: 13px Arial, sans-serif;
  text-decoration: none; white-space: nowrap; }
.doc-lang:hover { background: var(--doc-accent); color: var(--nv-site-bg); }
select.doc-lang { background: transparent; cursor: pointer; padding: 4px 6px; }
select.doc-lang option { background: var(--nv-site-bg); color: var(--doc-accent); }
