/* ============================================================
   dark-theme.css — токены и тёмная тема (Phase 1: shell)

   Активируется атрибутом data-theme="dark" на <html>.
   Атрибут проставляет inline-скрипт из functions.php (no-flash)
   и обработчик кнопки переключения.
   ============================================================ */

/* ── Дизайн-токены ──────────────────────────────────────── */
:root {
    --c-bg:           #ffffff;
    --c-bg-soft:      #f7f3ec;
    --c-text:         #2d2926;
    --c-text-muted:   #6b5a48;
    --c-border:       #ede8e0;
    --c-accent:       #ff6f00;
    --c-link:         #ff6f00;
    --c-card-bg:      #ffffff;
    --c-card-border:  #ede8e0;
    --c-shadow:       0 4px 20px rgba(0,0,0,0.06);
    --c-input-bg:     #fafaf6;
    --c-overlay:      rgba(0,0,0,0.04);
}
html[data-theme="dark"] {
    --c-bg:           #161412;   /* тёплый чёрный */
    --c-bg-soft:      #1f1c19;
    --c-text:         #b8b1a4;   /* приглушённый тёплый серый — комфортнее для долгого чтения */
    --c-text-muted:   #8c8273;
    --c-border:       #3a342c;
    --c-accent:       #ff8a3d;
    --c-link:         #ffa566;
    --c-card-bg:      #1f1c19;
    --c-card-border:  #3a342c;
    --c-shadow:       0 4px 20px rgba(0,0,0,0.4);
    --c-input-bg:     #25211d;
    --c-overlay:      rgba(255,255,255,0.04);
    color-scheme: dark;
}

/* ── Верхнее меню в тёмной теме ─────────────────────────
   Customizer Additional CSS красит кнопки в `background:white;color:#333`
   с оранжевой рамкой. На тёмном фоне эти белые кнопки выбиваются.
   Перекрашиваем: тёмный фон / светлый текст / оранжевая рамка остаётся.
   Hover/current — оранжевая заливка с тёмным текстом (читаемо). */

/* Десктоп — основной горизонтальный ряд кнопок */
html[data-theme="dark"] body #top-menu > li > a,
html[data-theme="dark"] body #top-menu > li > div > a {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body #top-menu > li > a:hover,
html[data-theme="dark"] body #top-menu > li > div > a:hover,
html[data-theme="dark"] body #top-menu .current-menu-item > a,
html[data-theme="dark"] body #top-menu .current_page_item > a,
html[data-theme="dark"] body #top-menu .current-menu-ancestor > a,
html[data-theme="dark"] body #top-menu .current-menu-ancestor > div > a {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
}
/* FA-иконки и chevron ▾ внутри активной/наведённой кнопки —
   тёмный текст вместо оранжевого, чтобы читались на оранжевой заливке */
html[data-theme="dark"] body #top-menu li:hover > a .menu-fa-icon,
html[data-theme="dark"] body #top-menu .current-menu-item > a .menu-fa-icon,
html[data-theme="dark"] body #top-menu .current-menu-ancestor > a .menu-fa-icon {
    color: #1a1a1a !important;
}

/* Десктоп-дропдаун (.sub-menu) */
html[data-theme="dark"] body #top-menu .menu-item-has-children > .sub-menu {
    background: var(--c-card-bg) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body #top-menu .sub-menu .menu-item a {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body #top-menu .sub-menu .menu-item a:hover,
html[data-theme="dark"] body #top-menu .sub-menu .current-menu-item a {
    background: var(--c-bg-soft) !important;
    color: var(--c-accent) !important;
}

/* Мобильное меню (≤767px) — раскрывающийся список */
@media (max-width: 767px) {
    html[data-theme="dark"] body .toggled #top-menu,
    html[data-theme="dark"] body .toggled-on #top-menu {
        background: var(--c-card-bg) !important;
        border-color: var(--c-card-border) !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
    }
    html[data-theme="dark"] body .toggled #top-menu > li > a,
    html[data-theme="dark"] body .toggled-on #top-menu > li > a,
    html[data-theme="dark"] body .toggled #top-menu > li > div > a,
    html[data-theme="dark"] body .toggled-on #top-menu > li > div > a {
        background: var(--c-card-bg) !important;
        color: var(--c-text) !important;
    }
    html[data-theme="dark"] body .toggled #top-menu > li > a:hover,
    html[data-theme="dark"] body .toggled-on #top-menu > li > a:hover,
    html[data-theme="dark"] body .toggled #top-menu > li > div > a:hover,
    html[data-theme="dark"] body .toggled-on #top-menu > li > div > a:hover {
        background: var(--c-bg-soft) !important;
        color: var(--c-accent) !important;
    }
    /* Контурная рамка вокруг каждого пункта (была cyan #4ab3e8) — оранжевая */
    html[data-theme="dark"] body .toggled #top-menu > li,
    html[data-theme="dark"] body .toggled-on #top-menu > li {
        outline-color: var(--c-accent) !important;
    }
    /* Маленькая кнопка ▼ (.dropdown-toggle) — оранжевая рамка */
    html[data-theme="dark"] body .main-navigation .dropdown-toggle {
        border-color: var(--c-accent) !important;
    }
    html[data-theme="dark"] body .main-navigation .dropdown-toggle svg,
    html[data-theme="dark"] body .main-navigation .dropdown-toggle .svg-icon {
        fill: var(--c-accent) !important;
    }
    /* Раскрытое мобильное подменю (Библиография / Публикации / Тесты) */
    html[data-theme="dark"] body .menu-item-has-children > .sub-menu.toggled-on {
        background: var(--c-bg-soft) !important;
    }
    html[data-theme="dark"] body .sub-menu.toggled-on .menu-item a {
        background: var(--c-bg-soft) !important;
        color: var(--c-text) !important;
    }
    html[data-theme="dark"] body .sub-menu.toggled-on .menu-item a:hover {
        background: var(--c-card-bg) !important;
        color: var(--c-accent) !important;
    }
}

/* ── Лейаут (вне зависимости от темы) ──────────────────── */
/* На мобиле .content-block переключается в flex-direction: column;
   но иконка-эмодзи остаётся прижата к левому краю. Центрируем её. */
@media (max-width: 767px) {
    body .content-block { align-items: center !important; }
    body .block-icon { text-align: center !important; }
}

/* ── Унификация светлой темы ─────────────────────────────
   Кремовый «полевой» фон страницы как на /contacts/ — для всех
   страниц одинаково (#f5f3f0). На внутренних страницах раньше
   был чисто белый. */
body {
    background: #f5f3f0;
}
.site-content-contain,
.site-content {
    background: transparent;
}

/* Унифицируем верхнее меню: разные шаблоны страниц перебивали padding
   на .navigation-top .wrap по-разному (одни через `.page .wrap { padding:0 }`
   из page-templates, другие оставляли дефолтный `0.75em 2em` от темы),
   из-за чего меню скакало на ~21px по высоте между разделами.
   Жёстко пиним padding=0 везде. Фон следует теме: светлая = кремовый,
   тёмная = чёрный. */
.navigation-top {
    background: #f5f3f0;     /* кремовый, как body в светлой теме */
}
.navigation-top .wrap {
    padding: 0 !important;
    max-width: 1000px;
    margin: 0 auto;
}

/* ── Кнопка переключателя ──────────────────────────────── */
/* Десктоп: пиним к viewport через position: fixed — иначе на главной
   (.site-branding = table-cell, full width) и на внутренних страницах
   (.site-branding с padding-side 32px) right:16px давал разный
   абсолютный X (расхождение ~32px). С fixed switcher всегда в одной
   и той же точке относительно окна. */
.site-branding { position: relative; }
/* Резервируем место справа в шапке под switcher, чтобы заголовок и
   логотип не наезжали на круглую кнопку (она position:fixed и сидит
   поверх layout-а). 60px (size) + 32px (right offset) + 12px зазор = 104px.
   Селектор начинается с `#masthead` (ID = specificity +100), чтобы
   перебить:
     - Customizer custom_css `.site-branding .wrap { padding: 0 !important }`
     - page-templates `.page .wrap { padding: 0 !important }` */
#masthead .site-branding .wrap,
#masthead .site-branding-text {
    padding-right: 104px !important;
}
.theme-toggle {
    position: fixed;
    /* Центрируем по высоте custom-header (120px) — кнопка ≈половины
       высоты шапки (60px), top считается так, чтобы её центр совпал
       с центром шапки. Шапка начинается под admin-bar (если есть). */
    top: 30px;          /* (120 - 60) / 2 = 30, относительно верха шапки */
    right: 32px;
    z-index: 9999;
    width: 60px;
    height: 60px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: 50%;
    background: rgba(0,0,0,0.50);
    color: #fff;
    cursor: pointer;
    font-size: 26px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, border-color .15s, transform .15s;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    font-family: -apple-system, "Segoe UI Emoji", "Apple Color Emoji", system-ui, sans-serif;
}
/* Залогиненные видят WP admin-bar (32px на десктопе, 46px на узких) —
   шапка визуально начинается ниже на эту высоту, switcher тоже. */
body.admin-bar .theme-toggle {
    top: 62px;          /* 32 (admin-bar) + 30 (центр шапки) */
}
@media (max-width: 782px) {
    body.admin-bar .theme-toggle {
        top: 76px;      /* 46 + 30 */
    }
}
.theme-toggle:hover {
    background: rgba(0,0,0,0.65);
    border-color: rgba(255,255,255,0.75);
    transform: scale(1.06);
}
.theme-toggle:focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
}
.theme-toggle .ic-sun,
.theme-toggle .ic-moon {
    display: inline-block;
}
.theme-toggle .ic-moon { display: none; }
html[data-theme="dark"] .theme-toggle .ic-sun  { display: none; }
html[data-theme="dark"] .theme-toggle .ic-moon { display: inline-block; }

/* ─── Переключатель языка (рядом с theme-toggle) ─────────────── */
.lang-switcher {
    position: fixed;
    top: 36px;          /* центр шапки 120px */
    right: 104px;       /* 32 + 60 (theme-toggle) + 12 gap */
    z-index: 9999;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
body.admin-bar .lang-switcher { top: 68px; }
@media (max-width: 782px) {
    body.admin-bar .lang-switcher { top: 82px; }
}
.lang-switcher-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 48px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: 26px;
    background: rgba(0,0,0,0.50);
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    transition: background .15s, border-color .15s, transform .15s;
    font-family: inherit;
}
.lang-switcher-toggle:hover {
    background: rgba(0,0,0,0.65);
    border-color: rgba(255,255,255,0.75);
    transform: scale(1.04);
}
.lang-switcher-toggle .lang-flag { font-size: 18px; line-height: 1; }
.lang-switcher-toggle .lang-code { letter-spacing: 0.5px; }
.lang-switcher-toggle .lang-chevron {
    font-size: 12px;
    opacity: 0.85;
    transition: transform .2s;
}
.lang-switcher.open .lang-switcher-toggle .lang-chevron { transform: rotate(180deg); }

.lang-switcher-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 170px;
    margin: 0;
    padding: 6px;
    list-style: none;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    border: 1px solid rgba(0,0,0,0.08);
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.lang-switcher.open .lang-switcher-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.lang-switcher-menu li { margin: 0; padding: 0; }
.lang-switcher-menu .lang-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #1f2937;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: background .12s;
}
.lang-switcher-menu .lang-item:hover { background: #f0f4fa; color: #1f2937; }
.lang-switcher-menu .lang-item.is-current {
    background: linear-gradient(135deg, rgba(102,126,234,.12), rgba(118,75,162,.14));
    color: #4338ca;
}
.lang-switcher-menu .lang-item .lang-flag { font-size: 18px; line-height: 1; }

/* Дарк-режим — выпадашка тёмная */
html[data-theme="dark"] .lang-switcher-menu {
    background: #1f2937;
    border-color: rgba(255,255,255,0.10);
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}
html[data-theme="dark"] .lang-switcher-menu .lang-item { color: #e5e7eb; }
html[data-theme="dark"] .lang-switcher-menu .lang-item:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
}
html[data-theme="dark"] .lang-switcher-menu .lang-item.is-current {
    background: linear-gradient(135deg, rgba(102,126,234,.28), rgba(118,75,162,.30));
    color: #fff;
}

@media (max-width: 600px) {
    .lang-switcher { top: 14px; right: 60px; }
    body.admin-bar .lang-switcher { top: 60px; }
    .lang-switcher-toggle {
        height: 40px;
        padding: 0 10px;
        font-size: 12px;
        gap: 4px;
    }
    .lang-switcher-toggle .lang-flag { font-size: 15px; }
}

@media (max-width: 600px) {
    /* ── Мобильная шапка: трёхколоночная компоновка ────────────
       [Лого] [Заголовок (2 строки)] [Переключатель темы]      */
    .site-branding {
        padding: 0.8em 0 !important;
    }
    #masthead .site-branding .wrap {
        display: flex !important;
        align-items: center;
        gap: 10px;
        flex-wrap: nowrap;
        max-width: 100%;
        box-sizing: border-box;
        /* 44px switcher + 16px right offset + 12px зазор = 72px */
        padding-right: 72px !important;
    }
    #masthead .site-branding-text {
        padding-right: 0 !important;     /* offset уже на .wrap */
    }
    .custom-logo-link {
        flex: 0 0 auto;
        padding-right: 0 !important;
        margin: 0;
    }
    .custom-logo-link img {
        max-height: 44px !important;
        width: auto;
    }
    body:not(.title-tagline-hidden) .site-branding-text {
        flex: 1 1 auto;
        min-width: 0;                    /* позволяет flex-ребёнку сжиматься и переносить */
        display: block !important;
        max-width: none !important;
        padding-right: 0 !important;
    }
    /* Перебиваем inline-стили (из WPCode), у которых .site-title a имеет
       white-space: nowrap !important, а .site-branding-text — overflow: hidden.
       Бампим специфичность через body, чтобы точно выиграть. */
    body .site-branding-text {
        overflow: visible !important;
        text-overflow: clip !important;
    }
    body .site-title,
    body .site-title a,
    body h1.site-title,
    body p.site-title {
        font-size: 11px !important;
        line-height: 1.25 !important;
        letter-spacing: 0.02em !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        hyphens: auto;
        max-width: 100% !important;
        padding-right: 0 !important;
        display: block !important;
    }
    .site-description {
        font-size: 10.5px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        overflow: visible !important;
    }
    /* Переключатель остаётся position:fixed (см. основное правило выше),
       просто на узких экранах делаем его компактнее и сдвигаем чуть
       ниже под admin-bar. Position:static больше не нужен — кнопка
       перенесена JS-ом в <body> и не сидит внутри .site-branding. */
    .theme-toggle {
        width: 44px !important;
        height: 44px !important;
        font-size: 20px !important;
        top: 12px !important;
        right: 16px !important;
    }
    body.admin-bar .theme-toggle {
        top: 58px !important;   /* 46 (admin-bar mobile) + 12 */
    }
}

/* ============================================================
   ТЁМНАЯ ТЕМА: PHASE 1 — обвязка (shell)
   ============================================================ */

/* ── Базовый body / page ───────────────────────────────── */
/* Общий фон страницы в тёмной теме — чёрный (#000). Карточки и
   подконтейнеры остаются `--c-card-bg` (#1f1c19) — тёплый чёрный.
   !important — потому что в теме много inline-<style> блоков (per-page
   WPCode CSS), которые грузятся ПОСЛЕ этого файла и могут перебивать
   по source order. */
html[data-theme="dark"] body {
    background: #000 !important;
    color: var(--c-text);
}
html[data-theme="dark"] body #page,
html[data-theme="dark"] body .site-content-contain {
    background: #000 !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .site-content,
html[data-theme="dark"] body .site-main,
html[data-theme="dark"] body .content-area {
    background: #000;
    color: var(--c-text);
}

/* ── Шапка / навигация ─────────────────────────────────── */
html[data-theme="dark"] #masthead,
html[data-theme="dark"] .site-header {
    background: var(--c-bg-soft);
}
html[data-theme="dark"] .site-branding,
html[data-theme="dark"] .site-branding-text {
    color: var(--c-text);
}
html[data-theme="dark"] .site-title,
html[data-theme="dark"] .site-title a,
html[data-theme="dark"] .site-description {
    color: var(--c-text);
}
html[data-theme="dark"] .navigation-top,
html[data-theme="dark"] .main-navigation {
    background: #000 !important;
    border-color: var(--c-border);
}
html[data-theme="dark"] .navigation-top a,
html[data-theme="dark"] .main-navigation a {
    color: var(--c-text);
}
html[data-theme="dark"] .navigation-top a:hover,
html[data-theme="dark"] .main-navigation a:hover {
    color: var(--c-accent);
}

/* ── Футер ─────────────────────────────────────────────── */
html[data-theme="dark"] body #colophon,
html[data-theme="dark"] body .site-footer {
    background: #0e0c0a !important;          /* темнее чем var(--c-bg-soft) #1f1c19 — почти сливается с body #000 */
    color: var(--c-text) !important;
    /* Тонкая рамочка тёплого тёмно-серого + мягкий оранжевый ореол-свечение,
       чтобы карточка футера читалась на чёрном body и при этом
       перекликалась с акцентным цветом сайта. Перебиваем
       Customizer wp-custom-css ("border: 1px solid #eee !important", blur). */
    border: 1px solid rgba(255,138,61,0.22) !important;
    box-shadow:
        0 0 28px rgba(255,138,61,0.16),
        0 0 70px rgba(255,138,61,0.12),
        0 -2px 18px rgba(255,138,61,0.09) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
html[data-theme="dark"] .site-footer .widget,
html[data-theme="dark"] .site-footer .widget p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] .site-footer a,
html[data-theme="dark"] .site-info a {
    color: var(--c-link) !important;
}
html[data-theme="dark"] .site-footer a:hover,
html[data-theme="dark"] .site-info a:hover {
    color: var(--c-accent) !important;
}
/* Заголовки виджетов («Контакты», «График работы», «Соцсети») —
   оранжевый акцент как в светлой теме, чтобы сохранить визуальный
   ритм; меняем только цвет нижней разделительной черты под фон тёмной. */
html[data-theme="dark"] .site-footer .widget h2,
html[data-theme="dark"] .site-footer .widget h3,
html[data-theme="dark"] .site-footer .widget h4 {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-border) !important;
}
/* Курсивная сноска внизу — приглушённый текст. */
html[data-theme="dark"] .site-footer .footer-note p {
    color: var(--c-text-muted) !important;
}
/* SVG-иконки контактов/мессенджеров с fill="currentColor" (Email, IMO)
   автоматически подхватывают цвет текста — это уже работает.
   У брендовых иконок (WhatsApp, Telegram, Instagram, YouTube) fill
   зашит в HTML inline и одинаков для обеих тем — оставляем как есть,
   фирменные цвета хорошо читаются и на тёмном фоне. */

/* ── Прочие мелочи обвязки ─────────────────────────────── */
html[data-theme="dark"] .skip-link:focus {
    background: var(--c-bg-soft);
    color: var(--c-text);
    box-shadow: 0 0 2px 2px var(--c-accent);
}
html[data-theme="dark"] hr {
    border-color: var(--c-border);
    background-color: var(--c-border);
}
html[data-theme="dark"] ::selection {
    background: var(--c-accent);
    color: #1a1a1a;
}

/* ── Плавное переключение ──────────────────────────────── */
body,
#page,
.site-content-contain,
.site-content,
.site-main,
.content-area,
#masthead,
.site-header,
.navigation-top,
.main-navigation,
#colophon,
.site-footer {
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

/* ============================================================
   ТЁМНАЯ ТЕМА: PHASE 2 — контент
   ============================================================ */

/* ── Базовая текстовая разметка контента ───────────────── */
html[data-theme="dark"] body p,
html[data-theme="dark"] body h1,
html[data-theme="dark"] body h2,
html[data-theme="dark"] body h3,
html[data-theme="dark"] body h4,
html[data-theme="dark"] body h5,
html[data-theme="dark"] body h6,
html[data-theme="dark"] body li,
html[data-theme="dark"] body dt,
html[data-theme="dark"] body dd,
html[data-theme="dark"] body td,
html[data-theme="dark"] body th,
html[data-theme="dark"] body label,
html[data-theme="dark"] body blockquote,
html[data-theme="dark"] body figcaption {
    color: var(--c-text);
}
html[data-theme="dark"] body small,
html[data-theme="dark"] body .text-muted,
html[data-theme="dark"] body em.muted {
    color: var(--c-text-muted);
}
html[data-theme="dark"] body a {
    color: var(--c-link);
}
html[data-theme="dark"] body strong,
html[data-theme="dark"] body b {
    color: var(--c-text);
}
html[data-theme="dark"] body code,
html[data-theme="dark"] body pre,
html[data-theme="dark"] body kbd,
html[data-theme="dark"] body samp {
    background: var(--c-bg-soft);
    color: var(--c-text);
}
html[data-theme="dark"] body input[type="text"],
html[data-theme="dark"] body input[type="email"],
html[data-theme="dark"] body input[type="search"],
html[data-theme="dark"] body input[type="number"],
html[data-theme="dark"] body input[type="tel"],
html[data-theme="dark"] body input[type="url"],
html[data-theme="dark"] body input[type="password"],
html[data-theme="dark"] body input[type="date"],
html[data-theme="dark"] body select,
html[data-theme="dark"] body textarea {
    background: var(--c-input-bg);
    color: var(--c-text);
    border-color: var(--c-border);
}

/* ── Главная страница (about-me-page) ──────────────────── */
html[data-theme="dark"] body .about-me-page {
    background: #000 !important;       /* общий фон страницы — чёрный */
    color: var(--c-text);
}
html[data-theme="dark"] body .extra-card,
html[data-theme="dark"] body .block-text {
    background: var(--c-card-bg) !important;
    color: var(--c-text);
    border-color: var(--c-card-border);
}
/* Приветственная часть (.about-hero) — чёрный фон в тон странице.
   .about-greeting (слово ПРИВЕТ!) — без собственного фона, прозрачно
   на фоне welcome-карточки. */
html[data-theme="dark"] body .about-hero {
    background: #000 !important;
    color: var(--c-text);
    border-color: var(--c-card-border);
}
html[data-theme="dark"] body .about-greeting {
    background: transparent !important;
    color: var(--c-text);
}
/* Главная: страховочный чёрный фон на обёртках article/panel,
   чтобы между блоками и до футера не светил белый. */
html[data-theme="dark"] body.twentyseventeen-front-page .twentyseventeen-panel,
html[data-theme="dark"] body.twentyseventeen-front-page .panel-content,
html[data-theme="dark"] body.twentyseventeen-front-page .panel-content .wrap,
html[data-theme="dark"] body.twentyseventeen-front-page article.page,
html[data-theme="dark"] body.twentyseventeen-front-page .entry-content {
    background: #000 !important;
}
/* Welcome-card: общий контейнер приветственного блока — тёмный фон карточки + тонкая рамка */
html[data-theme="dark"] body .about-hero-content {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
}
/* CTA-баннер «Готовы сделать первый шаг?» */
html[data-theme="dark"] body .cta-bottom-section {
    background: linear-gradient(135deg, #1e3a36 0%, #25524a 50%, #1e3a36 100%) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .cta-bottom-section::before {
    background: radial-gradient(circle at 30% 40%, rgba(44,213,184,0.10) 0%, transparent 60%) !important;
}
html[data-theme="dark"] body .cta-bottom-title {
    background: transparent !important;
    color: var(--c-text) !important;
    border: none !important;
}
html[data-theme="dark"] body .btn-cta-bottom,
html[data-theme="dark"] body .btn-about-green {
    background: linear-gradient(135deg, #00d4b8, #00bfa5) !important;
    color: #0d1f1d !important;
    box-shadow: 0 4px 14px rgba(0,212,184,0.35);
}
html[data-theme="dark"] body .btn-cta-bottom:hover,
html[data-theme="dark"] body .btn-about-green:hover {
    background: linear-gradient(135deg, #2cd5b8, #00d4b8) !important;
    color: #000 !important;
    font-weight: 700 !important;
}
html[data-theme="dark"] body .about-greeting,
html[data-theme="dark"] body .about-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .about-subtitle {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .edu-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .edu-text a,
html[data-theme="dark"] body .edu-text a strong,
html[data-theme="dark"] body .edu-text strong a {
    color: var(--c-link) !important;
}
html[data-theme="dark"] body .edu-text a:hover,
html[data-theme="dark"] body .edu-text a:hover strong,
html[data-theme="dark"] body .edu-text strong a:hover {
    color: var(--c-accent) !important;
}
/* Бейдж «Практика с 2002…» — тёплый, тонированный под тёмную тему */
html[data-theme="dark"] body .info-badge {
    background: linear-gradient(135deg, rgba(255,138,61,0.15) 0%, rgba(255,138,61,0.08) 100%) !important;
    border-left-color: var(--c-accent);
    color: var(--c-text);
}
html[data-theme="dark"] body .info-badge .badge-text,
html[data-theme="dark"] body .info-badge strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .footer-note {
    color: var(--c-text-muted);
}

/* Главная: верхние табы (Коротко обо мне / Экзистенциальная / EMDR) */
html[data-theme="dark"] body .home-tab-btn {
    background: var(--c-bg-soft) !important;
    color: var(--c-accent) !important;
    border-color: var(--c-accent);
}
html[data-theme="dark"] body .home-tab-btn:hover,
html[data-theme="dark"] body .home-tab-btn.active {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
}
html[data-theme="dark"] body .home-tab-content {
    background: var(--c-card-bg) !important;
    color: var(--c-text);
    border-color: var(--c-accent);
}
html[data-theme="dark"] body .home-tab-content h3 {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .home-tab-content p,
html[data-theme="dark"] body .home-tab-content li {
    color: var(--c-text) !important;
}

/* Главная: блок «Как я работаю как психолог» — нижние табы */
html[data-theme="dark"] body .tabs-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border);
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .work-tab-buttons {
    background: var(--c-bg-soft) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .work-tab-btn {
    color: var(--c-text-muted) !important;
    background: transparent !important;
}
html[data-theme="dark"] body .work-tab-btn:hover {
    color: #2cd5b8 !important;
    background: rgba(44,213,184,0.10) !important;
}
html[data-theme="dark"] body .work-tab-btn.active {
    color: #2cd5b8 !important;
    background: rgba(44,213,184,0.12) !important;
    border-bottom: 2px solid #2cd5b8 !important;
}
html[data-theme="dark"] body .work-tab-content-wrap {
    background: var(--c-card-bg) !important;
    color: var(--c-text);
}

/* Мобильная версия табов на главной — центрируем текст и
   усиливаем выделение активного. */
@media (max-width: 600px) {
    body .work-tab-buttons {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0;
    }
    body .work-tab-btn {
        text-align: center !important;
        justify-content: center !important;
        padding: 14px 16px !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
        border-bottom: 1px solid var(--c-card-border) !important;
    }
    body .work-tab-btn:last-child {
        border-bottom: 0 !important;
    }
    /* Активный таб — насыщенный бирюзовый фон + жирный левый бордер */
    body .work-tab-btn.active,
    html[data-theme="dark"] body .work-tab-btn.active {
        background: rgba(44,213,184,0.15) !important;
        color: #2cd5b8 !important;
        font-weight: 700 !important;
        border-left: 4px solid #2cd5b8 !important;
        border-bottom: 1px solid var(--c-card-border) !important;
    }
}

/* Главная: контент-боксы внутри табов («белые прямоугольники» с текстом) */
html[data-theme="dark"] body .info-box,
html[data-theme="dark"] body .help-item,
html[data-theme="dark"] body .hint-box {
    background: var(--c-bg-soft) !important;
    color: var(--c-text);
    border-color: var(--c-border);
}
/* hint-box "Кстати, в верхней раскрывающейся менюшке…" — текст светлый */
html[data-theme="dark"] body .hint-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .hint-text strong {
    color: #2cd5b8 !important;
}
/* Содержательные блоки внутри всех табов «В чём фишка / Когда могу помочь /
   Когда не могу помочь / Моё образование» — каждый пункт отдельной
   карточкой с тонкой бирюзовой рамкой на тёпло-чёрном фоне.
   .about-me-page — добавлен для специфичности (Phase 3 правило
   [class$="-page"] [class*="-item"] перебивало без него). */
html[data-theme="dark"] body .about-me-page .work-tab-pane .content-block,
html[data-theme="dark"] body .about-me-page .work-tab-pane .help-item,
html[data-theme="dark"] body .about-me-page .work-tab-pane .restriction-item {
    background: var(--c-bg-soft) !important;
    border: 1px solid rgba(44,213,184,0.30) !important;
    border-radius: 12px !important;
    padding: 18px 22px !important;
    margin-bottom: 14px !important;
    transition: border-color 0.25s, box-shadow 0.25s !important;
}
html[data-theme="dark"] body .about-me-page .work-tab-pane .content-block:hover,
html[data-theme="dark"] body .about-me-page .work-tab-pane .help-item:hover,
html[data-theme="dark"] body .about-me-page .work-tab-pane .restriction-item:hover {
    border-color: rgba(44,213,184,0.55) !important;
    box-shadow: 0 4px 14px rgba(44,213,184,0.12) !important;
}
/* Restriction-item — добавляем красный акцент-полосу слева,
   чтобы визуально отличались от help-item, но фон/рамка как у всех. */
html[data-theme="dark"] body .about-me-page .work-tab-pane .restriction-item {
    border-left: 4px solid #d32f2f !important;
}
html[data-theme="dark"] body .restriction-item p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .restriction-item strong {
    color: #ff7878 !important;
}
html[data-theme="dark"] body .edu-row {
    background: var(--c-bg-soft) !important;
    color: var(--c-text);
    border-color: var(--c-border) !important;
}
html[data-theme="dark"] body .edu-row:hover {
    background: var(--c-card-bg) !important;
    border-color: #2cd5b8 !important;
    box-shadow: 0 3px 12px rgba(44,213,184,0.15);
}
html[data-theme="dark"] body .edu-doc-thumb {
    background: var(--c-bg) !important;
    border-color: var(--c-border);
}
html[data-theme="dark"] body .extra-card {
    background: var(--c-bg-soft) !important;
    color: var(--c-text);
    border-color: var(--c-border) !important;
}
html[data-theme="dark"] body .extra-card h4 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .extra-card p {
    color: var(--c-text-muted) !important;
}

/* ── Биография ─────────────────────────────────────────── */
html[data-theme="dark"] body .bio-page,
html[data-theme="dark"] body .bio-hero {
    background: #000 !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .bio-hero-inner {
    background: var(--c-card-bg) !important;
    color: var(--c-text);
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .bio-hero-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .bio-main-title,
html[data-theme="dark"] body .bio-subtitle {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .bio-tag {
    background: rgba(255,138,61,0.10) !important;
    border-color: rgba(255,138,61,0.30) !important;
    color: var(--c-accent) !important;
}
/* Контейнер фото биографии — точно под аспект (1154×1791, портрет ~2:3),
   фото уже обрезано до головы и плеч, без агрессивных object-fit костылей. */
body .bio-hero-photo {
    width: 260px !important;
    height: auto !important;
    aspect-ratio: 1154 / 1791 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 auto !important;
    /* Эталонная бирюзовая тень + рамка (см. photo_shadow_style.md) */
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
}
body .bio-hero-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit;
}
/* Тёмная тема — единая бирюзовая тень/рамка для всех фото-карточек */
html[data-theme="dark"] body .bio-hero-photo {
    background: var(--c-card-bg) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
}
/* Мобила/планшет: контейнер строго под аспект фото 1154/1791 (~2:3). */
@media (max-width: 768px) {
    body .bio-hero-photo {
        width: 200px !important;
        height: 310px !important;       /* 200 × 1791/1154 ≈ 310 */
        border-radius: 12px !important;
    }
}
@media (max-width: 380px) {
    body .bio-hero-photo {
        width: 170px !important;
        height: 264px !important;       /* 170 × 1791/1154 ≈ 264 */
    }
}
/* Таймлайн */
html[data-theme="dark"] body .timeline-section {
    background: var(--c-card-bg) !important;
    color: var(--c-text);
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .timeline-icon {
    background: var(--c-card-bg) !important;
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .timeline-card {
    background: var(--c-bg-soft) !important;
    color: var(--c-text);
    border-left-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .timeline-card:hover {
    background: var(--c-bg) !important;
    box-shadow: 0 6px 20px rgba(255,138,61,0.18);
}
html[data-theme="dark"] body .timeline-card h3,
html[data-theme="dark"] body .timeline-card p,
html[data-theme="dark"] body .timeline-card li {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .timeline-card strong.highlight-orange,
html[data-theme="dark"] body .timeline-card em.highlight-orange {
    background-color: rgba(255,138,61,0.18) !important;
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .closing-message {
    background: linear-gradient(135deg, rgba(255,138,61,0.12) 0%, rgba(255,138,61,0.06) 100%) !important;
    color: var(--c-text) !important;
    border: 1px solid rgba(255,138,61,0.22);
}

/* ── «Мне доверяют» (/theytrustme/) ────────────────────── */
html[data-theme="dark"] body .trust-page {
    background: #000 !important;
    color: var(--c-text);
}
/* Hero-карточка («Мне доверяют» + фото) и сетка с логотипами — обе карточки
   тёплый чёрный с тонкой окантовкой, чтобы выглядели цельно и консистентно. */
html[data-theme="dark"] body .trust-hero-card,
html[data-theme="dark"] body .trust-grid-section {
    background: #1f1c19 !important;            /* fallback hex для var(--c-card-bg) */
    background: var(--c-card-bg) !important;
    color: var(--c-text);
    border: 1px solid #3a342c !important;       /* fallback hex для var(--c-card-border) */
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
}
/* Контейнер фото — точно под аспект фото (2000×1955 ≈ 1:0.978),
   аккуратная рамочка и скруглённые углы. Применяется обоим темам.
   Высота вычисляется через aspect-ratio, чтобы не было пустот сверху/снизу. */
body .trust-hero-photo {
    width: 240px !important;
    height: auto !important;
    aspect-ratio: 2000 / 1955 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
}
body .trust-hero-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit;
}
/* Тёмная тема — единая бирюзовая тень/рамка */
html[data-theme="dark"] body .trust-hero-photo {
    background: var(--c-card-bg) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
}
/* Мобила — масштаб + центровка */
@media (max-width: 600px) {
    body .trust-hero-photo {
        width: 200px !important;
        border-radius: 12px !important;
        margin: 0 auto !important;
    }
}
html[data-theme="dark"] body .trust-hero-text h1,
html[data-theme="dark"] body .trust-hero-text p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .trust-tag {
    background: rgba(44,213,184,0.12) !important;
    border-color: rgba(44,213,184,0.30) !important;
    color: #2cd5b8 !important;
}
html[data-theme="dark"] body .trust-card {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-border) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
html[data-theme="dark"] body .trust-card:hover {
    background: var(--c-bg) !important;
    box-shadow: 0 4px 16px rgba(255,138,61,0.20);
}
/* Контейнеры превью (логотипы, фото, миниатюры писем) в дарке —
   тёплый ночной фон вместо белого, чтобы не «белило» на тёмной странице.
   Логотипы партнёров рассчитаны на светлый фон, поэтому даём им мягкое
   свечение через box-shadow и slightly higher opacity на изображениях,
   чтобы тёмные элементы лого оставались различимы. */
html[data-theme="dark"] body .trust-logo,
html[data-theme="dark"] body .trust-doc,
html[data-theme="dark"] body .trust-doc2 {
    background: var(--c-bg) !important;
    border: 1px solid var(--c-border) !important;
}
html[data-theme="dark"] body .trust-doc img,
html[data-theme="dark"] body .trust-doc2 img {
    border-color: var(--c-border) !important;
    background: #fff;
}
/* Текст-плейсхолдер вместо лого (карточка «Российское Психологическое
   Сообщество») — в светлой теме hardcoded color:#2c3e50 на span'е,
   что на новом тёмном фоне .trust-logo сливается с подложкой. */
html[data-theme="dark"] body .trust-logo span {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .trust-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .trust-link a {
    color: #2cd5b8 !important;
}
html[data-theme="dark"] body .trust-link a:hover {
    color: #4be6c8 !important;
}
/* .trust-desc — мелкая подпись под названием карточки. В светлой #999
   нормально читается на белом, но на тёмном фоне теряет тёплый тон. */
html[data-theme="dark"] body .trust-desc {
    color: var(--c-text-muted) !important;
}
/* .trust-doc-btn .plb-thumb — компактная кнопка «📄 Ver recomendação»
   (используется на PT-версии /pt/depoimentos/). В светлой теме —
   тёплый кремово-золотой градиент. В тёмной этот цвет выбивается
   ярким пятном; перекрашиваем в акцентный оранжевый с приглушённой
   заливкой, чтобы кнопка читалась как «акция», но не слепила. */
html[data-theme="dark"] body .trust-doc-btn .plb-thumb {
    background: linear-gradient(135deg, rgba(255,138,61,0.18), rgba(255,138,61,0.28)) !important;
    border: 1px solid rgba(255,138,61,0.45) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .trust-doc-btn .plb-thumb:hover {
    background: linear-gradient(135deg, rgba(255,138,61,0.28), rgba(255,138,61,0.42)) !important;
    border-color: var(--c-accent) !important;
    box-shadow: 0 2px 10px rgba(255,138,61,0.25) !important;
    color: #fff !important;
}

/* ── Публикации (/publications/) ─────────────────────── */

/* Hero-блок «Статьи по психотерапии…» — тёплый чёрный фон вместо
   кремового градиента, оранжевая полоска слева сохраняется. */
html[data-theme="dark"] body .publications-header {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .publications-h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .publications-lead {
    color: var(--c-text) !important;
}
/* .publications-h1 .accent — градиент-текст, на тёмном читается, оставляем как есть. */
/* .publications-eyebrow — оранжевый бейджик, оставляем как есть. */
html[data-theme="dark"] body .publications-header::after {
    color: var(--c-accent) !important;
    opacity: 0.10;
}

/* Тулбар поиска / фильтра — карточка */
html[data-theme="dark"] body .articles-toolbar {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .articles-count-info,
html[data-theme="dark"] body .articles-per-page label {
    color: var(--c-text) !important;
    background: transparent !important;       /* в исходнике может быть подсвечено */
}
html[data-theme="dark"] body .articles-count-info span {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .custom-select {
    background: var(--c-input-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-border) !important;
}
html[data-theme="dark"] body .custom-select:hover,
html[data-theme="dark"] body .custom-select:focus {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .custom-select-wrapper::after {
    color: var(--c-accent) !important;
}

/* Карточки статей — тёплый чёрный с рамкой */
html[data-theme="dark"] body .article-item {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
    color: var(--c-text);
}
html[data-theme="dark"] body .article-item:hover {
    border-color: var(--c-accent) !important;
    box-shadow: 0 6px 20px rgba(255,138,61,0.20);
}
html[data-theme="dark"] body .article-content {
    background: var(--c-card-bg) !important;
    color: var(--c-text);
    border-color: var(--c-card-border);
}

/* Текстовая часть карточки статьи — контрастные цвета.
   Перебивает inline color: #222222/#666666/#999999 за счёт более высокой
   специфичности: html[data-theme=dark] body .article-title-small (0,3,2). */
html[data-theme="dark"] body .article-title,
html[data-theme="dark"] body .article-title-small,
html[data-theme="dark"] body .article-link,
html[data-theme="dark"] body .article-meta {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .article-text {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .article-date-small {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .article-item:hover .article-title-small {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .article-link {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .article-link:hover {
    color: #ff9a52 !important;
}
html[data-theme="dark"] body .article-category-tag {
    background: rgba(46,125,50,0.20) !important;
    color: #7dd87d !important;
    border-color: transparent !important;
}

/* Контейнер превью-картинки — тёмный фон вместо #f5f5f5,
   фото обрезаются по краям через object-fit: cover вместо contain.
   Селектор более специфичный, чем archive .post-type-archive-publication. */
html[data-theme="dark"] body .article-image-small {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    overflow: hidden !important;
}
html[data-theme="dark"] body .post-type-archive-publication .article-image-small img,
html[data-theme="dark"] body .article-image-small img {
    background: transparent !important;
    object-fit: cover !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Пагинация (если есть) */
html[data-theme="dark"] body .articles-pagination .pagination-btn,
html[data-theme="dark"] body .articles-pagination button {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-border) !important;
}
html[data-theme="dark"] body .articles-pagination .pagination-btn.active,
html[data-theme="dark"] body .articles-pagination .pagination-btn:hover {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
    border-color: var(--c-accent) !important;
}

html[data-theme="dark"] body .back-link {
    color: var(--c-link) !important;
}

/* ── «Что обо мне пишут» (/reviews/) ──────────────────── */

/* Переопределяем переменные reviews-system.css в тёмной теме —
   через них автоматом получаются review-card, btn-add-review,
   reviews-pagination, .star-rating-input и пр. */
html[data-theme="dark"] body {
    --accent: #ff8a3d;
    --accent-hover: #ff7733;
    --accent-light: rgba(255, 138, 61, 0.12);
    --accent-glow: rgba(255, 138, 61, 0.28);
    --bg-main: #161412;
    --bg-card: #1f1c19;
    --text-main: #ede8de;
    --text-muted: #b5a994;
    --border-light: #3a342c;
    --green-text: #7dd87d;
}

/* Hero-блок страницы (фото слева, заголовок справа) */
html[data-theme="dark"] body .reviews-outer {
    background: #000 !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .reviews-hero-card,
html[data-theme="dark"] body .reviews-content-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
    color: var(--c-text);
}
html[data-theme="dark"] body .reviews-hero-text h1,
html[data-theme="dark"] body .reviews-hero-text p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .reviews-tag {
    background: rgba(255,138,61,0.12) !important;
    border-color: rgba(255,138,61,0.30) !important;
    color: var(--c-accent) !important;
}

/* Hero-фото — landscape 1080×810 (4:3). Применяется обоим темам:
   точное соотношение, скруглённые углы, в тёмной — рамочка. */
body .reviews-hero-photo {
    width: 240px !important;
    height: 180px !important;       /* 240 × 810/1080 = 180 */
    aspect-ratio: 1080 / 810 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
}
body .reviews-hero-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit;
}
html[data-theme="dark"] body .reviews-hero-photo {
    background: var(--c-card-bg) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
}
@media (max-width: 768px) {
    body .reviews-hero-photo {
        width: 220px !important;
        height: 165px !important;
        border-radius: 12px !important;
    }
}
@media (max-width: 380px) {
    body .reviews-hero-photo {
        width: 180px !important;
        height: 135px !important;
    }
}

/* Точечные оверрайды для review-card (на случай если переменные
   не покроют что-то с !important на инлайн-стилях) */
html[data-theme="dark"] body .review-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .review-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
}
html[data-theme="dark"] body .review-content,
html[data-theme="dark"] body .review-author-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .review-meta-item,
html[data-theme="dark"] body .review-footer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .review-quote-mark {
    color: rgba(255,138,61,0.18) !important;
}
html[data-theme="dark"] body .review-stars {
    color: #ffc857 !important;             /* чуть ярче жёлтого, лучше на тёмном */
}
html[data-theme="dark"] body .review-source-link {
    background: var(--c-bg-soft) !important;
    color: var(--c-accent) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .review-source-link:hover {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .review-author-avatar {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
}

/* Тулбар фильтра + кнопка «Добавить отзыв» — без собственной
   рамки/тени, плюс отступ снизу, чтобы не слипался с лентой отзывов. */
html[data-theme="dark"] body .reviews-controls {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin-bottom: 24px;
}
html[data-theme="dark"] body .reviews-count-info,
html[data-theme="dark"] body .reviews-per-page label {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .reviews-count-info span {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .btn-add-review {
    color: #1a1a1a !important;
    /* gradient на --accent, --accent-hover автоматически из переменных */
}

/* Пагинация */
html[data-theme="dark"] body .pagination-btn {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pagination-btn:hover,
html[data-theme="dark"] body .pagination-btn.active {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pagination-info {
    color: var(--c-text-muted) !important;
}

/* Модалка добавления отзыва */
html[data-theme="dark"] body .review-modal-overlay {
    background: rgba(0,0,0,0.75) !important;
}
html[data-theme="dark"] body .review-modal-content {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .review-form-header,
html[data-theme="dark"] body .review-form-icon {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .form-group label {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .form-group input,
html[data-theme="dark"] body .form-group textarea,
html[data-theme="dark"] body .form-group select {
    background: var(--c-input-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .form-group input:focus,
html[data-theme="dark"] body .form-group textarea:focus {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .char-counter {
    color: var(--c-text-muted) !important;
}
/* Пустые звёзды в форме отзыва — видимые силуэты на тёмном фоне */
html[data-theme="dark"] body .star-rating-input label {
    color: rgba(255,255,255,0.28) !important;
}
/* Выбранная и подсвеченная при наведении — яркий жёлтый (overrides
   общий dark rule выше, у которого !important). */
html[data-theme="dark"] body .star-rating-input label:hover,
html[data-theme="dark"] body .star-rating-input label:hover ~ label,
html[data-theme="dark"] body .star-rating-input input[type="radio"]:checked ~ label {
    color: #ffc107 !important;
    text-shadow: 0 0 6px rgba(255,193,7,0.45);
}
html[data-theme="dark"] body .review-modal-close {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .review-modal-close:hover {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .form-message.success {
    background: rgba(46,125,50,0.20) !important;
    color: #7dd87d !important;
}
html[data-theme="dark"] body .form-message.error {
    background: rgba(211,47,47,0.20) !important;
    color: #ff8a8a !important;
}

/* ── Каталог тестов (/tests/) ──────────────────────────── */

/* Обёртка страницы — светлый градиент (#f5f7fa → #c3cfe2) меняем на фон страницы */
html[data-theme="dark"] body .tests-page {
    background: #000 !important;       /* без своего «остроугольного» фона —
                                          сливается с body, виден только
                                          внутренний скруглённый .tests-container */
    color: var(--c-text);
}
/* Главная карточка-контейнер */
html[data-theme="dark"] body .tests-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .tests-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .tests-header .subtitle {
    color: var(--c-text-muted) !important;
}

/* Категории-карточки: JS на странице ставит inline opacity:0.65 на не-активные.
   Перебиваем чтобы текст был читаем на всех картах. */
html[data-theme="dark"] body .category-card {
    opacity: 1 !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: none !important;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.3s ease !important;
}
/* Hover-ореолы по категориям: голубой / оранжевый / розовый / зелёный.
   Тот же цвет применяется к .test-card в активной категории
   (data-category прокидывается JS-функцией switchCategory). */
html[data-theme="dark"] body .category-card:nth-child(1):hover,                    /* Психопатология  → голубой */
html[data-theme="dark"] body .tabs-container[data-category="psychopathology"] .test-card:hover {
    border-color: rgba(79, 172, 254, 0.7) !important;
    box-shadow:
        0 0 0 1px rgba(79, 172, 254, 0.35),
        0 0 24px rgba(79, 172, 254, 0.40),
        0 0 60px rgba(0, 242, 254, 0.22) !important;
}
html[data-theme="dark"] body .category-card:nth-child(2):hover,                    /* Стресс и травма → оранжевый */
html[data-theme="dark"] body .tabs-container[data-category="stress"] .test-card:hover {
    border-color: rgba(255, 138, 61, 0.75) !important;
    box-shadow:
        0 0 0 1px rgba(255, 138, 61, 0.35),
        0 0 24px rgba(255, 138, 61, 0.45),
        0 0 60px rgba(255, 111, 0, 0.22) !important;
}
html[data-theme="dark"] body .category-card:nth-child(3):hover,                    /* Отношения       → розовый */
html[data-theme="dark"] body .tabs-container[data-category="relationships"] .test-card:hover {
    border-color: rgba(240, 147, 251, 0.75) !important;
    box-shadow:
        0 0 0 1px rgba(240, 147, 251, 0.35),
        0 0 24px rgba(240, 147, 251, 0.45),
        0 0 60px rgba(245, 87, 108, 0.22) !important;
}
html[data-theme="dark"] body .category-card:nth-child(4):hover,                    /* Терапия         → зелёный */
html[data-theme="dark"] body .tabs-container[data-category="therapy"] .test-card:hover {
    border-color: rgba(67, 233, 123, 0.7) !important;
    box-shadow:
        0 0 0 1px rgba(67, 233, 123, 0.35),
        0 0 24px rgba(67, 233, 123, 0.40),
        0 0 60px rgba(56, 249, 215, 0.22) !important;
}
/* Базовый transition у .test-card на hover-плавность glow'а. */
html[data-theme="dark"] body .test-card {
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s !important;
}
html[data-theme="dark"] body .category-card h3 {
    font-weight: 700;
}
html[data-theme="dark"] body .category-card p {
    font-weight: 500;
    opacity: 1 !important;       /* было 0.9 — приглушало описание */
}
/* В тёмной теме все 4 карточки получают тёмный фон от Phase-3 правила
   [class$="-card"], поэтому текст должен быть СВЕТЛЫЙ на всех (раньше карточки
   2 и 4 имели чёрный текст под расчёт на светлые градиенты, но они теперь
   тоже тёмные — чёрный текст на тёмном фоне нечитаем). */
html[data-theme="dark"] body .category-card h3,
html[data-theme="dark"] body .category-card p {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.55) !important;
}
html[data-theme="dark"] body .category-icon {
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}
/* .category-new-badge — белая пилюля с красным NEW, оставляем как есть. */

/* Кнопка «Все разделы» — прямоугольная со скруглёнными краями */
html[data-theme="dark"] body .back-to-center-btn {
    background: var(--c-card-bg) !important;
    border-color: #5dade2 !important;
    color: #5dade2 !important;
    box-shadow: 0 4px 14px rgba(93,173,226,0.22) !important;
}
html[data-theme="dark"] body .back-to-center-btn:hover {
    background: #5dade2 !important;
    color: #1a1a1a !important;
    box-shadow: 0 6px 22px rgba(93,173,226,0.45) !important;
}

/* Welcome-экран (когда категория не выбрана) */
html[data-theme="dark"] body .welcome-intro {
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .welcome-intro h2,
html[data-theme="dark"] body .welcome-icon {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .welcome-intro p {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .welcome-disclaimer {
    background: rgba(243,156,18,0.12) !important;
    border-left-color: #f39c12 !important;
    color: #ffd180 !important;
}
html[data-theme="dark"] body .how-step {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .how-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .how-text b {
    color: var(--c-text) !important;
}
/* .how-num — синий градиент, оставляем */
html[data-theme="dark"] body .stat-card {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .stat-card .stat-num {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .stat-card .stat-label {
    color: var(--c-text-muted) !important;
}

/* Табы внутри tests-container (после выбора категории) */
html[data-theme="dark"] body .tabs-header {
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .tab-btn {
    color: var(--c-text-muted) !important;
    background: transparent !important;
}
html[data-theme="dark"] body .tab-btn:hover {
    color: #5dade2 !important;
    background: rgba(93,173,226,0.10) !important;
}
html[data-theme="dark"] body .tab-btn.active {
    color: #5dade2 !important;
    background: rgba(93,173,226,0.18) !important;
}

/* Карточки тестов */
html[data-theme="dark"] body .test-card {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .test-card:hover {
    border-color: #5dade2 !important;
    box-shadow: 0 8px 25px rgba(93,173,226,0.20) !important;
}
html[data-theme="dark"] body .test-card.soon {
    opacity: 0.85;
}
html[data-theme="dark"] body .test-card.soon:hover {
    border-color: var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .test-card.restricted {
    background: linear-gradient(135deg, rgba(108,52,131,0.12), rgba(108,52,131,0.06)) !important;
    border-color: rgba(155,89,182,0.35) !important;
}
html[data-theme="dark"] body .test-card.restricted:hover {
    border-color: #b78bff !important;
    box-shadow: 0 8px 25px rgba(155,89,182,0.30) !important;
}
/* .test-icon — тёмный синий по умолчанию, белый текст ок.
   Но JS меняет фон на категорный градиент. Для светлых градиентов
   (Стресс — голубой #4facfe; Терапия — салатовый #43e97b) белый текст
   нечитаем — переключаем в тёмный. */
html[data-theme="dark"] body .test-icon[style*="#43e97b"],
html[data-theme="dark"] body .test-icon[style*="#4facfe"],
html[data-theme="dark"] body .test-icon[style*="43e97b" i],
html[data-theme="dark"] body .test-icon[style*="4facfe" i] {
    color: #0d2818 !important;
    text-shadow: 0 1px 1px rgba(255,255,255,0.30);
    font-weight: 800;
}
html[data-theme="dark"] body .test-info h4 {
    color: #ffffff !important;
    font-weight: 700;
}
html[data-theme="dark"] body .test-info .test-subtitle {
    color: #e6d9c0 !important;          /* подзаголовок — ярче, лучше читается */
    opacity: 1 !important;
}
html[data-theme="dark"] body .test-description {
    color: #b0a795 !important;          /* приглушённый тёпло-серый — мягче для глаз */
}
html[data-theme="dark"] body .test-meta span {
    background: var(--c-bg-soft) !important;
    color: #ffffff !important;
    border: 1px solid var(--c-card-border);
    font-weight: 600;
}
html[data-theme="dark"] body .test-link {
    color: #5dade2 !important;
    font-weight: 700;
}
html[data-theme="dark"] body .test-link:hover {
    color: #85c1e9 !important;
}
html[data-theme="dark"] body .test-link.restricted-link {
    color: #b78bff !important;
}
html[data-theme="dark"] body .test-link.restricted-link:hover {
    color: #d4b1f5 !important;
}
/* .soon-badge — серая пилюля, оставляем */
/* .new-badge / .restricted-badge — фиолетовые градиенты, оставляем */

/* SEO-сайтмап аккордеон внизу */
html[data-theme="dark"] body .tests-sitemap {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .sitemap-header {
    background: linear-gradient(135deg, var(--c-bg-soft) 0%, var(--c-card-bg) 100%) !important;
}
html[data-theme="dark"] body .sitemap-header:hover {
    background: var(--c-bg-soft) !important;
}
html[data-theme="dark"] body .sitemap-header-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .sitemap-header-count,
html[data-theme="dark"] body .sitemap-header-arrow {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .sitemap-content,
html[data-theme="dark"] body .sitemap-section {
    background: var(--c-card-bg) !important;
    color: var(--c-text);
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .sitemap-section-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .sitemap-link {
    color: var(--c-text) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .sitemap-link:hover {
    background: var(--c-bg-soft) !important;
    border-color: rgba(93, 173, 226, 0.5) !important;
}
html[data-theme="dark"] body .sitemap-link-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .sitemap-link:hover .sitemap-link-name {
    color: #5dade2 !important;
}
html[data-theme="dark"] body .sitemap-link-desc {
    color: var(--c-text-muted) !important;
}
/* .sitemap-link-icon.* — цветные градиенты, оставляем */

/* ── Новости (/category/news/) — листинг плагина site-news ──── */

/* Шапка с иконкой-газетой и заголовком «Новости сайта» */
html[data-theme="dark"] body .sn-header {
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .sn-header-icon {
    background: linear-gradient(135deg, rgba(255,138,61,0.18) 0%, rgba(255,138,61,0.08) 100%) !important;
    box-shadow: 0 3px 10px rgba(255,138,61,0.25) !important;
}
html[data-theme="dark"] body .sn-header-icon svg {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .sn-header-text h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .sn-header-text p {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .sn-add-btn {
    background: linear-gradient(135deg, var(--c-accent), #ff7733) !important;
    color: #1a1a1a !important;
}

/* Фильтр-бар сверху списка */
html[data-theme="dark"] body .sn-filter-bar {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .sn-filter-label {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .sn-filter-select,
html[data-theme="dark"] body .sn-search-input {
    background-color: var(--c-input-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .sn-filter-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ff8a3d' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
}
html[data-theme="dark"] body .sn-search-input {
    background-image: none !important;
}
html[data-theme="dark"] body .sn-filter-select:hover,
html[data-theme="dark"] body .sn-filter-select:focus,
html[data-theme="dark"] body .sn-search-input:hover,
html[data-theme="dark"] body .sn-search-input:focus {
    border-color: var(--c-accent) !important;
    box-shadow: none !important;
    outline: none !important;
}
html[data-theme="dark"] body .sn-search-input::placeholder {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .sn-counter {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .sn-counter span {
    color: var(--c-accent) !important;
}

/* Карточки новостей */
html[data-theme="dark"] body .sn-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left-width: 3px !important;   /* паритет со светлой: левая полоска 3px */
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .sn-card:hover {
    border-left-color: var(--c-accent) !important;
    box-shadow: 0 4px 16px rgba(255,138,61,0.18) !important;
}
html[data-theme="dark"] body .sn-number {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .sn-badge {
    background: rgba(255,138,61,0.18) !important;
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .sn-date {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .sn-title a {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .sn-title a:hover {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .sn-excerpt {
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .sn-more {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .sn-more:hover {
    color: #ff9a52 !important;
    border-bottom-color: #ff9a52 !important;
}

/* Пустое состояние */
html[data-theme="dark"] body .sn-empty {
    color: var(--c-text-muted) !important;
}

/* Пагинация */
html[data-theme="dark"] body .sn-page-btn {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .sn-page-btn:hover {
    border-color: var(--c-accent) !important;
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .sn-page-btn.active {
    background: var(--c-accent) !important;
    border-color: var(--c-accent) !important;
    color: #1a1a1a !important;
}
html[data-theme="dark"] body .sn-page-info {
    color: var(--c-text-muted) !important;
}

/* ── Одиночная новость (single-news.php) ─────────────── */

/* Карточка самой новости (.snp-card) — тёплый чёрный с рамкой */
html[data-theme="dark"] body .snp-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
    color: var(--c-text);
}
html[data-theme="dark"] body .snp-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .snp-content {
    color: var(--c-text);
}
html[data-theme="dark"] body .snp-content a {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .snp-meta,
html[data-theme="dark"] body .snp-date {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .snp-badge {
    background: rgba(255,138,61,0.18) !important;
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .snp-side-name {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .snp-back {
    color: var(--c-link) !important;
}
html[data-theme="dark"] body .snp-modnote {
    color: var(--c-text-muted) !important;
}

/* ── Фикс: .snp-card была опасно прозрачной (opacity:0) из-за
   animation: snpFadeIn .5s both, который у некоторых пользователей не
   догоняет до to-state и оставляет from{opacity:0} навсегда. Зануляем. */
.snp-card {
    opacity: 1 !important;
    animation: none !important;
}

/* ── Комментарии (плагин site-news / b17-comments.css) ──────
   Плагин в светлой теме рисует кремовые/белые плашки. Перебиваем
   на тёплый чёрный, чтобы было читаемо в dark-режиме.

   Цветовая схема комментариев:
   - Внешний контейнер обсуждения = как карточка новости (тёплый чёрный)
   - Сообщения хозяина (.b17-comment--owner) = тёмно-бирюзовый акцент
   - Сообщения гостей (.b17-comment--guest) = соседний тон (более тонкий
     бирюзовый налёт, чтобы отличался, но был «рядом стоящим»). */
html[data-theme="dark"] body .b17-comments {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .snp-comments-wrap {
    color: var(--c-text);
}
html[data-theme="dark"] body .b17-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .b17-empty {
    color: var(--c-text-muted) !important;
}
/* Дефолт + гость — приглушённый бирюзовый налёт на тёплом чёрном */
html[data-theme="dark"] body .b17-comment,
html[data-theme="dark"] body .b17-comment--guest {
    background: rgba(44,213,184,0.04) !important;
    border: 1px solid rgba(44,213,184,0.18) !important;
    color: var(--c-text) !important;
}
/* Сообщения хозяина — насыщенный тёмно-бирюзовый */
html[data-theme="dark"] body .b17-comment--owner {
    background: rgba(44,213,184,0.12) !important;
    border: 1px solid rgba(44,213,184,0.40) !important;
    color: var(--c-text) !important;
}
/* Боковая колонка комментария (.b17-side) — выравниваем под общий
   фон карточки. У плагина в светлой версии бежевый бекграунд. */
html[data-theme="dark"] body .b17-side {
    background: transparent !important;
}
html[data-theme="dark"] body .b17-comment--owner .b17-side {
    background: transparent !important;
}
/* Аватар — рамка под тёмную тему вместо белой */
html[data-theme="dark"] body .b17-avatar,
html[data-theme="dark"] body img.b17-avatar {
    background: var(--c-card-bg) !important;
    border: 2px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .b17-author,
html[data-theme="dark"] body .b17-role {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .b17-role--owner {
    color: #2cd5b8 !important;            /* бирюзовый под фон owner-плашки */
}
html[data-theme="dark"] body .b17-role--guest {
    color: rgba(44,213,184,0.75) !important; /* приглушённый бирюзовый — guest */
}
html[data-theme="dark"] body .b17-num,
html[data-theme="dark"] body .b17-sep,
html[data-theme="dark"] body .b17-date {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .b17-body,
html[data-theme="dark"] body .b17-body p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .b17-body a {
    color: var(--c-link) !important;
    border-bottom-color: rgba(255,165,102,0.45) !important;
}
html[data-theme="dark"] body .b17-body a:hover {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-accent) !important;
}
/* Цитата — янтарный оверлей вместо кремового */
html[data-theme="dark"] body .b17-quote {
    background: rgba(255,138,61,0.10) !important;
    border-color: rgba(255,138,61,0.30) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .b17-quote-head {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .b17-quote-body {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .b17-avatar-wrap img {
    background: var(--c-bg-soft) !important;
}
/* Кнопки действий «Цитировать / Ответить / Изменить / Удалить»
   на новостях (.snp-admin-btn) и комментариях (.b17-btn).
   Hover-эффект — обрамляющая тень соответствующего цвета. */

/* Публичная панель действий поста (.snp-public-bar) — выглядит как
   .snp-admin-bar (тот же стиль .snp-admin-btn внутри). */
.snp-public-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0 0;
}

/* Единый ховер с обрамляющей тенью — для обеих тем.
   Заливки фона нет (см. b17-comments.css), только рамка + glow. */
.snp-admin-btn,
.b17-btn {
    transition: background .15s, border-color .15s, color .15s, box-shadow .2s;
}
.snp-admin-btn:hover,
.b17-btn:hover {
    box-shadow: 0 0 0 2px rgba(255,111,0,0.25), 0 8px 24px rgba(255,111,0,0.55);
    border-color: #ff6f00 !important;
}
.snp-admin-btn--danger:hover,
.b17-btn-danger:hover {
    box-shadow: 0 0 0 2px rgba(220,80,80,0.30), 0 8px 24px rgba(220,80,80,0.55);
    border-color: #d04040 !important;
}

/* Тёмная тема — тёмный фон, контрастный светлый/оранжевый текст */
html[data-theme="dark"] body .snp-admin-btn,
html[data-theme="dark"] body .b17-btn {
    background: var(--c-bg-soft) !important;
    color: var(--c-accent) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .snp-admin-btn:hover,
html[data-theme="dark"] body .b17-btn:hover {
    background: rgba(255,138,61,0.15) !important;
    color: #ffb380 !important;
    border-color: rgba(255,138,61,0.45) !important;
    box-shadow: 0 4px 18px rgba(255,138,61,0.40) !important;
}
html[data-theme="dark"] body .snp-admin-btn--danger,
html[data-theme="dark"] body .b17-btn-danger {
    color: #ff8a8a !important;
}
html[data-theme="dark"] body .snp-admin-btn--danger:hover,
html[data-theme="dark"] body .b17-btn-danger:hover {
    background: rgba(255,80,80,0.15) !important;
    color: #ffb3b3 !important;
    border-color: rgba(255,80,80,0.45) !important;
    box-shadow: 0 4px 18px rgba(255,80,80,0.40) !important;
}
/* Форма комментария (.b17-form-wrap) — большая карточка снизу */
html[data-theme="dark"] body .b17-form-wrap {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .b17-form-wrap label,
html[data-theme="dark"] body .b17-form-wrap p,
html[data-theme="dark"] body .b17-form-wrap .form-allowed-tags,
html[data-theme="dark"] body .b17-form-wrap .logged-in-as {
    color: var(--c-text) !important;
}
/* Поля ввода — тёплый чёрный, чуть светлее основного фона */
html[data-theme="dark"] body .b17-form-wrap .comment-form input[type="text"],
html[data-theme="dark"] body .b17-form-wrap .comment-form input[type="email"],
html[data-theme="dark"] body .b17-form-wrap .comment-form input[type="url"],
html[data-theme="dark"] body .b17-form-wrap .comment-form textarea {
    background: var(--c-input-bg) !important;   /* #25211d — тёплый чёрный, чуть светлее --c-bg */
    color: var(--c-text) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .b17-form-wrap .comment-form input[type="text"]:focus,
html[data-theme="dark"] body .b17-form-wrap .comment-form input[type="email"]:focus,
html[data-theme="dark"] body .b17-form-wrap .comment-form input[type="url"]:focus,
html[data-theme="dark"] body .b17-form-wrap .comment-form textarea:focus {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-accent) !important;
    outline: none;
}
/* Кнопки форматирования над textarea (B I S link image code) */
html[data-theme="dark"] body .b17-form-wrap .comment-form-toolbar,
html[data-theme="dark"] body .b17-form-wrap [class*="toolbar"] button,
html[data-theme="dark"] body .b17-form-wrap [class*="toolbar"] {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}

/* ── Контакты (/contacts/) ────────────────────────────── */

/* Обёртка страницы — фон страницы (не карточка) */
html[data-theme="dark"] body .contacts-outer {
    background: #000 !important;
    color: var(--c-text);
}

/* Hero-карточка (фото + заголовок «Контакты») и контентная карточка ниже */
html[data-theme="dark"] body .contacts-hero-card,
html[data-theme="dark"] body .contacts-content-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
    color: var(--c-text);
}
html[data-theme="dark"] body .contacts-hero-text h1,
html[data-theme="dark"] body .contacts-hero-text p,
html[data-theme="dark"] body .contacts-hero-text {
    color: var(--c-text) !important;
}
/* Бейджи в hero (📧 Email / 💬 Мессенджеры / …) — мятный, как в исходнике */
html[data-theme="dark"] body .contacts-tag {
    background: rgba(44,213,184,0.12) !important;
    border-color: rgba(44,213,184,0.30) !important;
    color: #2cd5b8 !important;
}

/* Hero-фото — landscape (2061×1472, ratio ≈ 1.4). Точное соответствие
   через aspect-ratio, без агрессивных кропов. */
body .contacts-hero-photo {
    width: 260px !important;
    height: 186px !important;       /* 260 × 1472/2061 ≈ 186 */
    aspect-ratio: 2061 / 1472 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
}
body .contacts-hero-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit;
}
html[data-theme="dark"] body .contacts-hero-photo {
    background: var(--c-card-bg) !important;
    border: 2px solid rgba(0,191,165,0.1) !important;
    box-shadow: 0 10px 40px rgba(0,191,165,0.15) !important;
}
@media (max-width: 768px) {
    body .contacts-hero-photo {
        width: 220px !important;
        height: 157px !important;       /* 220 × 1472/2061 ≈ 157 */
        border-radius: 12px !important;
    }
}
@media (max-width: 380px) {
    body .contacts-hero-photo {
        width: 180px !important;
        height: 129px !important;       /* 180 × 1472/2061 ≈ 129 */
    }
}

/* Карточки контактов — все в одинаковом бирюзовом оттенке
   (раньше так выглядели только IMO и График работы через .highlight). */
html[data-theme="dark"] body .contact-card,
html[data-theme="dark"] body .contact-card.highlight {
    background: linear-gradient(135deg, rgba(44,213,184,0.10) 0%, rgba(44,213,184,0.04) 100%) !important;
    border: 1px solid rgba(44,213,184,0.35) !important;
    color: var(--c-text);
}
/* Hover: единый стиль для всех карточек на странице контактов —
   белая рамка + мягкая тень. */
html[data-theme="dark"] body .contact-card:hover,
html[data-theme="dark"] body .contact-card.highlight:hover,
html[data-theme="dark"] body .extra-card:hover {
    border-color: rgba(255,255,255,0.65) !important;
    box-shadow: 0 6px 20px rgba(255,255,255,0.10) !important;
}

/* Иконка-плашка слева в карточке */
html[data-theme="dark"] body .contact-icon {
    background: linear-gradient(135deg, rgba(44,213,184,0.15) 0%, rgba(44,213,184,0.06) 100%) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .contact-icon.imo-icon {
    background: linear-gradient(135deg, rgba(118,150,200,0.18) 0%, rgba(118,150,200,0.08) 100%) !important;
}

/* Текстовая часть карточки */
html[data-theme="dark"] body .contact-text h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .contact-text a {
    color: #2cd5b8 !important;
}
html[data-theme="dark"] body .contact-text a:hover {
    color: #4be6c8 !important;
}
html[data-theme="dark"] body .contact-text p {
    color: var(--c-text-muted) !important;
}
/* .contact-note в исходнике с !important — повышаем специфичность */
html[data-theme="dark"] body .contact-note,
html[data-theme="dark"] body p.contact-note {
    color: var(--c-text-muted) !important;
}

/* ── Библиография ─────────────────────────────────────── */
/* Карточка книги — тёплый чёрный фон, рамка, тень. !important и высокая
   специфичность чтобы перебить inline `.bib-card { background:#fff!important }`. */
html[data-theme="dark"] body .bib-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .bib-card:hover {
    border-color: var(--c-accent) !important;
    box-shadow: 0 6px 20px rgba(255,138,61,0.25);
}
/* Текст книги — контрастный. Селекторы повторяют структуру inline-правил
   (.bib-card .bib-title) чтобы выиграть по специфичности. */
html[data-theme="dark"] body .bib-card .bib-title,
html[data-theme="dark"] body .bib-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .bib-card .bib-author,
html[data-theme="dark"] body .bib-author {
    color: #c8b89a !important;
}
html[data-theme="dark"] body .bib-card .bib-annotation,
html[data-theme="dark"] body .bib-annotation {
    color: var(--c-text) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .bib-card .bib-year,
html[data-theme="dark"] body .bib-year,
html[data-theme="dark"] body .bib-card .bib-added-date,
html[data-theme="dark"] body .bib-added-date {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .bib-number {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .bib-counter {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .bib-counter span {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .bib-filter-label {
    color: var(--c-text) !important;
}
/* Бейджи типов (Книга / Статья / Журнал) — приглушённые, но читаемые */
html[data-theme="dark"] body .bib-card .bib-type.book,
html[data-theme="dark"] body .bib-type.book {
    background: rgba(46,125,50,0.20) !important;
    color: #7dd87d !important;
}
html[data-theme="dark"] body .bib-card .bib-type.article,
html[data-theme="dark"] body .bib-type.article {
    background: rgba(21,101,192,0.22) !important;
    color: #79b8f3 !important;
}
html[data-theme="dark"] body .bib-card .bib-type.journal,
html[data-theme="dark"] body .bib-type.journal {
    background: rgba(230,81,0,0.22) !important;
    color: #ffae6b !important;
}
html[data-theme="dark"] body .bib-badge-cat {
    background: var(--c-bg-soft) !important;
    color: var(--c-accent) !important;
}

/* Контейнер вкладок-категорий — тёплый чёрный с рамочкой.
   Габариты унифицированы со светлой темой (style.css .bib-cat-tabs),
   чтобы при переключении темы не прыгали размеры. */
html[data-theme="dark"] body .bib-cat-tabs {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
    margin-bottom: 18px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    box-shadow: var(--c-shadow);
}
html[data-theme="dark"] body .bib-cat-tab {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border: 2px solid var(--c-border) !important;
}
html[data-theme="dark"] body .bib-cat-tab:hover {
    background: rgba(255,138,61,0.12) !important;
    border-color: var(--c-accent) !important;
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .bib-cat-tab.active {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .bib-cat-tab .bib-cat-count {
    background: rgba(255,255,255,0.10) !important;
    color: inherit !important;
}
html[data-theme="dark"] body .bib-cat-tab.active .bib-cat-count {
    background: rgba(0,0,0,0.25) !important;
}

/* Фильтр-бар */
html[data-theme="dark"] body .bib-filter-bar,
html[data-theme="dark"] body .bib-empty {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .bib-filter-select,
html[data-theme="dark"] body .bib-search-input {
    background: var(--c-input-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-border) !important;
}
html[data-theme="dark"] body .bib-search-input::placeholder {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .bib-search-clear {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .bib-search-clear:hover {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .bib-page-btn {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-border) !important;
}
html[data-theme="dark"] body .bib-page-btn:hover,
html[data-theme="dark"] body .bib-page-btn.active {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
    border-color: var(--c-accent) !important;
}

/* ============================================================
   ТЕСТЫ — оптовые правила (Phase 3)

   У всех 21 шаблонов тестов одна структура с разными префиксами:
   .cti-*, .haq-*, .scl90-*, .iri-*, .wsr-*, .pds-*, .ies-*, .pcl-*,
   .dass42-*, .ffcd-*, .scid5spq-*, .scid2-*, .des-*, .msibpd-*, .las-*,
   .ecr-*, .rras-*, .stls-*, .oub-*, .das-*, .leary-*, .mid-*, .cnip-*,
   .coreom-*, .dmo-*

   Стратегия — селекторы по концу/середине имени класса:
   .X-page         → корень страницы теста (фон)
   .X-container    → главная карточка (фон, рамка, текст)
   .X-info-toggle, .X-preamble-toggle  → раскрывающийся блок «о тесте»
   .X-info-body, .X-preamble-body     → тело раскрывающегося блока
   .X-question, .X-item               → блок вопроса
   .X-card, .X-info-card              → информационные карточки
   .X-result, .X-score                → блок результатов
   .X-btn, .X-back-btn, .X-pdf-btn    → кнопки
   ============================================================ */

/* Корневая обёртка страницы теста — фон страницы. Исключаем уже
   обработанные «не-тестовые» страницы. */
html[data-theme="dark"] body [class$="-page"]:not(.bio-page):not(.trust-page):not(.tests-page):not(.about-me-page):not(.reviews-page):not(.publications-page) {
    background: var(--c-bg) !important;
    color: var(--c-text);
}
/* На случай -page как часть многоклассового атрибута */
html[data-theme="dark"] body [class*="-page "]:not(.bio-page):not(.trust-page):not(.tests-page):not(.about-me-page) {
    background: var(--c-bg) !important;
    color: var(--c-text);
}

/* Главная белая карточка теста.
   :not([class*="menu"]) — чтобы не ловить обёртку wp_nav_menu
   <div class="menu-…-container"> (рисовала рамку вокруг верхнего меню). */
html[data-theme="dark"] body [class$="-container"]:not(.tests-container):not(.articles-container):not(.timeline-container):not(.reviews-container):not([class*="menu"]) {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text);
    box-shadow: var(--c-shadow);
}

/* Заголовки и подзаголовки внутри тестовых страниц */
html[data-theme="dark"] body [class$="-page"] h1,
html[data-theme="dark"] body [class$="-page"] h2,
html[data-theme="dark"] body [class$="-page"] h3,
html[data-theme="dark"] body [class$="-page"] h4 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body [class$="-page"] p,
html[data-theme="dark"] body [class$="-page"] li,
html[data-theme="dark"] body [class$="-page"] td,
html[data-theme="dark"] body [class$="-page"] th {
    color: var(--c-text);
}
html[data-theme="dark"] body [class$="-page"] .author,
html[data-theme="dark"] body [class$="-page"] [class$="-author"],
html[data-theme="dark"] body [class$="-page"] [class$="-meta"],
html[data-theme="dark"] body [class$="-page"] [class$="-subtitle"],
html[data-theme="dark"] body [class$="-page"] small {
    color: var(--c-text-muted) !important;
}

/* Раскрывающийся блок «Что это за тест и зачем он нужен» —
   и .X-info-toggle, и .X-preamble-toggle на разных тестах. */
html[data-theme="dark"] body [class*="-info-toggle"],
html[data-theme="dark"] body [class*="-preamble-toggle"] {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body [class*="-info-toggle"]:hover,
html[data-theme="dark"] body [class*="-preamble-toggle"]:hover {
    background: var(--c-card-bg) !important;
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body [class*="-info-body"],
html[data-theme="dark"] body [class*="-preamble-body"] {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body [class*="-info-body"] h2,
html[data-theme="dark"] body [class*="-info-body"] h3,
html[data-theme="dark"] body [class*="-info-body"] h4,
html[data-theme="dark"] body [class*="-preamble-body"] h2,
html[data-theme="dark"] body [class*="-preamble-body"] h3,
html[data-theme="dark"] body [class*="-preamble-body"] h4 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body [class*="-info-body"] strong,
html[data-theme="dark"] body [class*="-preamble-body"] strong,
html[data-theme="dark"] body [class*="-info-body"] b,
html[data-theme="dark"] body [class*="-preamble-body"] b {
    color: var(--c-text) !important;
}

/* ── SCL-90-R: точечные перекрытия ──────────────────────── */
/* Разделитель под заголовком (border-bottom: 2px solid #f0f2f5) — в тёмной
   теме светло-серая полоса смотрится как лишний шов. Убираем. */
html[data-theme="dark"] body .scl90-header {
    border-bottom: none !important;
}

/* «Введение и правила прохождения» — info-блок ниже preamble.
   В шаблоне: background:#e8f4fd, p{color:#2c3e50}, b{color:#667eea}. */
html[data-theme="dark"] body .scl90-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-instruction b {
    color: var(--c-accent) !important;
}
/* «Заголовок-разделитель» секций (SOM, INT, DEP …):
   в шаблоне background: white, color:#2c3e50 — белая полоска с серым текстом,
   на тёмной теме нечитаема. */
html[data-theme="dark"] body .scl90-section-label {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .scl90-section-label b {
    color: var(--c-accent) !important;
}

/* Содержимое аккордеона «О методике SCL-90-R» (preamble-body) */
html[data-theme="dark"] body .scl90-pre-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .scl90-pre-section p,
html[data-theme="dark"] body .scl90-pre-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-info-card {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .scl90-info-card-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-info-card-text {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .scl90-info-scales {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-info-scales b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .scl90-info-footer {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
}

/* Блок «Тест успешно пройден» + карточка скачивания PDF */
html[data-theme="dark"] body .scl90-result-title,
html[data-theme="dark"] body .scl90-result-heading {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-result-card {
    background: var(--c-card-bg) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.4) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .scl90-result-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-result-disclaimer {
    color: var(--c-text-muted) !important;
}

/* ── SCL-90-R: варианты ответа (шкала 0–4) ─────────────────
   В светлой теме .selected рисуется цветными градиентами без !important,
   а общее правило для [class*="-option"] ниже (с !important) их сносит.
   Здесь возвращаем обводку/градиент и делаем выбранный пункт заметнее. */
html[data-theme="dark"] body .scl90-scale-option {
    background: var(--c-bg-soft) !important;
    border: 2px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-scale-option .val-label {
    color: var(--c-text-muted);
}
/* Подсветка под курсором — приглушённая, чтобы не спорить с .selected */
html[data-theme="dark"] body .scl90-scale-option[data-val="0"]:hover { border-color: #1e8449 !important; background: rgba(30, 132, 73, 0.14) !important; }
html[data-theme="dark"] body .scl90-scale-option[data-val="1"]:hover { border-color: #a3e4b5 !important; background: rgba(163, 228, 181, 0.10) !important; }
html[data-theme="dark"] body .scl90-scale-option[data-val="2"]:hover { border-color: #d4c190 !important; background: rgba(212, 193, 144, 0.10) !important; }
html[data-theme="dark"] body .scl90-scale-option[data-val="3"]:hover { border-color: #f1c40f !important; background: rgba(241, 196, 15, 0.10) !important; }
html[data-theme="dark"] body .scl90-scale-option[data-val="4"]:hover { border-color: #ff5e4d !important; background: rgba(255, 94, 77, 0.10) !important; }

/* Выбранный ответ — ярче, чем в светлой теме: насыщенный градиент + двойное
   свечение (внутренний ring + наружный glow), легкий «лифт». */
html[data-theme="dark"] body .scl90-scale-option.selected {
    border-color: transparent !important;
    transform: translateY(-3px);
    color: #ffffff !important;
}
html[data-theme="dark"] body .scl90-scale-option[data-val="0"].selected {
    background: linear-gradient(135deg, #1e8449, #0e5e2f) !important;
    box-shadow: 0 0 0 2px rgba(30, 132, 73, 0.65), 0 8px 22px rgba(30, 132, 73, 0.55) !important;
}
html[data-theme="dark"] body .scl90-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #b6e8c2, #8ed4a4) !important;
    box-shadow: 0 0 0 2px rgba(182, 232, 194, 0.55), 0 8px 22px rgba(142, 212, 164, 0.45) !important;
    color: #1a3a25 !important;
}
html[data-theme="dark"] body .scl90-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #d4c190, #a89568) !important;
    box-shadow: 0 0 0 2px rgba(212, 193, 144, 0.55), 0 8px 22px rgba(212, 193, 144, 0.50) !important;
}
html[data-theme="dark"] body .scl90-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #ffd633, #d4a017) !important;
    box-shadow: 0 0 0 2px rgba(255, 214, 51, 0.55), 0 8px 22px rgba(255, 214, 51, 0.50) !important;
    color: #1a1a1a !important;
}
html[data-theme="dark"] body .scl90-scale-option[data-val="4"].selected {
    background: linear-gradient(135deg, #ff5e4d, #c0392b) !important;
    box-shadow: 0 0 0 2px rgba(255, 94, 77, 0.55), 0 8px 22px rgba(255, 94, 77, 0.55) !important;
}
html[data-theme="dark"] body .scl90-scale-option.selected .val-num,
html[data-theme="dark"] body .scl90-scale-option.selected .val-label {
    color: inherit !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* ── MID 6.0 — gate-страница (плагин mid-token-access) ──── */
/* В светлой теме gate — белая карточка с лавандовым фоном.
   В тёмной нужно перекрасить текст и плашки, чтобы всё читалось. */
html[data-theme="dark"] body .mid-gate-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 16px 60px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .mid-gate-card h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-gate-icon {
    /* Эмодзи 🔒 — оставляем как есть, рендерится корректно */
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.4));
}
html[data-theme="dark"] body .mid-gate-lead {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-gate-lead strong {
    color: var(--c-accent) !important;
}
/* Жёлтая «warn»-плашка — в тёмной теме светло-жёлтый фон становится
   нечитаемым (текст оливкового цвета сливается). Тёмно-янтарная версия. */
html[data-theme="dark"] body .mid-gate-warn {
    background: rgba(240, 192, 74, 0.10) !important;
    border-color: #f0c04a !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-gate-warn strong {
    color: #ffd166 !important;
}
html[data-theme="dark"] body .mid-gate-warn ul,
html[data-theme="dark"] body .mid-gate-warn ul li {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-gate-card p {
    color: var(--c-text) !important;
}
/* Ссылка «← Вернуться в центр тестов» */
html[data-theme="dark"] body .mid-gate-back {
    color: var(--c-text-muted) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .mid-gate-back:hover {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-accent) !important;
}
/* Плашка «Ссылка недействительна» (mode = invalid) */
html[data-theme="dark"] body .mid-gate-invalid {
    background: rgba(231, 76, 60, 0.12) !important;
    border-color: #e74c3c !important;
    color: #ff8a7a !important;
}

/* ── RRAS (Romantic Relationship Addiction): точечные перекрытия ────
   Префикс .rras-*. Главная карточка — .rras-container. */
html[data-theme="dark"] body .rras-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .rras-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .rras-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .rras-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .rras-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* Преамбула */
html[data-theme="dark"] body .rras-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .rras-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .rras-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .rras-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .rras-preamble-icon,
html[data-theme="dark"] body .rras-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .rras-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .rras-preamble-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .rras-preamble-section p,
html[data-theme="dark"] body .rras-preamble-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .rras-preamble-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .rras-preamble-note strong {
    color: #ffb37a !important;
}
/* Карточки зон в преамбуле (13–25 / 26–37 / 38–52) */
html[data-theme="dark"] body .rras-zone-pre.green {
    background: rgba(46, 125, 50, 0.18) !important;
    border: 1px solid rgba(46, 125, 50, 0.45) !important;
}
html[data-theme="dark"] body .rras-zone-pre.orange {
    background: rgba(230, 81, 0, 0.18) !important;
    border: 1px solid rgba(230, 81, 0, 0.45) !important;
}
html[data-theme="dark"] body .rras-zone-pre.red {
    background: rgba(183, 28, 28, 0.20) !important;
    border: 1px solid rgba(183, 28, 28, 0.50) !important;
}
html[data-theme="dark"] body .rras-zone-pre.green  .rzp-range { color: #7bd389 !important; }
html[data-theme="dark"] body .rras-zone-pre.orange .rzp-range { color: #ffb37a !important; }
html[data-theme="dark"] body .rras-zone-pre.red    .rzp-range { color: #ff8a7a !important; }
html[data-theme="dark"] body .rras-zone-pre .rzp-label {
    color: var(--c-text) !important;
}
/* Инструкция */
html[data-theme="dark"] body .rras-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid var(--c-accent) !important;
}
html[data-theme="dark"] body .rras-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .rras-instruction b {
    color: var(--c-accent) !important;
}
/* Легенда */
html[data-theme="dark"] body .rras-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .rras-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .rras-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
/* Карточка вопроса подсвечивается в цвет выбранного ответа (как кнопки шкалы) */
html[data-theme="dark"] body .rras-item:has(input[value="1"]:checked) {
    background: rgba(249, 168, 201, 0.13) !important;
    border-color: #f9a8c9 !important;
    box-shadow: 0 0 0 1px rgba(249, 168, 201, 0.45), 0 4px 14px rgba(249, 168, 201, 0.22) !important;
}
html[data-theme="dark"] body .rras-item:has(input[value="2"]:checked) {
    background: rgba(240, 98, 146, 0.16) !important;
    border-color: #f06292 !important;
    box-shadow: 0 0 0 1px rgba(240, 98, 146, 0.50), 0 4px 14px rgba(240, 98, 146, 0.25) !important;
}
html[data-theme="dark"] body .rras-item:has(input[value="3"]:checked) {
    background: rgba(245, 124, 0, 0.16) !important;
    border-color: #f57c00 !important;
    box-shadow: 0 0 0 1px rgba(245, 124, 0, 0.50), 0 4px 14px rgba(245, 124, 0, 0.25) !important;
}
html[data-theme="dark"] body .rras-item:has(input[value="4"]:checked) {
    background: rgba(192, 57, 43, 0.18) !important;
    border-color: #c0392b !important;
    box-shadow: 0 0 0 1px rgba(192, 57, 43, 0.55), 0 4px 14px rgba(192, 57, 43, 0.28) !important;
}
html[data-theme="dark"] body .rras-qtext {
    color: var(--c-text) !important;
}
/* Кнопки шкалы (Likert) */
html[data-theme="dark"] body .rras-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .rras-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
/* Цвет цифр 1/2/3/4 в покое — как в светлой теме */
html[data-theme="dark"] body .rras-scale-option[data-val="1"] .val-num { color: #f9a8c9 !important; }
html[data-theme="dark"] body .rras-scale-option[data-val="2"] .val-num { color: #f06292 !important; }
html[data-theme="dark"] body .rras-scale-option[data-val="3"] .val-num { color: #ffa040 !important; }
html[data-theme="dark"] body .rras-scale-option[data-val="4"] .val-num { color: #ef5350 !important; }
/* При selected — повторяем цветовую логику светлой темы (фон + цифра + лейбл) */
html[data-theme="dark"] body .rras-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #fce4ec, #f8bbd0) !important;
    border-color: #f9a8c9 !important;
    box-shadow: 0 4px 12px rgba(249,168,201,0.55) !important;
}
html[data-theme="dark"] body .rras-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #f48fb1, #e91e8c) !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(240,98,146,0.50) !important;
}
html[data-theme="dark"] body .rras-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #ffb74d, #f57c00) !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(245,124,0,0.50) !important;
}
html[data-theme="dark"] body .rras-scale-option[data-val="4"].selected {
    background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(192,57,43,0.55) !important;
}
html[data-theme="dark"] body .rras-scale-option[data-val="1"].selected .val-num   { color: #880e4f !important; }
html[data-theme="dark"] body .rras-scale-option[data-val="1"].selected .val-label { color: #ad1457 !important; }
html[data-theme="dark"] body .rras-scale-option[data-val="2"].selected .val-num,
html[data-theme="dark"] body .rras-scale-option[data-val="3"].selected .val-num,
html[data-theme="dark"] body .rras-scale-option[data-val="4"].selected .val-num   { color: #fff !important; }
html[data-theme="dark"] body .rras-scale-option[data-val="2"].selected .val-label,
html[data-theme="dark"] body .rras-scale-option[data-val="3"].selected .val-label,
html[data-theme="dark"] body .rras-scale-option[data-val="4"].selected .val-label { color: rgba(255,255,255,0.85) !important; }
/* Блок результатов */
html[data-theme="dark"] body .rras-results {
    background: rgba(142, 68, 173, 0.15) !important;
    border-color: #b380cf !important;
}
html[data-theme="dark"] body .rras-results h3 {
    color: var(--c-text) !important;
}
/* Зоны (Низкий / Средний / Высокий) — карточки в результатах */
html[data-theme="dark"] body .rras-zone {
    color: var(--c-text) !important;
    opacity: 0.55 !important;
}
html[data-theme="dark"] body .rras-zone.active {
    opacity: 1 !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.35) !important;
}
html[data-theme="dark"] body .rras-zone.green {
    background: rgba(46, 125, 50, 0.22) !important;
    border-color: #2e7d32 !important;
    color: #b9e0bb !important;
}
html[data-theme="dark"] body .rras-zone.green.active {
    background: rgba(46, 125, 50, 0.42) !important;
    border-color: #4caf50 !important;
    color: #e8f5e9 !important;
}
html[data-theme="dark"] body .rras-zone.orange {
    background: rgba(230, 81, 0, 0.20) !important;
    border-color: #e65100 !important;
    color: #ffcfa3 !important;
}
html[data-theme="dark"] body .rras-zone.orange.active {
    background: rgba(230, 81, 0, 0.42) !important;
    border-color: #ff9800 !important;
    color: #fff3e0 !important;
}
html[data-theme="dark"] body .rras-zone.red {
    background: rgba(183, 28, 28, 0.22) !important;
    border-color: #b71c1c !important;
    color: #f5b7b1 !important;
}
html[data-theme="dark"] body .rras-zone.red.active {
    background: rgba(183, 28, 28, 0.45) !important;
    border-color: #ef5350 !important;
    color: #fce4ec !important;
}
html[data-theme="dark"] body .rras-score-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border-left-color: #b380cf !important;
}
html[data-theme="dark"] body .rras-score-num {
    color: #b380cf !important;
}
html[data-theme="dark"] body .rras-score-right .score-max {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .rras-score-right .score-desc {
    color: var(--c-text) !important;
}
/* Цветная плашка-метка уровня (внутри .rras-score-card) */
html[data-theme="dark"] body .rras-score-right .score-label-low {
    background: rgba(46, 125, 50, 0.32) !important;
    color: #b9e0bb !important;
}
html[data-theme="dark"] body .rras-score-right .score-label-medium {
    background: rgba(230, 81, 0, 0.32) !important;
    color: #ffcfa3 !important;
}
html[data-theme="dark"] body .rras-score-right .score-label-high {
    background: rgba(183, 28, 28, 0.32) !important;
    color: #f5b7b1 !important;
}
/* Плашка пропущенных вопросов в пред-результате */
html[data-theme="dark"] body .rras-result-missing {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: rgba(231, 76, 60, 0.55) !important;
}
html[data-theme="dark"] body .rras-result-missing .prm-header {
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .rras-result-missing .prm-text {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .rras-result-missing .prm-text strong {
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .rras-subscale-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .rras-subscale-card .ss-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .rras-subscale-card .ss-max {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .ss-bar {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .rras-result-disclaimer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .rras-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .rras-footer {
    color: var(--c-text-muted) !important;
}

/* ── STLS-45 (триангулярная шкала любви): точечные перекрытия ──
   Префикс .stls-*. Шкала 1–9 с цветовой градацией от тёмно-серого
   через зелёный к жёлтому. Карточка вопроса тинтуется по выбранному баллу. */
html[data-theme="dark"] body .stls-name-block {
    background: var(--c-bg-soft) !important;
    border-left-color: #a78bfa !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .stls-name-block label,
html[data-theme="dark"] body .stls-name-block .name-hint {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .stls-name-block input {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .stls-name-block input:focus {
    border-color: #a78bfa !important;
    box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.20) !important;
}
html[data-theme="dark"] body .stls-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 5px solid #a78bfa !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .stls-instruction p,
html[data-theme="dark"] body .stls-instruction p:first-child { color: var(--c-text) !important; }
html[data-theme="dark"] body .stls-instruction b { color: #a78bfa !important; }
/* Преамбула — карточки компонентов и типов */
html[data-theme="dark"] body .stls-component-card,
html[data-theme="dark"] body .stls-type-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .stls-component-card .cc-name,
html[data-theme="dark"] body .stls-type-card .tc-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .stls-component-card .cc-text,
html[data-theme="dark"] body .stls-type-card .tc-formula { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .stls-pre-section-title {
    color: #a78bfa !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .stls-pre-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .stls-pre-note strong { color: #a78bfa !important; }
/* Легенда */
html[data-theme="dark"] body .stls-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .stls-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Карточка вопроса */
html[data-theme="dark"] body .stls-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .stls-qtext { color: var(--c-text) !important; }
html[data-theme="dark"] body .stls-qtext .partner-placeholder {
    background: rgba(167,139,250,0.18) !important;
    color: #c4b5fd !important;
}
/* Палитра STLS: 1 чёрный · 2 тёмно-серый · 3 серый · 4 синий · 5 голубой · 6 тёмно-зелёный · 7 зелёный · 8 оранжевый · 9 ярко-жёлтый */
html[data-theme="dark"] body .stls-item:has(input[value="1"]:checked) { background: rgba(0,0,0,0.55) !important;       border-color: #4b5563 !important; box-shadow: 0 0 0 1px rgba(75,85,99,0.55), 0 4px 14px rgba(0,0,0,0.45) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="2"]:checked) { background: rgba(55,65,81,0.45) !important;    border-color: #6b7280 !important; box-shadow: 0 0 0 1px rgba(107,114,128,0.55), 0 4px 14px rgba(0,0,0,0.35) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="3"]:checked) { background: rgba(107,114,128,0.35) !important; border-color: #9ca3af !important; box-shadow: 0 0 0 1px rgba(156,163,175,0.50), 0 4px 14px rgba(0,0,0,0.30) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="4"]:checked) { background: rgba(37,99,235,0.20) !important;   border-color: #2563eb !important; box-shadow: 0 0 0 1px rgba(37,99,235,0.55), 0 4px 14px rgba(37,99,235,0.25) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="5"]:checked) { background: rgba(14,165,233,0.20) !important;  border-color: #0ea5e9 !important; box-shadow: 0 0 0 1px rgba(14,165,233,0.55), 0 4px 14px rgba(14,165,233,0.25) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="6"]:checked) { background: rgba(21,128,61,0.22) !important;   border-color: #15803d !important; box-shadow: 0 0 0 1px rgba(21,128,61,0.55), 0 4px 14px rgba(21,128,61,0.25) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="7"]:checked) { background: rgba(22,163,74,0.20) !important;   border-color: #16a34a !important; box-shadow: 0 0 0 1px rgba(22,163,74,0.55), 0 4px 14px rgba(22,163,74,0.25) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="8"]:checked) { background: rgba(234,88,12,0.20) !important;   border-color: #ea580c !important; box-shadow: 0 0 0 1px rgba(234,88,12,0.55), 0 4px 14px rgba(234,88,12,0.25) !important; }
html[data-theme="dark"] body .stls-item:has(input[value="9"]:checked) { background: rgba(250,204,21,0.22) !important;  border-color: #facc15 !important; box-shadow: 0 0 0 1px rgba(250,204,21,0.55), 0 4px 14px rgba(250,204,21,0.28) !important; }

/* Кнопки шкалы — в покое: тёмный фон, цветной кружок-цифра.
   Перекрываем общее правило [class*="-option"] (с !important), чтобы вернуть
   градиенты из светлой темы для .selected. */
html[data-theme="dark"] body .stls-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .stls-scale-option:hover:not(.selected) {
    border-color: #a78bfa !important;
    background: rgba(167,139,250,0.10) !important;
}
/* Цвет цифр 1-9 в покое (без кружков) — чуть ярче для контраста на тёмном фоне */
/* Цифры в покое — новая палитра, чуть ярче для контраста на тёмном */
html[data-theme="dark"] body .stls-scale-option[data-val="1"] .val-num { background: transparent !important; color: #9ca3af !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="2"] .val-num { background: transparent !important; color: #b1b8c4 !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="3"] .val-num { background: transparent !important; color: #cbd0d9 !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="4"] .val-num { background: transparent !important; color: #60a5fa !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="5"] .val-num { background: transparent !important; color: #38bdf8 !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="6"] .val-num { background: transparent !important; color: #4ade80 !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="7"] .val-num { background: transparent !important; color: #6ee7b7 !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="8"] .val-num { background: transparent !important; color: #fb923c !important; box-shadow: none !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="9"] .val-num { background: transparent !important; color: #fde047 !important; box-shadow: none !important; }
/* На selected — белый поверх цветного градиента, на жёлтой 9-ке тёмно-коричневый */
html[data-theme="dark"] body .stls-scale-option.selected .val-num { color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="9"].selected .val-num { color: #422006 !important; }
/* Selected — повторяем градиенты светлой темы с !important */
/* Selected — повторяем градиенты светлой темы */
html[data-theme="dark"] body .stls-scale-option[data-val="1"].selected { background: linear-gradient(135deg, #1f2937, #000)    !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(0,0,0,0.65) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="2"].selected { background: linear-gradient(135deg, #4b5563, #374151) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(55,65,81,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="3"].selected { background: linear-gradient(135deg, #9ca3af, #6b7280) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(107,114,128,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="4"].selected { background: linear-gradient(135deg, #3b82f6, #2563eb) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(37,99,235,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="5"].selected { background: linear-gradient(135deg, #38bdf8, #0ea5e9) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(14,165,233,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="6"].selected { background: linear-gradient(135deg, #166534, #14532d) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(21,128,61,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="7"].selected { background: linear-gradient(135deg, #22c55e, #16a34a) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(22,163,74,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="8"].selected { background: linear-gradient(135deg, #f97316, #ea580c) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(234,88,12,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .stls-scale-option[data-val="9"].selected { background: linear-gradient(135deg, #fde047, #facc15) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(250,204,21,0.65) !important; color: #422006 !important; }

/* Блок результатов */
html[data-theme="dark"] body .stls-results {
    background: rgba(167, 139, 250, 0.12) !important;
    border-color: #a78bfa !important;
}
html[data-theme="dark"] body .stls-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .stls-result-missing {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: rgba(231, 76, 60, 0.55) !important;
}
html[data-theme="dark"] body .stls-result-missing .prm-header { color: #ff8a7a !important; }
html[data-theme="dark"] body .stls-result-missing .prm-text { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .stls-result-missing .prm-text strong { color: #ff8a7a !important; }
/* Карточки шкал в результатах */
html[data-theme="dark"] body .stls-scale-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .stls-scale-card .sc-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .stls-scale-card .sc-max { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .stls-scale-card .sc-bar { background: var(--c-bg) !important; }
html[data-theme="dark"] body .stls-scale-card.sI .sc-value { color: #67e8f9 !important; }
html[data-theme="dark"] body .stls-scale-card.sP .sc-value { color: #fda4af !important; }
html[data-theme="dark"] body .stls-scale-card.sC .sc-value { color: #c4b5fd !important; }
html[data-theme="dark"] body .stls-warning {
    background: rgba(245, 158, 11, 0.12) !important;
    color: #ffb37a !important;
}
html[data-theme="dark"] body .stls-result-note { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .stls-footer { color: var(--c-text-muted) !important; }

/* ── ОУБ (Опросник удовлетворённости браком): точечные перекрытия ──
   Префикс .oub-*. Шкала 3 ответа (а/б/в), цвета по букве: голубой/янтарный/розовый. */
html[data-theme="dark"] body .oub-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 5px solid #ec4899 !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .oub-instruction p,
html[data-theme="dark"] body .oub-instruction p:first-child,
html[data-theme="dark"] body .oub-instruction p:last-child { color: #c4b8a8 !important; border-top-color: rgba(236,72,153,0.30) !important; }
html[data-theme="dark"] body .oub-instruction b { color: #f9a8d4 !important; }
/* Тёпло-серый текст по всему ОУБ — мягче для глаз чем var(--c-text) */
html[data-theme="dark"] body .oub-page p,
html[data-theme="dark"] body .oub-page li,
html[data-theme="dark"] body .oub-pre-section p,
html[data-theme="dark"] body .oub-pre-section strong,
html[data-theme="dark"] body .oub-qtext,
html[data-theme="dark"] body .oub-interpret-card .ic-text,
html[data-theme="dark"] body .oub-result-missing .prm-text { color: #c4b8a8 !important; }
html[data-theme="dark"] body .oub-pre-section strong { color: #d6c8b5 !important; }
html[data-theme="dark"] body .oub-pre-section-title {
    color: #f9a8d4 !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .oub-pre-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .oub-pre-note strong { color: #f9a8d4 !important; }
html[data-theme="dark"] body .oub-level-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    box-shadow: none !important;
}
/* Карточка вопроса */
html[data-theme="dark"] body .oub-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .oub-qtext { color: var(--c-text) !important; }
/* Подсветка карточки в цвет выбранного варианта */
html[data-theme="dark"] body .oub-item:has(input[value="а"]:checked) { background: rgba(39,174,96,0.16) !important; border-color: #27ae60 !important; box-shadow: 0 0 0 1px rgba(39,174,96,0.50), 0 4px 14px rgba(39,174,96,0.22) !important; }
html[data-theme="dark"] body .oub-item:has(input[value="б"]:checked) { background: rgba(156,163,175,0.18) !important; border-color: #9ca3af !important; box-shadow: 0 0 0 1px rgba(156,163,175,0.50), 0 4px 14px rgba(0,0,0,0.30) !important; }
html[data-theme="dark"] body .oub-item:has(input[value="в"]:checked) { background: rgba(0,0,0,0.45) !important; border-color: #4b5563 !important; box-shadow: 0 0 0 1px rgba(75,85,99,0.55), 0 4px 14px rgba(0,0,0,0.40) !important; }

/* Кнопки ответа (3 варианта) — в покое перекрываем общее правило */
html[data-theme="dark"] body .oub-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .oub-option:not(.selected) .opt-letter {
    background: rgba(156,163,175,0.20) !important;
    color: var(--c-text-muted) !important;
}
/* Hover — цвет, соответствующий букве: а=зелёный, б=серый, в=чёрный */
html[data-theme="dark"] body .oub-option:has(input[value="а"]):hover:not(.selected) { border-color: #27ae60 !important; background: rgba(39,174,96,0.14) !important; }
html[data-theme="dark"] body .oub-option:has(input[value="б"]):hover:not(.selected) { border-color: #9ca3af !important; background: rgba(156,163,175,0.14) !important; }
html[data-theme="dark"] body .oub-option:has(input[value="в"]):hover:not(.selected) { border-color: #4b5563 !important; background: rgba(31,41,55,0.40) !important; }
html[data-theme="dark"] body .oub-option:has(input[value="а"]):hover:not(.selected) .opt-letter { background: #27ae60 !important; color: white !important; }
html[data-theme="dark"] body .oub-option:has(input[value="б"]):hover:not(.selected) .opt-letter { background: #9ca3af !important; color: white !important; }
html[data-theme="dark"] body .oub-option:has(input[value="в"]):hover:not(.selected) .opt-letter { background: #1f2937 !important; color: white !important; }
/* Selected — а=зелёный, б=серый, в=чёрный */
html[data-theme="dark"] body .oub-option:has(input[value="а"]:checked) { background: linear-gradient(135deg, #2ecc71, #27ae60) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(39,174,96,0.55) !important; color: white !important; }
html[data-theme="dark"] body .oub-option:has(input[value="б"]:checked) { background: linear-gradient(135deg, #b8bec5, #9ca3af) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(107,114,128,0.50) !important; color: #1a1a1a !important; }
html[data-theme="dark"] body .oub-option:has(input[value="в"]:checked) { background: linear-gradient(135deg, #374151, #1f2937) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(0,0,0,0.55) !important; color: white !important; }
html[data-theme="dark"] body .oub-option.selected .opt-letter { background: rgba(255,255,255,0.25) !important; color: white !important; }

/* Блок результатов */
html[data-theme="dark"] body .oub-results {
    background: rgba(236,72,153,0.10) !important;
    border-color: #ec4899 !important;
}
html[data-theme="dark"] body .oub-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .oub-result-missing {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: rgba(231, 76, 60, 0.55) !important;
}
html[data-theme="dark"] body .oub-result-missing .prm-header { color: #ff8a7a !important; }
html[data-theme="dark"] body .oub-result-missing .prm-text { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .oub-result-missing .prm-text strong { color: #ff8a7a !important; }
html[data-theme="dark"] body .oub-scale-bar {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .oub-scale-bar-title { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .oub-scale-bar-marker { background: #f3f4f6 !important; }
html[data-theme="dark"] body .oub-scale-bar-marker::after { background: #f3f4f6 !important; color: #1f2937 !important; }
html[data-theme="dark"] body .oub-scale-labels { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .oub-interpret-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .oub-interpret-card .ic-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .oub-warning {
    background: rgba(220, 38, 38, 0.14) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .oub-result-note { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .oub-footer { color: var(--c-text-muted) !important; }

/* ── DAS-28 (Шкала диадической адаптации Спаниера): точечные перекрытия ──
   Префикс .das-*. Шкала 0-6 с цветовой градацией. Карточка вопроса тинтуется
   по выбранному баллу (без учёта обратного кодирования — отображается raw). */
html[data-theme="dark"] body .das-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 5px solid #10b981 !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .das-instruction p,
html[data-theme="dark"] body .das-instruction p:first-child { color: var(--c-text) !important; }
html[data-theme="dark"] body .das-instruction b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .das-pre-section-title {
    color: #6ee7b7 !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .das-pre-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .das-pre-note strong { color: #6ee7b7 !important; }
html[data-theme="dark"] body .das-section {
    background: transparent !important;
    border: none !important;
}
html[data-theme="dark"] body .das-section-title { color: #6ee7b7 !important; border-bottom-color: transparent !important; }
html[data-theme="dark"] body .das-section-hint { color: var(--c-text-muted) !important; }
/* Карточка вопроса. Шапка убрана из HTML (.das-qnum/.das-qtext — прямые дети .das-item),
   поэтому generic rule [class*="-item"] не ловит дочерний контейнер. */
html[data-theme="dark"] body .das-item {
    background: transparent !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .das-qtext { color: var(--c-text) !important; }
/* Multi-color тинт карточки по выбранному баллу 0-6 */
html[data-theme="dark"] body .das-item:has(input[value="0"]:checked) { background: rgba(31,41,55,0.45) !important; border-color: #6b7280 !important; box-shadow: 0 0 0 1px rgba(107,114,128,0.45), 0 4px 14px rgba(0,0,0,0.35) !important; }
html[data-theme="dark"] body .das-item:has(input[value="1"]:checked) { background: rgba(75,85,99,0.40) !important; border-color: #9ca3af !important; box-shadow: 0 0 0 1px rgba(156,163,175,0.45), 0 4px 14px rgba(0,0,0,0.35) !important; }
html[data-theme="dark"] body .das-item:has(input[value="2"]:checked) { background: rgba(107,114,128,0.32) !important; border-color: #d1d5db !important; box-shadow: 0 0 0 1px rgba(209,213,219,0.40), 0 4px 14px rgba(0,0,0,0.30) !important; }
html[data-theme="dark"] body .das-item:has(input[value="3"]:checked) { background: rgba(22,163,74,0.18) !important; border-color: #22c55e !important; box-shadow: 0 0 0 1px rgba(34,197,94,0.55), 0 4px 14px rgba(22,163,74,0.22) !important; }
html[data-theme="dark"] body .das-item:has(input[value="4"]:checked) { background: rgba(234,88,12,0.20) !important; border-color: #f97316 !important; box-shadow: 0 0 0 1px rgba(249,115,22,0.55), 0 4px 14px rgba(234,88,12,0.22) !important; }
html[data-theme="dark"] body .das-item:has(input[value="5"]:checked) { background: rgba(250,204,21,0.20) !important; border-color: #facc15 !important; box-shadow: 0 0 0 1px rgba(250,204,21,0.55), 0 4px 14px rgba(250,204,21,0.25) !important; }
html[data-theme="dark"] body .das-item:has(input[value="6"]:checked) { background: rgba(217,119,6,0.20) !important; border-color: #d97706 !important; box-shadow: 0 0 0 1px rgba(217,119,6,0.55), 0 4px 14px rgba(217,119,6,0.25) !important; }
/* Кнопки ответа в покое */
html[data-theme="dark"] body .das-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .das-option:hover:not(.selected) {
    border-color: #10b981 !important;
    background: rgba(16,185,129,0.10) !important;
}
/* Цвет цифр 0-6 в покое */
html[data-theme="dark"] body .das-option[data-val="0"] .opt-num { color: #9ca3af !important; }
html[data-theme="dark"] body .das-option[data-val="1"] .opt-num { color: #b1b8c4 !important; }
html[data-theme="dark"] body .das-option[data-val="2"] .opt-num { color: #cbd0d9 !important; }
html[data-theme="dark"] body .das-option[data-val="3"] .opt-num { color: #4ade80 !important; }
html[data-theme="dark"] body .das-option[data-val="4"] .opt-num { color: #fb923c !important; }
html[data-theme="dark"] body .das-option[data-val="5"] .opt-num { color: #fde047 !important; }
html[data-theme="dark"] body .das-option[data-val="6"] .opt-num { color: #fbbf24 !important; }
/* Selected — повторяем градиенты светлой темы */
html[data-theme="dark"] body .das-option[data-val="0"].selected { background: linear-gradient(135deg, #1f2937, #111827) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(17,24,39,0.55) !important; color: white !important; }
html[data-theme="dark"] body .das-option[data-val="1"].selected { background: linear-gradient(135deg, #4b5563, #374151) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(55,65,81,0.55) !important; color: white !important; }
html[data-theme="dark"] body .das-option[data-val="2"].selected { background: linear-gradient(135deg, #9ca3af, #6b7280) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(107,114,128,0.55) !important; color: white !important; }
html[data-theme="dark"] body .das-option[data-val="3"].selected { background: linear-gradient(135deg, #22c55e, #16a34a) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(22,163,74,0.55) !important; color: white !important; }
html[data-theme="dark"] body .das-option[data-val="4"].selected { background: linear-gradient(135deg, #f97316, #ea580c) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(234,88,12,0.55) !important; color: white !important; }
html[data-theme="dark"] body .das-option[data-val="5"].selected { background: linear-gradient(135deg, #fde047, #facc15) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(250,204,21,0.65) !important; color: #422006 !important; }
html[data-theme="dark"] body .das-option[data-val="6"].selected { background: linear-gradient(135deg, #f59e0b, #d97706) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(217,119,6,0.55) !important; color: white !important; }
html[data-theme="dark"] body .das-option.selected .opt-num { color: white !important; }
html[data-theme="dark"] body .das-option[data-val="5"].selected .opt-num { color: #422006 !important; }
/* Блок результатов */
html[data-theme="dark"] body .das-results {
    background: rgba(16,185,129,0.10) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .das-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .das-result-missing {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: rgba(231, 76, 60, 0.55) !important;
}
html[data-theme="dark"] body .das-result-missing .prm-header { color: #ff8a7a !important; }
html[data-theme="dark"] body .das-result-missing .prm-text { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .das-result-missing .prm-text strong { color: #ff8a7a !important; }
html[data-theme="dark"] body .das-result-scale {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .das-result-scale .rs-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .das-result-scale .rs-max { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .das-result-scale .rs-bar { background: var(--c-bg) !important; }
html[data-theme="dark"] body .das-level-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .das-level-card .dlc-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .das-warning {
    background: rgba(220, 38, 38, 0.14) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .das-result-note { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .das-footer { color: var(--c-text-muted) !important; }

/* ── C-NIP (Cooper-Norcross Inventory of Preferences): точечные перекрытия ── */
html[data-theme="dark"] body .cnip-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .cnip-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body .cnip-header { border-bottom-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .cnip-header h1 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-header .sub,
html[data-theme="dark"] body .cnip-header .src { color: var(--c-text-muted) !important; }
/* Преамбула — оставляем зелёный градиент-кнопку, но содержимое адаптируем */
html[data-theme="dark"] body .cnip-info-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-info-intro {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-info-intro b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .cnip-info-card {
    background: var(--c-card-bg) !important;
    border-right-color: var(--c-card-border) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-info-card-title { color: #6ee7b7 !important; }
html[data-theme="dark"] body .cnip-info-card-text,
html[data-theme="dark"] body .cnip-info-card-text b { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-info-scales {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-info-scales b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .cnip-info-footer {
    background: rgba(16,185,129,0.10) !important;
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
/* Инструкция и легенда */
html[data-theme="dark"] body .cnip-instruction {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-left-color: #38f9d7 !important;
}
html[data-theme="dark"] body .cnip-instruction b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .cnip-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-legend-item .dir-text { color: var(--c-text-muted) !important; }
/* Шкалы-заголовки секций */
html[data-theme="dark"] body .cnip-scale-header.s1 { background: rgba(16,185,129,0.15) !important; }
html[data-theme="dark"] body .cnip-scale-header.s2 { background: rgba(20,184,166,0.15) !important; }
html[data-theme="dark"] body .cnip-scale-header.s3 { background: rgba(34,197,94,0.15) !important; }
html[data-theme="dark"] body .cnip-scale-header.s4 { background: rgba(6,182,212,0.15) !important; }
html[data-theme="dark"] body .cnip-scale-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-scale-hint { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-scale-pole.pos { background: rgba(229,62,62,0.20) !important; color: #fca5a5 !important; }
html[data-theme="dark"] body .cnip-scale-pole.neg { background: rgba(16,185,129,0.18) !important; color: #6ee7b7 !important; }
/* Карточки вопросов */
html[data-theme="dark"] body .cnip-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-item.answered {
    background: rgba(16,185,129,0.10) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .cnip-pole-left,
html[data-theme="dark"] body .cnip-pole-right { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-pole-center { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-pbadge.pos { background: rgba(229,62,62,0.20) !important; color: #fca5a5 !important; }
html[data-theme="dark"] body .cnip-pbadge.neg { background: rgba(16,185,129,0.18) !important; color: #6ee7b7 !important; }
/* Кнопки шкалы — перекрываем общее правило */
html[data-theme="dark"] body .cnip-opt:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cnip-opt:not(.selected) .olabel { color: var(--c-text-muted) !important; }
/* Selected — повторяем градиенты светлой темы (с !important чтобы пробить generic) */
html[data-theme="dark"] body .cnip-opt[data-val="3"].selected { background: linear-gradient(135deg,#e53e3e,#c53030) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(229,62,62,0.55) !important; }
html[data-theme="dark"] body .cnip-opt[data-val="2"].selected { background: linear-gradient(135deg,#dd6b20,#c05621) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(221,107,32,0.55) !important; }
html[data-theme="dark"] body .cnip-opt[data-val="1"].selected { background: linear-gradient(135deg,#c88a2a,#a06820) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(200,138,42,0.55) !important; }
html[data-theme="dark"] body .cnip-opt[data-val="0"].selected { background: linear-gradient(135deg,#43e97b,#38f9d7) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(56,249,215,0.55) !important; }
html[data-theme="dark"] body .cnip-opt[data-val="-1"].selected { background: linear-gradient(135deg,#34d399,#10b981) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(52,211,153,0.55) !important; }
html[data-theme="dark"] body .cnip-opt[data-val="-2"].selected { background: linear-gradient(135deg,#2dd4bf,#0d9488) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(45,212,191,0.55) !important; }
html[data-theme="dark"] body .cnip-opt[data-val="-3"].selected { background: linear-gradient(135deg,#10b981,#065f46) !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(16,185,129,0.55) !important; }
html[data-theme="dark"] body .cnip-opt.selected .oval { color: #fff !important; }
html[data-theme="dark"] body .cnip-opt[data-val="0"].selected .oval { color: #1a5c3a !important; }
/* Открытые вопросы (textarea) */
html[data-theme="dark"] body .cnip-open { border-top-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .cnip-open h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-open .open-sub { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-pref-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-pref-label { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-pref-input {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cnip-pref-input::placeholder { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-pref-input:focus {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.20) !important;
}
/* Блок результатов */
html[data-theme="dark"] body .cnip-results {
    background: rgba(16,185,129,0.10) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .cnip-results h3,
html[data-theme="dark"] body .cnip-results h4 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-warning {
    background: rgba(231,76,60,0.12) !important;
    border-color: rgba(231,76,60,0.55) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .cnip-warning .wn-title { color: #ff8a7a !important; }
html[data-theme="dark"] body .cnip-warning .wn-list { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-warning .wn-list b { color: #ff8a7a !important; }
html[data-theme="dark"] body .cnip-warning .wn-note { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-extreme {
    background: rgba(230,126,34,0.10) !important;
    border-color: #e67e22 !important;
}
html[data-theme="dark"] body .cnip-extreme h4 { color: #ffb37a !important; }
html[data-theme="dark"] body .cnip-extreme-item {
    background: var(--c-card-bg) !important;
    border-color: rgba(230,126,34,0.45) !important;
}
html[data-theme="dark"] body .cnip-extreme-item .ex-q { color: #ffb37a !important; }
html[data-theme="dark"] body .cnip-extreme-item .ex-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-extreme-item .ex-dir { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-scale-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-scale-card .sc-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-scale-card .sc-range { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-scale-card .sc-desc {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cnip-bar { background: var(--c-bg) !important; }
html[data-theme="dark"] body .cnip-bar-zero { background: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-bar-labels { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-prefs-block h4 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-pref-result {
    background: var(--c-bg-soft) !important;
    border-left-color: #10b981 !important;
}
html[data-theme="dark"] body .cnip-pref-result .pr-q { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-pref-result .pr-a { color: var(--c-text) !important; }
/* «Как интерпретировать баллы» — таблица */
html[data-theme="dark"] body .cnip-howto {
    background: rgba(16,185,129,0.10) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .cnip-howto h4 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cnip-howto-table tr:first-child { background: rgba(16,185,129,0.20) !important; }
html[data-theme="dark"] body .cnip-howto-table th {
    color: var(--c-text) !important;
    border-bottom-color: #10b981 !important;
}
html[data-theme="dark"] body .cnip-howto-table td {
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cnip-howto-note { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-disclaimer { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cnip-footer { color: var(--c-text-muted) !important; }

/* ════════════════════════════════════════════════════════════════════
   C-NIP MATCH (.cm-*): тёмная тема для теста /cnip-match/, /compatibilidade/.
   Палитра в духе .cnip-* (бирюза/зелень) + ярче палитра кривой для контраста.
   ════════════════════════════════════════════════════════════════════ */

/* Палитра кривой — переопределяем для dark, чтобы линии не сливались с фоном */
html[data-theme="dark"] {
    --cm-curve-client:    #4ade80;   /* светло-зелёный — клиент */
    --cm-curve-therapist: #38bdf8;   /* голубой — терапевт */
    --cm-curve-grid:      #3a342c;
    --cm-curve-axis:      #8c8273;
    --cm-curve-label:     #d6cdb8;
    --cm-curve-label2:    #8c8273;
}

/* Корневой контейнер */
html[data-theme="dark"] body .cm-wrap { color: var(--c-text) !important; }

/* Карточка психолога */
html[data-theme="dark"] body .cm-therapist {
    background: linear-gradient(135deg, rgba(16,185,129,0.12) 0%, rgba(20,184,166,0.10) 100%) !important;
    border-color: rgba(16,185,129,0.35) !important;
}
html[data-theme="dark"] body .cm-therapist h2 { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-therapist .bio { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-therapist .bio b { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-tm-item {
    background: var(--c-bg-soft) !important;
    border-color: rgba(16,185,129,0.25) !important;
}
html[data-theme="dark"] body .cm-tm-item label { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-tm-item span { color: var(--c-text) !important; }

/* Инструкция */
html[data-theme="dark"] body .cm-instruction {
    background: rgba(16,185,129,0.08) !important;
    border-left-color: #5eead4 !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-instruction b { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-instruction-quote {
    color: #34d399 !important;
    border-top-color: rgba(16,185,129,0.30) !important;
}

/* Легенда */
html[data-theme="dark"] body .cm-legend-title { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-legend-item .lbl { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-legend-item:nth-child(4) .num { color: #8c8273 !important; }

/* Демография */
html[data-theme="dark"] body .cm-demo {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-field label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-field input,
html[data-theme="dark"] body .cm-field select {
    background: var(--c-input-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-field input::placeholder { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-field input:focus,
html[data-theme="dark"] body .cm-field select:focus {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.20) !important;
}

/* Заголовки шкал */
html[data-theme="dark"] body .cm-scale-header.s1 { background: rgba(16,185,129,0.10) !important; }
html[data-theme="dark"] body .cm-scale-header.s2 { background: rgba(225,29,72,0.10) !important; }
html[data-theme="dark"] body .cm-scale-header.s3 { background: rgba(234,88,12,0.10) !important; }
html[data-theme="dark"] body .cm-scale-header.s4 { background: rgba(124,58,237,0.10) !important; }
html[data-theme="dark"] body .cm-scale-header .title { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-scale-header .poles { color: var(--c-text-muted) !important; }

/* Вопросы (C-NIP-style: карточка .cm-item с qnum + poles + scale-wrap) */
html[data-theme="dark"] body .cm-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-item.answered {
    background: rgba(16,185,129,0.05) !important;
    border-color: rgba(16,185,129,0.55) !important;
}
html[data-theme="dark"] body .cm-qnum {
    background: linear-gradient(135deg, rgba(67,233,123,0.25), rgba(56,249,215,0.25)) !important;
    color: #5eead4 !important;
}
html[data-theme="dark"] body .cm-item.answered .cm-qnum {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: #fff !important;
}
html[data-theme="dark"] body .cm-pole-left,
html[data-theme="dark"] body .cm-pole-right { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-pole-center { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-pbadge.pos { background: rgba(225,29,72,0.18) !important; color: #fb7185 !important; }
html[data-theme="dark"] body .cm-pbadge.neg { background: rgba(16,185,129,0.18) !important; color: #5eead4 !important; }

/* Опции-ответы (.cm-opt) — base, hover; .selected — оставляем светлые градиенты с цветной палитрой */
html[data-theme="dark"] body .cm-opt:not(.selected) {
    background: #25211d !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-opt:not(.selected) .olabel {
    color: #ebe4d2 !important;            /* ярче — читается при 8px шрифте на тёмном */
    opacity: 1;
    font-weight: 600;
}
/* Цифры в неселектированных — ярче для тёмного фона (особенно тёмно-зелёные) */
html[data-theme="dark"] body .cm-opt:not(.selected)[data-val="3"]  .oval { color: #ff6b6b !important; }
html[data-theme="dark"] body .cm-opt:not(.selected)[data-val="2"]  .oval { color: #ffa257 !important; }
html[data-theme="dark"] body .cm-opt:not(.selected)[data-val="1"]  .oval { color: #f5c861 !important; }
html[data-theme="dark"] body .cm-opt:not(.selected)[data-val="0"]  .oval { color: #34d399 !important; }
html[data-theme="dark"] body .cm-opt:not(.selected)[data-val="-1"] .oval { color: #6ee7b7 !important; }
html[data-theme="dark"] body .cm-opt:not(.selected)[data-val="-2"] .oval { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-opt:not(.selected)[data-val="-3"] .oval { color: #43e97b !important; }
/* Hover-фоны на тёмном — приглушённые тинты */
html[data-theme="dark"] body .cm-opt[data-val="3"]:hover  { background: rgba(229,62,62,0.18) !important; border-color: #ff6b6b !important; }
html[data-theme="dark"] body .cm-opt[data-val="2"]:hover  { background: rgba(221,107,32,0.18) !important; border-color: #ffa257 !important; }
html[data-theme="dark"] body .cm-opt[data-val="1"]:hover  { background: rgba(200,138,42,0.18) !important; border-color: #f5c861 !important; }
html[data-theme="dark"] body .cm-opt[data-val="0"]:hover  { background: rgba(16,185,129,0.18) !important; border-color: #34d399 !important; }
html[data-theme="dark"] body .cm-opt[data-val="-1"]:hover { background: rgba(52,211,153,0.18) !important; border-color: #6ee7b7 !important; }
html[data-theme="dark"] body .cm-opt[data-val="-2"]:hover { background: rgba(45,212,191,0.18) !important; border-color: #5eead4 !important; }
html[data-theme="dark"] body .cm-opt[data-val="-3"]:hover { background: rgba(16,185,129,0.18) !important; border-color: #43e97b !important; }
/* selected — явно дублируем светлые градиенты с !important, иначе общее правило фон перебивает (см. memory dark_selected_pattern) */
html[data-theme="dark"] body .cm-opt[data-val="3"].selected  { background: linear-gradient(135deg, #e53e3e, #c53030) !important; border-color: transparent !important; }
html[data-theme="dark"] body .cm-opt[data-val="2"].selected  { background: linear-gradient(135deg, #dd6b20, #c05621) !important; border-color: transparent !important; }
html[data-theme="dark"] body .cm-opt[data-val="1"].selected  { background: linear-gradient(135deg, #c88a2a, #a06820) !important; border-color: transparent !important; }
html[data-theme="dark"] body .cm-opt[data-val="0"].selected  { background: linear-gradient(135deg, #43e97b, #38f9d7) !important; border-color: transparent !important; }
html[data-theme="dark"] body .cm-opt[data-val="-1"].selected { background: linear-gradient(135deg, #34d399, #10b981) !important; border-color: transparent !important; }
html[data-theme="dark"] body .cm-opt[data-val="-2"].selected { background: linear-gradient(135deg, #2dd4bf, #0d9488) !important; border-color: transparent !important; }
html[data-theme="dark"] body .cm-opt[data-val="-3"].selected { background: linear-gradient(135deg, #10b981, #065f46) !important; border-color: transparent !important; }
html[data-theme="dark"] body .cm-opt.selected .oval   { color: #fff !important; }
html[data-theme="dark"] body .cm-opt.selected .olabel { color: rgba(255,255,255,0.92) !important; }
/* На светло-мятном «0» белый сливается — даём тёмно-зелёный */
html[data-theme="dark"] body .cm-opt[data-val="0"].selected .oval   { color: #1a5c3a !important; }
html[data-theme="dark"] body .cm-opt[data-val="0"].selected .olabel { color: rgba(26,92,58,0.85) !important; }

/* Кнопки */
html[data-theme="dark"] body .cm-button.ghost {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-button.ghost:hover {
    border-color: #10b981 !important;
    color: #5eead4 !important;
}

/* Заголовки результата */
html[data-theme="dark"] body .cm-result-h2 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-result-h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-result-p  { color: var(--c-text-muted) !important; }

/* Вердикт */
html[data-theme="dark"] body .cm-verdict.best    {
    background: rgba(16,185,129,0.10) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .cm-verdict.partial {
    background: rgba(245,158,11,0.10) !important;
    border-color: #f59e0b !important;
}
html[data-theme="dark"] body .cm-verdict.weak    {
    background: rgba(225,29,72,0.10) !important;
    border-color: #e11d48 !important;
}
html[data-theme="dark"] body .cm-verdict.best h3    { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-verdict.partial h3 { color: #fbbf24 !important; }
html[data-theme="dark"] body .cm-verdict.weak h3    { color: #fb7185 !important; }
html[data-theme="dark"] body .cm-verdict.best    .cm-r-value { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-verdict.partial .cm-r-value { color: #fbbf24 !important; }
html[data-theme="dark"] body .cm-verdict.weak    .cm-r-value { color: #fb7185 !important; }
html[data-theme="dark"] body .cm-r-caption { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-verdict .detail { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-verdict .corrected { color: var(--c-text-muted) !important; }

html[data-theme="dark"] body .cm-warning {
    background: rgba(245,158,11,0.10) !important;
    border-left-color: #f59e0b !important;
    color: var(--c-text) !important;
}

/* Кривая */
html[data-theme="dark"] body .cm-curve-box {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-legend-curve-item { color: var(--c-text) !important; }

/* Таблица расхождений по шкалам */
html[data-theme="dark"] body .cm-detail-table th {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-detail-table td {
    border-bottom-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-detail-table .pole-hint { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-delta-note {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
}

/* Шкалы-сводка */
html[data-theme="dark"] body .cm-scale-cell {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-scale-cell .name { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-scale-cell .val  { color: var(--c-text) !important; }

/* Top-list расхождений по пунктам */
html[data-theme="dark"] body .cm-discrep-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-discrep-item.cat-opposing  {
    background: rgba(225,29,72,0.10) !important;
    border-left-color: #fb7185 !important;
}
html[data-theme="dark"] body .cm-discrep-item.cat-intensity {
    background: rgba(234,88,12,0.10) !important;
    border-left-color: #fb923c !important;
}
html[data-theme="dark"] body .cm-discrep-item.cat-mild      {
    background: rgba(245,158,11,0.10) !important;
    border-left-color: #fbbf24 !important;
}
html[data-theme="dark"] body .cm-discrep-item.cat-opposing  .cm-discrep-head { color: #fb7185 !important; }
html[data-theme="dark"] body .cm-discrep-item.cat-intensity .cm-discrep-head { color: #fb923c !important; }
html[data-theme="dark"] body .cm-discrep-item.cat-mild      .cm-discrep-head { color: #fbbf24 !important; }
html[data-theme="dark"] body .cm-discrep-head .qnum { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-discrep-pole {
    background: rgba(255,255,255,0.04) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-discrep-pole .label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-discrep-pole.client-chose    { border-color: #4ade80 !important; }
html[data-theme="dark"] body .cm-discrep-pole.therapist-chose { border-color: #38bdf8 !important; }
html[data-theme="dark"] body .cm-discrep-pole .vbadge {
    background: rgba(255,255,255,0.08) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-discrep-none {
    background: rgba(16,185,129,0.10) !important;
    border-color: rgba(16,185,129,0.35) !important;
    color: #5eead4 !important;
}

/* «Не готов» (legacy — больше не используется, остаётся на случай отката) */
html[data-theme="dark"] body .cm-not-ready {
    background: rgba(245,158,11,0.08) !important;
    border-color: rgba(245,158,11,0.35) !important;
}
html[data-theme="dark"] body .cm-not-ready h2 { color: #fbbf24 !important; }
html[data-theme="dark"] body .cm-not-ready p  { color: var(--c-text) !important; }

/* ── C-NIP-A — Match v2: двухтабовая универсальная архитектура ── */
/* Кнопка «Назад в центр тестов» — оставляем зелёный градиент (он и так контрастный),
   но тон текста делаем чуть темнее для читаемости на тёмном окружении */
html[data-theme="dark"] body .cm-back-btn {
    color: #052e16 !important;
    box-shadow: 0 4px 16px rgba(56,249,215,0.45) !important;
}
html[data-theme="dark"] body .cm-back-btn:hover {
    color: #052e16 !important;
    box-shadow: 0 8px 24px rgba(56,249,215,0.65) !important;
}
html[data-theme="dark"] body .cm-back-arrow {
    background: rgba(5,46,22,0.22) !important;
    color: #052e16 !important;
}

/* Инструкция «как это работает» */
html[data-theme="dark"] body .cm-how {
    background: rgba(16,185,129,0.08) !important;
    border-left-color: #5eead4 !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-how h3 { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-how b   { color: #5eead4 !important; }

/* Табы */
html[data-theme="dark"] body .cm-tabs { border-bottom-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .cm-tab  {
    color: var(--c-text-muted) !important;
    background: transparent !important;
}
html[data-theme="dark"] body .cm-tab:hover {
    color: #5eead4 !important;
    background: rgba(16,185,129,0.10) !important;
}
html[data-theme="dark"] body .cm-tab.active {
    color: #f0fdfa !important;
    background: linear-gradient(180deg, rgba(16,185,129,0.32) 0%, rgba(16,185,129,0.18) 100%) !important;
    border-bottom-color: #34d399 !important;
    box-shadow: inset 0 -3px 0 0 #34d399, 0 2px 8px rgba(16,185,129,0.25) !important;
    font-weight: 700 !important;
}
@media (max-width: 768px) {
    /* Тонкие, приглушённые разделители между табами в дарке */
    html[data-theme="dark"] body .cm-tab {
        border-bottom: 1px solid rgba(148,163,184,0.12) !important;
    }
    html[data-theme="dark"] body .cm-tab:last-child {
        border-bottom: none !important;
    }
    html[data-theme="dark"] body .cm-tab.active {
        border-bottom-color: rgba(148,163,184,0.12) !important;
        border-left-color: #34d399 !important;
        box-shadow: inset 3px 0 0 0 #34d399, 0 2px 8px rgba(16,185,129,0.20) !important;
    }
}

/* Заголовки и описания вкладок */
html[data-theme="dark"] body .cm-pane-h { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-pane-p { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-pane-p b { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-pane-p i { color: #34d399 !important; }
html[data-theme="dark"] body .cm-intro-quote {
    background: rgba(16,185,129,0.08) !important;
    border-left-color: #5eead4 !important;
    color: #34d399 !important;
}
html[data-theme="dark"] body .cm-field-hint { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-page-range .cm-page-prefix { color: var(--c-text-muted) !important; }

/* Заголовок параметра + селект веса */
html[data-theme="dark"] body .cm-q-head-left { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-weight-sel  { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-weight-sel select {
    background: var(--c-input-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-weight-sel.w-core select {
    border-color: #10b981 !important;
    background: rgba(16,185,129,0.12) !important;
    color: #5eead4 !important;
}
html[data-theme="dark"] body .cm-weight-sel.w-strong select {
    border-color: #2dd4bf !important;
    background: rgba(45,212,191,0.12) !important;
    color: #7dd3fc !important;
}
html[data-theme="dark"] body .cm-weight-sel.w-faculty select {
    border-color: #f59e0b !important;
    background: rgba(245,158,11,0.12) !important;
    color: #fbbf24 !important;
}

/* Блок с кодом (после генерации) */
html[data-theme="dark"] body .cm-code-block {
    background: linear-gradient(135deg, rgba(16,185,129,0.10), rgba(20,184,166,0.08)) !important;
    border-color: rgba(16,185,129,0.40) !important;
}
html[data-theme="dark"] body .cm-code-block h3 { color: #5eead4 !important; }
html[data-theme="dark"] body .cm-code-block p  { color: #34d399 !important; }
html[data-theme="dark"] body .cm-code-value {
    background: var(--c-input-bg) !important;
    border-color: var(--c-card-border) !important;
    color: #5eead4 !important;
}

/* Блок сравнения */
html[data-theme="dark"] body .cm-compare-block {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cm-compare-block h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-compare-input {
    background: var(--c-input-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-compare-input:focus {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.20) !important;
}
html[data-theme="dark"] body .cm-error { color: #fb7185 !important; }

/* Карточки участников в результате */
html[data-theme="dark"] body .cm-participant {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cm-participant .label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .cm-participant.client    .label { color: #4ade80 !important; }
html[data-theme="dark"] body .cm-participant.therapist .label { color: #38bdf8 !important; }
html[data-theme="dark"] body .cm-participant .name { color: var(--c-text) !important; }
html[data-theme="dark"] body .cm-participant .meta { color: var(--c-text-muted) !important; }

/* Шкальные ячейки сводки — два значения */
html[data-theme="dark"] body .cm-scale-cell .val .vc { color: #4ade80 !important; }
html[data-theme="dark"] body .cm-scale-cell .val .vt { color: #38bdf8 !important; }

/* ── CORE-OM: точечные перекрытия ──
   Префикс .coreom-*. Шкала 0-4. Палитра: тёмно-зелёный → зелёный → серый → светло-оранжевый → красный. */
html[data-theme="dark"] body .coreom-page { background: var(--c-bg) !important; }
html[data-theme="dark"] body .coreom-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body .coreom-header h1 { color: var(--c-text) !important; }
/* Преамбула */
html[data-theme="dark"] body .coreom-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .coreom-pre-section-title {
    color: #6ee7b7 !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .coreom-pre-section p { color: var(--c-text) !important; }
html[data-theme="dark"] body .coreom-pre-section strong { color: #6ee7b7 !important; }
html[data-theme="dark"] body .coreom-use-card {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .coreom-use-card .uc-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .coreom-use-card .uc-text { color: var(--c-text-muted) !important; }
/* Инструкция (была светло-цианово-зелёная — в дарке не пробивалась) */
html[data-theme="dark"] body .coreom-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid #38f9d7 !important;
}
html[data-theme="dark"] body .coreom-instruction p,
html[data-theme="dark"] body .coreom-instruction p:first-child { color: var(--c-text) !important; }
html[data-theme="dark"] body .coreom-instruction b { color: #6ee7b7 !important; }
/* Легенда (числа над опросником) */
html[data-theme="dark"] body .coreom-scale-legend { background: transparent !important; }
html[data-theme="dark"] body .coreom-legend-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .coreom-legend-item .legend-label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .coreom-legend-item:nth-child(1) span { color: #4ade80 !important; }
html[data-theme="dark"] body .coreom-legend-item:nth-child(2) span { color: #6ee7b7 !important; }
html[data-theme="dark"] body .coreom-legend-item:nth-child(3) span { color: #cbd0d9 !important; }
html[data-theme="dark"] body .coreom-legend-item:nth-child(4) span { color: #fdba74 !important; }
html[data-theme="dark"] body .coreom-legend-item:nth-child(5) span { color: #f87171 !important; }
/* Карточка вопроса (плоская grid-структура, БЕЗ подсветки от выбранного ответа) */
html[data-theme="dark"] body .coreom-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .coreom-qtext { color: var(--c-text) !important; }
/* Базовый вид ненажатых кнопок в дарке — единый фон + рамка + лёгкая тень */
html[data-theme="dark"] body .coreom-option {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important;
    color: var(--c-text-muted) !important;
}
/* Hover — оттенок цвета по value */
html[data-theme="dark"] body .coreom-radio[value="0"]:not(:checked) + .coreom-option:hover { border-color: #166534 !important; background: rgba(22,101,52,0.20) !important;  box-shadow: 0 6px 16px rgba(22,101,52,0.40) !important; color: #4ade80 !important; transform: translateY(-2px); }
html[data-theme="dark"] body .coreom-radio[value="1"]:not(:checked) + .coreom-option:hover { border-color: #22c55e !important; background: rgba(34,197,94,0.20) !important;  box-shadow: 0 6px 16px rgba(34,197,94,0.40) !important; color: #6ee7b7 !important; transform: translateY(-2px); }
html[data-theme="dark"] body .coreom-radio[value="2"]:not(:checked) + .coreom-option:hover { border-color: #9ca3af !important; background: rgba(156,163,175,0.22) !important; box-shadow: 0 6px 16px rgba(107,114,128,0.40) !important; color: #cbd0d9 !important; transform: translateY(-2px); }
html[data-theme="dark"] body .coreom-radio[value="3"]:not(:checked) + .coreom-option:hover { border-color: #fb923c !important; background: rgba(251,146,60,0.22) !important;  box-shadow: 0 6px 16px rgba(251,146,60,0.40) !important; color: #fdba74 !important; transform: translateY(-2px); }
html[data-theme="dark"] body .coreom-radio[value="4"]:not(:checked) + .coreom-option:hover { border-color: #ef4444 !important; background: rgba(239,68,68,0.20) !important;   box-shadow: 0 6px 16px rgba(239,68,68,0.40) !important; color: #f87171 !important; transform: translateY(-2px); }
/* Selected — те же градиенты что в светлой теме */
html[data-theme="dark"] body .coreom-radio[value="0"]:checked + .coreom-option { background: linear-gradient(135deg, #166534, #14532d) !important; border-color: transparent !important; box-shadow: 0 8px 22px rgba(22,101,52,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .coreom-radio[value="1"]:checked + .coreom-option { background: linear-gradient(135deg, #22c55e, #16a34a) !important; border-color: transparent !important; box-shadow: 0 8px 22px rgba(34,197,94,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .coreom-radio[value="2"]:checked + .coreom-option { background: linear-gradient(135deg, #b8bec5, #9ca3af) !important; border-color: transparent !important; box-shadow: 0 8px 22px rgba(107,114,128,0.55) !important; color: #1a1a1a !important; }
html[data-theme="dark"] body .coreom-radio[value="3"]:checked + .coreom-option { background: linear-gradient(135deg, #fdba74, #fb923c) !important; border-color: transparent !important; box-shadow: 0 8px 22px rgba(251,146,60,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .coreom-radio[value="4"]:checked + .coreom-option { background: linear-gradient(135deg, #ef4444, #dc2626) !important; border-color: transparent !important; box-shadow: 0 8px 22px rgba(239,68,68,0.55) !important; color: #fff !important; }
/* Блок результатов */
html[data-theme="dark"] body .coreom-results {
    background: rgba(16,185,129,0.10) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .coreom-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .coreom-warning {
    background: rgba(245,158,11,0.10) !important;
    border-color: rgba(245,158,11,0.45) !important;
    color: #fcd34d !important;
}
/* Risk-flag (домен R) */
html[data-theme="dark"] body .coreom-risk-flag {
    background: rgba(231,76,60,0.10) !important;
    border-color: rgba(231,76,60,0.55) !important;
}
html[data-theme="dark"] body .coreom-risk-flag .rf-title { color: #ff8a7a !important; }
html[data-theme="dark"] body .coreom-risk-flag .rf-text { color: var(--c-text) !important; }
/* «Результаты по доменам:» */
html[data-theme="dark"] body .coreom-domains-title { color: var(--c-text) !important; }
/* Карточки доменов */
html[data-theme="dark"] body .coreom-result-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .coreom-result-card .domain-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .coreom-result-card .domain-code { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .coreom-result-card .domain-sum { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .coreom-result-card .domain-sum b { color: var(--c-text) !important; }
html[data-theme="dark"] body .coreom-result-card .domain-desc { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .domain-progress-wrap { background: var(--c-bg) !important; }
/* Клинический балл (большой блок снизу) */
html[data-theme="dark"] body .coreom-total-score {
    background: linear-gradient(135deg, #059669 0%, #0d9488 100%) !important;
    color: white !important;
}
html[data-theme="dark"] body .coreom-cutoff {
    background: rgba(16,185,129,0.10) !important;
    border-color: rgba(16,185,129,0.40) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .coreom-cutoff b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .coreom-result-disclaimer { color: var(--c-text-muted) !important; }
/* High scores */
html[data-theme="dark"] body .coreom-high-scores {
    background: rgba(245,158,11,0.10) !important;
    border-color: rgba(245,158,11,0.45) !important;
}
html[data-theme="dark"] body .coreom-high-scores h4 { color: #fcd34d !important; }
html[data-theme="dark"] body .high-score-tag { background: rgba(245,158,11,0.25) !important; color: #fcd34d !important; }
html[data-theme="dark"] body .coreom-pdf-hint { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .coreom-footer {
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .coreom-footer a { color: #6ee7b7 !important; }

/* ── WAI (Working Alliance Inventory, полная версия 36 пунктов, /test-wai/, файл WAI.php) ──
   Префикс .wai-*. Шкала 1-7 (Никогда → Всегда). Три подшкалы: bond/task/goal.
   13 обратных пунктов отмечены бэйджем .wai-scale-badge.rev. */
html[data-theme="dark"] body .wai-page { background: var(--c-bg) !important; }
html[data-theme="dark"] body .wai-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body .wai-header h1 { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-header .sub,
html[data-theme="dark"] body .wai-header .src { color: var(--c-text-muted) !important; }
/* Преамбула */
/* WAI toggle: сохраняем зелёное свечение в тёмной теме, как у CORE-OM */
html[data-theme="dark"] body .wai-info-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-info-intro {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-info-intro b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .wai-info-intro em { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .wai-info-card {
    background: var(--c-card-bg) !important;
    border-right-color: var(--c-card-border) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-info-card-title { color: #6ee7b7 !important; }
html[data-theme="dark"] body .wai-info-card-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-info-scales {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-info-scales b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .wai-info-footer {
    background: rgba(16,185,129,0.10) !important;
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-info-footer a { color: #6ee7b7 !important; }
/* Имя терапевта */
html[data-theme="dark"] body .wai-therapist-block {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-therapist-block label { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-therapist-input {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-therapist-input:focus { border-color: #6ee7b7 !important; box-shadow: 0 0 0 3px rgba(110,231,183,0.20) !important; }
/* Инструкция */
html[data-theme="dark"] body .wai-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .wai-instruction b { color: #6ee7b7 !important; }
/* Легенда (числа над опросником, 7 значений) */
html[data-theme="dark"] body .wai-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-legend-item .ltxt { color: var(--c-text-muted) !important; }
/* Цвета цифр в легенде: 1 светло-серый · 2 серый · 3 голубой · 4 синий · 5 зелёный · 6 жёлтый · 7 оранжевый */
html[data-theme="dark"] body .wai-legend-item:nth-child(1) .lval { color: #9ca3af !important; }
html[data-theme="dark"] body .wai-legend-item:nth-child(2) .lval { color: #cbd0d9 !important; }
html[data-theme="dark"] body .wai-legend-item:nth-child(3) .lval { color: #22d3ee !important; }
html[data-theme="dark"] body .wai-legend-item:nth-child(4) .lval { color: #60a5fa !important; }
html[data-theme="dark"] body .wai-legend-item:nth-child(5) .lval { color: #4ade80 !important; }
html[data-theme="dark"] body .wai-legend-item:nth-child(6) .lval { color: #fde047 !important; }
html[data-theme="dark"] body .wai-legend-item:nth-child(7) .lval { color: #fb923c !important; }
/* Заголовки секций (bond/task/goal) */
html[data-theme="dark"] body .wai-scale-header.bond { background: rgba(234,108,18,0.14) !important; border-color: #ea6c12 !important; }
html[data-theme="dark"] body .wai-scale-header.task { background: rgba(6,182,212,0.14) !important; border-color: #06b6d4 !important; }
html[data-theme="dark"] body .wai-scale-header.goal { background: rgba(217,158,0,0.14) !important; border-color: #d99e00 !important; }
html[data-theme="dark"] body .wai-scale-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-scale-hint { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .wai-scale-desc { color: var(--c-text) !important; }
/* Карточка вопроса */
html[data-theme="dark"] body .wai-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-qtext { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-qtext .therapist-placeholder { color: #6ee7b7 !important; }
html[data-theme="dark"] body .wai-scale-badge.bond { background: rgba(234,108,18,0.20) !important; color: #fb923c !important; }
html[data-theme="dark"] body .wai-scale-badge.task { background: rgba(6,182,212,0.20) !important; color: #38bdf8 !important; }
html[data-theme="dark"] body .wai-scale-badge.goal { background: rgba(217,158,0,0.20) !important; color: #fbbf24 !important; }
html[data-theme="dark"] body .wai-scale-badge.rev { background: rgba(148,163,184,0.18) !important; color: #cbd0d9 !important; }
/* Кнопки шкалы — в покое */
html[data-theme="dark"] body .wai-opt:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-opt:not(.selected) .olabel { color: var(--c-text-muted) !important; }
/* Цвета цифр в покое */
html[data-theme="dark"] body .wai-opt[data-val="1"]:not(.selected) .oval { color: #9ca3af !important; }
html[data-theme="dark"] body .wai-opt[data-val="2"]:not(.selected) .oval { color: #cbd0d9 !important; }
html[data-theme="dark"] body .wai-opt[data-val="3"]:not(.selected) .oval { color: #22d3ee !important; }
html[data-theme="dark"] body .wai-opt[data-val="4"]:not(.selected) .oval { color: #60a5fa !important; }
html[data-theme="dark"] body .wai-opt[data-val="5"]:not(.selected) .oval { color: #4ade80 !important; }
html[data-theme="dark"] body .wai-opt[data-val="6"]:not(.selected) .oval { color: #fde047 !important; }
html[data-theme="dark"] body .wai-opt[data-val="7"]:not(.selected) .oval { color: #fb923c !important; }
/* Hover */
html[data-theme="dark"] body .wai-opt[data-val="1"]:not(.selected):hover { border-color: #4b5563 !important; background: rgba(0,0,0,0.30) !important; }
html[data-theme="dark"] body .wai-opt[data-val="2"]:not(.selected):hover { border-color: #9ca3af !important; background: rgba(107,114,128,0.25) !important; }
html[data-theme="dark"] body .wai-opt[data-val="3"]:not(.selected):hover { border-color: #06b6d4 !important; background: rgba(6,182,212,0.20) !important; }
html[data-theme="dark"] body .wai-opt[data-val="4"]:not(.selected):hover { border-color: #2563eb !important; background: rgba(37,99,235,0.20) !important; }
html[data-theme="dark"] body .wai-opt[data-val="5"]:not(.selected):hover { border-color: #16a34a !important; background: rgba(22,163,74,0.18) !important; }
html[data-theme="dark"] body .wai-opt[data-val="6"]:not(.selected):hover { border-color: #ca8a04 !important; background: rgba(202,138,4,0.20) !important; }
html[data-theme="dark"] body .wai-opt[data-val="7"]:not(.selected):hover { border-color: #ea580c !important; background: rgba(234,88,12,0.20) !important; }
/* Selected — повторяем градиенты светлой темы */
html[data-theme="dark"] body .wai-opt[data-val="1"].selected { background: linear-gradient(135deg,#1f2937,#000)    !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(0,0,0,0.65) !important; color: #fff !important; }
html[data-theme="dark"] body .wai-opt[data-val="2"].selected { background: linear-gradient(135deg,#9ca3af,#6b7280) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(107,114,128,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .wai-opt[data-val="3"].selected { background: linear-gradient(135deg,#22d3ee,#06b6d4) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(6,182,212,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .wai-opt[data-val="4"].selected { background: linear-gradient(135deg,#3b82f6,#2563eb) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(37,99,235,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .wai-opt[data-val="5"].selected { background: linear-gradient(135deg,#22c55e,#16a34a) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(34,197,94,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .wai-opt[data-val="6"].selected { background: linear-gradient(135deg,#fde047,#ca8a04) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(202,138,4,0.65) !important; color: #422006 !important; }
html[data-theme="dark"] body .wai-opt[data-val="7"].selected { background: linear-gradient(135deg,#fb923c,#ea580c) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(234,88,12,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .wai-opt.selected .oval { color: #fff !important; }
html[data-theme="dark"] body .wai-opt.selected .olabel { color: rgba(255,255,255,0.9) !important; }
/* На жёлтой 6-ке цифра тёмная */
html[data-theme="dark"] body .wai-opt[data-val="6"].selected .oval { color: #422006 !important; }
html[data-theme="dark"] body .wai-opt[data-val="6"].selected .olabel { color: rgba(66,32,6,0.85) !important; }
/* Кнопка «Посмотреть результаты» / «Сохранить PDF» */
html[data-theme="dark"] body .wai-button { color: #fff !important; }
/* Блок результатов */
html[data-theme="dark"] body .wai-results {
    background: rgba(16,185,129,0.10) !important;
    border-color: #16a34a !important;
}
html[data-theme="dark"] body .wai-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-total-card {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .wai-total-card .tc-label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .wai-total-card .tc-max { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .wai-total-card .tc-desc { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-bar { background: var(--c-bg) !important; }
html[data-theme="dark"] body .wai-bar-labels { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .wai-scale-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-scale-card .sc-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-scale-card .sc-range { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .wai-warning {
    background: rgba(231,76,60,0.14) !important;
    color: #ff8a7a !important;
}
/* Подробное описание шкал */
html[data-theme="dark"] body .wai-detail-block h4 { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-detail-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .wai-detail-card .dd-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-detail-card .dd-interp { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-detail-card .dd-items { color: var(--c-text-muted) !important; }
/* Цветной балл «Score / 84» в карточке детали — подкрашиваем под подшкалу */
html[data-theme="dark"] body .wai-detail-card.bond-det .dd-score { color: #fb923c !important; }
html[data-theme="dark"] body .wai-detail-card.task-det .dd-score { color: #38bdf8 !important; }
html[data-theme="dark"] body .wai-detail-card.goal-det .dd-score { color: #fbbf24 !important; }
/* Норм-таблица */
html[data-theme="dark"] body .wai-norms {
    background: rgba(16,185,129,0.10) !important;
    border-color: rgba(16,185,129,0.40) !important;
}
html[data-theme="dark"] body .wai-norms h4 { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-norms table { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-norms th {
    color: var(--c-text) !important;
    border-bottom-color: rgba(16,185,129,0.50) !important;
    background: rgba(22,163,74,0.18) !important;
}
html[data-theme="dark"] body .wai-norms td { border-bottom-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .wai-norms p { color: var(--c-text-muted) !important; }
/* Подвал */
html[data-theme="dark"] body .wai-footer { color: var(--c-text-muted) !important; }
/* «Что делать после прохождения» — inline-стили на DIV в шаблоне, поэтому бьём через !important */
html[data-theme="dark"] body .wai-container > div[style*="background:#f0fdf4"] {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .wai-container > div[style*="background:#f0fdf4"] h2 { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-container > div[style*="background:#f0fdf4"] p { color: var(--c-text) !important; }
html[data-theme="dark"] body .wai-container > div[style*="background:#f0fdf4"] a { color: #6ee7b7 !important; }

/* Табы WAI-A — насыщенный градиент в активе, приглушённый текст в неактиве */
html[data-theme="dark"] body .wai-tabs { border-bottom-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .wai-tab { color: var(--c-text-muted) !important; background: transparent !important; }
html[data-theme="dark"] body .wai-tab:not(.active):hover {
    color: #6ee7b7 !important;
    background: rgba(22,163,74,0.10) !important;
}
html[data-theme="dark"] body .wai-tab.active,
html[data-theme="dark"] body .wai-tab.active:hover,
html[data-theme="dark"] body .wai-tab.active:focus,
html[data-theme="dark"] body .wai-tab.active:active {
    color: #f0fdf4 !important;
    background: linear-gradient(180deg, rgba(22,163,74,0.34) 0%, rgba(22,163,74,0.20) 100%) !important;
    border-bottom-color: #34d399 !important;
    box-shadow: inset 0 -3px 0 0 #34d399, 0 2px 8px rgba(22,163,74,0.25) !important;
    font-weight: 700 !important;
}
@media (max-width: 700px) {
    html[data-theme="dark"] body .wai-tab {
        border-bottom: 1px solid rgba(148,163,184,0.12) !important;
    }
    html[data-theme="dark"] body .wai-tab:last-child { border-bottom: none !important; }
    html[data-theme="dark"] body .wai-tab.active {
        border-bottom-color: rgba(148,163,184,0.12) !important;
        border-left-color: #34d399 !important;
        box-shadow: inset 3px 0 0 0 #34d399, 0 2px 8px rgba(22,163,74,0.20) !important;
    }
}

/* ── HAQ-II (Helping Alliance Questionnaire II, /test-haq-ii/, файл HAQ-II.php) ──
   Префикс .haq-*. Шкала 1-6 (полностью не согласен → полностью согласен).
   Два фактора: g1 «Позитивный альянс» (зелёный), g2 «Маркеры напряжения» (синий).
   13 прямых пунктов + 4 обратных + 2 учитываются только в общем балле. */
html[data-theme="dark"] body .haq-page { background: var(--c-bg) !important; }
html[data-theme="dark"] body .haq-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body .haq-header { border-bottom-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .haq-header h1 { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-header .sub,
html[data-theme="dark"] body .haq-header .src { color: var(--c-text-muted) !important; }
/* Преамбула / аккордеон */
/* HAQ-II toggle: сохраняем зелёное свечение в тёмной теме, как у CORE-OM */
html[data-theme="dark"] body .haq-info-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-info-intro {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-info-intro b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .haq-info-card {
    background: var(--c-card-bg) !important;
    border-right-color: var(--c-card-border) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-info-card-title { color: #6ee7b7 !important; }
html[data-theme="dark"] body .haq-info-card-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-info-card-text b { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-info-factors {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-info-factors b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .haq-info-footer {
    background: rgba(16,185,129,0.10) !important;
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
/* Инструкция */
html[data-theme="dark"] body .haq-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .haq-instruction b { color: #6ee7b7 !important; }
/* Легенда */
html[data-theme="dark"] body .haq-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-legend-item .lbl { color: var(--c-text-muted) !important; }
/* Цвета цифр в легенде на тёмном (1-2 поярче, остальные оставить) */
html[data-theme="dark"] body .haq-legend-item:nth-child(1) span { color: #f87171 !important; }
html[data-theme="dark"] body .haq-legend-item:nth-child(2) span { color: #fb923c !important; }
html[data-theme="dark"] body .haq-legend-item:nth-child(3) span { color: #fde047 !important; }
html[data-theme="dark"] body .haq-legend-item:nth-child(4) span { color: #a3e635 !important; }
html[data-theme="dark"] body .haq-legend-item:nth-child(5) span { color: #4ade80 !important; }
html[data-theme="dark"] body .haq-legend-item:nth-child(6) span { color: #34d399 !important; }
/* Заголовки секций (group-header) */
html[data-theme="dark"] body .haq-group-header.g1 {
    background: rgba(16,185,129,0.14) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .haq-group-header.g2 {
    background: rgba(2,132,199,0.14) !important;
    border-color: #0284c7 !important;
}
html[data-theme="dark"] body .haq-group-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-group-hint { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .haq-group-note { color: var(--c-text-muted) !important; }
/* Карточка вопроса */
html[data-theme="dark"] body .haq-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-item.answered {
    background: rgba(16,185,129,0.10) !important;
    border-color: #10b981 !important;
}
html[data-theme="dark"] body .haq-item.reversed-item { border-left-color: #fb923c !important; }
html[data-theme="dark"] body .haq-item.reversed-item.answered { border-left-color: #10b981 !important; }
html[data-theme="dark"] body .haq-q-text { color: var(--c-text) !important; }
/* Цифра в зелёном кружке номера вопроса — на тёмной теме делаем тёмной,
   чтобы читалась поверх ярко-зелёного градиента (белая на нём «выгорает»). */
html[data-theme="dark"] body .haq-qnum { color: #0f172a !important; }
html[data-theme="dark"] body .haq-reversed-badge {
    background: rgba(251,146,60,0.18) !important;
    color: #fdba74 !important;
    border: 1px solid rgba(251,146,60,0.35) !important;
}
/* Кнопки шкалы — в покое */
html[data-theme="dark"] body .haq-opt:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-opt:not(.selected) .olabel { color: var(--c-text-muted) !important; }
/* Цвета цифр в покое */
html[data-theme="dark"] body .haq-opt[data-val="1"]:not(.selected) .oval { color: #f87171 !important; }
html[data-theme="dark"] body .haq-opt[data-val="2"]:not(.selected) .oval { color: #fb923c !important; }
html[data-theme="dark"] body .haq-opt[data-val="3"]:not(.selected) .oval { color: #fde047 !important; }
html[data-theme="dark"] body .haq-opt[data-val="4"]:not(.selected) .oval { color: #a3e635 !important; }
html[data-theme="dark"] body .haq-opt[data-val="5"]:not(.selected) .oval { color: #4ade80 !important; }
html[data-theme="dark"] body .haq-opt[data-val="6"]:not(.selected) .oval { color: #34d399 !important; }
/* Hover */
html[data-theme="dark"] body .haq-opt[data-val="1"]:not(.selected):hover { border-color: #dc2626 !important; background: rgba(220,38,38,0.18) !important; }
html[data-theme="dark"] body .haq-opt[data-val="2"]:not(.selected):hover { border-color: #ea580c !important; background: rgba(234,88,12,0.18) !important; }
html[data-theme="dark"] body .haq-opt[data-val="3"]:not(.selected):hover { border-color: #ca8a04 !important; background: rgba(202,138,4,0.18) !important; }
html[data-theme="dark"] body .haq-opt[data-val="4"]:not(.selected):hover { border-color: #65a30d !important; background: rgba(101,163,13,0.18) !important; }
html[data-theme="dark"] body .haq-opt[data-val="5"]:not(.selected):hover { border-color: #16a34a !important; background: rgba(22,163,74,0.18) !important; }
html[data-theme="dark"] body .haq-opt[data-val="6"]:not(.selected):hover { border-color: #10b981 !important; background: rgba(16,185,129,0.18) !important; }
/* Selected с белой рамкой (как в WAI) */
html[data-theme="dark"] body .haq-opt[data-val="1"].selected { background: linear-gradient(135deg,#dc2626,#b91c1c) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(220,38,38,.55) !important; color: #fff !important; }
html[data-theme="dark"] body .haq-opt[data-val="2"].selected { background: linear-gradient(135deg,#ea580c,#c2410c) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(234,88,12,.55) !important; color: #fff !important; }
html[data-theme="dark"] body .haq-opt[data-val="3"].selected { background: linear-gradient(135deg,#ca8a04,#a16207) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(202,138,4,.55) !important; color: #fff !important; }
html[data-theme="dark"] body .haq-opt[data-val="4"].selected { background: linear-gradient(135deg,#65a30d,#4d7c0f) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(101,163,13,.55) !important; color: #fff !important; }
html[data-theme="dark"] body .haq-opt[data-val="5"].selected { background: linear-gradient(135deg,#16a34a,#15803d) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(22,163,74,.55) !important; color: #fff !important; }
html[data-theme="dark"] body .haq-opt[data-val="6"].selected { background: linear-gradient(135deg,#10b981,#059669) !important; border-color: #fff !important; box-shadow: 0 4px 12px rgba(16,185,129,.55) !important; color: #fff !important; }
html[data-theme="dark"] body .haq-opt.selected .oval { color: #fff !important; }
html[data-theme="dark"] body .haq-opt.selected .olabel { color: rgba(255,255,255,0.9) !important; }
/* Кнопка */
html[data-theme="dark"] body .haq-button { color: #fff !important; }
/* Блок результатов */
html[data-theme="dark"] body .haq-results {
    background: rgba(16,185,129,0.08) !important;
    border: 1px solid rgba(16,185,129,0.40) !important;
}
html[data-theme="dark"] body .haq-results h3 { color: var(--c-text) !important; }
/* Итоговая карточка */
html[data-theme="dark"] body .haq-total-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .haq-total-score { color: #6ee7b7 !important; }
html[data-theme="dark"] body .haq-total-label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .haq-total-bar { background: var(--c-bg) !important; }
html[data-theme="dark"] body .haq-total-bar-fill { background: #10b981 !important; }
html[data-theme="dark"] body .haq-total-info h4 { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-total-info p { color: var(--c-text) !important; opacity: 1 !important; }
/* Карточки подшкал */
html[data-theme="dark"] body .haq-subscale-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .haq-subscale-card .sc-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-subscale-card .sc-range { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .haq-subscale-card .sc-items { color: var(--c-text-muted) !important; }
/* Подсказка по подшкалам */
html[data-theme="dark"] body .haq-subscale-hint {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .haq-subscale-hint b { color: #6ee7b7 !important; }
/* Интерпретация / норм-таблица */
html[data-theme="dark"] body .haq-interp-block {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-interp-block h4 { color: #6ee7b7 !important; }
html[data-theme="dark"] body .haq-interp-block p { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-norm-table th {
    background: rgba(16,185,129,0.18) !important;
    color: #6ee7b7 !important;
    border-bottom-color: rgba(16,185,129,0.50) !important;
}
html[data-theme="dark"] body .haq-norm-table td {
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-norm-table .current-row td { background: rgba(16,185,129,0.18) !important; }
html[data-theme="dark"] body .haq-norm-table .current-row td:first-child::before {
    color: #6ee7b7 !important;
}
/* Детальная таблица в <details> */
html[data-theme="dark"] body .haq-details-summary {
    background: var(--c-bg-soft) !important;
    color: #6ee7b7 !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-detail-wrap {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-detail-table th {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-detail-table td {
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .haq-detail-table tr:nth-child(even) td { background: var(--c-bg-soft) !important; }
html[data-theme="dark"] body .haq-detail-wrap::before {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
}
/* «Что делать с результатами» — теперь через класс .haq-recommend, не inline */
html[data-theme="dark"] body .haq-interp-block.haq-recommend {
    background: rgba(16,185,129,0.10) !important;
    border: 1px solid rgba(16,185,129,0.40) !important;
}
html[data-theme="dark"] body .haq-interp-block.haq-recommend h4 { color: #6ee7b7 !important; }
html[data-theme="dark"] body .haq-interp-block.haq-recommend p { color: var(--c-text) !important; }
html[data-theme="dark"] body .haq-interp-block.haq-recommend p b { color: var(--c-text) !important; }
/* Warning */
html[data-theme="dark"] body .haq-warning {
    background: rgba(231,76,60,0.14) !important;
    color: #ff8a7a !important;
}
/* Подвал */
html[data-theme="dark"] body .haq-footer { color: var(--c-text-muted) !important; }

/* ── ПРЛ (Опросник пограничного расстройства, /test-las-a/, файл LAS.php): точечные перекрытия ──
   Префикс .prl-*. Шкала Да/Нет на критериях DSM. Брендовый цвет — фиолетовый #7c3aed. */
html[data-theme="dark"] body .prl-page { background: var(--c-bg) !important; }
html[data-theme="dark"] body .prl-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body .prl-header { border-bottom: none !important; }
html[data-theme="dark"] body .prl-header h1 { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-header .subtitle,
html[data-theme="dark"] body .prl-header .author { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prl-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .prl-preamble-toggle:hover { border-color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-preamble-toggle-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-preamble-toggle-sub { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prl-preamble-icon,
html[data-theme="dark"] body .prl-preamble-chevron { color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .prl-pre-section-title {
    color: #c4b5fd !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .prl-pre-section p,
html[data-theme="dark"] body .prl-pre-section strong { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-criterion-preview {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .prl-criterion-preview .cp-letter { color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-criterion-preview .cp-name { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prl-instruction {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .prl-instruction b { color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-instruction .inst-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .prl-progress-bar { background: var(--c-bg-soft) !important; }
html[data-theme="dark"] body .prl-progress-label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prl-progress-label b { color: var(--c-text) !important; }
/* Карточки вопросов */
html[data-theme="dark"] body .prl-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .prl-item.answered-yes {
    background: rgba(249,115,22,0.10) !important;
    border-color: #f97316 !important;
    box-shadow: 0 0 0 1px rgba(249,115,22,0.45), 0 4px 14px rgba(249,115,22,0.20) !important;
}
html[data-theme="dark"] body .prl-item.answered-no {
    background: rgba(95,139,82,0.12) !important;
    border-color: #5f8b52 !important;
    box-shadow: 0 0 0 1px rgba(95,139,82,0.45), 0 4px 14px rgba(95,139,82,0.18) !important;
}
html[data-theme="dark"] body .prl-item-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-item-num {
    background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
    color: #fff !important;
}
html[data-theme="dark"] body .prl-item.answered-yes .prl-item-num {
    background: linear-gradient(135deg, #f97316, #fb923c) !important;
}
html[data-theme="dark"] body .prl-item.answered-no .prl-item-num {
    background: linear-gradient(135deg, #5f8b52, #7ba36a) !important;
}
/* Кнопки Да/Нет — перекрываем общее правило */
html[data-theme="dark"] body .prl-yn-btn {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .prl-yn-btn.yes-btn:not(.active) { color: #fb923c !important; }
html[data-theme="dark"] body .prl-yn-btn.no-btn:not(.active)  { color: #a3c294 !important; }
html[data-theme="dark"] body .prl-yn-btn.yes-btn:not(.active):hover { background: rgba(249,115,22,0.14) !important; border-color: #f97316 !important; }
html[data-theme="dark"] body .prl-yn-btn.no-btn:not(.active):hover  { background: rgba(95,139,82,0.14) !important; border-color: #5f8b52 !important; }
html[data-theme="dark"] body .prl-yn-btn.yes-btn.active {
    background: linear-gradient(135deg, #f97316, #fb923c) !important;
    border-color: transparent !important; color: white !important;
    box-shadow: 0 4px 12px rgba(249,115,22,0.55) !important;
}
html[data-theme="dark"] body .prl-yn-btn.no-btn.active {
    background: linear-gradient(135deg, #5f8b52, #7ba36a) !important;
    border-color: transparent !important; color: white !important;
    box-shadow: 0 4px 12px rgba(95,139,82,0.55) !important;
}
html[data-theme="dark"] body .prl-calc-btn:disabled {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
}
/* Блок результатов */
html[data-theme="dark"] body .prl-results {
    background: rgba(124,58,237,0.10) !important;
    border-color: #8b5cf6 !important;
}
html[data-theme="dark"] body .prl-result-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .prl-result-card h2 { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-result-card .result-note { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prl-result-card.positive { border-color: #c4b5fd !important; background: rgba(124,58,237,0.12) !important; }
html[data-theme="dark"] body .prl-result-card.borderline { border-color: #fbbf24 !important; background: rgba(245,158,11,0.10) !important; }
html[data-theme="dark"] body .prl-result-card.negative { border-color: #34d399 !important; background: rgba(16,185,129,0.10) !important; }
html[data-theme="dark"] body .prl-zone-labels { color: var(--c-text-muted) !important; }
/* Карточки критериев */
html[data-theme="dark"] body .prl-criteria-results h3,
html[data-theme="dark"] body .prl-details h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-crit-card {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .prl-crit-card.active {
    background: rgba(124,58,237,0.14) !important;
    border-color: #8b5cf6 !important;
}
html[data-theme="dark"] body .prl-crit-card.additional-active {
    background: rgba(245,158,11,0.10) !important;
    border-color: #fbbf24 !important;
}
html[data-theme="dark"] body .prl-crit-letter {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .prl-crit-card.active .prl-crit-letter { background: #7c3aed !important; color: white !important; }
html[data-theme="dark"] body .prl-crit-card.additional-active .prl-crit-letter { background: #f59e0b !important; color: white !important; }
html[data-theme="dark"] body .prl-crit-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-crit-status { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prl-crit-status.positive-status { color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-crit-q-badge.yes { background: rgba(124,58,237,0.20) !important; color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-crit-q-badge.no { background: rgba(16,185,129,0.18) !important; color: #6ee7b7 !important; }
/* Подробные описания критериев */
html[data-theme="dark"] body .prl-detail-item {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .prl-detail-item.active-detail {
    background: rgba(124,58,237,0.10) !important;
    border-color: #8b5cf6 !important;
}
html[data-theme="dark"] body .prl-detail-letter {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .prl-detail-item.active-detail .prl-detail-letter { background: #7c3aed !important; color: white !important; }
html[data-theme="dark"] body .prl-detail-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-detail-badge.badge-active { background: rgba(124,58,237,0.22) !important; color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-detail-badge.badge-inactive { background: var(--c-bg-soft) !important; color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prl-detail-body,
html[data-theme="dark"] body .prl-detail-body p { color: var(--c-text) !important; }
html[data-theme="dark"] body .prl-detail-example {
    background: var(--c-bg-soft) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .prl-detail-example b { color: #c4b5fd !important; }
html[data-theme="dark"] body .prl-disclaimer {
    background: rgba(245,158,11,0.10) !important;
    border-color: rgba(245,158,11,0.40) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .prl-disclaimer b { color: #fcd34d !important; }
html[data-theme="dark"] body .prl-footer {
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}

/* ── ДМО Лири: точечные перекрытия ──
   Префикс .leary-*. Шкала Да(1) / Нет(0). Карточка вопроса тинтуется зелёным/красным. */
html[data-theme="dark"] body .leary-info-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-info-toggle:hover { border-color: #b380cf !important; }
html[data-theme="dark"] body .leary-info-icon { background: rgba(142,68,173,0.20) !important; }
html[data-theme="dark"] body .leary-info-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .leary-info-sub { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .leary-info-arrow { color: #b380cf !important; }
html[data-theme="dark"] body .leary-info-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-info-intro {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-info-intro b { color: #b380cf !important; }
html[data-theme="dark"] body .leary-info-card {
    background: var(--c-card-bg) !important;
    border-right-color: var(--c-card-border) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-info-card-title { color: #b380cf !important; }
html[data-theme="dark"] body .leary-info-card-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .leary-info-octants {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-info-octants b { color: #b380cf !important; }
html[data-theme="dark"] body .leary-info-footer {
    background: rgba(142,68,173,0.08) !important;
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-instruction {
    background: var(--c-bg-soft) !important;
    border-left-color: #8e44ad !important;
}
html[data-theme="dark"] body .leary-instruction p { color: var(--c-text) !important; }
html[data-theme="dark"] body .leary-instruction b { color: #b380cf !important; }
/* Легенда */
html[data-theme="dark"] body .leary-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .leary-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-qtext { color: var(--c-text) !important; }
/* Multi-color тинт по выбранному ответу */
html[data-theme="dark"] body .leary-item:has(input[value="1"]:checked) {
    background: rgba(39,174,96,0.16) !important; border-color: #27ae60 !important;
    box-shadow: 0 0 0 1px rgba(39,174,96,0.50), 0 4px 14px rgba(39,174,96,0.22) !important;
}
html[data-theme="dark"] body .leary-item:has(input[value="0"]:checked) {
    background: rgba(231,76,60,0.18) !important; border-color: #e74c3c !important;
    box-shadow: 0 0 0 1px rgba(231,76,60,0.50), 0 4px 14px rgba(231,76,60,0.22) !important;
}
/* Кнопки Да/Нет — в покое перекрываем общее правило */
html[data-theme="dark"] body .leary-yn-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .leary-yn-option[data-val="1"]:hover:not(.selected) {
    border-color: #27ae60 !important; background: rgba(39,174,96,0.12) !important; color: #6ee7b7 !important;
}
html[data-theme="dark"] body .leary-yn-option[data-val="0"]:hover:not(.selected) {
    border-color: #e74c3c !important; background: rgba(231,76,60,0.12) !important; color: #ff8a7a !important;
}
/* Selected — повторяем градиенты светлой темы */
html[data-theme="dark"] body .leary-yn-option[data-val="1"].selected {
    background: linear-gradient(135deg, #27ae60, #1e8449) !important;
    border-color: transparent !important; color: white !important;
    box-shadow: 0 4px 12px rgba(39,174,96,0.55) !important;
}
html[data-theme="dark"] body .leary-yn-option[data-val="0"].selected {
    background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
    border-color: transparent !important; color: white !important;
    box-shadow: 0 4px 12px rgba(231,76,60,0.55) !important;
}
/* Блок результатов */
html[data-theme="dark"] body .leary-results {
    background: rgba(142,68,173,0.10) !important;
    border-color: #b380cf !important;
}
html[data-theme="dark"] body .leary-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .leary-warning {
    background: rgba(231,76,60,0.12) !important;
    border-color: rgba(231,76,60,0.55) !important;
    color: #ff8a7a !important;
}
/* Карточки октант */
html[data-theme="dark"] body .leary-octant-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .leary-octant-card .oct-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .leary-octant-bar-bg { background: var(--c-bg) !important; }
html[data-theme="dark"] body .oct-description-block { border-top-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .oct-desc-adaptive { color: var(--c-text) !important; }
html[data-theme="dark"] body .oct-desc-adaptive b { color: #6ee7b7 !important; }
html[data-theme="dark"] body .oct-desc-extreme { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .oct-desc-extreme b { color: #ff8a7a !important; }
/* Главные индексы */
html[data-theme="dark"] body .leary-indices {
    background: rgba(142,68,173,0.08) !important;
    border-color: rgba(179,128,207,0.55) !important;
}
html[data-theme="dark"] body .leary-indices h4 { color: var(--c-text) !important; }
html[data-theme="dark"] body .leary-index-block {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid #b380cf !important;
}
html[data-theme="dark"] body .leary-index-top .idx-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .leary-index-top .idx-value { color: #c4b5fd !important; }
html[data-theme="dark"] body .leary-index-desc { color: var(--c-text) !important; }

/* ── IRI (Interpersonal Reactivity Index): точечные перекрытия ──
   Префикс .iri-*. Шкала 0-4 с цветовой градацией зелёный→оранжевый→красный.
   В светлой теме селекторы по :nth-child — здесь дублируем через :has(input[value=N]:checked). */
html[data-theme="dark"] body .iri-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid #8b5cf6 !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .iri-instruction p { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-instruction b { color: #c4b5fd !important; }
/* 4 карточки PT/FS/EC/PD над преамбулой — оставляем цветные градиенты, но без слишком яркого фона */
html[data-theme="dark"] body .iri-legend-card {
    box-shadow: none !important;
}
html[data-theme="dark"] body .iri-legend-card.pt { background: rgba(59,130,246,0.18) !important; border-color: #3b82f6 !important; box-shadow: 0 2px 12px rgba(59,130,246,0.25) !important; }
html[data-theme="dark"] body .iri-legend-card.fs { background: rgba(139,92,246,0.18) !important; border-color: #8b5cf6 !important; box-shadow: 0 2px 12px rgba(139,92,246,0.25) !important; }
html[data-theme="dark"] body .iri-legend-card.ec { background: rgba(236,72,153,0.18) !important; border-color: #ec4899 !important; box-shadow: 0 2px 12px rgba(236,72,153,0.25) !important; }
html[data-theme="dark"] body .iri-legend-card.pd { background: rgba(245,158,11,0.18) !important; border-color: #f59e0b !important; box-shadow: 0 2px 12px rgba(245,158,11,0.30) !important; }
html[data-theme="dark"] body .iri-legend-card.pt:hover { box-shadow: 0 8px 28px rgba(59,130,246,0.45) !important; }
html[data-theme="dark"] body .iri-legend-card.fs:hover { box-shadow: 0 8px 28px rgba(139,92,246,0.45) !important; }
html[data-theme="dark"] body .iri-legend-card.ec:hover { box-shadow: 0 8px 28px rgba(236,72,153,0.45) !important; }
html[data-theme="dark"] body .iri-legend-card.pd:hover { box-shadow: 0 8px 28px rgba(245,158,11,0.50) !important; }
html[data-theme="dark"] body .iri-legend-card.pt .lc-code { color: #93c5fd !important; }
html[data-theme="dark"] body .iri-legend-card.fs .lc-code { color: #c4b5fd !important; }
html[data-theme="dark"] body .iri-legend-card.ec .lc-code { color: #f9a8d4 !important; }
html[data-theme="dark"] body .iri-legend-card.pd .lc-code { color: #fcd34d !important; }
html[data-theme="dark"] body .iri-legend-card .lc-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-legend-card .lc-desc { color: var(--c-text-muted) !important; }
/* Преамбула */
html[data-theme="dark"] body .iri-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iri-preamble-toggle:hover {
    border-color: #8b5cf6 !important;
    background: rgba(139,92,246,0.10) !important;
}
html[data-theme="dark"] body .iri-pre-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-pre-sub { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .iri-preamble-icon,
html[data-theme="dark"] body .iri-preamble-chevron { color: #c4b5fd !important; }
html[data-theme="dark"] body .iri-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iri-pre-section-title {
    color: #c4b5fd !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iri-pre-section p,
html[data-theme="dark"] body .iri-pre-section strong { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-subscale-card {
    box-shadow: none !important;
}
html[data-theme="dark"] body .iri-subscale-card.pt { background: rgba(59,130,246,0.15) !important; }
html[data-theme="dark"] body .iri-subscale-card.fs { background: rgba(139,92,246,0.15) !important; }
html[data-theme="dark"] body .iri-subscale-card.ec { background: rgba(236,72,153,0.15) !important; }
html[data-theme="dark"] body .iri-subscale-card.pd { background: rgba(245,158,11,0.15) !important; }
html[data-theme="dark"] body .iri-subscale-card .sc-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-subscale-card .sc-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-subscale-card .sc-type,
html[data-theme="dark"] body .iri-subscale-card .sc-example { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .iri-use-card {
    background: var(--c-card-bg) !important;
    border-left-color: #8b5cf6 !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .iri-use-card .uc-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-use-card .uc-text { color: var(--c-text-muted) !important; }
/* Легенда шкалы (теперь в строчку) */
html[data-theme="dark"] body .iri-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iri-legend-item {
    background: transparent !important;
    border: none !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iri-legend-item .legend-label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .iri-legend-item .legend-label { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-legend-item:nth-child(1) span { color: #4ade80 !important; }
html[data-theme="dark"] body .iri-legend-item:nth-child(2) span { color: #22c55e !important; }
html[data-theme="dark"] body .iri-legend-item:nth-child(3) span { color: #fb923c !important; }
html[data-theme="dark"] body .iri-legend-item:nth-child(4) span { color: #f97316 !important; }
html[data-theme="dark"] body .iri-legend-item:nth-child(5) span { color: #ef4444 !important; }
/* Карточка вопроса */
/* Карточка вопроса — плоская структура: .iri-qnum/.iri-qtext — прямые дети .iri-item */
html[data-theme="dark"] body .iri-item {
    background: transparent !important;
    border: 1.5px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .iri-qtext { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-item.answered { background: rgba(139,92,246,0.10) !important; border-color: #8b5cf6 !important; }
/* Multi-color тинт по выбранному баллу 0-4 */
html[data-theme="dark"] body .iri-item:has(input[value="0"]:checked) { background: rgba(134,239,172,0.13) !important; border-color: #4ade80 !important; box-shadow: 0 0 0 1px rgba(74,222,128,0.45), 0 4px 14px rgba(74,222,128,0.18) !important; }
html[data-theme="dark"] body .iri-item:has(input[value="1"]:checked) { background: rgba(34,197,94,0.16) !important; border-color: #22c55e !important; box-shadow: 0 0 0 1px rgba(34,197,94,0.50), 0 4px 14px rgba(34,197,94,0.22) !important; }
html[data-theme="dark"] body .iri-item:has(input[value="2"]:checked) { background: rgba(253,186,116,0.18) !important; border-color: #fdba74 !important; box-shadow: 0 0 0 1px rgba(253,186,116,0.55), 0 4px 14px rgba(253,186,116,0.22) !important; }
html[data-theme="dark"] body .iri-item:has(input[value="3"]:checked) { background: rgba(249,115,22,0.18) !important; border-color: #f97316 !important; box-shadow: 0 0 0 1px rgba(249,115,22,0.55), 0 4px 14px rgba(249,115,22,0.22) !important; }
html[data-theme="dark"] body .iri-item:has(input[value="4"]:checked) { background: rgba(239,68,68,0.18) !important; border-color: #ef4444 !important; box-shadow: 0 0 0 1px rgba(239,68,68,0.55), 0 4px 14px rgba(239,68,68,0.22) !important; }
/* Кнопки шкалы (.iri-option = label, .iri-radio = input). Базовый вид — перекрываем общее правило */
html[data-theme="dark"] body .iri-option {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text-muted) !important;
}
/* Hover (только когда не selected) — оттенки светлой темы */
html[data-theme="dark"] body .iri-radio[value="0"]:not(:checked) + .iri-option:hover { border-color: #86efac !important; background: rgba(134,239,172,0.10) !important; color: #86efac !important; }
html[data-theme="dark"] body .iri-radio[value="1"]:not(:checked) + .iri-option:hover { border-color: #22c55e !important; background: rgba(34,197,94,0.12) !important; color: #4ade80 !important; }
html[data-theme="dark"] body .iri-radio[value="2"]:not(:checked) + .iri-option:hover { border-color: #fdba74 !important; background: rgba(253,186,116,0.12) !important; color: #fdba74 !important; }
html[data-theme="dark"] body .iri-radio[value="3"]:not(:checked) + .iri-option:hover { border-color: #f97316 !important; background: rgba(249,115,22,0.12) !important; color: #fb923c !important; }
html[data-theme="dark"] body .iri-radio[value="4"]:not(:checked) + .iri-option:hover { border-color: #ef4444 !important; background: rgba(239,68,68,0.12) !important; color: #ef4444 !important; }
/* Selected — точно те же градиенты, что в светлой теме */
html[data-theme="dark"] body .iri-radio[value="0"]:checked + .iri-option { background: linear-gradient(135deg, #bbf7d0, #86efac) !important; border-color: transparent !important; box-shadow: 0 6px 16px rgba(134,239,172,0.55) !important; color: #14532d !important; }
html[data-theme="dark"] body .iri-radio[value="1"]:checked + .iri-option { background: linear-gradient(135deg, #22c55e, #16a34a) !important; border-color: transparent !important; box-shadow: 0 6px 16px rgba(34,197,94,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .iri-radio[value="2"]:checked + .iri-option { background: linear-gradient(135deg, #fed7aa, #fdba74) !important; border-color: transparent !important; box-shadow: 0 6px 16px rgba(253,186,116,0.55) !important; color: #7c2d12 !important; }
html[data-theme="dark"] body .iri-radio[value="3"]:checked + .iri-option { background: linear-gradient(135deg, #f97316, #ea580c) !important; border-color: transparent !important; box-shadow: 0 6px 16px rgba(249,115,22,0.55) !important; color: #fff !important; }
html[data-theme="dark"] body .iri-radio[value="4"]:checked + .iri-option { background: linear-gradient(135deg, #ef4444, #dc2626) !important; border-color: transparent !important; box-shadow: 0 6px 16px rgba(239,68,68,0.55) !important; color: #fff !important; }
/* Блок результатов */
html[data-theme="dark"] body .iri-results {
    background: rgba(139,92,246,0.10) !important;
    border-color: #8b5cf6 !important;
}
html[data-theme="dark"] body .iri-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-result-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .iri-result-card .domain-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-result-card .domain-score-meta,
html[data-theme="dark"] body .iri-result-card .domain-detail { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .iri-result-card .domain-detail { border-top-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .domain-progress-wrap { background: var(--c-bg) !important; }
html[data-theme="dark"] body .iri-norms {
    background: var(--c-card-bg) !important;
    border-color: rgba(139,92,246,0.45) !important;
}
html[data-theme="dark"] body .iri-norms h4 { color: #c4b5fd !important; }
html[data-theme="dark"] body .iri-norm-item { background: var(--c-bg-soft) !important; }
html[data-theme="dark"] body .iri-norm-item .ni-sub { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .iri-norm-item .ni-vals { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-warning {
    background: rgba(245, 158, 11, 0.14) !important;
    color: #fcd34d !important;
    border-color: rgba(245, 158, 11, 0.45) !important;
}
html[data-theme="dark"] body .iri-pdf-hint { color: var(--c-text-muted) !important; }
/* «Что делать после прохождения» */
html[data-theme="dark"] body .iri-postnote {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iri-postnote h2 { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-postnote p { color: var(--c-text) !important; }
html[data-theme="dark"] body .iri-postnote a { color: #c4b5fd !important; }
html[data-theme="dark"] body .iri-footer {
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iri-footer a { color: #c4b5fd !important; }

/* ── ECR-R: точечные перекрытия ───────────────────────────
   Префикс .ecr-*. Главная карточка — .ecr-container. */
html[data-theme="dark"] body .ecr-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .ecr-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .ecr-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .ecr-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-header .subtitle {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .ecr-header .source {
    color: var(--c-text-muted) !important;
    opacity: 0.8;
}
/* Преамбула */
html[data-theme="dark"] body .ecr-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .ecr-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .ecr-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .ecr-preamble-icon,
html[data-theme="dark"] body .ecr-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .ecr-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .ecr-preamble-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .ecr-preamble-section p,
html[data-theme="dark"] body .ecr-preamble-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-use-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .ecr-use-card .use-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-use-card .use-text {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .ecr-preamble-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .ecr-preamble-note strong {
    color: #ffb37a !important;
}
/* Инструкция */
html[data-theme="dark"] body .ecr-instruction {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .ecr-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-instruction b {
    color: var(--c-accent) !important;
}
/* Легенда 1-7 */
html[data-theme="dark"] body .ecr-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .ecr-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Карточка вопроса. Шапка теперь .ecr-question (без `-item-` в имени), поэтому
   generic-правило её не трогает — header автоматически прозрачен и наследует тинт. */
html[data-theme="dark"] body .ecr-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
/* Multi-color тинт карточки по выбранному баллу 1-7 — header прозрачен, тинт виден через него */
html[data-theme="dark"] body .ecr-item:has(input[value="1"]:checked) { background: rgba(58,48,43,0.45) !important; border-color: #8b7569 !important; box-shadow: 0 0 0 1px rgba(139,117,105,0.50), 0 4px 14px rgba(0,0,0,0.35) !important; }
html[data-theme="dark"] body .ecr-item:has(input[value="2"]:checked) { background: rgba(139,90,60,0.32) !important; border-color: #c08a64 !important; box-shadow: 0 0 0 1px rgba(192,138,100,0.50), 0 4px 14px rgba(139,90,60,0.30) !important; }
html[data-theme="dark"] body .ecr-item:has(input[value="3"]:checked) { background: rgba(211,84,0,0.18) !important; border-color: #e67e22 !important; box-shadow: 0 0 0 1px rgba(230,126,34,0.55), 0 4px 14px rgba(211,84,0,0.22) !important; }
html[data-theme="dark"] body .ecr-item:has(input[value="4"]:checked) { background: rgba(127,140,141,0.30) !important; border-color: #b0bcbd !important; box-shadow: 0 0 0 1px rgba(176,188,189,0.50), 0 4px 14px rgba(127,140,141,0.25) !important; }
html[data-theme="dark"] body .ecr-item:has(input[value="5"]:checked) { background: rgba(93,173,226,0.18) !important; border-color: #5dade2 !important; box-shadow: 0 0 0 1px rgba(93,173,226,0.55), 0 4px 14px rgba(93,173,226,0.22) !important; }
html[data-theme="dark"] body .ecr-item:has(input[value="6"]:checked) { background: rgba(88,38,175,0.22) !important; border-color: #8b5cf6 !important; box-shadow: 0 0 0 1px rgba(139,92,246,0.55), 0 4px 14px rgba(88,38,175,0.25) !important; }
html[data-theme="dark"] body .ecr-item:has(input[value="7"]:checked) { background: rgba(39,174,96,0.18) !important; border-color: #2ecc71 !important; box-shadow: 0 0 0 1px rgba(46,204,113,0.55), 0 4px 14px rgba(39,174,96,0.22) !important; }
html[data-theme="dark"] body .ecr-qtext {
    color: var(--c-text) !important;
}
/* Кнопки 1-7 */
html[data-theme="dark"] body .ecr-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .ecr-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
/* 1=тёпло-чёрный · 2=коричневый · 3=тёмно-оранжевый · 4=серый · 5=голубой · 6=синий · 7=зелёный.
   В тёмной теме «тёпло-чёрный» осветляем до тёплого графита, чтобы цифра вообще была видна. */
html[data-theme="dark"] body .ecr-scale-option[data-val="1"] .val-num { color: #c9bca5 !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="1"]:not(.selected):hover { border-color: #6b5a48 !important; background: rgba(107, 90, 72, 0.20) !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="2"]:not(.selected):hover { border-color: #b07a4f !important; background: rgba(176, 122, 79, 0.18) !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="3"]:not(.selected):hover { border-color: #e67e22 !important; background: rgba(230, 126, 34, 0.18) !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="4"]:not(.selected):hover { border-color: #95a5a6 !important; background: rgba(149, 165, 166, 0.18) !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="5"]:not(.selected):hover { border-color: #5dade2 !important; background: rgba(93, 173, 226, 0.18) !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="6"]:not(.selected):hover { border-color: #7048c2 !important; background: rgba(112, 72, 194, 0.20) !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="7"]:not(.selected):hover { border-color: #27ae60 !important; background: rgba(39, 174, 96, 0.18) !important; }
html[data-theme="dark"] body .ecr-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #6b5a48, #3a302b) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(107, 90, 72, 0.55), 0 8px 22px rgba(58, 48, 43, 0.55) !important;
}
html[data-theme="dark"] body .ecr-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #b07a4f, #6e4226) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(176, 122, 79, 0.55), 0 8px 22px rgba(110, 66, 38, 0.45) !important;
}
html[data-theme="dark"] body .ecr-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #e67e22, #d35400) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(230, 126, 34, 0.55), 0 8px 22px rgba(211, 84, 0, 0.45) !important;
}
html[data-theme="dark"] body .ecr-scale-option[data-val="4"].selected {
    background: linear-gradient(135deg, #b8c2cc, #95a5a6) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(149, 165, 166, 0.55), 0 8px 22px rgba(127, 140, 141, 0.45) !important;
}
html[data-theme="dark"] body .ecr-scale-option[data-val="5"].selected {
    background: linear-gradient(135deg, #7ec0e8, #5dade2) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(126, 192, 232, 0.55), 0 8px 22px rgba(93, 173, 226, 0.45) !important;
}
html[data-theme="dark"] body .ecr-scale-option[data-val="6"].selected {
    background: linear-gradient(135deg, #7048c2, #5826af) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(112, 72, 194, 0.55), 0 8px 22px rgba(88, 38, 175, 0.45) !important;
}
html[data-theme="dark"] body .ecr-scale-option[data-val="7"].selected {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(46, 204, 113, 0.55), 0 8px 22px rgba(39, 174, 96, 0.45) !important;
}
html[data-theme="dark"] body .ecr-scale-option.selected .val-num,
html[data-theme="dark"] body .ecr-scale-option.selected .val-label {
    color: #fff !important;
}
/* Блок результатов */
html[data-theme="dark"] body .ecr-results {
    background: rgba(245, 87, 108, 0.15) !important;
    border-color: #f5576c !important;
}
html[data-theme="dark"] body .ecr-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-score-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-score-card .scale-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-score-card .score-max {
    color: var(--c-text-muted) !important;
}
/* Матрица 4 стилей привязанности — оставляем цветные акценты,
   но фоны делаем полупрозрачными чтобы вписать в дарк-холст. */
html[data-theme="dark"] body .ecr-matrix-cell.cell-secure   { background: rgba(39, 174, 96, 0.18) !important; }
html[data-theme="dark"] body .ecr-matrix-cell.cell-anxious  { background: rgba(230, 126, 34, 0.18) !important; }
html[data-theme="dark"] body .ecr-matrix-cell.cell-avoidant { background: rgba(52, 152, 219, 0.18) !important; }
html[data-theme="dark"] body .ecr-matrix-cell.cell-fearful  { background: rgba(231, 76, 60, 0.18) !important; }
html[data-theme="dark"] body .ecr-matrix-cell .cell-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .ecr-matrix-cell .cell-desc {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .ecr-result-disclaimer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .ecr-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}

/* ── CTI (Complex Trauma): точечные перекрытия ────────────
   Префикс .cti-*. Главная карточка — .cti-container. */
html[data-theme="dark"] body .cti-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .cti-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .cti-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .cti-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* Раскрывающаяся «О тесте» */
html[data-theme="dark"] body .cti-info-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-info-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .cti-info-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-info-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-info-toggle-icon,
html[data-theme="dark"] body .cti-info-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .cti-info-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-info-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-info-section p,
html[data-theme="dark"] body .cti-info-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-info-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-info-card.ptsd {
    background: rgba(231, 76, 60, 0.10) !important;
}
html[data-theme="dark"] body .cti-info-card.dso {
    background: rgba(52, 152, 219, 0.10) !important;
}
html[data-theme="dark"] body .cti-info-card.ptsd .ci-title {
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .cti-info-card.dso .ci-title {
    color: #7ec0e8 !important;
}
html[data-theme="dark"] body .cti-info-card .ci-items,
html[data-theme="dark"] body .cti-info-card .ci-text {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-info-formula {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-info-formula b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .cti-info-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-info-note strong {
    color: #ffb37a !important;
}
/* Инструкция */
html[data-theme="dark"] body .cti-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid var(--c-accent) !important;
}
html[data-theme="dark"] body .cti-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-instruction b {
    color: var(--c-accent) !important;
}
/* Двойная легенда */
html[data-theme="dark"] body .cti-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-scale-legend-title {
    color: var(--c-text-muted) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-scale-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .cti-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-item.answered {
    background: rgba(52, 152, 219, 0.15) !important;
    border-color: #5dade2 !important;
}
html[data-theme="dark"] body .cti-item-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-scale-group-label {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-scale-group {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
/* Кнопки 0-4 */
html[data-theme="dark"] body .cti-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-scale-option[data-val="0"]:not(.selected):hover { border-color: #27ae60 !important; background: rgba(39, 174, 96, 0.18) !important; }
html[data-theme="dark"] body .cti-scale-option[data-val="1"]:not(.selected):hover { border-color: #7ec897 !important; background: rgba(126, 200, 151, 0.15) !important; }
html[data-theme="dark"] body .cti-scale-option[data-val="2"]:not(.selected):hover { border-color: #0ea5e9 !important; background: rgba(14,165,233,0.18) !important; }
html[data-theme="dark"] body .cti-scale-option[data-val="2"]:not(.selected) .val-num { color: #38bdf8 !important; }
html[data-theme="dark"] body .cti-scale-option[data-val="3"]:not(.selected):hover { border-color: #e67e22 !important; background: rgba(230, 126, 34, 0.18) !important; }
html[data-theme="dark"] body .cti-scale-option[data-val="4"]:not(.selected):hover { border-color: #e74c3c !important; background: rgba(231, 76, 60, 0.18) !important; }
html[data-theme="dark"] body .cti-scale-option[data-val="0"].selected {
    background: linear-gradient(135deg, #48bb78, #276749) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(39, 174, 96, 0.55), 0 8px 22px rgba(39, 174, 96, 0.45) !important;
}
html[data-theme="dark"] body .cti-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #7ec897, #5aaa78) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(126, 200, 151, 0.55), 0 8px 22px rgba(126, 200, 151, 0.45) !important;
}
html[data-theme="dark"] body .cti-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #38bdf8, #0ea5e9) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(14,165,233,0.55), 0 8px 22px rgba(14,165,233,0.45) !important;
}
html[data-theme="dark"] body .cti-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #e67e22, #ca6f1e) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(230, 126, 34, 0.55), 0 8px 22px rgba(230, 126, 34, 0.45) !important;
}
html[data-theme="dark"] body .cti-scale-option[data-val="4"].selected {
    background: linear-gradient(135deg, #e74c3c, #922b21) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.55), 0 8px 22px rgba(231, 76, 60, 0.45) !important;
}
html[data-theme="dark"] body .cti-scale-option.selected .val-num,
html[data-theme="dark"] body .cti-scale-option.selected .val-label {
    color: #fff !important;
}
/* Блок результатов */
html[data-theme="dark"] body .cti-results {
    background: rgba(52, 152, 219, 0.15) !important;
    border-color: #5dade2 !important;
}
html[data-theme="dark"] body .cti-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-result-subhead {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-composite-card {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-composite-card.active {
    border-color: #5dade2 !important;
}
html[data-theme="dark"] body .cti-composite-card .comp-label,
html[data-theme="dark"] body .cti-composite-card .comp-desc {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-composite-card .comp-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-cluster-block {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .cti-cluster-block h4 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-subscale-card {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-subscale-card .sub-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-subscale-card .sub-max {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-subscale-card .sub-bar {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .cti-result-howto {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .cti-result-howto b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .cti-result-disclaimer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .cti-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}

/* ── IES-R: точечные перекрытия ───────────────────────────
   Префикс .iesr-*. Главная карточка — .iesr-container. */
html[data-theme="dark"] body .iesr-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .iesr-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .iesr-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .iesr-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* Преамбула */
html[data-theme="dark"] body .iesr-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iesr-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .iesr-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .iesr-preamble-icon,
html[data-theme="dark"] body .iesr-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .iesr-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iesr-pre-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iesr-pre-section p,
html[data-theme="dark"] body .iesr-pre-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-sub-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .iesr-thr-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-pre-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .iesr-pre-note strong {
    color: #ffb37a !important;
}
/* Инструкция */
html[data-theme="dark"] body .iesr-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid var(--c-accent) !important;
}
html[data-theme="dark"] body .iesr-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-instruction b {
    color: var(--c-accent) !important;
}
/* Легенда */
html[data-theme="dark"] body .iesr-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iesr-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .iesr-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
/* Multi-color тинт карточки по выбранному баллу 0-4 (новая палитра) */
html[data-theme="dark"] body .iesr-item:has(input[value="0"]:checked) { background: rgba(22,101,52,0.20) !important;  border-color: #166534 !important; box-shadow: 0 0 0 1px rgba(22,101,52,0.55), 0 4px 14px rgba(22,101,52,0.22) !important; }
html[data-theme="dark"] body .iesr-item:has(input[value="1"]:checked) { background: rgba(34,197,94,0.18) !important;  border-color: #22c55e !important; box-shadow: 0 0 0 1px rgba(34,197,94,0.55), 0 4px 14px rgba(34,197,94,0.22) !important; }
html[data-theme="dark"] body .iesr-item:has(input[value="2"]:checked) { background: rgba(156,163,175,0.18) !important; border-color: #9ca3af !important; box-shadow: 0 0 0 1px rgba(156,163,175,0.50), 0 4px 14px rgba(0,0,0,0.30) !important; }
html[data-theme="dark"] body .iesr-item:has(input[value="3"]:checked) { background: rgba(251,146,60,0.18) !important;  border-color: #fb923c !important; box-shadow: 0 0 0 1px rgba(251,146,60,0.55), 0 4px 14px rgba(251,146,60,0.25) !important; }
html[data-theme="dark"] body .iesr-item:has(input[value="4"]:checked) { background: rgba(239,68,68,0.18) !important;   border-color: #ef4444 !important; box-shadow: 0 0 0 1px rgba(239,68,68,0.55), 0 4px 14px rgba(239,68,68,0.22) !important; }
html[data-theme="dark"] body .iesr-item-text {
    color: var(--c-text) !important;
}
/* Кнопки 0-4 (как в PCL-5) */
html[data-theme="dark"] body .iesr-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .iesr-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
/* Hover (новая палитра): 0 тёмно-зелёный · 1 зелёный · 2 серый · 3 светло-оранжевый · 4 красный */
html[data-theme="dark"] body .iesr-scale-option[data-val="0"]:not(.selected):hover { border-color: #166534 !important; background: rgba(22,101,52,0.16) !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="1"]:not(.selected):hover { border-color: #22c55e !important; background: rgba(34,197,94,0.16) !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="2"]:not(.selected):hover { border-color: #9ca3af !important; background: rgba(156,163,175,0.18) !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="3"]:not(.selected):hover { border-color: #fb923c !important; background: rgba(251,146,60,0.18) !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="4"]:not(.selected):hover { border-color: #ef4444 !important; background: rgba(239,68,68,0.18) !important; }
/* Цвета цифр в покое — те же оттенки, чуть ярче */
html[data-theme="dark"] body .iesr-scale-option[data-val="0"]:not(.selected) .val-num { color: #4ade80 !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="1"]:not(.selected) .val-num { color: #6ee7b7 !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="2"]:not(.selected) .val-num { color: #cbd0d9 !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="3"]:not(.selected) .val-num { color: #fdba74 !important; }
html[data-theme="dark"] body .iesr-scale-option[data-val="4"]:not(.selected) .val-num { color: #f87171 !important; }
/* Selected — повторяем градиенты светлой темы */
html[data-theme="dark"] body .iesr-scale-option[data-val="0"].selected {
    background: linear-gradient(135deg, #166534, #14532d) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(22,101,52,0.55), 0 8px 22px rgba(22,101,52,0.45) !important;
}
html[data-theme="dark"] body .iesr-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(34,197,94,0.55), 0 8px 22px rgba(34,197,94,0.45) !important;
}
html[data-theme="dark"] body .iesr-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #b8bec5, #9ca3af) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(156,163,175,0.55), 0 8px 22px rgba(107,114,128,0.45) !important;
}
html[data-theme="dark"] body .iesr-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #fdba74, #fb923c) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(251,146,60,0.55), 0 8px 22px rgba(251,146,60,0.45) !important;
}
html[data-theme="dark"] body .iesr-scale-option[data-val="4"].selected {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(239,68,68,0.55), 0 8px 22px rgba(239,68,68,0.45) !important;
}
html[data-theme="dark"] body .iesr-scale-option.selected .val-num,
html[data-theme="dark"] body .iesr-scale-option.selected .val-label {
    color: #fff !important;
}
/* На сером 2-м selected — тёмный текст лучше читаем */
html[data-theme="dark"] body .iesr-scale-option[data-val="2"].selected .val-num,
html[data-theme="dark"] body .iesr-scale-option[data-val="2"].selected .val-label {
    color: #1a1a1a !important;
}
/* Блок результатов */
html[data-theme="dark"] body .iesr-results {
    background: rgba(79, 172, 254, 0.15) !important;
    border-color: #4facfe !important;
}
html[data-theme="dark"] body .iesr-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-result-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .iesr-result-card .scale-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-result-card .scale-sum {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .iesr-result-subhead {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-result-high {
    background: rgba(230, 126, 34, 0.12) !important;
    border-color: #e67e22 !important;
}
html[data-theme="dark"] body .iesr-result-high h4 {
    color: #ffb37a !important;
}
html[data-theme="dark"] body .iesr-result-high .prh-list {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .iesr-result-high .prh-note {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .iesr-result-disclaimer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .iesr-result-pdf-cta {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .iesr-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .iesr-footer {
    color: var(--c-text-muted) !important;
}

/* ── PCL-5: точечные перекрытия ───────────────────────────
   Префикс .pcl5-*. Главная карточка — .pcl5-container. */
html[data-theme="dark"] body .pcl5-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .pcl5-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .pcl5-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .pcl5-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* Преамбула */
html[data-theme="dark"] body .pcl5-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pcl5-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pcl5-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .pcl5-preamble-icon,
html[data-theme="dark"] body .pcl5-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pcl5-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pcl5-pre-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pcl5-pre-section p,
html[data-theme="dark"] body .pcl5-pre-section strong {
    color: var(--c-text) !important;
}
/* Карточки кластеров — оставляем цветные акценты */
html[data-theme="dark"] body .pcl5-cluster-card {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-cluster-card.cb { background: rgba(79, 172, 254, 0.10) !important; }
html[data-theme="dark"] body .pcl5-cluster-card.cc { background: rgba(0, 198, 251, 0.10) !important; }
html[data-theme="dark"] body .pcl5-cluster-card.cd { background: rgba(155, 89, 182, 0.10) !important; }
html[data-theme="dark"] body .pcl5-cluster-card.ce { background: rgba(230, 126, 34, 0.10) !important; }
html[data-theme="dark"] body .pcl5-cluster-card .cc-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-cluster-card .cc-items,
html[data-theme="dark"] body .pcl5-cluster-card .cc-text {
    color: var(--c-text-muted) !important;
}
/* Threshold-карточки */
html[data-theme="dark"] body .pcl5-thr-card.t1 {
    background: rgba(39, 174, 96, 0.12) !important;
    border-color: #27ae60 !important;
}
html[data-theme="dark"] body .pcl5-thr-card.t2 {
    background: rgba(231, 76, 60, 0.12) !important;
    border-color: #e74c3c !important;
}
html[data-theme="dark"] body .pcl5-thr-card .tl {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .pcl5-pre-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .pcl5-pre-note strong {
    color: #ffb37a !important;
}
/* Инструкция */
html[data-theme="dark"] body .pcl5-instruction {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .pcl5-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-instruction p:last-child {
    color: var(--c-text-muted) !important;
    border-top-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pcl5-instruction b {
    color: var(--c-accent) !important;
}
/* Легенда 0-4 */
html[data-theme="dark"] body .pcl5-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pcl5-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .pcl5-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
/* Multi-color тинт карточки по выбранному баллу 0-4 (новая палитра) */
html[data-theme="dark"] body .pcl5-item:has(input[value="0"]:checked) { background: rgba(22,101,52,0.20) !important;  border-color: #166534 !important; box-shadow: 0 0 0 1px rgba(22,101,52,0.55), 0 4px 14px rgba(22,101,52,0.22) !important; }
html[data-theme="dark"] body .pcl5-item:has(input[value="1"]:checked) { background: rgba(34,197,94,0.18) !important;  border-color: #22c55e !important; box-shadow: 0 0 0 1px rgba(34,197,94,0.55), 0 4px 14px rgba(34,197,94,0.22) !important; }
html[data-theme="dark"] body .pcl5-item:has(input[value="2"]:checked) { background: rgba(156,163,175,0.18) !important; border-color: #9ca3af !important; box-shadow: 0 0 0 1px rgba(156,163,175,0.50), 0 4px 14px rgba(0,0,0,0.30) !important; }
html[data-theme="dark"] body .pcl5-item:has(input[value="3"]:checked) { background: rgba(251,146,60,0.18) !important;  border-color: #fb923c !important; box-shadow: 0 0 0 1px rgba(251,146,60,0.55), 0 4px 14px rgba(251,146,60,0.25) !important; }
html[data-theme="dark"] body .pcl5-item:has(input[value="4"]:checked) { background: rgba(239,68,68,0.18) !important;   border-color: #ef4444 !important; box-shadow: 0 0 0 1px rgba(239,68,68,0.55), 0 4px 14px rgba(239,68,68,0.22) !important; }
html[data-theme="dark"] body .pcl5-item-text {
    color: var(--c-text) !important;
}
/* Кнопки 0-4 */
html[data-theme="dark"] body .pcl5-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pcl5-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
/* Hover (новая палитра): 0 тёмно-зелёный · 1 зелёный · 2 серый · 3 светло-оранжевый · 4 красный */
html[data-theme="dark"] body .pcl5-scale-option[data-val="0"]:not(.selected):hover { border-color: #166534 !important; background: rgba(22,101,52,0.16) !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="1"]:not(.selected):hover { border-color: #22c55e !important; background: rgba(34,197,94,0.16) !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="2"]:not(.selected):hover { border-color: #9ca3af !important; background: rgba(156,163,175,0.18) !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="3"]:not(.selected):hover { border-color: #fb923c !important; background: rgba(251,146,60,0.18) !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="4"]:not(.selected):hover { border-color: #ef4444 !important; background: rgba(239,68,68,0.18) !important; }
/* Цвета цифр в покое — те же оттенки, чуть ярче */
html[data-theme="dark"] body .pcl5-scale-option[data-val="0"]:not(.selected) .val-num { color: #4ade80 !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="1"]:not(.selected) .val-num { color: #6ee7b7 !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="2"]:not(.selected) .val-num { color: #cbd0d9 !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="3"]:not(.selected) .val-num { color: #fdba74 !important; }
html[data-theme="dark"] body .pcl5-scale-option[data-val="4"]:not(.selected) .val-num { color: #f87171 !important; }
/* Selected — повторяем градиенты светлой темы */
html[data-theme="dark"] body .pcl5-scale-option[data-val="0"].selected {
    background: linear-gradient(135deg, #166534, #14532d) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(22,101,52,0.55), 0 8px 22px rgba(22,101,52,0.45) !important;
}
html[data-theme="dark"] body .pcl5-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(34,197,94,0.55), 0 8px 22px rgba(34,197,94,0.45) !important;
}
html[data-theme="dark"] body .pcl5-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #b8bec5, #9ca3af) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(156,163,175,0.55), 0 8px 22px rgba(107,114,128,0.45) !important;
}
html[data-theme="dark"] body .pcl5-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #fdba74, #fb923c) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(251,146,60,0.55), 0 8px 22px rgba(251,146,60,0.45) !important;
}
html[data-theme="dark"] body .pcl5-scale-option[data-val="4"].selected {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(239,68,68,0.55), 0 8px 22px rgba(239,68,68,0.45) !important;
}
html[data-theme="dark"] body .pcl5-scale-option.selected .val-num,
html[data-theme="dark"] body .pcl5-scale-option.selected .val-label {
    color: #fff !important;
}
/* На сером 2-м selected — тёмный текст лучше читаем */
html[data-theme="dark"] body .pcl5-scale-option[data-val="2"].selected .val-num,
html[data-theme="dark"] body .pcl5-scale-option[data-val="2"].selected .val-label {
    color: #1a1a1a !important;
}
/* Блок результатов */
html[data-theme="dark"] body .pcl5-results {
    background: rgba(79, 172, 254, 0.15) !important;
    border-color: #4facfe !important;
}
html[data-theme="dark"] body .pcl5-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-result-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pcl5-result-card .cluster-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-result-card .cluster-sum {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .pcl5-result-disclaimer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .pcl5-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .pcl5-result-missing {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: #e74c3c !important;
}
html[data-theme="dark"] body .pcl5-result-missing .prm-header {
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .pcl5-result-missing .prm-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pcl5-result-missing .prm-text strong {
    color: #ffb4a8 !important;
}
html[data-theme="dark"] body .pcl5-footer {
    color: var(--c-text-muted) !important;
}

/* ── DASS-42: точечные перекрытия ─────────────────────────
   Префикс .dass42-*. Главная карточка — .dass42-container. */
html[data-theme="dark"] body .dass42-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .dass42-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .dass42-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* Преамбула */
html[data-theme="dark"] body .dass42-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .dass42-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .dass42-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .dass42-preamble-icon,
html[data-theme="dark"] body .dass42-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .dass42-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .dass42-pre-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .dass42-pre-section p,
html[data-theme="dark"] body .dass42-pre-section strong {
    color: var(--c-text) !important;
}
/* Карточки шкал в преамбуле — оставляем цветные акценты, но фон тёмный */
html[data-theme="dark"] body .dass42-scale-card.dep {
    background: rgba(52, 152, 219, 0.10) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-scale-card.anx {
    background: rgba(230, 126, 34, 0.10) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-scale-card.str {
    background: rgba(39, 174, 96, 0.10) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-scale-card .sc-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-scale-card .sc-text {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .dass42-use-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .dass42-use-card .uc-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-use-card .uc-text {
    color: var(--c-text-muted) !important;
}
/* Инструкция */
html[data-theme="dark"] body .dass42-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid var(--c-accent) !important;
}
html[data-theme="dark"] body .dass42-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-instruction b {
    color: var(--c-accent) !important;
}
/* Легенда шкалы 0-3 */
html[data-theme="dark"] body .dass42-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .dass42-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Шкальные ключи (D/A/S) */
html[data-theme="dark"] body .dass42-scale-keys {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-scale-keys b {
    color: var(--c-accent) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .dass42-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .dass42-item:has(input:checked) {
    background: rgba(52, 152, 219, 0.15) !important;
    border-color: #5dade2 !important;
}
html[data-theme="dark"] body .dass42-item-text {
    color: var(--c-text) !important;
}
/* Кнопки-варианты ответов 0-3 */
html[data-theme="dark"] body .dass42-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .dass42-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .dass42-scale-option[data-val="0"]:not(.selected):hover { border-color: #38a169 !important; background: rgba(56, 161, 105, 0.18) !important; }
html[data-theme="dark"] body .dass42-scale-option[data-val="1"]:not(.selected):hover { border-color: #c8b99a !important; background: rgba(200, 185, 154, 0.15) !important; }
html[data-theme="dark"] body .dass42-scale-option[data-val="2"]:not(.selected):hover { border-color: #d4ac0d !important; background: rgba(212, 172, 13, 0.18) !important; }
html[data-theme="dark"] body .dass42-scale-option[data-val="3"]:not(.selected):hover { border-color: #c0392b !important; background: rgba(192, 57, 43, 0.18) !important; }
/* Selected — общее правило `[class*="-scale-option"] !important` бьёт градиенты, возвращаем явно */
html[data-theme="dark"] body .dass42-scale-option[data-val="0"].selected {
    background: linear-gradient(135deg, #48bb78, #276749) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(56, 161, 105, 0.55), 0 8px 22px rgba(56, 161, 105, 0.45) !important;
}
html[data-theme="dark"] body .dass42-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #d4c5a9, #a89a7a) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(200, 185, 154, 0.55), 0 8px 22px rgba(200, 185, 154, 0.45) !important;
}
html[data-theme="dark"] body .dass42-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #ecc94b, #b7950b) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(212, 172, 13, 0.55), 0 8px 22px rgba(212, 172, 13, 0.45) !important;
}
html[data-theme="dark"] body .dass42-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #e74c3c, #922b21) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.55), 0 8px 22px rgba(192, 57, 43, 0.45) !important;
}
html[data-theme="dark"] body .dass42-scale-option.selected .val-num,
html[data-theme="dark"] body .dass42-scale-option.selected .val-label {
    color: #fff !important;
}
/* Блок результатов */
html[data-theme="dark"] body .dass42-results {
    background: rgba(52, 152, 219, 0.15) !important;
    border-color: #5dade2 !important;
}
html[data-theme="dark"] body .dass42-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-result-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .dass42-result-card .scale-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-result-card .scale-sum {
    color: var(--c-text-muted) !important;
}
/* Блок «выраженных симптомов» — оранжевая плашка */
html[data-theme="dark"] body .dass42-result-high {
    background: rgba(230, 126, 34, 0.12) !important;
    border-color: #e67e22 !important;
}
html[data-theme="dark"] body .dass42-result-high h4 {
    color: #ffb37a !important;
}
html[data-theme="dark"] body .dass42-result-high p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-result-high-note {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .dass42-result-disclaimer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .dass42-result-pdf-cta {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .dass42-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .dass42-footer {
    color: var(--c-text-muted) !important;
}
/* «Что делать после прохождения» */
html[data-theme="dark"] body .dass42-after {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-after h2,
html[data-theme="dark"] body .dass42-after p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .dass42-after a {
    color: var(--c-accent) !important;
}

/* ── SCID-II PQ: точечные перекрытия ──────────────────────
   Префикс .scid2-*. Главная карточка — .scid2-container. */
html[data-theme="dark"] body .scid2-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .scid2-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Шапка */
html[data-theme="dark"] body .scid2-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .scid2-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* Раскрывающаяся «О тесте» — тёмный градиент в светлой остаётся OK */
html[data-theme="dark"] body .scid2-info-body {
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .scid2-info-intro,
html[data-theme="dark"] body .scid2-info-card,
html[data-theme="dark"] body .scid2-info-clusters,
html[data-theme="dark"] body .scid2-info-footer {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-info-intro b,
html[data-theme="dark"] body .scid2-info-card-title,
html[data-theme="dark"] body .scid2-cluster-col b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .scid2-info-card-text,
html[data-theme="dark"] body .scid2-info-card-text b {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-info-footer {
    color: var(--c-text-muted) !important;
}
/* Инструкция */
html[data-theme="dark"] body .scid2-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid var(--c-accent) !important;
}
html[data-theme="dark"] body .scid2-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-instruction b {
    color: var(--c-accent) !important;
}
/* Заголовки секций РЛ (в шаблоне фон задаётся inline через PHP) — текст
   уже белый, не трогаем; добавляем только тёмный border снаружи если нужно. */
/* Карточки вопросов */
html[data-theme="dark"] body .scid2-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .scid2-item.answered-yes {
    background: rgba(231, 76, 60, 0.15) !important;
    border-color: #e74c3c !important;
}
html[data-theme="dark"] body .scid2-item.answered-no {
    background: rgba(39, 174, 96, 0.15) !important;
    border-color: #27ae60 !important;
}
html[data-theme="dark"] body .scid2-item-text {
    color: var(--c-text) !important;
}
/* Кнопки Да/Нет */
html[data-theme="dark"] body .scid2-yn-btn {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .scid2-yn-btn.yes:not(.active):hover {
    border-color: #e74c3c !important;
    background: rgba(231, 76, 60, 0.15) !important;
}
html[data-theme="dark"] body .scid2-yn-btn.no:not(.active):hover {
    border-color: #27ae60 !important;
    background: rgba(39, 174, 96, 0.15) !important;
}
/* Active — градиенты светлой темы без !important; добавляем явные с !important + свечение */
html[data-theme="dark"] body .scid2-yn-btn.yes.active {
    background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.55), 0 6px 16px rgba(231, 76, 60, 0.45) !important;
}
html[data-theme="dark"] body .scid2-yn-btn.no.active {
    background: linear-gradient(135deg, #27ae60, #1e8449) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px rgba(39, 174, 96, 0.55), 0 6px 16px rgba(39, 174, 96, 0.45) !important;
}
/* Блок результатов */
html[data-theme="dark"] body .scid2-results {
    background: rgba(52, 152, 219, 0.15) !important;
    border-color: #5dade2 !important;
}
html[data-theme="dark"] body .scid2-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-scale-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-scale-card .sc-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-scale-card .sc-cluster,
html[data-theme="dark"] body .scid2-scale-card .sc-max {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .scid2-scale-card .sc-score {
    color: var(--c-text) !important;
}
/* Жёлтая плашка флагов */
html[data-theme="dark"] body .scid2-flags {
    background: rgba(243, 156, 18, 0.10) !important;
    border-left-color: #f39c12 !important;
}
html[data-theme="dark"] body .scid2-flags h4 {
    color: #f5cb73 !important;
}
/* Доп. блоки в выдаче результатов SCID-II (генерируются JS) */
html[data-theme="dark"] body .scid2-result-missing {
    background: rgba(231, 76, 60, 0.12) !important;
    border-color: #e74c3c !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .scid2-result-clear {
    background: rgba(39, 174, 96, 0.12) !important;
    border-left-color: #27ae60 !important;
    color: #5dd99b !important;
}
html[data-theme="dark"] body .scid2-result-interp {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scid2-result-interp b {
    color: var(--c-accent) !important;
}

/* ── MSI-BPD: точечные перекрытия ─────────────────────────
   Префикс .msi-*. Главная карточка — .msi-wrap. */
html[data-theme="dark"] body .msi-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .msi-wrap {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Шапка */
html[data-theme="dark"] body .msi-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .msi-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* SEO-блоки (большие текстовые, до и после теста) */
html[data-theme="dark"] body .msi-seo-block {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-seo-block h2,
html[data-theme="dark"] body .msi-seo-block strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-seo-block p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-seo-block a {
    color: var(--c-accent) !important;
    border-bottom-color: rgba(255, 138, 61, 0.3) !important;
}
html[data-theme="dark"] body .msi-seo-block a:hover {
    border-bottom-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .msi-seo-note {
    background: rgba(255, 152, 0, 0.10) !important;
    border-left-color: #ff9800 !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-seo-note strong {
    color: #ffb74d !important;
}
/* Преамбула */
html[data-theme="dark"] body .msi-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .msi-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .msi-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .msi-preamble-icon,
html[data-theme="dark"] body .msi-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .msi-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .msi-pre-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .msi-pre-section p,
html[data-theme="dark"] body .msi-pre-section strong {
    color: var(--c-text) !important;
}
/* Карточки критериев + точности в преамбуле */
html[data-theme="dark"] body .msi-criterion-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .msi-criterion-card .cc-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-criterion-card .cc-text {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .msi-acc-card.sens {
    background: rgba(39, 174, 96, 0.10) !important;
    border-color: #27ae60 !important;
}
html[data-theme="dark"] body .msi-acc-card.spec {
    background: rgba(124, 77, 255, 0.10) !important;
    border-color: #7c4dff !important;
}
html[data-theme="dark"] body .msi-acc-card .ac-lbl {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .msi-pre-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .msi-pre-note strong {
    color: #ffb37a !important;
}
/* Инструкция */
html[data-theme="dark"] body .msi-instr {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-instr p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-instr b {
    color: var(--c-accent) !important;
}
/* Легенда Да/Нет */
html[data-theme="dark"] body .msi-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .msi-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Прогресс */
html[data-theme="dark"] body .msi-prog-bar {
    background: var(--c-bg-soft) !important;
}
html[data-theme="dark"] body .msi-prog-label {
    color: var(--c-text) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .msi-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .msi-item-text {
    color: var(--c-text) !important;
}
/* Кнопки Да/Нет — на белом в светлой; делаем тёмные + ховер-цвет, как у selected */
html[data-theme="dark"] body .msi-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .msi-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .msi-scale-option[data-val="0"]:not(.selected):hover {
    border-color: #27ae60 !important;
    background: rgba(39, 174, 96, 0.18) !important;
}
html[data-theme="dark"] body .msi-scale-option[data-val="1"]:not(.selected):hover {
    border-color: #e74c3c !important;
    background: rgba(231, 76, 60, 0.18) !important;
}
/* Selected — общее правило для `[class*="-scale-option"] !important` в dark
   бьёт градиенты светлой темы. Возвращаем явные градиенты с !important. */
html[data-theme="dark"] body .msi-scale-option[data-val="0"].selected {
    background: linear-gradient(135deg, #48bb78, #276749) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(39, 174, 96, 0.55), 0 6px 18px rgba(39, 174, 96, 0.45) !important;
    transform: translateY(-3px);
}
html[data-theme="dark"] body .msi-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #e74c3c, #922b21) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.55), 0 6px 18px rgba(231, 76, 60, 0.45) !important;
    transform: translateY(-3px);
}
html[data-theme="dark"] body .msi-scale-option.selected .val-num,
html[data-theme="dark"] body .msi-scale-option.selected .val-label {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
/* Блок результатов */
html[data-theme="dark"] body .msi-results {
    background: rgba(124, 77, 255, 0.15) !important;
    border-color: #b388ff !important;
}
html[data-theme="dark"] body .msi-results h3 {
    color: var(--c-text) !important;
}
/* Зонные плашки (зелёная/оранжевая/красная) — фоны делаем чуть темнее
   и полупрозрачнее, чтобы не светились на тёмном холсте слишком ярко. */
html[data-theme="dark"] body .msi-zone.green  { background: rgba(39, 174, 96, 0.15) !important; color: #5dd99b !important; }
html[data-theme="dark"] body .msi-zone.orange { background: rgba(230, 126, 34, 0.15) !important; color: #ffb37a !important; }
html[data-theme="dark"] body .msi-zone.red    { background: rgba(231, 76, 60, 0.15) !important; color: #ff8a7a !important; }
/* Список положительных пунктов */
html[data-theme="dark"] body .msi-positive-list {
    background: rgba(230, 126, 34, 0.12) !important;
    border-color: #e67e22 !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .msi-positive-item {
    background: var(--c-card-bg) !important;
    border-color: #e67e22 !important;
    color: #ffb37a !important;
}
html[data-theme="dark"] body .msi-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .msi-footer {
    color: var(--c-text-muted) !important;
}

/* ── PDS-ICD-11: точечные перекрытия ──────────────────────
   Префикс .pds-*. Главная карточка — .pds-container. */
html[data-theme="dark"] body .pds-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .pds-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Шапка */
html[data-theme="dark"] body .pds-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .pds-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-header .subtitle,
html[data-theme="dark"] body .pds-header .author {
    color: var(--c-text-muted) !important;
}
/* Преамбула */
html[data-theme="dark"] body .pds-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pds-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pds-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .pds-preamble-icon,
html[data-theme="dark"] body .pds-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pds-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pds-pre-section-title {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pds-pre-section p,
html[data-theme="dark"] body .pds-pre-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-sev-card,
html[data-theme="dark"] body .pds-use-card,
html[data-theme="dark"] body .pds-aspect-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    box-shadow: none !important;
}
/* Инструкция */
html[data-theme="dark"] body .pds-instruction {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .pds-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-instruction b {
    color: var(--c-accent) !important;
}
/* Прогресс */
html[data-theme="dark"] body .pds-progress-bar {
    background: var(--c-bg-soft) !important;
}
html[data-theme="dark"] body .pds-progress-label,
html[data-theme="dark"] body .pds-progress-label b {
    color: var(--c-text) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .pds-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pds-item.answered {
    background: rgba(118, 75, 162, 0.15) !important;
    border-color: #9b7fc7 !important;
}
html[data-theme="dark"] body .pds-item-title {
    color: var(--c-text) !important;
}
/* Биполярная и униполярная шкалы — фон/текст по умолчанию.
   Базовые правила НЕ должны цеплять `.selected` — иначе перебивают
   градиенты светлой темы (специфичность html+body+ выше). */
html[data-theme="dark"] body .pds-page .bipolar-option:not(.selected),
html[data-theme="dark"] body .pds-page .unipolar-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pds-page .bipolar-option:not(.selected) .opt-text,
html[data-theme="dark"] body .pds-page .unipolar-option:not(.selected) .opt-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-page .bipolar-option:not(.selected):not(.opt-center) .opt-badge,
html[data-theme="dark"] body .pds-page .unipolar-option:not(.selected) .opt-badge {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text-muted) !important;
}
/* Опция «Норма» (центр, score=0) — в светлой теме всегда подсвечена
   зелёным. В тёмной — мягкий зелёный тинт + цветной бейдж + цветной текст. */
html[data-theme="dark"] body .pds-page .bipolar-option.opt-center:not(.selected) {
    background: rgba(39, 174, 96, 0.10) !important;
    border-color: #27ae60 !important;
}
html[data-theme="dark"] body .pds-page .bipolar-option.opt-center:not(.selected) .opt-badge {
    background: #27ae60 !important;
    border-color: #27ae60 !important;
    color: #fff !important;
}
html[data-theme="dark"] body .pds-page .bipolar-option.opt-center:not(.selected) .opt-text {
    color: #5dd99b !important;
}
/* Hover (только для не-выбранных) — цвет совпадает с цветом selected,
   только в виде тинта. Так визуально не «прыгают» оттенки. */
html[data-theme="dark"] body .pds-page .bipolar-option.opt-edge1:not(.selected):hover  { background: rgba(231, 76, 60, 0.18) !important; border-color: #e74c3c !important; }
html[data-theme="dark"] body .pds-page .bipolar-option.opt-near1:not(.selected):hover  { background: rgba(230, 126, 34, 0.18) !important; border-color: #e67e22 !important; }
html[data-theme="dark"] body .pds-page .bipolar-option.opt-center:not(.selected):hover { background: rgba(39, 174, 96, 0.18) !important; }
html[data-theme="dark"] body .pds-page .bipolar-option.opt-near2:not(.selected):hover  { background: rgba(230, 126, 34, 0.18) !important; border-color: #e67e22 !important; }
html[data-theme="dark"] body .pds-page .bipolar-option.opt-edge2:not(.selected):hover  { background: rgba(231, 76, 60, 0.18) !important; border-color: #e74c3c !important; }
html[data-theme="dark"] body .pds-page .unipolar-option[data-score="0"]:not(.selected):hover { background: rgba(39, 174, 96, 0.18) !important; border-color: #27ae60 !important; }
html[data-theme="dark"] body .pds-page .unipolar-option[data-score="1"]:not(.selected):hover { background: rgba(241, 196, 15, 0.18) !important; border-color: #f1c40f !important; }
html[data-theme="dark"] body .pds-page .unipolar-option[data-score="2"]:not(.selected):hover { background: rgba(230, 126, 34, 0.18) !important; border-color: #e67e22 !important; }
html[data-theme="dark"] body .pds-page .unipolar-option[data-score="3"]:not(.selected):hover { background: rgba(231, 76, 60, 0.18) !important; border-color: #e74c3c !important; }
/* Selected — добавляем выраженное свечение поверх градиента из шаблона */
html[data-theme="dark"] body .pds-page .bipolar-option.selected,
html[data-theme="dark"] body .pds-page .unipolar-option.selected {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15), 0 6px 18px rgba(0, 0, 0, 0.5) !important;
}
/* Разделители */
html[data-theme="dark"] body .pds-separator {
    color: var(--c-text-muted) !important;
}
/* Блок результатов */
html[data-theme="dark"] body .pds-results {
    background: rgba(118, 75, 162, 0.15) !important;
    border-color: #9b7fc7 !important;
}
html[data-theme="dark"] body .pds-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-severity-block {
    background: var(--c-card-bg) !important;
    border-color: #9b7fc7 !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-severity-block .sev-desc {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-items-summary {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pds-items-summary h4 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-item-row {
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .pds-item-row .ir-label {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .pds-footer {
    color: var(--c-text-muted) !important;
}
/* «Что делать после прохождения» */
html[data-theme="dark"] body .pds-after {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-after h2 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-after p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pds-after a {
    color: var(--c-accent) !important;
}

/* ── FFiCD: точечные перекрытия ───────────────────────────
   Префикс классов .fficd-*. Главная карточка — .fficd-container. */
html[data-theme="dark"] body .fficd-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .fficd-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Шапка теста — h1 у FFiCD имеет gradient text-fill, заменяем на сплошной */
html[data-theme="dark"] body .fficd-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .fficd-header h1 {
    background: none !important;
    -webkit-text-fill-color: var(--c-accent) !important;
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .fficd-header .subtitle {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .fficd-header .author {
    color: var(--c-text-muted) !important;
    opacity: 0.8;
}
/* Преамбула */
html[data-theme="dark"] body .fficd-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .fficd-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .fficd-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .fficd-preamble-icon,
html[data-theme="dark"] body .fficd-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .fficd-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .fficd-pre-section-title {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .fficd-pre-section p,
html[data-theme="dark"] body .fficd-pre-section strong {
    color: var(--c-text) !important;
}
/* Карточки доменов в преамбуле */
html[data-theme="dark"] body .fficd-domain-card-preview {
    background: var(--c-card-bg) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .fficd-domain-card-preview .dp-name {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .fficd-use-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-accent) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .fficd-use-card .uc-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-use-card .uc-text {
    color: var(--c-text-muted) !important;
}
/* Блок «О тесте» (.fficd-about) */
html[data-theme="dark"] body .fficd-about {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-about h3 {
    color: var(--c-text) !important;
    border-bottom-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .fficd-about b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .fficd-about-note {
    background: rgba(102, 126, 234, 0.10) !important;
    border-left-color: var(--c-accent) !important;
    color: var(--c-text) !important;
}
/* Инструкция */
html[data-theme="dark"] body .fficd-instruction {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .fficd-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-instruction b {
    color: var(--c-accent) !important;
}
/* Легенда шкалы 1-5 */
html[data-theme="dark"] body .fficd-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .fficd-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Прогресс */
html[data-theme="dark"] body .fficd-progress-bar {
    background: var(--c-bg-soft) !important;
}
html[data-theme="dark"] body .fficd-progress-label,
html[data-theme="dark"] body .fficd-progress-label b {
    color: var(--c-text) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .fficd-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .fficd-item.answered {
    background: rgba(102, 126, 234, 0.15) !important;
    border-color: #9b8fdc !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4) !important;
}
html[data-theme="dark"] body .fficd-item-text {
    color: var(--c-text) !important;
}
/* Кнопки-варианты ответов 1-5 */
html[data-theme="dark"] body .fficd-scale-option {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .fficd-scale-option .val-label {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .fficd-scale-option[data-val="1"]:hover { border-color: #27ae60 !important; background: rgba(39, 174, 96, 0.12) !important; }
html[data-theme="dark"] body .fficd-scale-option[data-val="2"]:hover { border-color: #3498db !important; background: rgba(52, 152, 219, 0.12) !important; }
html[data-theme="dark"] body .fficd-scale-option[data-val="3"]:hover { border-color: #b8c2cc !important; background: rgba(184, 194, 204, 0.10) !important; }
html[data-theme="dark"] body .fficd-scale-option[data-val="4"]:hover { border-color: #f07020 !important; background: rgba(240, 112, 32, 0.10) !important; }
html[data-theme="dark"] body .fficd-scale-option[data-val="5"]:hover { border-color: #e8253a !important; background: rgba(232, 37, 58, 0.12) !important; }
/* Selected — фон-градиент в светлой теме рендерится без !important и
   проигрывает базовому правилу `.fficd-scale-option { background: ... !important }`.
   Возвращаем градиенты с !important + белый текст. */
html[data-theme="dark"] body .fficd-scale-option[data-val="1"].selected {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(46, 204, 113, 0.55), 0 8px 22px rgba(39, 174, 96, 0.45) !important;
}
html[data-theme="dark"] body .fficd-scale-option[data-val="2"].selected {
    background: linear-gradient(135deg, #3498db, #5dade2) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.55), 0 8px 22px rgba(52, 152, 219, 0.45) !important;
}
html[data-theme="dark"] body .fficd-scale-option[data-val="3"].selected {
    background: linear-gradient(135deg, #9eaab8, #b8c2cc) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(158, 170, 184, 0.55), 0 8px 22px rgba(158, 170, 184, 0.45) !important;
}
html[data-theme="dark"] body .fficd-scale-option[data-val="4"].selected {
    background: linear-gradient(135deg, #f07020, #f59040) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(240, 112, 32, 0.55), 0 8px 22px rgba(240, 112, 32, 0.45) !important;
}
html[data-theme="dark"] body .fficd-scale-option[data-val="5"].selected {
    background: linear-gradient(135deg, #e8253a, #f04055) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px rgba(232, 37, 58, 0.55), 0 8px 22px rgba(232, 37, 58, 0.45) !important;
}
html[data-theme="dark"] body .fficd-scale-option.selected .val-num,
html[data-theme="dark"] body .fficd-scale-option.selected .val-label {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
/* Навигация по страницам */
html[data-theme="dark"] body .fficd-nav-buttons {
    border-top-color: var(--c-card-border) !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .fficd-nav-btn {
    background: var(--c-card-bg) !important;
    border-color: #9b8fdc !important;
    color: #9b8fdc !important;
}
html[data-theme="dark"] body .fficd-nav-btn:hover:not(:disabled) {
    background: #9b8fdc !important;
    color: var(--c-bg) !important;
    box-shadow: 0 5px 15px rgba(155, 143, 220, 0.4) !important;
}
html[data-theme="dark"] body .fficd-nav-btn:disabled {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text-muted) !important;
    opacity: 0.4 !important;
}
html[data-theme="dark"] body .fficd-page-indicator {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-page-indicator b {
    color: #9b8fdc !important;
}
/* Блок результатов */
html[data-theme="dark"] body .fficd-results {
    background: rgba(102, 126, 234, 0.15) !important;
    border-color: #9b8fdc !important;
}
html[data-theme="dark"] body .fficd-domain-card-result {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: none !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-domain-bar {
    background: var(--c-bg-soft) !important;
}
html[data-theme="dark"] body .fficd-subdomain-item,
html[data-theme="dark"] body .fficd-nuance-item {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-nuances-domain-title {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .fficd-interpretation-box {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-warning {
    background: rgba(231, 76, 60, 0.12) !important;
    border-color: #e74c3c !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .fficd-footer {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .fficd-result-disclaimer {
    color: var(--c-text-muted) !important;
}

/* ── SCID-5-SPQ: точечные перекрытия ──────────────────────
   Префикс классов .spq-*. Главная карточка — .spq-container. */
html[data-theme="dark"] body .spq-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .spq-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Шапка теста */
html[data-theme="dark"] body .spq-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .spq-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-header .subtitle {
    color: var(--c-text-muted) !important;
}
/* Раскрывающаяся панель «О тесте» — тёмный градиент в светлой остаётся
   приемлемым в тёмной, не трогаем. Содержимое body — да. */
html[data-theme="dark"] body .spq-info-body {
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .spq-info-intro,
html[data-theme="dark"] body .spq-info-card,
html[data-theme="dark"] body .spq-info-pd-list,
html[data-theme="dark"] body .spq-info-footer {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-info-intro b,
html[data-theme="dark"] body .spq-info-card-title,
html[data-theme="dark"] body .spq-info-pd-list b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .spq-info-card-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-info-footer {
    color: var(--c-text-muted) !important;
}
/* Инструкция (.spq-instruction) — светло-лавандовая */
html[data-theme="dark"] body .spq-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid var(--c-accent) !important;
}
html[data-theme="dark"] body .spq-instruction p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-instruction b {
    color: var(--c-accent) !important;
}
/* Легенда «Да/Нет» */
html[data-theme="dark"] body .spq-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .spq-legend-item {
    color: var(--c-text) !important;
}
/* Заголовок секции (типа «A. Параноидное РЛ») — была белая плашка */
html[data-theme="dark"] body .spq-section-label {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .spq-section-label b {
    color: var(--c-accent) !important;
}
/* Жёлтое примечание секции */
html[data-theme="dark"] body .spq-section-note {
    background: rgba(240, 192, 64, 0.10) !important;
    border-color: #f0c040 !important;
    color: #f0d275 !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .spq-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .spq-item:has(input:checked) {
    background: rgba(142, 68, 173, 0.15) !important;
    border-color: #b380cf !important;
}
html[data-theme="dark"] body .spq-item-text {
    color: var(--c-text) !important;
}
/* Кнопки Да/Нет — на белом фоне в светлой; на тёмной — тёмные */
html[data-theme="dark"] body .spq-yn-option {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-yn-option[data-val="1"]:hover {
    border-color: #2ecc71 !important;
    background: rgba(46, 204, 113, 0.12) !important;
    color: #5dd99b !important;
}
html[data-theme="dark"] body .spq-yn-option[data-val="0"]:hover {
    border-color: #e74c3c !important;
    background: rgba(231, 76, 60, 0.12) !important;
    color: #ff8a7a !important;
}
/* Selected-варианты — возвращаем градиенты + добавляем свечение
   (базовое правило `.spq-yn-option {bg !important}` бьёт светлый CSS). */
html[data-theme="dark"] body .spq-yn-option[data-val="1"].selected {
    background: linear-gradient(135deg, #27ae60, #1e8449) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px rgba(39, 174, 96, 0.55), 0 6px 16px rgba(39, 174, 96, 0.45) !important;
}
html[data-theme="dark"] body .spq-yn-option[data-val="0"].selected {
    background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.55), 0 6px 16px rgba(231, 76, 60, 0.45) !important;
}
/* Блок результатов */
html[data-theme="dark"] body .spq-results {
    background: rgba(142, 68, 173, 0.15) !important;
    border-color: #b380cf !important;
}
html[data-theme="dark"] body .spq-result-card {
    background: var(--c-card-bg) !important;
    border-left-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .spq-result-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-result-score {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-result-note {
    color: var(--c-text-muted) !important;
}
/* Дополнительные блоки в выдаче результатов SCID (генерируются JS) */
html[data-theme="dark"] body .spq-result-missing {
    background: rgba(231, 76, 60, 0.12) !important;
    border-color: #e74c3c !important;
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .spq-result-howto {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-result-howto b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .spq-result-important {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .spq-result-important b {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .spq-result-disclaimer {
    color: var(--c-text-muted) !important;
}
/* Поля ввода (если есть) */
html[data-theme="dark"] body .spq-page input[type="text"],
html[data-theme="dark"] body .spq-page input[type="date"],
html[data-theme="dark"] body .spq-page textarea {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}

/* ── MID 6.0: точечные перекрытия ─────────────────────────
   Шаблон большой (218 вопросов), но классы имеют префикс .mid-*.
   Главная карточка — .mid-wrap (как у DES она .des-wrap). */
html[data-theme="dark"] body .mid-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .mid-wrap {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Шапка теста */
html[data-theme="dark"] body .mid-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .mid-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-header .sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .mid-header .src {
    color: var(--c-text-muted) !important;
    opacity: 0.8;
}
/* Преамбула */
html[data-theme="dark"] body .mid-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .mid-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .mid-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .mid-preamble-icon,
html[data-theme="dark"] body .mid-preamble-chevron {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .mid-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .mid-pre-section-title {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .mid-pre-section p,
html[data-theme="dark"] body .mid-pre-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-scale-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-scale-card .sc-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-scale-card .sc-text {
    color: var(--c-text-muted) !important;
}
/* Блок данных клиента — лавандовый градиент в светлой, на тёмной заменяем */
html[data-theme="dark"] body .mid-userinfo {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .mid-userinfo-title,
html[data-theme="dark"] body .mid-field label {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .mid-field input {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-field input:focus {
    border-color: var(--c-accent) !important;
    box-shadow: 0 0 0 3px rgba(255, 138, 61, 0.2) !important;
}
html[data-theme="dark"] body .mid-field input::placeholder {
    color: var(--c-text-muted) !important;
    opacity: 0.6;
}
/* Инструкция (.mid-instr) — светло-лавандовая в светлой, на тёмной текст исчезал */
html[data-theme="dark"] body .mid-instr {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-instr p {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-instr b {
    color: var(--c-accent) !important;
}
/* Легенда 0–10: цветные плашки в светлой смотрятся как радуга, в тёмной
   тоже хорошо видны (фон у них своих цветов), не трогаем кроме тонкой
   рамки между плашками. */
html[data-theme="dark"] body .mid-legend {
    border-color: var(--c-card-border) !important;
}
/* Прогресс-бар: sticky-обёртка должна быть тёмной (в светлой — белая) */
html[data-theme="dark"] body .mid-prog-wrap {
    background: var(--c-card-bg) !important;
}
html[data-theme="dark"] body .mid-prog-bar {
    background: var(--c-bg-soft) !important;
}
html[data-theme="dark"] body .mid-prog-label,
html[data-theme="dark"] body .mid-prog-label b {
    color: var(--c-text) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .mid-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .mid-item.answered {
    background: rgba(108, 52, 131, 0.15) !important;
    border-color: #9b7fc7 !important;
}
html[data-theme="dark"] body .mid-item-text {
    color: var(--c-text) !important;
}
/* Кнопки-варианты ответов 0–10 — на белой карточке в светлой; на тёмной
   нужен тёмный фон + цветные цифры остаются хорошо различимыми. */
html[data-theme="dark"] body .mid-opt {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
/* Цвет .ol для data-v=0 в светлой — тёмно-зелёный, нечитаем на тёмном.
   Поднимаем под цвет цифры. */
html[data-theme="dark"] body .mid-opt[data-v="0"] .ol { color: #6fcf6c !important; }
html[data-theme="dark"] body .mid-opt[data-v="1"] .ol { color: #5fd3c4 !important; }
html[data-theme="dark"] body .mid-opt[data-v="2"] .ol { color: #7ec0e8 !important; }
html[data-theme="dark"] body .mid-opt[data-v="3"] .ol { color: #5da1de !important; }
html[data-theme="dark"] body .mid-opt[data-v="4"] .ol { color: #f5d36a !important; }
html[data-theme="dark"] body .mid-opt[data-v="5"] .ol { color: #f5b95c !important; }
html[data-theme="dark"] body .mid-opt[data-v="6"] .ol { color: #f0a070 !important; }
html[data-theme="dark"] body .mid-opt[data-v="7"] .ol { color: #ee8175 !important; }
html[data-theme="dark"] body .mid-opt[data-v="8"] .ol { color: #d96b62 !important; }
html[data-theme="dark"] body .mid-opt[data-v="9"] .ol { color: #b380cf !important; }
html[data-theme="dark"] body .mid-opt[data-v="10"] .ol { color: #9b7fc7 !important; }
/* Цифра .ov для data-v=0 в светлой — тёмная (#1a1a1a), на тёмной невидима */
html[data-theme="dark"] body .mid-opt[data-v="0"] .ov { color: #6fcf6c !important; }
/* Hover в тёмной — приглушённая цветная подсветка */
html[data-theme="dark"] body .mid-opt[data-v="0"]:hover  { border-color: #6fcf6c !important; background: rgba(111, 207, 108, 0.10) !important; }
html[data-theme="dark"] body .mid-opt[data-v="1"]:hover  { border-color: #48c9b0 !important; background: rgba(72, 201, 176, 0.10) !important; }
html[data-theme="dark"] body .mid-opt[data-v="2"]:hover  { border-color: #5dade2 !important; background: rgba(93, 173, 226, 0.10) !important; }
html[data-theme="dark"] body .mid-opt[data-v="3"]:hover  { border-color: #2e86c1 !important; background: rgba(46, 134, 193, 0.10) !important; }
html[data-theme="dark"] body .mid-opt[data-v="4"]:hover  { border-color: #f9e04b !important; background: rgba(249, 224, 75, 0.10) !important; }
html[data-theme="dark"] body .mid-opt[data-v="5"]:hover  { border-color: #f0a500 !important; background: rgba(240, 165, 0, 0.12) !important; }
html[data-theme="dark"] body .mid-opt[data-v="6"]:hover  { border-color: #e67e22 !important; background: rgba(230, 126, 34, 0.12) !important; }
html[data-theme="dark"] body .mid-opt[data-v="7"]:hover  { border-color: #e74c3c !important; background: rgba(231, 76, 60, 0.12) !important; }
html[data-theme="dark"] body .mid-opt[data-v="8"]:hover  { border-color: #c0392b !important; background: rgba(192, 57, 43, 0.14) !important; }
html[data-theme="dark"] body .mid-opt[data-v="9"]:hover  { border-color: #8e44ad !important; background: rgba(142, 68, 173, 0.14) !important; }
html[data-theme="dark"] body .mid-opt[data-v="10"]:hover { border-color: #6c3483 !important; background: rgba(108, 52, 131, 0.20) !important; }
/* Selected — добавляем выраженное свечение */
html[data-theme="dark"] body .mid-opt.selected {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15), 0 6px 18px rgba(0, 0, 0, 0.5) !important;
}
/* Блок результатов */
html[data-theme="dark"] body .mid-results {
    background: rgba(108, 52, 131, 0.15) !important;
    border-color: #9b7fc7 !important;
}
html[data-theme="dark"] body .mid-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-sc-card {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .mid-sc-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .mid-sc-bar {
    background: var(--c-bg-soft) !important;
}
/* Предупреждение «пропущенные вопросы» */
html[data-theme="dark"] body .mid-warning {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: #e74c3c !important;
    color: var(--c-text) !important;
}
/* Footer-подпись теста */
html[data-theme="dark"] body .mid-page-footer {
    color: var(--c-text-muted) !important;
}

/* ── DES-II: точечные перекрытия ─────────────────────────── */
/* Главная карточка теста — у DES она названа .des-wrap, а общее правило
   для `*-wrap` исключено из перекраски (чтобы не ловить кнопочные обёртки),
   поэтому контейнер оставался белым. */
html[data-theme="dark"] body .des-page {
    background: var(--c-bg) !important;
}
html[data-theme="dark"] body .des-wrap {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Шапка теста */
html[data-theme="dark"] body .des-header {
    border-bottom: none !important;
}
html[data-theme="dark"] body .des-header h1 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-header .sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .des-header .src {
    color: var(--c-text-muted) !important;
    opacity: 0.8;
}
/* Раскрывающаяся преамбула «Что это за тест» */
html[data-theme="dark"] body .des-preamble-toggle {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .des-preamble-toggle:hover {
    border-color: var(--c-accent) !important;
}
html[data-theme="dark"] body .des-preamble-toggle-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-preamble-toggle-sub {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .des-preamble-icon,
html[data-theme="dark"] body .des-preamble-chevron {
    color: var(--c-accent) !important;
}
/* Содержимое преамбулы */
html[data-theme="dark"] body .des-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .des-pre-section-title {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .des-pre-section p,
html[data-theme="dark"] body .des-pre-section strong {
    color: var(--c-text) !important;
}
/* Карточки шкал и применений в преамбуле — у каждой свой пастельный фон,
   на тёмной они смотрятся слишком ярко. Унифицируем. */
html[data-theme="dark"] body .des-scale-card,
html[data-theme="dark"] body .des-use-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-scale-card .sc-title,
html[data-theme="dark"] body .des-use-card .uc-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-scale-card .sc-text,
html[data-theme="dark"] body .des-use-card .uc-text {
    color: var(--c-text-muted) !important;
}


/* Инструкция (.des-instr) — в светлой теме светло-лавандовая плашка,
   в тёмной её фон не перекрашивается, а текст становится светлым,
   и блок остаётся пустым визуально. */
html[data-theme="dark"] body .des-instr {
    background: var(--c-bg-soft) !important;
    border-left-color: var(--c-accent) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-instr p,
html[data-theme="dark"] body .des-instr b {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-instr b {
    color: var(--c-accent) !important;
}
/* Легенда шкалы 0–100% */
html[data-theme="dark"] body .des-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .des-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
/* Прогресс */
html[data-theme="dark"] body .des-prog-bar {
    background: var(--c-bg-soft) !important;
}
html[data-theme="dark"] body .des-prog-label,
html[data-theme="dark"] body .des-prog-label b {
    color: var(--c-text) !important;
}
/* Карточки вопросов */
html[data-theme="dark"] body .des-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .des-item.answered {
    background: rgba(118, 75, 162, 0.15) !important;
    border-color: #9b7fc7 !important;
}
html[data-theme="dark"] body .des-item-text {
    color: var(--c-text) !important;
}
/* Кнопки-варианты ответов: базовое состояние — на светлом фоне в шаблоне
   они белые. На тёмной нужны тёмные с цветной цифрой. */
html[data-theme="dark"] body .des-opt {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .des-opt .ol {
    color: var(--c-text-muted) !important;
}
/* Hover — приглушённая цветная подсветка под data-v */
html[data-theme="dark"] body .des-opt[data-v="0"]:hover   { border-color: #b8d8f0 !important; background: rgba(184, 216, 240, 0.10) !important; }
html[data-theme="dark"] body .des-opt[data-v="10"]:hover  { border-color: #85c1e9 !important; background: rgba(133, 193, 233, 0.10) !important; }
html[data-theme="dark"] body .des-opt[data-v="20"]:hover  { border-color: #3498db !important; background: rgba(52, 152, 219, 0.12) !important; }
html[data-theme="dark"] body .des-opt[data-v="30"]:hover  { border-color: #a9dfbf !important; background: rgba(169, 223, 191, 0.10) !important; }
html[data-theme="dark"] body .des-opt[data-v="40"]:hover  { border-color: #52be80 !important; background: rgba(82, 190, 128, 0.12) !important; }
html[data-theme="dark"] body .des-opt[data-v="50"]:hover  { border-color: #1e8449 !important; background: rgba(30, 132, 73, 0.14) !important; }
html[data-theme="dark"] body .des-opt[data-v="60"]:hover  { border-color: #f0a07a !important; background: rgba(240, 160, 122, 0.12) !important; }
html[data-theme="dark"] body .des-opt[data-v="70"]:hover  { border-color: #e67e22 !important; background: rgba(230, 126, 34, 0.14) !important; }
html[data-theme="dark"] body .des-opt[data-v="80"]:hover  { border-color: #d35400 !important; background: rgba(211, 84, 0, 0.14) !important; }
html[data-theme="dark"] body .des-opt[data-v="90"]:hover  { border-color: #c0392b !important; background: rgba(192, 57, 43, 0.14) !important; }
html[data-theme="dark"] body .des-opt[data-v="100"]:hover { border-color: #7b241c !important; background: rgba(123, 36, 28, 0.20) !important; }
/* Selected — добавляем свечение, сами цвета шаблонные сохраняем */
html[data-theme="dark"] body .des-opt.selected {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15), 0 6px 18px rgba(0, 0, 0, 0.5) !important;
}
/* Результаты */
html[data-theme="dark"] body .des-results {
    background: rgba(118, 75, 162, 0.15) !important;
    border-color: #9b7fc7 !important;
}
html[data-theme="dark"] body .des-results h3 {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-sc-card {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .des-sc-name {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-sc-bar {
    background: var(--c-bg-soft) !important;
}
/* Подсветка значений по уровням — на тёмной теме делаем фон полупрозрачным,
   чтобы цветной текст оставался читаем. */
html[data-theme="dark"] body .des-sc-interp.zn { background: rgba(46, 204, 113, 0.20) !important; color: #5dd99b !important; }
html[data-theme="dark"] body .des-sc-interp.zm { background: rgba(230, 126, 34, 0.20) !important; color: #ffb37a !important; }
html[data-theme="dark"] body .des-sc-interp.zh { background: rgba(231, 76, 60, 0.22) !important; color: #ff8a7a !important; }
/* Блок «наиболее частые» */
html[data-theme="dark"] body .des-high {
    background: rgba(230, 126, 34, 0.12) !important;
    border-color: #e67e22 !important;
}
html[data-theme="dark"] body .des-high h4 {
    color: #ffb37a !important;
}
html[data-theme="dark"] body .des-high-item {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border-left-color: #e67e22 !important;
}
/* Плашка пропущенных вопросов (DES-II) */
html[data-theme="dark"] body .des-warning {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: #e74c3c !important;
}
html[data-theme="dark"] body .des-warning-title {
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .des-warning-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .des-warning-text strong {
    color: #ffb4a8 !important;
}

/* Предупреждение о пропущенных вопросах (рендерится в .scl90-results
   и в PDF-снапшоте). В светлой теме — алый на бледно-розовом, на тёмной
   читаемость нужно вернуть. */
html[data-theme="dark"] body .scl90-missing-warning {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: #e74c3c !important;
}
html[data-theme="dark"] body .scl90-missing-warning-title {
    color: #ff8a7a !important;
}
html[data-theme="dark"] body .scl90-missing-warning-text {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .scl90-missing-warning-text strong {
    color: #ffb4a8 !important;
}
html[data-theme="dark"] body .scl90-missing-badge {
    background: rgba(231, 76, 60, 0.20) !important;
    color: #ffb4a8 !important;
    border-color: rgba(231, 76, 60, 0.45) !important;
}

/* «Статьи по теме» (блок перелинковки) */
html[data-theme="dark"] body .related-articles-block {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.4) !important;
}
html[data-theme="dark"] body .related-articles-block:hover {
    border-color: var(--c-accent) !important;
    box-shadow: 0 12px 45px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body .related-articles-title {
    color: var(--c-accent) !important;
}
html[data-theme="dark"] body .related-article-card {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .related-article-card:hover {
    background: var(--c-card-bg) !important;
    border-color: var(--c-accent) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
}

/* FAQ-аккордеон тестов (functions.php → render_test_faq) */
html[data-theme="dark"] body .test-faq-title {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .test-faq-item {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .test-faq-item:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
}
html[data-theme="dark"] body .test-faq-q {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .test-faq-q:hover {
    background: var(--c-card-bg) !important;
}
html[data-theme="dark"] body .test-faq-arrow {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .test-faq-a {
    color: var(--c-text-muted) !important;
}

/* Информационные карточки внутри блока «О тесте» (кластеры, факторы,
   аспекты — у разных тестов по-разному называются) */
html[data-theme="dark"] body [class$="-page"] [class$="-card"]:not(.test-card):not(.bib-card):not(.review-card):not(.contact-card):not(.trust-card):not(.snp-card):not(.sn-card),
html[data-theme="dark"] body [class$="-page"] [class*="-info-card"],
html[data-theme="dark"] body [class$="-page"] [class*="-cluster-card"],
html[data-theme="dark"] body [class$="-page"] [class*="-aspect-card"],
html[data-theme="dark"] body [class$="-page"] [class*="-subscale-card"],
html[data-theme="dark"] body [class$="-page"] [class*="-factor-card"] {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}

/* Блоки вопросов */
html[data-theme="dark"] body [class$="-page"] [class*="-question"]:not(input):not(label),
html[data-theme="dark"] body [class$="-page"] [class*="-item"]:not(input):not(label) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text);
}

/* Радиокнопки и их label'ы — типичный паттерн .X-scale-option / .X-option / .X-radio */
html[data-theme="dark"] body [class$="-page"] input[type="radio"] + label,
html[data-theme="dark"] body [class$="-page"] [class*="-option"]:not(input),
html[data-theme="dark"] body [class$="-page"] [class*="-scale-option"]:not(input) {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body [class$="-page"] input[type="radio"]:checked + label {
    background: var(--c-accent) !important;
    color: #1a1a1a !important;
    border-color: var(--c-accent) !important;
}

/* Легенды шкал (1=совсем нет, 5=очень сильно и т.п.) */
html[data-theme="dark"] body [class$="-page"] [class*="-legend"] {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body [class$="-page"] [class*="-legend-item"] {
    color: var(--c-text) !important;
}

/* Блок результатов — score, balance, charts wrapper */
html[data-theme="dark"] body [class$="-page"] [class*="-result"],
html[data-theme="dark"] body [class$="-page"] [class*="-score"],
html[data-theme="dark"] body [class$="-page"] [class*="-summary"] {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body [class$="-page"] [class*="-result"] h2,
html[data-theme="dark"] body [class$="-page"] [class*="-result"] h3,
html[data-theme="dark"] body [class$="-page"] [class*="-result"] h4 {
    color: var(--c-text) !important;
}

/* Кнопки (back, next, submit, pdf, retake).
   :not([class*="-wrap"]) — чтобы НЕ ловить обёртки вроде .scl90-back-btn-wrap. */
html[data-theme="dark"] body [class$="-page"] [class*="-back-btn"]:not([class*="-wrap"]),
html[data-theme="dark"] body [class$="-page"] [class*="-back-button"]:not([class*="-wrap"]) {
    background: var(--c-bg-soft) !important;
    color: var(--c-text) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body [class$="-page"] [class*="-back-btn"]:not([class*="-wrap"]):hover,
html[data-theme="dark"] body [class$="-page"] [class*="-back-button"]:not([class*="-wrap"]):hover {
    background: var(--c-card-bg) !important;
    border-color: var(--c-accent) !important;
    color: var(--c-accent) !important;
}
/* CTA кнопки — оранжевый акцент.
   :not([class*="-buttons"]) — чтобы не ловить обёртки вроде .about-cta-buttons.
   :not([class*="-wrap"])    — чтобы не ловить обёртки вроде .iri-pdf-btn-wrap. */
html[data-theme="dark"] body [class$="-page"] [class*="-pdf-btn"]:not([class*="-buttons"]):not([class*="-wrap"]),
html[data-theme="dark"] body [class$="-page"] [class*="-submit-btn"]:not([class*="-buttons"]):not([class*="-wrap"]),
html[data-theme="dark"] body [class$="-page"] [class*="-download-btn"]:not([class*="-buttons"]):not([class*="-wrap"]),
html[data-theme="dark"] body [class$="-page"] [class*="-cta"]:not([class*="-buttons"]):not([class*="-wrap"]) {
    background: linear-gradient(135deg, var(--c-accent), #ff7733) !important;
    color: #1a1a1a !important;
    border-color: var(--c-accent) !important;
}

/* Прогресс-бары и индикаторы заполнения */
html[data-theme="dark"] body [class$="-page"] [class*="-progress"],
html[data-theme="dark"] body [class$="-page"] [class*="-progress-bar"] {
    background: var(--c-bg-soft) !important;
}

/* Поля ввода (имя клиента, дата, заметки) */
html[data-theme="dark"] body [class$="-page"] input[type="text"],
html[data-theme="dark"] body [class$="-page"] input[type="email"],
html[data-theme="dark"] body [class$="-page"] input[type="number"],
html[data-theme="dark"] body [class$="-page"] input[type="date"],
html[data-theme="dark"] body [class$="-page"] textarea,
html[data-theme="dark"] body [class$="-page"] select {
    background: var(--c-input-bg) !important;
    color: var(--c-text) !important;
    border-color: var(--c-card-border) !important;
}

/* Таблицы результатов */
html[data-theme="dark"] body [class$="-page"] table {
    color: var(--c-text);
}
html[data-theme="dark"] body [class$="-page"] th,
html[data-theme="dark"] body [class$="-page"] td {
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body [class$="-page"] thead th {
    background: var(--c-bg-soft) !important;
}

/* Разделители hr */
html[data-theme="dark"] body [class$="-page"] hr {
    background: var(--c-card-border) !important;
    border-color: var(--c-card-border) !important;
}

/* Code/pre блоки внутри тестов (если где-то есть) */
html[data-theme="dark"] body [class$="-page"] code,
html[data-theme="dark"] body [class$="-page"] pre {
    background: var(--c-bg-soft) !important;
    color: var(--c-text);
}

/* Ссылки внутри тестовых страниц.
   :not([class*="btn"]) — общее (с дефисом до или после, либо без него:
   .btn-about-green / .X-btn / .btn-cta-bottom все попадают в исключение). */
html[data-theme="dark"] body [class$="-page"] a:not([class*="btn"]):not([class*="button"]) {
    color: var(--c-link) !important;
}
html[data-theme="dark"] body [class$="-page"] a:not([class*="btn"]):not([class*="button"]):hover {
    color: var(--c-accent) !important;
}

/* ── Страница одиночной статьи (single-article) ──────────
   Шапка-карточка автора (.article-hero), плашка категории,
   а также вёрстка внутри .cuijpers-publication с inline-стилями
   под светлую тему — всё нужно перевести в тёмную. */
/* Универсальный стиль авто-блока — одинаково тёплый оранжевый акцент
   и в светлой, и в тёмной теме, чтобы блок всегда чуть выделялся
   на фоне тела статьи. */
body .article-hero {
    background: linear-gradient(135deg, rgba(255,111,0,0.07) 0%, rgba(255,111,0,0.02) 100%), var(--c-card-bg, #ffffff) !important;
    border: 1px solid rgba(255,111,0,0.25) !important;
}
html[data-theme="dark"] body .article-hero {
    background: linear-gradient(135deg, rgba(255,138,61,0.08) 0%, rgba(255,138,61,0.03) 100%), var(--c-card-bg) !important;
    border: 1px solid rgba(255,138,61,0.30) !important;
    color: var(--c-text);
}
html[data-theme="dark"] body .article-hero,
html[data-theme="dark"] body .article-hero .hero-author-name,
html[data-theme="dark"] body .article-hero .hero-author-name a,
html[data-theme="dark"] body .article-hero .hero-meta-value,
html[data-theme="dark"] body .article-hero .hero-meta-label {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .article-hero .hero-author-role,
html[data-theme="dark"] body .article-hero .hero-meta-list {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .article-category-badge {
    background: rgba(255,138,61,0.15) !important;
    color: var(--c-accent) !important;
}

/* ── Универсальные оверрайды для тела ВСЕХ одиночных статей ──
   Статьи в БД хранятся как сырой HTML с inline-стилями под светлую
   тему (#fff, #f9fafb, #e8f5e9, #ecfdf5, #e3f2fd и т.п.).
   Перебиваем через [style*=...] селекторы с !important, чтобы
   правила работали даже без классов-обёрток у каждой статьи.
   Селектор `body.single-article article` — общий якорь,
   подцепится к любой существующей и будущей статье. */

/* 1. Базовый текст в теле статьи — светлый */
html[data-theme="dark"] body.single-article article,
html[data-theme="dark"] body.single-article article p,
html[data-theme="dark"] body.single-article article li,
html[data-theme="dark"] body.single-article article td,
html[data-theme="dark"] body.single-article article th,
html[data-theme="dark"] body.single-article article h1,
html[data-theme="dark"] body.single-article article h2,
html[data-theme="dark"] body.single-article article h3,
html[data-theme="dark"] body.single-article article h4,
html[data-theme="dark"] body.single-article article h5 {
    color: var(--c-text);
}
/* Перебиваем inline color: тёмные оттенки (#1a1a1a/#1f2937/#333) */
html[data-theme="dark"] body.single-article article [style*="color: #1a1a1a"],
html[data-theme="dark"] body.single-article article [style*="color:#1a1a1a"],
html[data-theme="dark"] body.single-article article [style*="color: #1f2937"],
html[data-theme="dark"] body.single-article article [style*="color:#1f2937"],
html[data-theme="dark"] body.single-article article [style*="color: #333"],
html[data-theme="dark"] body.single-article article [style*="color:#333"] {
    color: var(--c-text) !important;
}
/* Перебиваем inline color: средне-серые (#888/#6b7280/#9ca3af) */
html[data-theme="dark"] body.single-article article [style*="color: #888"],
html[data-theme="dark"] body.single-article article [style*="color:#888"],
html[data-theme="dark"] body.single-article article [style*="color: #6b7280"],
html[data-theme="dark"] body.single-article article [style*="color:#6b7280"],
html[data-theme="dark"] body.single-article article [style*="color: #9ca3af"],
html[data-theme="dark"] body.single-article article [style*="color:#9ca3af"] {
    color: var(--c-text-muted) !important;
}
/* Тёмно-зелёный/тёмно-синий текст (#065f46/#1b5e20/#0d47a1) — на тёмном
   фоне их не видно, осветляем под акцент. */
html[data-theme="dark"] body.single-article article [style*="#065f46"],
html[data-theme="dark"] body.single-article article [style*="#1b5e20"] {
    color: #6ee7b7 !important;
}
html[data-theme="dark"] body.single-article article [style*="color: #0d47a1"],
html[data-theme="dark"] body.single-article article [style*="color:#0d47a1"] {
    color: #93c5fd !important;
}

/* 2. Таблицы — белый фон → карточный тёмный, бордеры — мягкие */
html[data-theme="dark"] body.single-article article table,
html[data-theme="dark"] body.single-article article table[style*="#fff"],
html[data-theme="dark"] body.single-article article table[style*="#FFF"] {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body.single-article article table th,
html[data-theme="dark"] body.single-article article table td {
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
/* Зебра строк #f9fafb / #fff → плоский карточный тёмный */
html[data-theme="dark"] body.single-article article tr[style*="#f9fafb"],
html[data-theme="dark"] body.single-article article tr[style*="background: #fff"],
html[data-theme="dark"] body.single-article article tr[style*="background:#fff"],
html[data-theme="dark"] body.single-article article tr[style*="background: #FFF"] {
    background: var(--c-card-bg) !important;
}
/* Зелёный заголовок таблицы #10b981 → насыщенный тёмно-зелёный */
html[data-theme="dark"] body.single-article article [style*="#10b981"] {
    background: #0e7c5e !important;
}
html[data-theme="dark"] body.single-article article [style*="#10b981"] th,
html[data-theme="dark"] body.single-article article [style*="#10b981"] td {
    color: #ffffff !important;
}

/* 3. Цветные блок-плашки (info-box, note-box, related-list, tests-list) */
/* Зелёный спектр: #ecfdf5 / #e8f5e9 / #d7ecd9 — салатные коробки */
html[data-theme="dark"] body.single-article article [style*="#ecfdf5"],
html[data-theme="dark"] body.single-article article [style*="#e8f5e9"],
html[data-theme="dark"] body.single-article article [style*="#d7ecd9"] {
    background: rgba(16,185,129,0.12) !important;
    border-color: rgba(16,185,129,0.30) !important;
    color: var(--c-text) !important;
}
/* Голубой спектр: #e3f2fd / #d6eaf8 — синие коробки «Читайте также» */
html[data-theme="dark"] body.single-article article [style*="#e3f2fd"],
html[data-theme="dark"] body.single-article article [style*="#d6eaf8"] {
    background: rgba(96,165,250,0.12) !important;
    border-color: rgba(96,165,250,0.30) !important;
    color: var(--c-text) !important;
}
/* Внутри цветных плашек — карточки с белым фоном (вложенные пункты
   тестов/связанных статей). Делаем их немного отдельно от плашки. */
html[data-theme="dark"] body.single-article article [style*="#e8f5e9"] [style*="background: #fff"],
html[data-theme="dark"] body.single-article article [style*="#e8f5e9"] [style*="background:#fff"],
html[data-theme="dark"] body.single-article article [style*="#e3f2fd"] [style*="background: #fff"],
html[data-theme="dark"] body.single-article article [style*="#e3f2fd"] [style*="background:#fff"],
html[data-theme="dark"] body.single-article article [style*="#ecfdf5"] [style*="background: #fff"],
html[data-theme="dark"] body.single-article article [style*="#ecfdf5"] [style*="background:#fff"] {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
/* Любые «белые» подкарточки/ссылки в теле статьи — тёмный карточный фон.
   Селектор без ограничения по тегу, чтобы цеплять и <div>, и <a>, и <span>.
   Дублируем под :hover/:focus, чтобы при наведении не возвращался светлый
   inline-фон (transition:all 0.2s в inline style иначе анимирует мигание). */
html[data-theme="dark"] body.single-article article [style*="background: #fff"],
html[data-theme="dark"] body.single-article article [style*="background:#fff"],
html[data-theme="dark"] body.single-article article [style*="background: #FFF"],
html[data-theme="dark"] body.single-article article [style*="background:#FFF"],
html[data-theme="dark"] body.single-article article [style*="background: white"],
html[data-theme="dark"] body.single-article article [style*="background:white"],
html[data-theme="dark"] body.single-article article [style*="background: #fff"]:hover,
html[data-theme="dark"] body.single-article article [style*="background:#fff"]:hover,
html[data-theme="dark"] body.single-article article [style*="background: #FFF"]:hover,
html[data-theme="dark"] body.single-article article [style*="background:#FFF"]:hover,
html[data-theme="dark"] body.single-article article [style*="background: white"]:hover,
html[data-theme="dark"] body.single-article article [style*="background:white"]:hover,
html[data-theme="dark"] body.single-article article [style*="background: #fff"]:focus,
html[data-theme="dark"] body.single-article article [style*="background:#fff"]:focus {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
/* На hover внутри статьи — мягкая «подсветка» вместо смены темы:
   чуть осветляем фон до --c-bg-soft и подкрашиваем рамку акцентом. */
html[data-theme="dark"] body.single-article article [style*="background: #fff"]:hover,
html[data-theme="dark"] body.single-article article [style*="background:#fff"]:hover,
html[data-theme="dark"] body.single-article article [style*="background: white"]:hover,
html[data-theme="dark"] body.single-article article [style*="background:white"]:hover {
    background: var(--c-bg-soft) !important;
    border-color: rgba(255,138,61,0.40) !important;
}

/* 4. Цитатные блоки (yellow/cream блок с цитатой йога Свами) — у них
   typically background: #fef3c7 / #fff8e1 / #ffeaa7 / похожие. Не нашёл
   таких в БД, но добавим про запас + общий fallback на любой светлый фон.
   На случай если какой-то нестандартный светлый фон в стиле — сделаем
   все элементы с background: #fX*; / rgb(255,...) тёмными по умолчанию. */
html[data-theme="dark"] body.single-article article [style*="background: #fef"],
html[data-theme="dark"] body.single-article article [style*="background:#fef"],
html[data-theme="dark"] body.single-article article [style*="background: #fff8"],
html[data-theme="dark"] body.single-article article [style*="background:#fff8"],
html[data-theme="dark"] body.single-article article [style*="background: #ffeaa7"] {
    background: rgba(255,210,80,0.12) !important;
    border-color: rgba(255,210,80,0.30) !important;
    color: var(--c-text) !important;
}

/* 5. Все ссылки в теле статьи — оранжевые, как везде в тёмной теме */
html[data-theme="dark"] body.single-article article a:not([class*="btn"]):not([class*="button"]) {
    color: var(--c-link) !important;
}
html[data-theme="dark"] body.single-article article a:not([class*="btn"]):not([class*="button"]):hover {
    color: var(--c-accent) !important;
}

/* Картинки внутри тела статьи — у Twenty Seventeen у <img> по дефолту
   стоит светло-серый фон (#f5f5f5) как «плейсхолдер при загрузке». На
   тёмной теме это вылезает белой рамочкой по краям превьюшек, особенно
   в перелинковках «Читайте также». Убираем. */
html[data-theme="dark"] body.single-article article img {
    background: transparent !important;
}

/* 6. Цитатные blockquote (без inline-стилей, но с кремовым фоном
   #fff3e0 от темы Twenty Seventeen). Делаем тёплый янтарный оверлей. */
html[data-theme="dark"] body.single-article article blockquote {
    background: rgba(255,138,61,0.10) !important;
    border-color: rgba(255,138,61,0.35) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body.single-article article blockquote p,
html[data-theme="dark"] body.single-article article blockquote em,
html[data-theme="dark"] body.single-article article blockquote i,
html[data-theme="dark"] body.single-article article blockquote cite {
    color: var(--c-text) !important;
}

/* ── Антиспам-блок Turnstile в форме комментария к новости ─────
   Старая SVG-капча убрана, теперь используется Cloudflare Turnstile
   (виджет сам подстраивается под data-theme="auto"). */
html[data-theme="dark"] body .sn-turnstile-wrap {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .sn-turnstile-wrap > label {
    color: var(--c-text-muted) !important;
}

/* ── BCSS (Опросник Берг-Кросс): точечные перекрытия ──
   Префикс .bcss-*. Шкала 0-4 с особой цветовой схемой по ТЗ:
   4=жёлтый, 3=зелёный, 2=синий, 1=серый, 0=чёрный. */
html[data-theme="dark"] body .bcss-instruction {
    background: linear-gradient(135deg, rgba(245,158,11,0.18) 0%, rgba(59,130,246,0.18) 100%) !important;
    border-left-color: #f59e0b !important;
}
html[data-theme="dark"] body .bcss-instruction p { color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-instruction b { color: #fcd34d !important; }

html[data-theme="dark"] body .bcss-legend-card.phys  { background: rgba(239,68,68,0.18) !important;  border-color: #ef4444 !important; box-shadow: 0 2px 12px rgba(239,68,68,0.25) !important; }
html[data-theme="dark"] body .bcss-legend-card.des   { background: rgba(245,158,11,0.18) !important; border-color: #f59e0b !important; box-shadow: 0 2px 12px rgba(245,158,11,0.30) !important; }
html[data-theme="dark"] body .bcss-legend-card.conf  { background: rgba(34,197,94,0.18) !important;  border-color: #22c55e !important; box-shadow: 0 2px 12px rgba(34,197,94,0.25) !important; }
html[data-theme="dark"] body .bcss-legend-card.intim { background: rgba(59,130,246,0.18) !important; border-color: #3b82f6 !important; box-shadow: 0 2px 12px rgba(59,130,246,0.25) !important; }
html[data-theme="dark"] body .bcss-legend-card.phys  .lc-code { color: #fca5a5 !important; }
html[data-theme="dark"] body .bcss-legend-card.des   .lc-code { color: #fcd34d !important; }
html[data-theme="dark"] body .bcss-legend-card.conf  .lc-code { color: #86efac !important; }
html[data-theme="dark"] body .bcss-legend-card.intim .lc-code { color: #93c5fd !important; }
html[data-theme="dark"] body .bcss-legend-card .lc-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-legend-card .lc-desc { color: var(--c-text-muted) !important; }

html[data-theme="dark"] body .bcss-preamble-toggle {
    background: linear-gradient(135deg, rgba(245,158,11,0.10), rgba(59,130,246,0.12)) !important;
    border-color: rgba(245,158,11,0.45) !important;
}
html[data-theme="dark"] body .bcss-pre-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-pre-sub { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .bcss-preamble-icon,
html[data-theme="dark"] body .bcss-preamble-chevron { color: #fcd34d !important; }
html[data-theme="dark"] body .bcss-preamble-body {
    background: var(--c-bg-soft) !important; border-color: rgba(245,158,11,0.25) !important;
}
html[data-theme="dark"] body .bcss-pre-section-title {
    color: #fcd34d !important; border-bottom-color: rgba(245,158,11,0.25) !important;
}
html[data-theme="dark"] body .bcss-pre-section p,
html[data-theme="dark"] body .bcss-pre-section strong { color: var(--c-text) !important; }

html[data-theme="dark"] body .bcss-subscale-card.phys  { background: rgba(239,68,68,0.15) !important; }
html[data-theme="dark"] body .bcss-subscale-card.des   { background: rgba(245,158,11,0.15) !important; }
html[data-theme="dark"] body .bcss-subscale-card.conf  { background: rgba(34,197,94,0.15) !important; }
html[data-theme="dark"] body .bcss-subscale-card.intim { background: rgba(59,130,246,0.15) !important; }
html[data-theme="dark"] body .bcss-subscale-card .sc-name,
html[data-theme="dark"] body .bcss-subscale-card .sc-text { color: var(--c-text) !important; }

html[data-theme="dark"] body .bcss-scale-legend {
    background: var(--c-bg-soft) !important; border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .bcss-legend-item .legend-label { color: var(--c-text) !important; }

/* Selected — общее правило `[class*="-option"] !important` бьёт градиенты,
   возвращаем явно через !important со всем нужным набором свойств. */
html[data-theme="dark"] body .bcss-radio[value="4"]:checked + .bcss-option {
    background: linear-gradient(135deg, #fde68a, #fbbf24) !important;
    border-color: transparent !important; color: #78350f !important;
    box-shadow: 0 6px 16px rgba(251,191,36,0.55) !important;
}
html[data-theme="dark"] body .bcss-radio[value="3"]:checked + .bcss-option {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    border-color: transparent !important; color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(34,197,94,0.45) !important;
}
html[data-theme="dark"] body .bcss-radio[value="2"]:checked + .bcss-option {
    background: linear-gradient(135deg, #60a5fa, #3b82f6) !important;
    border-color: transparent !important; color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(59,130,246,0.45) !important;
}
html[data-theme="dark"] body .bcss-radio[value="1"]:checked + .bcss-option {
    background: linear-gradient(135deg, #d1d5db, #9ca3af) !important;
    border-color: transparent !important; color: #1f2937 !important;
    box-shadow: 0 6px 16px rgba(156,163,175,0.45) !important;
}
html[data-theme="dark"] body .bcss-radio[value="0"]:checked + .bcss-option {
    background: linear-gradient(135deg, #4b5563, #111827) !important;
    border-color: transparent !important; color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(17,24,39,0.65) !important;
}
/* Hover — тоже с !important, иначе общее правило затирает */
html[data-theme="dark"] body .bcss-radio[value="4"]:not(:checked) + .bcss-option:hover { background: rgba(251,191,36,0.18) !important; border-color: #fbbf24 !important; color: #fcd34d !important; }
html[data-theme="dark"] body .bcss-radio[value="3"]:not(:checked) + .bcss-option:hover { background: rgba(34,197,94,0.18) !important; border-color: #22c55e !important; color: #86efac !important; }
html[data-theme="dark"] body .bcss-radio[value="2"]:not(:checked) + .bcss-option:hover { background: rgba(59,130,246,0.18) !important; border-color: #3b82f6 !important; color: #93c5fd !important; }
html[data-theme="dark"] body .bcss-radio[value="1"]:not(:checked) + .bcss-option:hover { background: rgba(156,163,175,0.18) !important; border-color: #9ca3af !important; color: #e5e7eb !important; }
html[data-theme="dark"] body .bcss-radio[value="0"]:not(:checked) + .bcss-option:hover { background: rgba(17,24,39,0.55) !important; border-color: #6b7280 !important; color: #ffffff !important; }

html[data-theme="dark"] body .bcss-option .opt-label { opacity: 0.85; }

/* Кнопка «Назад» — generic правило для .X-back-btn делает её плоской.
   Возвращаем фиолетово-розовый градиент как в IRI. */
html[data-theme="dark"] body .bcss-page .bcss-back-btn {
    background: linear-gradient(135deg,#8b5cf6 0%,#ec4899 100%) !important;
    color: white !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(139,92,246,.45) !important;
}
html[data-theme="dark"] body .bcss-page .bcss-back-btn:hover {
    background: linear-gradient(135deg,#ec4899 0%,#8b5cf6 100%) !important;
    color: white !important;
    box-shadow: 0 8px 25px rgba(139,92,246,.65) !important;
    border: none !important;
}
html[data-theme="dark"] body .bcss-page .bcss-back-btn .btn-arrow {
    background: rgba(255,255,255,0.28) !important; color: white !important;
}

/* Текст вопроса — generic-правило для .X-page делает его muted и нечитаемым */
html[data-theme="dark"] body .bcss-item .bcss-qtext,
html[data-theme="dark"] body .bcss-item.answered .bcss-qtext {
    color: var(--c-text) !important;
    opacity: 1 !important;
}

/* Карточка вопроса — мульти-цвет тинт по выбранному баллу */
html[data-theme="dark"] body .bcss-item:has(input[value="4"]:checked) { background: rgba(251,191,36,0.10) !important; border-color: #fbbf24 !important; }
html[data-theme="dark"] body .bcss-item:has(input[value="3"]:checked) { background: rgba(34,197,94,0.10)  !important; border-color: #22c55e !important; }
html[data-theme="dark"] body .bcss-item:has(input[value="2"]:checked) { background: rgba(59,130,246,0.10) !important; border-color: #3b82f6 !important; }
html[data-theme="dark"] body .bcss-item:has(input[value="1"]:checked) { background: rgba(156,163,175,0.12) !important; border-color: #9ca3af !important; }
html[data-theme="dark"] body .bcss-item:has(input[value="0"]:checked) { background: rgba(17,24,39,0.30) !important; border-color: #6b7280 !important; }

/* Результаты */
html[data-theme="dark"] body .bcss-results {
    background: linear-gradient(135deg, rgba(245,158,11,0.10) 0%, rgba(59,130,246,0.12) 100%) !important;
    border-color: rgba(245,158,11,0.40) !important;
}
html[data-theme="dark"] body .bcss-results h3 { color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-total-card { background: var(--c-bg-soft) !important; }
html[data-theme="dark"] body .bcss-total-card .tc-label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .bcss-total-card .tc-interp { color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-result-card { background: var(--c-bg-soft) !important; }
html[data-theme="dark"] body .bcss-result-card .domain-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-result-card .domain-score-meta,
html[data-theme="dark"] body .bcss-result-card .domain-detail { color: var(--c-text-muted) !important; border-top-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .bcss-result-howto { background: var(--c-bg-soft) !important; border-color: rgba(251,191,36,0.45) !important; color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-result-howto b { color: #fcd34d !important; }

html[data-theme="dark"] body .bcss-warning { background: rgba(245,158,11,0.15) !important; border-color: rgba(245,158,11,0.40) !important; color: #fcd34d !important; }

/* Связанные тесты */
html[data-theme="dark"] body .bcss-page .related-articles-block { background: var(--c-bg-soft) !important; border-color: rgba(245,158,11,0.40) !important; }
html[data-theme="dark"] body .bcss-page .related-articles-title { color: #fcd34d !important; }
html[data-theme="dark"] body .bcss-page .related-article-card { background: rgba(245,158,11,0.08) !important; border-color: rgba(245,158,11,0.30) !important; color: var(--c-text) !important; }
html[data-theme="dark"] body .bcss-page .related-article-card:hover { background: rgba(245,158,11,0.20) !important; border-color: #f59e0b !important; }
html[data-theme="dark"] body .bcss-footer { color: var(--c-text-muted) !important; border-top-color: var(--c-card-border) !important; }
html[data-theme="dark"] body .bcss-footer a { color: #fcd34d !important; }

/* ════════════════════════════════════════════════════════════════════
   ПРЛ Форма А (полная) · LAS-A · префикс .prla-
   Источник: патент РФ № 2394486 (Ласовская и соавт., 2010)
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body .prla-page { background: var(--c-bg) !important; }
html[data-theme="dark"] body .prla-container {
    background: var(--c-bg-soft) !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    box-shadow: 0 16px 60px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] body .prla-header { border-bottom-color: rgba(255,255,255,0.08) !important; }
html[data-theme="dark"] body .prla-header h1 {
    background: linear-gradient(135deg, #c4b5fd, #f0abfc) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
html[data-theme="dark"] body .prla-header .form-tag { color: #c4b5fd !important; }
html[data-theme="dark"] body .prla-header .author,
html[data-theme="dark"] body .prla-header .sub-en { color: var(--c-text-muted) !important; }

/* Мост на Форму S */
html[data-theme="dark"] body .prla-bridge-s {
    background: rgba(34,211,238,0.08) !important;
    border-color: rgba(34,211,238,0.30) !important;
    color: #7dd3fc !important;
}
html[data-theme="dark"] body .prla-bridge-s a { color: #67e8f9 !important; }
html[data-theme="dark"] body .prla-bridge-s a:hover { color: #a5f3fc !important; }

/* Преамбула — body после раскрытия */
html[data-theme="dark"] body .prla-preamble-body {
    background: rgba(124,58,237,0.06) !important;
    border-color: rgba(124,58,237,0.30) !important;
}
html[data-theme="dark"] body .prla-pre-section-title {
    color: #c4b5fd !important;
    border-bottom-color: rgba(124,58,237,0.30) !important;
}
html[data-theme="dark"] body .prla-pre-section p { color: var(--c-text) !important; }
html[data-theme="dark"] body .prla-pre-section strong { color: var(--c-text) !important; }
html[data-theme="dark"] body .prla-scale-preview {
    background: rgba(255,255,255,0.04) !important;
    border-left-color: #a78bfa !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .prla-scale-preview .sp-num { color: #c4b5fd !important; }
html[data-theme="dark"] body .prla-scale-preview .sp-name { color: var(--c-text-muted) !important; }

/* Возраст — заголовок и подзаголовок (контейнера больше нет) */
html[data-theme="dark"] body .prla-age-title { color: var(--c-text) !important; }
html[data-theme="dark"] body .prla-age-sub { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prla-age-btn {
    background: rgba(255,255,255,0.04) !important;
    border-color: rgba(196,181,253,0.30) !important;
    color: #c4b5fd !important;
}
html[data-theme="dark"] body .prla-age-btn:hover {
    background: rgba(124,58,237,0.12) !important;
    border-color: #a78bfa !important;
}
html[data-theme="dark"] body .prla-age-btn.active {
    background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
    color: #fff !important;
    border-color: #7c3aed !important;
    box-shadow: 0 4px 14px rgba(124,58,237,0.45) !important;
}

/* Инструкция */
html[data-theme="dark"] body .prla-instruction {
    background: rgba(124,58,237,0.10) !important;
    border-left-color: #a78bfa !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .prla-instruction b { color: #c4b5fd !important; }
html[data-theme="dark"] body .prla-instruction .inst-note {
    color: var(--c-text-muted) !important;
    border-top-color: rgba(124,58,237,0.25) !important;
}

/* Прогресс */
html[data-theme="dark"] body .prla-progress-bar { background: rgba(255,255,255,0.06) !important; }
html[data-theme="dark"] body .prla-progress-label { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .prla-progress-label b { color: var(--c-text) !important; }

/* Разделитель шкалы */
html[data-theme="dark"] body .prla-section-header {
    background: linear-gradient(135deg, rgba(124,58,237,0.18), rgba(168,85,247,0.22)) !important;
    color: #ddd6fe !important;
    border-left-color: #a78bfa !important;
}

/* Карточка вопроса */
html[data-theme="dark"] body .prla-item {
    background: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
html[data-theme="dark"] body .prla-item.answered-yes {
    border-color: #f97316 !important;
    background: rgba(249,115,22,0.08) !important;
    box-shadow: 0 4px 16px rgba(249,115,22,0.18) !important;
}
html[data-theme="dark"] body .prla-item.answered-no {
    border-color: #5f8b52 !important;
    background: rgba(95,139,82,0.08) !important;
    box-shadow: 0 4px 12px rgba(95,139,82,0.18) !important;
}
html[data-theme="dark"] body .prla-item-text { color: var(--c-text) !important; }
html[data-theme="dark"] body .prla-item-num {
    background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
    color: #fff !important;
}
html[data-theme="dark"] body .prla-item.answered-yes .prla-item-num {
    background: linear-gradient(135deg, #f97316, #fb923c) !important;
}
html[data-theme="dark"] body .prla-item.answered-no .prla-item-num {
    background: linear-gradient(135deg, #5f8b52, #7ba36a) !important;
}

/* Кнопки Да/Нет — base, hover, selected */
html[data-theme="dark"] body .prla-item-buttons { border-top-color: rgba(255,255,255,0.08) !important; }
html[data-theme="dark"] body .prla-yn-btn:not(.active) {
    background: rgba(255,255,255,0.03) !important;
}
html[data-theme="dark"] body .prla-yn-btn.yes-btn:not(.active) {
    color: #fb923c !important;
    border-right-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] body .prla-yn-btn.no-btn:not(.active) {
    color: #a3c294 !important;
}
html[data-theme="dark"] body .prla-yn-btn.yes-btn:not(.active):hover {
    background: rgba(249,115,22,0.14) !important;
}
html[data-theme="dark"] body .prla-yn-btn.no-btn:not(.active):hover {
    background: rgba(95,139,82,0.14) !important;
}
html[data-theme="dark"] body .prla-yn-btn.yes-btn.active {
    background: linear-gradient(135deg, #f97316, #fb923c) !important;
    color: #fff !important;
}
html[data-theme="dark"] body .prla-yn-btn.no-btn.active {
    background: linear-gradient(135deg, #5f8b52, #7ba36a) !important;
    color: #fff !important;
}

/* Кнопки расчёта и PDF */
html[data-theme="dark"] body .prla-calc-btn {
    background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
    color: #fff !important;
}
html[data-theme="dark"] body .prla-calc-btn:disabled {
    background: rgba(255,255,255,0.08) !important;
    color: var(--c-text-muted) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] body .prla-pdf-btn {
    background: linear-gradient(135deg, #059669, #10b981) !important;
}

/* Результат — итоговая карточка */
html[data-theme="dark"] body .prla-result-card.positive {
    background: rgba(239,68,68,0.12) !important;
    border-color: rgba(252,165,165,0.40) !important;
}
html[data-theme="dark"] body .prla-result-card.borderline {
    background: rgba(245,158,11,0.12) !important;
    border-color: rgba(252,211,77,0.40) !important;
}
html[data-theme="dark"] body .prla-result-card.negative {
    background: rgba(16,185,129,0.12) !important;
    border-color: rgba(134,239,172,0.40) !important;
}
html[data-theme="dark"] body .prla-result-card h2 { color: var(--c-text) !important; }
html[data-theme="dark"] body .prla-result-card .result-score { color: var(--c-text) !important; }
html[data-theme="dark"] body .prla-result-card .result-note { color: var(--c-text-muted) !important; }

/* Предупреждение «Обратите внимание» / «Atenção» — на тёмной теме
   inline-стиль с color:#7f1d1d сливается с тёмно-красным фоном. */
html[data-theme="dark"] body .prla-warn-block {
    background: rgba(239,68,68,0.18) !important;
    color: #fecaca !important;
    border: 1px solid rgba(239,68,68,0.45) !important;
}
html[data-theme="dark"] body .prla-warn-block b,
html[data-theme="dark"] body .prla-warn-block strong {
    color: #fef2f2 !important;
}

/* Профиль шкал */
html[data-theme="dark"] body .prla-profile h3 {
    color: var(--c-text) !important;
    border-bottom-color: #a78bfa !important;
}
html[data-theme="dark"] body .prla-scale-row {
    background: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
html[data-theme="dark"] body .prla-scale-row.elevated {
    background: rgba(124,58,237,0.12) !important;
    border-color: #a78bfa !important;
    box-shadow: 0 3px 12px rgba(124,58,237,0.25) !important;
}
html[data-theme="dark"] body .prla-scale-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .prla-scale-name .scale-tag { color: #c4b5fd !important; }
html[data-theme="dark"] body .prla-scale-score {
    background: linear-gradient(135deg, #c4b5fd, #f0abfc) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
html[data-theme="dark"] body .prla-scale-score .of-max {
    color: var(--c-text-muted) !important;
    -webkit-text-fill-color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .prla-scale-bar { background: rgba(255,255,255,0.06) !important; }

/* Дисклеймер */
html[data-theme="dark"] body .prla-disclaimer {
    background: rgba(245,158,11,0.10) !important;
    border-color: rgba(253,186,116,0.40) !important;
    color: #fcd34d !important;
}
html[data-theme="dark"] body .prla-disclaimer b { color: #fde68a !important; }

/* Футер */
html[data-theme="dark"] body .prla-footer {
    color: var(--c-text-muted) !important;
    border-top-color: rgba(255,255,255,0.08) !important;
}

/* Блок «Статьи по теме» */
html[data-theme="dark"] body .prla-page .related-articles-block {
    background: var(--c-bg-soft) !important;
    border-color: rgba(124,58,237,0.30) !important;
}
html[data-theme="dark"] body .prla-page .related-articles-title { color: #c4b5fd !important; }
html[data-theme="dark"] body .prla-page .related-article-card {
    background: rgba(124,58,237,0.08) !important;
    border-color: rgba(124,58,237,0.30) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .prla-page .related-article-card:hover {
    background: rgba(124,58,237,0.18) !important;
    border-color: #a78bfa !important;
}

/* Кнопка «Назад» */
html[data-theme="dark"] body .prla-back-btn {
    background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
    color: #fff !important;
}

/* Аккордеон преамбулы — toggle (уже стилизован в PHP с !important, переопределение не нужно) */

/* ════════════════════════════════════════════════════════════════════
   Выравнивание верхнего отступа главного контейнера во всех тестах
   к тому же значению, что у .tests-page (центр тестов) — 40px.
   Чтобы расстояние от шапки темы до контейнера было одинаковым везде.
   ════════════════════════════════════════════════════════════════════ */
/* tests-container (без back-кнопки) стартует на 80px ниже content-top.
   .X-container (с back-кнопкой ~70px высотой) при margin-top: 40px на
   .X-page стартует на ~150px ниже. Чтобы выровнять белые карточки —
   поднимаем .X-page на ~70px, тогда .X-container окажется на той же
   высоте, что и .tests-container. На мобиле — мягче, потому что theme
   уменьшает .site-content padding и WP admin-bar тянет лэйаут вниз. */
.bcss-page, .cnip-page, .coreom-page, .cti-page, .das-page, .des-page,
.ecr-page, .fficd-page, .haq-page, .iesr-page, .iri-page, .leary-page,
.mid-page, .msi-page, .oub-page, .pcl5-page, .pds-page, .prl-page,
.prla-page, .rras-page, .scid2-page, .scl90-page, .spq-page, .stls-page,
.wai-page {
    margin-top: -30px !important;
}
@media (max-width: 768px) {
    /* На мобиле сохраняем одинаковый margin-top на обоих типах страниц,
       чтобы /tests/ и тесты начинались на одной высоте. Полного
       выравнивания белых карточек нет (back-кнопка ~70px толкает
       карточку теста ниже), но это компромисс ради видимости back-кнопки
       над admin-bar / шапкой на узком экране. */
    .tests-page,
    .bcss-page, .cnip-page, .coreom-page, .cti-page, .das-page, .des-page,
    .ecr-page, .fficd-page, .haq-page, .iesr-page, .iri-page, .leary-page,
    .mid-page, .msi-page, .oub-page, .pcl5-page, .pds-page, .prl-page,
    .prla-page, .rras-page, .scid2-page, .scl90-page, .spq-page, .stls-page,
    .wai-page, .calpas-page {
        margin-top: -10px !important;
    }
}

/* ══════════════════════════════════════════════════════════════════
   CALPAS (California Psychotherapy Alliance Scales — Patient version)
   Префикс .calpas-*. 7-балльная шкала, 4 субшкалы PWC/PC/WSC/TUI.
   Палитра шкалы повторяет WAI (тёмно-серый → серый → cyan → синий →
   зелёный → жёлтый → оранжевый). Тинт карточки вопроса повторяет
   логику RRAS — карточка подсвечивается в цвет выбранного балла.
   ══════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body .calpas-page { background: var(--c-bg) !important; }
html[data-theme="dark"] body .calpas-container {
    background: var(--c-card-bg) !important;
    border: 1px solid var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body .calpas-header { border-bottom: none !important; }
html[data-theme="dark"] body .calpas-header h1 { color: var(--c-text) !important; }
html[data-theme="dark"] body .calpas-header .subtitle,
html[data-theme="dark"] body .calpas-header .source { color: var(--c-text-muted) !important; }

/* Преамбула */
html[data-theme="dark"] body .calpas-preamble-body {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .calpas-preamble-section-title {
    color: #67e8f9 !important;
    border-bottom-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .calpas-preamble-section p,
html[data-theme="dark"] body .calpas-preamble-section strong {
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .calpas-preamble-note {
    background: var(--c-card-bg) !important;
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .calpas-preamble-note strong { color: #67e8f9 !important; }

/* Карточки субшкал в преамбуле */
html[data-theme="dark"] body .calpas-sub-pre {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .calpas-sub-pre .csp-name  { color: var(--c-text) !important; }
html[data-theme="dark"] body .calpas-sub-pre .csp-desc  { color: var(--c-text-muted) !important; }

/* Зоны в преамбуле */
html[data-theme="dark"] body .calpas-zone-pre.green {
    background: rgba(46, 125, 50, 0.18) !important;
    border: 1px solid rgba(46, 125, 50, 0.45) !important;
}
html[data-theme="dark"] body .calpas-zone-pre.orange {
    background: rgba(230, 81, 0, 0.18) !important;
    border: 1px solid rgba(230, 81, 0, 0.45) !important;
}
html[data-theme="dark"] body .calpas-zone-pre.red {
    background: rgba(183, 28, 28, 0.20) !important;
    border: 1px solid rgba(183, 28, 28, 0.50) !important;
}
html[data-theme="dark"] body .calpas-zone-pre.green  .czp-range { color: #7bd389 !important; }
html[data-theme="dark"] body .calpas-zone-pre.orange .czp-range { color: #ffb37a !important; }
html[data-theme="dark"] body .calpas-zone-pre.red    .czp-range { color: #ff8a7a !important; }
html[data-theme="dark"] body .calpas-zone-pre .czp-label { color: var(--c-text) !important; }

/* Инструкция */
html[data-theme="dark"] body .calpas-instruction {
    background: var(--c-bg-soft) !important;
    border: 1px solid var(--c-card-border) !important;
    border-left: 4px solid #06b6d4 !important;
}
html[data-theme="dark"] body .calpas-instruction p { color: var(--c-text) !important; }
html[data-theme="dark"] body .calpas-instruction b { color: #67e8f9 !important; }

/* Легенда 1–7 */
html[data-theme="dark"] body .calpas-scale-legend {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .calpas-legend-item {
    color: var(--c-text) !important;
    border-right-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .calpas-legend-item:nth-child(1) span { color: #cbd5e1 !important; }
html[data-theme="dark"] body .calpas-legend-item:nth-child(2) span { color: #9ca3af !important; }
html[data-theme="dark"] body .calpas-legend-item:nth-child(3) span { color: #22d3ee !important; }
html[data-theme="dark"] body .calpas-legend-item:nth-child(4) span { color: #60a5fa !important; }
html[data-theme="dark"] body .calpas-legend-item:nth-child(5) span { color: #4ade80 !important; }
html[data-theme="dark"] body .calpas-legend-item:nth-child(6) span { color: #facc15 !important; }
html[data-theme="dark"] body .calpas-legend-item:nth-child(7) span { color: #fb923c !important; }

/* Карточки вопросов */
html[data-theme="dark"] body .calpas-item {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .calpas-qtext { color: var(--c-text) !important; }
html[data-theme="dark"] body .calpas-qtext .scale-badge.pwc { background: rgba(6,182,212,0.22) !important; color: #67e8f9 !important; }
html[data-theme="dark"] body .calpas-qtext .scale-badge.pc  { background: rgba(139,92,246,0.22) !important; color: #c4b5fd !important; }
html[data-theme="dark"] body .calpas-qtext .scale-badge.wsc { background: rgba(245,158,11,0.22) !important; color: #fde68a !important; }
html[data-theme="dark"] body .calpas-qtext .scale-badge.tui { background: rgba(16,185,129,0.22) !important; color: #6ee7b7 !important; }
html[data-theme="dark"] body .calpas-qtext .scale-badge.rev { background: rgba(148,163,184,0.22) !important; color: #cbd5e1 !important; }

/* Тинт карточки вопроса в цвет выбранного балла */
html[data-theme="dark"] body .calpas-item:has(input[value="1"]:checked) { background: rgba(31,41,55,0.55) !important; border-color: #6b7280 !important; box-shadow: 0 0 0 1px rgba(107,114,128,0.50), 0 4px 14px rgba(0,0,0,0.35) !important; }
html[data-theme="dark"] body .calpas-item:has(input[value="2"]:checked) { background: rgba(107,114,128,0.20) !important; border-color: #9ca3af !important; box-shadow: 0 0 0 1px rgba(107,114,128,0.50), 0 4px 14px rgba(107,114,128,0.25) !important; }
html[data-theme="dark"] body .calpas-item:has(input[value="3"]:checked) { background: rgba(6,182,212,0.18) !important; border-color: #06b6d4 !important; box-shadow: 0 0 0 1px rgba(6,182,212,0.50), 0 4px 14px rgba(6,182,212,0.25) !important; }
html[data-theme="dark"] body .calpas-item:has(input[value="4"]:checked) { background: rgba(37,99,235,0.18) !important; border-color: #2563eb !important; box-shadow: 0 0 0 1px rgba(37,99,235,0.50), 0 4px 14px rgba(37,99,235,0.25) !important; }
html[data-theme="dark"] body .calpas-item:has(input[value="5"]:checked) { background: rgba(22,163,74,0.18) !important; border-color: #16a34a !important; box-shadow: 0 0 0 1px rgba(22,163,74,0.50), 0 4px 14px rgba(22,163,74,0.25) !important; }
html[data-theme="dark"] body .calpas-item:has(input[value="6"]:checked) { background: rgba(202,138,4,0.20) !important; border-color: #ca8a04 !important; box-shadow: 0 0 0 1px rgba(202,138,4,0.55), 0 4px 14px rgba(202,138,4,0.28) !important; }
html[data-theme="dark"] body .calpas-item:has(input[value="7"]:checked) { background: rgba(234,88,12,0.18) !important; border-color: #ea580c !important; box-shadow: 0 0 0 1px rgba(234,88,12,0.50), 0 4px 14px rgba(234,88,12,0.28) !important; }

/* Кнопки шкалы 1–7 */
html[data-theme="dark"] body .calpas-scale-option:not(.selected) {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
}
html[data-theme="dark"] body .calpas-scale-option:not(.selected) .val-label {
    color: var(--c-text-muted) !important;
}
html[data-theme="dark"] body .calpas-scale-option[data-val="1"] .val-num { color: #cbd5e1 !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="2"] .val-num { color: #9ca3af !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="3"] .val-num { color: #22d3ee !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="4"] .val-num { color: #60a5fa !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="5"] .val-num { color: #4ade80 !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="6"] .val-num { color: #facc15 !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="7"] .val-num { color: #fb923c !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="1"].selected { background: linear-gradient(135deg,#1f2937,#000) !important;    border-color:transparent !important; box-shadow:0 4px 12px rgba(0,0,0,.65) !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="2"].selected { background: linear-gradient(135deg,#9ca3af,#6b7280) !important; border-color:transparent !important; box-shadow:0 4px 12px rgba(107,114,128,.55) !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="3"].selected { background: linear-gradient(135deg,#22d3ee,#06b6d4) !important; border-color:transparent !important; box-shadow:0 4px 12px rgba(6,182,212,.55) !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="4"].selected { background: linear-gradient(135deg,#3b82f6,#2563eb) !important; border-color:transparent !important; box-shadow:0 4px 12px rgba(37,99,235,.55) !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="5"].selected { background: linear-gradient(135deg,#22c55e,#16a34a) !important; border-color:transparent !important; box-shadow:0 4px 12px rgba(22,163,74,.55) !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="6"].selected { background: linear-gradient(135deg,#fde047,#ca8a04) !important; border-color:transparent !important; box-shadow:0 4px 12px rgba(202,138,4,.65) !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="7"].selected { background: linear-gradient(135deg,#fb923c,#ea580c) !important; border-color:transparent !important; box-shadow:0 4px 12px rgba(234,88,12,.55) !important; }
html[data-theme="dark"] body .calpas-scale-option.selected .val-num   { color: #fff !important; }
html[data-theme="dark"] body .calpas-scale-option.selected .val-label { color: rgba(255,255,255,.9) !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="6"].selected .val-num   { color: #422006 !important; }
html[data-theme="dark"] body .calpas-scale-option[data-val="6"].selected .val-label { color: rgba(66,32,6,.85) !important; }

/* Блок результатов */
html[data-theme="dark"] body .calpas-results {
    background: rgba(6, 182, 212, 0.10) !important;
    border-color: #22d3ee !important;
}
html[data-theme="dark"] body .calpas-results h3 { color: var(--c-text) !important; }

/* Зоны (Слабый / Средний / Сильный) */
html[data-theme="dark"] body .calpas-zone { color: var(--c-text) !important; opacity: 0.55 !important; }
html[data-theme="dark"] body .calpas-zone.active { opacity: 1 !important; box-shadow: 0 4px 14px rgba(0,0,0,0.35) !important; }
html[data-theme="dark"] body .calpas-zone.green  { background: rgba(46, 125, 50, 0.22) !important; border-color: #2e7d32 !important; color: #b9e0bb !important; }
html[data-theme="dark"] body .calpas-zone.green.active { background: rgba(46, 125, 50, 0.42) !important; border-color: #4caf50 !important; color: #e8f5e9 !important; }
html[data-theme="dark"] body .calpas-zone.orange { background: rgba(230, 81, 0, 0.20) !important; border-color: #e65100 !important; color: #ffcfa3 !important; }
html[data-theme="dark"] body .calpas-zone.orange.active { background: rgba(230, 81, 0, 0.42) !important; border-color: #ff9800 !important; color: #fff3e0 !important; }
html[data-theme="dark"] body .calpas-zone.red    { background: rgba(183, 28, 28, 0.22) !important; border-color: #b71c1c !important; color: #f5b7b1 !important; }
html[data-theme="dark"] body .calpas-zone.red.active { background: rgba(183, 28, 28, 0.45) !important; border-color: #ef5350 !important; color: #fce4ec !important; }

/* Итоговая карточка */
html[data-theme="dark"] body .calpas-score-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    border-left-color: #22d3ee !important;
}
html[data-theme="dark"] body .calpas-score-num { color: #22d3ee !important; }
html[data-theme="dark"] body .calpas-score-right .score-max { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .calpas-score-right .score-desc { color: var(--c-text) !important; }
html[data-theme="dark"] body .calpas-score-right .score-label-low    { background: rgba(183, 28, 28, 0.32) !important; color: #f5b7b1 !important; }
html[data-theme="dark"] body .calpas-score-right .score-label-medium { background: rgba(230, 81, 0, 0.32) !important; color: #ffcfa3 !important; }
html[data-theme="dark"] body .calpas-score-right .score-label-high   { background: rgba(46, 125, 50, 0.32) !important; color: #b9e0bb !important; }

/* Пропущенные пункты */
html[data-theme="dark"] body .calpas-result-missing {
    background: rgba(231, 76, 60, 0.10) !important;
    border-color: rgba(231, 76, 60, 0.55) !important;
}
html[data-theme="dark"] body .calpas-result-missing .prm-header { color: #ff8a7a !important; }
html[data-theme="dark"] body .calpas-result-missing .prm-text { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .calpas-result-missing .prm-text strong { color: #ff8a7a !important; }

/* Карточки субшкал в результатах */
html[data-theme="dark"] body .calpas-subscale-card {
    background: var(--c-card-bg) !important;
    color: var(--c-text) !important;
    box-shadow: none !important;
    border: 1px solid var(--c-card-border) !important;
}
html[data-theme="dark"] body .calpas-subscale-card .ss-name { color: var(--c-text) !important; }
html[data-theme="dark"] body .calpas-subscale-card .ss-max  { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .calpas-result-disclaimer { color: var(--c-text-muted) !important; }
html[data-theme="dark"] body .calpas-footer { color: var(--c-text-muted) !important; }

/* Блок «Статьи по теме» */
html[data-theme="dark"] body .calpas-page .related-articles-block {
    background: var(--c-card-bg) !important;
    border-color: var(--c-card-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.4) !important;
}
html[data-theme="dark"] body .calpas-page .related-articles-title { color: #67e8f9 !important; }
html[data-theme="dark"] body .calpas-page .related-article-card {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-card-border) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .calpas-page .related-article-card:hover {
    background: rgba(6,182,212,0.15) !important;
    border-color: #06b6d4 !important;
}
html[data-theme="dark"] body .calpas-page .related-article-card span { color: var(--c-text) !important; }

/* ================================================================
   ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ (.pp-*) — тёмная тема
   Страницы: /privacy-policy/ (RU) и /pt/politica-de-privacidade/ (PT).
   Разметка и светлые стили лежат в post_content самих страниц,
   поэтому здесь только переопределения под тёмный режим.
   Бирюзовую айдентику документа сохраняем, подложки — тёмные.
   ================================================================ */

html[data-theme="dark"] body .pp-wrap { color: var(--c-text) !important; }

/* Шапка: градиент и так тёмно-синий — лишь приглушаем и снимаем сияние */
html[data-theme="dark"] body .pp-header {
    background: linear-gradient(135deg, #0a2a44 0%, #123c56 50%, #16496b 100%) !important;
    border: 1px solid var(--c-border) !important;
    border-bottom: none !important;
}
html[data-theme="dark"] body .pp-title    { color: #f0ece4 !important; }
html[data-theme="dark"] body .pp-subtitle { color: rgba(240,236,228,0.72) !important; }
html[data-theme="dark"] body .pp-subtitle strong { color: #4fd6c4 !important; }
html[data-theme="dark"] body .pp-badge {
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(255,255,255,0.18) !important;
    color: rgba(240,236,228,0.88) !important;
}

/* Навигация по разделам */
html[data-theme="dark"] body .pp-nav {
    background: var(--c-bg-soft) !important;
    border-color: var(--c-border) !important;
    border-top: none !important;
}
html[data-theme="dark"] body .pp-nav-label { color: #4fd6c4 !important; }
html[data-theme="dark"] body .pp-nav-links a {
    background: rgba(79,214,196,0.08) !important;
    border-color: rgba(79,214,196,0.30) !important;
    color: #4fd6c4 !important;
}
html[data-theme="dark"] body .pp-nav-links a:hover {
    background: #4fd6c4 !important;
    border-color: #4fd6c4 !important;
    color: #10201d !important;
}

/* Преамбула и основной блок */
html[data-theme="dark"] body .pp-preamble,
html[data-theme="dark"] body .pp-body {
    background: var(--c-card-bg) !important;
    border-color: var(--c-border) !important;
    border-top: none !important;
}
html[data-theme="dark"] body .pp-preamble { border-bottom: 3px solid #4fd6c4 !important; }
html[data-theme="dark"] body .pp-preamble::before { color: rgba(79,214,196,0.10) !important; }
html[data-theme="dark"] body .pp-preamble p { color: var(--c-text) !important; }

/* Секции */
html[data-theme="dark"] body .pp-section { border-bottom-color: var(--c-border) !important; }
html[data-theme="dark"] body .pp-num {
    background: linear-gradient(135deg, #2aa593, #17786a) !important;
    color: #f0ece4 !important;
}
html[data-theme="dark"] body .pp-section-head h2 { color: #8fd4ea !important; }
html[data-theme="dark"] body .pp-section-body p { color: var(--c-text) !important; }
html[data-theme="dark"] body .pp-sub-heading    { color: #8fd4ea !important; }

/* Списки */
html[data-theme="dark"] body .pp-list li {
    color: var(--c-text) !important;
    border-bottom-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] body .pp-list li::before { color: #4fd6c4 !important; }
html[data-theme="dark"] body .pp-list-ol li::before {
    background: linear-gradient(135deg, #2aa593, #17786a) !important;
    color: #f0ece4 !important;
}
html[data-theme="dark"] body .pp-list-law li::before { color: #8fd4ea !important; }

/* Карточка контактов */
html[data-theme="dark"] body .pp-contact-card {
    background: linear-gradient(135deg, rgba(79,214,196,0.07) 0%, rgba(79,214,196,0.03) 100%) !important;
    border-color: rgba(79,214,196,0.25) !important;
}
html[data-theme="dark"] body .pp-contact-row { border-bottom-color: rgba(79,214,196,0.15) !important; }
html[data-theme="dark"] body .pp-cl,
html[data-theme="dark"] body .pp-contact-row a { color: #4fd6c4 !important; }

/* Плитки целей */
html[data-theme="dark"] body .pp-goal {
    background: var(--c-bg-soft) !important;
    border-color: rgba(79,214,196,0.22) !important;
    color: var(--c-text) !important;
}
html[data-theme="dark"] body .pp-goal strong { color: #8fd4ea !important; }

/* Выноски: обычная (янтарная) и зелёная */
html[data-theme="dark"] body .pp-note {
    background: rgba(255,193,7,0.08) !important;
    border-left-color: #d7a017 !important;
}
html[data-theme="dark"] body .pp-note-green {
    background: rgba(79,214,196,0.08) !important;
    border-left-color: #4fd6c4 !important;
}
html[data-theme="dark"] body .pp-note p { color: var(--c-text) !important; }
html[data-theme="dark"] body .pp-note a { color: #4fd6c4 !important; }

/* Предупреждение */
html[data-theme="dark"] body .pp-warn {
    background: rgba(255,152,0,0.10) !important;
    border-color: rgba(255,152,0,0.35) !important;
}
html[data-theme="dark"] body .pp-warn p { color: #e8c9a0 !important; }

/* Таблица cookies */
html[data-theme="dark"] body .pp-cookie-table { border-color: rgba(79,214,196,0.25) !important; }
html[data-theme="dark"] body .pp-cookie-row   { border-bottom-color: rgba(79,214,196,0.14) !important; }
html[data-theme="dark"] body .pp-cookie-row span { color: var(--c-text) !important; }
html[data-theme="dark"] body .pp-cookie-row span:first-child {
    background: rgba(79,214,196,0.07) !important;
    color: #4fd6c4 !important;
    border-right-color: rgba(79,214,196,0.22) !important;
    border-bottom-color: rgba(79,214,196,0.22) !important;
}
html[data-theme="dark"] body .pp-cookie-head span {
    background: rgba(79,214,196,0.14) !important;
    color: #7fe3d4 !important;
}

/* Подвал документа */
html[data-theme="dark"] body .pp-footer {
    background: #12262f !important;
    border: 1px solid var(--c-border) !important;
    border-top: none !important;
    color: rgba(240,236,228,0.62) !important;
}
html[data-theme="dark"] body .pp-footer strong { color: rgba(240,236,228,0.88) !important; }
