/* =============================================================
   MARKET NOTIFY - HIGH VOLTAGE THEME (hv2026.rusff.me)
   Одна сборка на обе схемы форума: светлая (по умолчанию) получает
   BEIGE, тёмная (класс .dark) — MONO-GLASS. Переключение темы форума
   меняет скин уведомлений автоматически.
   Подключать ПОСЛЕ notify.css, ВМЕСТО beige.css / mono-glass.css.
   Сгенерировано /root/build_hv2026_theme.py из beige.css + mono-glass.css,
   хвост файла (палитра под форум) дописан вручную.
   ============================================================= */

/* ============ СВЕТЛЫЕ ТЕМЫ ФОРУМА (beige) ============ */
/* =============================================================
   MARKET NOTIFY — BEIGE GLASS (светлое стекло: тёплый беж + акцент
   «салатовый» жёлто-зелёный + тёплое золото как парный акцент —
   светлая сестра mono-glass.css, тот же визуальный язык и структура
   правил, пересчитаны только цвета/направление контраста (оверлеи и
   бордеры на светлой базе используют тёмные чернила вместо белого,
   специульные блики на стекле оставлены белыми — это блик, а не бордер).
   =============================================================
   Подключать ПОСЛЕ notify.css (и после любой forum-темы, если есть):
   <link rel="stylesheet" href=".../css/beige.css?v=1">
   Вернуть базовый скин — просто убрать эту строку <link>.
   ============================================================= */



html {
    --be-bg: 201, 197, 189;         /* тёплый серо-беж (по образцу) — светлая база */
    --be-bg2: 182, 178, 169;        /* глубже, та же гамма, для стеклянного градиента */
    --be-ink: 64, 54, 40;           /* тёплые чернила — бордеры/тени поверх светлого */
    --be-green: 150, 178, 72;       /* акцент №1 — салатовый (жёлто-зелёный) */
    --be-green-deep: 98, 126, 40;   /* тёмный салатовый — для текста/иконок на беже */
    --be-gold: 205, 158, 78;        /* акцент №2 — тёплое золото, пара к салатовому */
    --be-gold-deep: 163, 118, 48;
    --be-text: 38, 30, 20;
    --be-text-dim: 66, 55, 40;
    --be-text-faint: 100, 87, 68;
    --be-white: 255, 255, 255;
    --be-danger: 196, 90, 86;
    --be-success: 132, 168, 74;
}

/* ---------- анимации ---------- */
@keyframes beTwinkle {
    0%, 100% { opacity: 0; transform: scale(0.5); }
    50%      { opacity: 0.9; transform: scale(1); }
}
@keyframes beSoftPulse {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 1; }
}
@keyframes beToastIn {
    from { transform: translateX(26px); opacity: 0; filter: blur(3px); }
    to   { transform: translateX(0); opacity: 1; filter: blur(0); }
}

/* ---------- триггер в улинксах (акцент) ---------- */
html #mn-noti-trigger {
    background: linear-gradient(135deg, rgb(var(--be-green-deep)), rgb(var(--be-gold-deep)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 1px 4px rgba(var(--be-green), 0.35));
    transition: filter 0.3s ease, transform 0.3s ease;
}

html #mn-noti-trigger:hover {
    filter: drop-shadow(0 0 8px rgba(var(--be-gold), 0.6));
}

html #mn-noti-trigger.has-unread {
    background: linear-gradient(135deg, rgb(var(--be-danger)), rgb(var(--be-green-deep)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 6px rgba(var(--be-danger), 0.45));
    animation: beSoftPulse 2.2s ease-in-out infinite;
}

html #mn-noti-trigger .bubble {
    background: linear-gradient(135deg, rgb(var(--be-danger)), rgb(var(--be-green))) !important;
    -webkit-text-fill-color: initial;
    color: rgb(var(--be-white)) !important;
    box-shadow: 0 2px 8px rgba(var(--be-danger), 0.4), 0 0 0 1px rgba(var(--be-white), 0.6) inset;
    border: none;
    filter: none;
}

/* ---------- оверлей — нейтральный, без цвета ---------- */
html #mn-modal-overlay {
    background: rgba(40, 34, 24, 0.45) !important;
}

/* ---------- модалка: тёплое светлое стекло ---------- */
html #mn-modal {
    background: linear-gradient(160deg, rgba(var(--be-bg2), 0.90), rgba(var(--be-bg), 0.95)) !important;
    backdrop-filter: blur(26px) saturate(115%);
    -webkit-backdrop-filter: blur(26px) saturate(115%);
    border: 1px solid rgba(var(--be-white), 0.55) !important;
    border-radius: 22px !important;
    box-shadow:
        0 24px 60px rgba(var(--be-ink), 0.22),
        0 2px 8px rgba(var(--be-ink), 0.12),
        0 1px 0 rgba(var(--be-white), 0.7) inset !important;
    color: rgb(var(--be-text)) !important;
    position: relative;
    overflow: hidden;
}

html #mn-modal > * { position: relative; z-index: 1; }

html .mn-modal-header {
    color: rgba(var(--be-text-faint), 0.95) !important;
    border-bottom: 1px solid rgba(var(--be-ink), 0.10) !important;
}

html .mn-modal-header span,
html .mn-modal-header-actions span {
    color: rgba(var(--be-text-dim), 0.9) !important;
}

html .mn-modal-header span:hover,
html .mn-modal-header-actions span:hover {
    color: rgb(var(--be-gold-deep)) !important;
    filter: drop-shadow(0 0 5px rgba(var(--be-gold), 0.35));
}

/* ---------- вкладки (акцент на активной) ---------- */
html #mn-modal-tabs {
    border-bottom: 1px solid rgba(var(--be-ink), 0.10) !important;
}

html .mn-tab-btn {
    color: rgba(var(--be-text-faint), 0.9) !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    border-radius: 10px !important;
    transition: color 0.25s ease, background 0.25s ease, box-shadow 0.3s ease !important;
}

html .mn-tab-btn:hover {
    color: rgb(var(--be-text)) !important;
    background: rgba(var(--be-ink), 0.05) !important;
}

html .mn-tab-btn.active {
    color: rgb(var(--be-green-deep)) !important;
    background: rgba(var(--be-white), 0.55) !important;
    border-color: rgba(var(--be-green), 0.4) !important;
    box-shadow:
        0 0 12px rgba(var(--be-green), 0.2),
        0 1px 0 rgba(var(--be-white), 0.7) inset !important;
}

html .mn-tab-count {
    background: rgba(var(--be-ink), 0.08) !important;
    color: rgba(var(--be-text-dim), 0.9) !important;
    border-radius: 8px;
}

html .mn-tab-btn.active .mn-tab-count {
    background: rgba(var(--be-gold), 0.25) !important;
    color: rgb(var(--be-gold-deep)) !important;
}

html .mn-tab-count.unread-badge {
    background: linear-gradient(135deg, rgb(var(--be-danger)), rgb(var(--be-green))) !important;
    color: rgb(var(--be-white)) !important;
    box-shadow: 0 1px 6px rgba(var(--be-danger), 0.35);
}

/* ---------- скроллбары (акцентная заливка полоски) ---------- */
html #mn-modal-list::-webkit-scrollbar-thumb,
html #mn-settings-panel::-webkit-scrollbar-thumb,
html #mn-admin-panel::-webkit-scrollbar-thumb,
html #mn-mention-suggest::-webkit-scrollbar-thumb {
    background: linear-gradient(rgba(var(--be-green), 0.55), rgba(var(--be-gold), 0.55)) !important;
    border-radius: 10px;
}

/* ---------- строки уведомлений ---------- */
html .nt-list-item {
    border-bottom: 1px solid rgba(var(--be-ink), 0.08) !important;
    color: rgb(var(--be-text)) !important;
    transition: background 0.2s ease !important;
}

html .nt-list-item:hover {
    background: rgba(var(--be-ink), 0.04) !important;
}

html .nt-list-item.unread {
    background: rgba(var(--be-green), 0.07) !important;
    border-left: 3px solid rgb(var(--be-green)) !important;
}

html .nt-list-item.unread .nt-list-item-sender {
    color: rgb(var(--be-green-deep)) !important;
}

html .nt-list-item-sender { color: rgb(var(--be-text)) !important; }

html .nt-list-item-text { color: rgba(var(--be-text-dim), 0.95) !important; }

/* Снипет поста (§23) появился после сборки пака тем и не был учтён —
   базовый #999 @ .85 из notify.css почти не читается на светлой базе. */
html .nt-list-item-snippet {
    color: rgba(var(--be-text-dim), 0.85) !important;
    border-left-color: rgba(var(--be-text-faint), 0.5) !important;
}

html .nt-list-item-read {
    color: rgba(var(--be-text-faint), 0.8) !important;
    background: rgba(var(--be-ink), 0.05);
}

html .nt-list-item-read:hover {
    color: rgb(var(--be-white)) !important;
    background: linear-gradient(135deg, rgb(var(--be-green)), rgb(var(--be-gold))) !important;
    box-shadow: 0 2px 8px rgba(var(--be-green), 0.35);
}

html .nt-list-item-time { color: rgba(var(--be-text-faint), 0.9) !important; }

html .nt-empty { color: rgba(var(--be-text-faint), 0.7) !important; }

html .nt-admin-status { color: rgba(var(--be-text-dim), 0.85) !important; }

/* ---------- TG-футер ---------- */
html #mn-modal-tg-footer {
    border-top: 1px solid rgba(var(--be-ink), 0.10) !important;
}

html .tg-btn-connect {
    background: rgba(var(--be-white), 0.5) !important;
    border: 1px solid rgba(var(--be-gold), 0.4) !important;
    color: rgba(var(--be-text-dim), 0.95) !important;
    border-radius: 10px !important;
    transition: box-shadow 0.3s ease, background 0.25s ease !important;
}

html .tg-btn-connect:hover:not(:disabled) {
    background: rgba(var(--be-gold), 0.16) !important;
    color: rgb(var(--be-gold-deep)) !important;
    box-shadow: 0 3px 14px rgba(var(--be-gold), 0.3);
}

html .tg-status-linked { color: rgba(var(--be-success), 0.95) !important; }

html #mn-tg-unlink-btn { color: rgb(var(--be-danger)) !important; }

html .tg-status-instruction { color: rgba(var(--be-text-dim), 0.95) !important; }

html .tg-code {
    background: rgba(var(--be-ink), 0.06) !important;
    border: 1px solid rgba(var(--be-green), 0.4) !important;
    color: rgb(var(--be-green-deep)) !important;
}

/* ---------- панель настроек ---------- */
html .nt-settings-header { border-bottom: 1px solid rgba(var(--be-ink), 0.10) !important; }

html .nt-settings-header-cell { color: rgba(var(--be-text-faint), 0.85) !important; }

html .nt-col-toggle:hover {
    color: rgb(var(--be-gold-deep)) !important;
    text-shadow: 0 0 6px rgba(var(--be-gold), 0.3);
}

html .nt-settings-row { border-bottom: 1px solid rgba(var(--be-ink), 0.06) !important; }

html .nt-settings-label { color: rgb(var(--be-text-dim)) !important; }

html .nt-settings-label i { color: rgba(var(--be-green-deep), 0.9) !important; }

html .nt-toggle-track {
    background: rgba(var(--be-ink), 0.16) !important;
    box-shadow: inset 0 1px 2px rgba(var(--be-ink), 0.25);
}

html .nt-toggle input:checked + .nt-toggle-track {
    background: linear-gradient(135deg, rgb(var(--be-green)), rgb(var(--be-gold))) !important;
    box-shadow: 0 1px 8px rgba(var(--be-green), 0.35) !important;
}

html .nt-toggle-track::after {
    background: rgb(var(--be-white)) !important;
    box-shadow: 0 1px 3px rgba(var(--be-ink), 0.35);
}

html .nt-volume-cell input[type="range"] {
    accent-color: rgb(var(--be-gold-deep)) !important;
}

html .nt-settings-divider { border-top: 1px solid rgba(var(--be-ink), 0.10) !important; }

/* ---------- кнопки (master-тумблер/админ-панель шарят класс nt-admin-btn) ---------- */
html .nt-admin-btn,
html #nt-toggle-all-btn {
    background: rgba(var(--be-white), 0.5) !important;
    border: 1px solid rgba(var(--be-ink), 0.16) !important;
    color: rgb(var(--be-text-dim)) !important;
    border-radius: 10px !important;
    transition: background 0.2s ease, box-shadow 0.25s ease !important;
}

html .nt-admin-btn:hover,
html #nt-toggle-all-btn:hover {
    background: rgba(var(--be-green), 0.16) !important;
    box-shadow: 0 2px 10px rgba(var(--be-green), 0.25);
}

html #nt-toggle-all-btn.nt-btn-danger {
    border-color: rgba(var(--be-danger), 0.5) !important;
    color: rgb(var(--be-danger)) !important;
    background: rgba(var(--be-white), 0.5) !important;
}

html #nt-toggle-all-btn.nt-btn-danger:hover {
    background: rgba(var(--be-danger), 0.12) !important;
    box-shadow: 0 2px 10px rgba(var(--be-danger), 0.25);
}

html .nt-admin-textarea {
    background: rgba(var(--be-white), 0.55) !important;
    border: 1px solid rgba(var(--be-ink), 0.16) !important;
    color: rgb(var(--be-text)) !important;
    border-radius: 10px !important;
}

/* ---------- @-саджест — тёплое стекло ---------- */
html #mn-mention-suggest {
    background: linear-gradient(160deg, rgba(var(--be-bg2), 0.95), rgba(var(--be-bg), 0.97)) !important;
    backdrop-filter: blur(18px) saturate(115%);
    -webkit-backdrop-filter: blur(18px) saturate(115%);
    border: 1px solid rgba(var(--be-white), 0.6) !important;
    box-shadow: 0 12px 30px rgba(var(--be-ink), 0.2), 0 1px 0 rgba(var(--be-white), 0.65) inset !important;
    border-radius: 12px !important;
}

html .mention-item:hover { background: rgba(var(--be-gold), 0.14) !important; }

html .mention-item div:first-child { color: rgb(var(--be-text)) !important; }

/* ---------- стопка тостов — тёплое стекло, анимация остаётся ---------- */
html .mn-notice {
    background: linear-gradient(160deg, rgba(var(--be-bg2), 0.92), rgba(var(--be-bg), 0.96)) !important;
    backdrop-filter: blur(20px) saturate(115%);
    -webkit-backdrop-filter: blur(20px) saturate(115%);
    border: 1px solid rgba(var(--be-white), 0.6) !important;
    border-radius: 16px !important;
    color: rgb(var(--be-text)) !important;
    box-shadow:
        0 14px 36px rgba(var(--be-ink), 0.2),
        0 1px 0 rgba(var(--be-white), 0.65) inset !important;
    animation: beToastIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* пара нежных искр в тосте (акцент) */
html .mn-notice::after {
    content: "✦";
    position: absolute;
    top: 6px;
    right: 30px;
    font-size: 9px;
    color: rgba(var(--be-green-deep), 0.8);
    animation: beTwinkle 3s ease-in-out infinite;
    pointer-events: none;
}

html .mn-notice::before {
    content: "✦";
    position: absolute;
    bottom: 8px;
    left: 8px;
    font-size: 7px;
    color: rgba(var(--be-gold-deep), 0.75);
    animation: beTwinkle 3.8s ease-in-out 1.2s infinite;
    pointer-events: none;
}

html .mn-notice-text { color: rgba(var(--be-text), 0.95) !important; }
html .mn-notice-text b { color: rgb(var(--be-green-deep)) !important; }
html .mn-notice-snippet { color: rgba(var(--be-text-dim), 0.85) !important; border-left-color: rgba(var(--be-text-faint), 0.5) !important; }

html .mn-notice-link {
    background: rgba(var(--be-white), 0.5) !important;
    border: 1px solid rgba(var(--be-gold), 0.45) !important;
    color: rgb(var(--be-gold-deep)) !important;
    border-radius: 8px !important;
    transition: background 0.2s ease, box-shadow 0.25s ease !important;
}

html .mn-notice-link:hover {
    background: rgba(var(--be-gold), 0.16) !important;
    box-shadow: 0 2px 10px rgba(var(--be-gold), 0.3);
}

html .mn-notice-agg { color: rgb(var(--be-green-deep)) !important; }

html .mn-notice-close { color: rgba(var(--be-text-faint), 0.8) !important; }
html .mn-notice-close:hover { color: rgb(var(--be-danger)) !important; }

html .mn-notice-closeall {
    background: rgba(var(--be-ink), 0.08) !important;
    color: rgba(var(--be-text-dim), 0.95) !important;
}
html .mn-notice-closeall:hover { color: rgb(var(--be-green-deep)) !important; }

html .mn-notice-avatar {
    box-shadow: 0 0 0 2px rgba(var(--be-bg), 0.95), 0 0 0 3.5px rgba(var(--be-green), 0.45), 0 2px 8px rgba(var(--be-ink), 0.3);
}

/* ---------- админ-панель ---------- */
html #mn-admin-panel { color: rgb(var(--be-text)); }

html .nt-admin-section-title { color: rgb(var(--be-green-deep)) !important; }

html #nt-broadcast-text {
    background: rgba(var(--be-white), 0.55) !important;
    border: 1px solid rgba(var(--be-ink), 0.16) !important;
    color: rgb(var(--be-text)) !important;
    border-radius: 10px !important;
}

html #nt-imp-add,
html #nt-broadcast-send {
    background: linear-gradient(135deg, rgb(var(--be-green)), rgb(var(--be-gold))) !important;
    color: rgb(var(--be-white)) !important;
    box-shadow: 0 2px 10px rgba(var(--be-green), 0.3);
    border-radius: 10px !important;
}

html #nt-imp-add:hover,
html #nt-broadcast-send:hover {
    box-shadow: 0 3px 16px rgba(var(--be-gold), 0.4);
}

html .nt-imp-row { border-bottom: 1px solid rgba(var(--be-ink), 0.10) !important; }

html .nt-imp-title { color: rgb(var(--be-text)) !important; }

html .nt-imp-remove { color: rgb(var(--be-danger)) !important; }

/* ---------- кнопка подписки на форум (акцент) ---------- */
html .nt-forumsub-btn {
    background: rgba(var(--be-green), 0.12) !important;
    border: 1px solid rgba(var(--be-green), 0.4) !important;
    color: rgb(var(--be-green-deep)) !important;
    border-radius: 10px !important;
}

html .nt-forumsub-btn:hover { background: rgba(var(--be-green), 0.2) !important; }

html .nt-forumsub-btn.subscribed {
    background: rgba(var(--be-success), 0.18) !important;
    border-color: rgba(var(--be-success), 0.5) !important;
    box-shadow: 0 1px 8px rgba(var(--be-success), 0.25);
}


/* ============ ТЁМНЫЕ ТЕМЫ ФОРУМА (mono-glass) ============ */
/* =============================================================
   MARKET NOTIFY — MONO GLASS (чёрно-серое стекло, акценты только на
   интерактиве). Порт нотовского notify_mono_glass.css — селекторы
   переведены под mn-/nt- разметку market-notify (структура тостов и
   админ-панели у market-notify другая, переписаны заново под тот же
   визуальный язык).
   =============================================================
   Подключать ПОСЛЕ notify.css (и после любой forum-темы, если есть):
   <link rel="stylesheet" href=".../css/mono-glass.css?v=1">
   Вернуть базовый скин — просто убрать эту строку <link>.
   ============================================================= */



.dark {
    --mg-bg: 17, 17, 19;             /* почти чёрная база */
    --mg-bg2: 27, 27, 30;            /* чуть светлее графит */
    --mg-lilac: 190, 175, 215;       /* акцент №1 — пепельно-лиловый */
    --mg-lilac-deep: 212, 200, 232;  /* светлее, для текста на тёмном */
    --mg-teal: 122, 196, 196;        /* акцент №2 — пыльная бирюза */
    --mg-teal-deep: 150, 212, 212;
    --mg-text: 224, 224, 228;
    --mg-text-dim: 168, 168, 175;
    --mg-text-faint: 118, 118, 126;
    --mg-white: 255, 255, 255;
    --mg-danger: 224, 122, 142;
    --mg-success: 122, 196, 168;
}

/* ---------- анимации ---------- */
@keyframes mgTwinkle {
    0%, 100% { opacity: 0; transform: scale(0.5); }
    50%      { opacity: 0.9; transform: scale(1); }
}
@keyframes mgSoftPulse {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 1; }
}
@keyframes mgToastIn {
    from { transform: translateX(26px); opacity: 0; filter: blur(3px); }
    to   { transform: translateX(0); opacity: 1; filter: blur(0); }
}

/* ---------- триггер в улинксах (акцент) ---------- */
/* У market-notify триггер — текстовая ссылка без иконки-колокольчика
   (см. §review 2026-07-08), поэтому градиент вешаем на сам текст. */
.dark #mn-noti-trigger {
    background: linear-gradient(135deg, rgb(var(--mg-lilac-deep)), rgb(var(--mg-teal-deep)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 1px 4px rgba(var(--mg-lilac), 0.4));
    transition: filter 0.3s ease, transform 0.3s ease;
}

.dark #mn-noti-trigger:hover {
    filter: drop-shadow(0 0 8px rgba(var(--mg-teal), 0.7));
}

.dark #mn-noti-trigger.has-unread {
    background: linear-gradient(135deg, rgb(var(--mg-danger)), rgb(var(--mg-lilac-deep)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 6px rgba(var(--mg-danger), 0.5));
    animation: mgSoftPulse 2.2s ease-in-out infinite;
}

.dark #mn-noti-trigger .bubble {
    background: linear-gradient(135deg, rgb(var(--mg-danger)), rgb(var(--mg-lilac))) !important;
    -webkit-text-fill-color: initial;
    box-shadow: 0 2px 8px rgba(var(--mg-danger), 0.45), 0 0 0 1px rgba(var(--mg-white), 0.55) inset;
    border: none;
    filter: none;
}

/* ---------- оверлей — нейтральный, без цвета ---------- */
.dark #mn-modal-overlay {
    background: rgba(0, 0, 0, 0.55) !important;
}

/* ---------- модалка: чёрно-серое стекло, БЕЗ цвета в фоне ---------- */
.dark #mn-modal {
    background: linear-gradient(160deg, rgba(var(--mg-bg2), 0.92), rgba(var(--mg-bg), 0.96)) !important;
    backdrop-filter: blur(26px) saturate(120%);
    -webkit-backdrop-filter: blur(26px) saturate(120%);
    border: 1px solid rgba(var(--mg-white), 0.09) !important;
    border-radius: 22px !important;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.55),
        0 2px 8px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(var(--mg-white), 0.10) inset !important;
    color: rgb(var(--mg-text)) !important;
    position: relative;
    overflow: hidden;
}

.dark #mn-modal > * { position: relative; z-index: 1; }

.dark .mn-modal-header {
    color: rgba(var(--mg-text-faint), 0.9) !important;
    border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important;
}

.dark .mn-modal-header span,
.dark .mn-modal-header-actions span {
    color: rgba(var(--mg-text-dim), 0.85) !important;
}

.dark .mn-modal-header span:hover,
.dark .mn-modal-header-actions span:hover {
    color: rgb(var(--mg-teal-deep)) !important;
    filter: drop-shadow(0 0 5px rgba(var(--mg-teal), 0.45));
}

/* ---------- вкладки (акцент на активной) ---------- */
.dark #mn-modal-tabs {
    border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important;
}

.dark .mn-tab-btn {
    color: rgba(var(--mg-text-faint), 0.85) !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    border-radius: 10px !important;
    transition: color 0.25s ease, background 0.25s ease, box-shadow 0.3s ease !important;
}

.dark .mn-tab-btn:hover {
    color: rgb(var(--mg-text)) !important;
    background: rgba(var(--mg-white), 0.05) !important;
}

.dark .mn-tab-btn.active {
    color: rgb(var(--mg-lilac-deep)) !important;
    background: rgba(var(--mg-white), 0.06) !important;
    border-color: rgba(var(--mg-lilac), 0.35) !important;
    box-shadow:
        0 0 12px rgba(var(--mg-lilac), 0.25),
        0 1px 0 rgba(var(--mg-white), 0.08) inset !important;
}

.dark .mn-tab-count {
    background: rgba(var(--mg-white), 0.08) !important;
    color: rgba(var(--mg-text-dim), 0.9) !important;
    border-radius: 8px;
}

.dark .mn-tab-btn.active .mn-tab-count {
    background: rgba(var(--mg-teal), 0.22) !important;
    color: rgb(var(--mg-teal-deep)) !important;
}

.dark .mn-tab-count.unread-badge {
    background: linear-gradient(135deg, rgb(var(--mg-danger)), rgb(var(--mg-lilac))) !important;
    color: rgb(var(--mg-white)) !important;
    box-shadow: 0 1px 6px rgba(var(--mg-danger), 0.4);
}

/* ---------- скроллбары (акцентная заливка полоски) ---------- */
.dark #mn-modal-list::-webkit-scrollbar-thumb,
.dark #mn-settings-panel::-webkit-scrollbar-thumb,
.dark #mn-admin-panel::-webkit-scrollbar-thumb,
.dark #mn-mention-suggest::-webkit-scrollbar-thumb {
    background: linear-gradient(rgba(var(--mg-lilac), 0.5), rgba(var(--mg-teal), 0.5)) !important;
    border-radius: 10px;
}

/* ---------- строки уведомлений ---------- */
.dark .nt-list-item {
    border-bottom: 1px solid rgba(var(--mg-white), 0.06) !important;
    color: rgb(var(--mg-text)) !important;
    transition: background 0.2s ease !important;
}

.dark .nt-list-item:hover {
    background: rgba(var(--mg-white), 0.045) !important;
}

.dark .nt-list-item.unread {
    background: rgba(var(--mg-white), 0.03) !important;
    border-left: 3px solid rgb(var(--mg-teal)) !important;
}

.dark .nt-list-item.unread .nt-list-item-sender {
    color: rgb(var(--mg-teal-deep)) !important;
}

.dark .nt-list-item-sender { color: rgb(var(--mg-text)) !important; }

.dark .nt-list-item-text { color: rgba(var(--mg-text-dim), 0.9) !important; }

/* Базовый #999 из notify.css уже читаем на тёмной базе mono-glass (это
   эталонная тема, под которую он и был захардкожен, см. §20), но подтягиваем
   к общей палитре темы для единообразия с остальными оверрайдами. */
.dark .nt-list-item-snippet {
    color: rgba(var(--mg-text-dim), 0.85) !important;
    border-left-color: rgba(var(--mg-text-faint), 0.5) !important;
}

.dark .nt-list-item-read {
    color: rgba(var(--mg-text-faint), 0.7) !important;
    background: rgba(var(--mg-white), 0.05);
}

.dark .nt-list-item-read:hover {
    color: rgb(var(--mg-bg)) !important;
    background: linear-gradient(135deg, rgb(var(--mg-teal)), rgb(var(--mg-lilac))) !important;
    box-shadow: 0 2px 8px rgba(var(--mg-teal), 0.4);
}

.dark .nt-empty { color: rgba(var(--mg-text-faint), 0.5) !important; }

/* Пояснительные подписи в админ-панели (§блокировка/звук) — база notify.css
   даёт #999, читаемый только на тёмной mono-glass, но подтягиваем к общей
   палитре темы для единообразия с остальными оверрайдами. */
.dark .nt-admin-status { color: rgba(var(--mg-text-dim), 0.85) !important; }

/* ---------- TG-футер ---------- */
.dark #mn-modal-tg-footer {
    border-top: 1px solid rgba(var(--mg-white), 0.08) !important;
}

.dark .tg-btn-connect {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-teal), 0.3) !important;
    color: rgba(var(--mg-text-dim), 0.9) !important;
    border-radius: 10px !important;
    transition: box-shadow 0.3s ease, background 0.25s ease !important;
}

.dark .tg-btn-connect:hover:not(:disabled) {
    background: rgba(var(--mg-teal), 0.14) !important;
    color: rgb(var(--mg-teal-deep)) !important;
    box-shadow: 0 3px 14px rgba(var(--mg-teal), 0.3);
}

.dark .tg-status-linked { color: rgba(var(--mg-success), 0.9) !important; }

.dark #mn-tg-unlink-btn { color: rgb(var(--mg-danger)) !important; }

.dark .tg-status-instruction { color: rgba(var(--mg-text-dim), 0.9) !important; }

.dark .tg-code {
    background: rgba(var(--mg-white), 0.06) !important;
    border: 1px solid rgba(var(--mg-lilac), 0.35) !important;
    color: rgb(var(--mg-lilac-deep)) !important;
}

/* ---------- панель настроек ---------- */
.dark .nt-settings-header { border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important; }

.dark .nt-settings-header-cell { color: rgba(var(--mg-text-faint), 0.7) !important; }

.dark .nt-col-toggle:hover {
    color: rgb(var(--mg-teal-deep)) !important;
    text-shadow: 0 0 6px rgba(var(--mg-teal), 0.4);
}

.dark .nt-settings-row { border-bottom: 1px solid rgba(var(--mg-white), 0.05) !important; }

.dark .nt-settings-label { color: rgb(var(--mg-text-dim)) !important; }

.dark .nt-settings-label i { color: rgba(var(--mg-lilac), 0.85) !important; }

.dark .nt-toggle-track {
    background: rgba(var(--mg-white), 0.12) !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}

.dark .nt-toggle input:checked + .nt-toggle-track {
    background: linear-gradient(135deg, rgb(var(--mg-lilac)), rgb(var(--mg-teal))) !important;
    box-shadow: 0 1px 8px rgba(var(--mg-lilac), 0.4) !important;
}

.dark .nt-toggle-track::after {
    background: rgb(var(--mg-white)) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.dark .nt-volume-cell input[type="range"] {
    accent-color: rgb(var(--mg-teal-deep)) !important;
}

.dark .nt-settings-divider { border-top: 1px solid rgba(var(--mg-white), 0.08) !important; }

/* ---------- кнопки (master-тумблер/админ-панель шарят класс nt-admin-btn) ---------- */
.dark .nt-admin-btn,
.dark #nt-toggle-all-btn {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-white), 0.14) !important;
    color: rgb(var(--mg-text-dim)) !important;
    border-radius: 10px !important;
    transition: background 0.2s ease, box-shadow 0.25s ease !important;
}

.dark .nt-admin-btn:hover,
.dark #nt-toggle-all-btn:hover {
    background: rgba(var(--mg-lilac), 0.14) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-lilac), 0.3);
}

.dark #nt-toggle-all-btn.nt-btn-danger {
    border-color: rgba(var(--mg-danger), 0.45) !important;
    color: rgb(var(--mg-danger)) !important;
    background: rgba(var(--mg-white), 0.05) !important;
}

.dark #nt-toggle-all-btn.nt-btn-danger:hover {
    background: rgba(var(--mg-danger), 0.12) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-danger), 0.3);
}

.dark .nt-admin-textarea {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-white), 0.14) !important;
    color: rgb(var(--mg-text)) !important;
    border-radius: 10px !important;
}

/* ---------- @-саджест — нейтральное стекло ---------- */
.dark #mn-mention-suggest {
    background: linear-gradient(160deg, rgba(var(--mg-bg2), 0.96), rgba(var(--mg-bg), 0.98)) !important;
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    border: 1px solid rgba(var(--mg-white), 0.09) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(var(--mg-white), 0.08) inset !important;
    border-radius: 12px !important;
}

.dark .mention-item:hover { background: rgba(var(--mg-teal), 0.10) !important; }

.dark .mention-item div:first-child { color: rgb(var(--mg-text)) !important; }

/* ---------- стопка тостов — нейтральное стекло, анимация остаётся ---------- */
.dark .mn-notice {
    background: linear-gradient(160deg, rgba(var(--mg-bg2), 0.94), rgba(var(--mg-bg), 0.97)) !important;
    backdrop-filter: blur(20px) saturate(120%);
    -webkit-backdrop-filter: blur(20px) saturate(120%);
    border: 1px solid rgba(var(--mg-white), 0.10) !important;
    border-radius: 16px !important;
    color: rgb(var(--mg-text)) !important;
    box-shadow:
        0 14px 36px rgba(0, 0, 0, 0.5),
        0 1px 0 rgba(var(--mg-white), 0.10) inset !important;
    animation: mgToastIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* пара нежных звёздочек-искр в тосте (акцент) */
.dark .mn-notice::after {
    content: "✦";
    position: absolute;
    top: 6px;
    right: 30px;
    font-size: 9px;
    color: rgba(var(--mg-lilac), 0.85);
    animation: mgTwinkle 3s ease-in-out infinite;
    pointer-events: none;
}

.dark .mn-notice::before {
    content: "✦";
    position: absolute;
    bottom: 8px;
    left: 8px;
    font-size: 7px;
    color: rgba(var(--mg-teal), 0.8);
    animation: mgTwinkle 3.8s ease-in-out 1.2s infinite;
    pointer-events: none;
}

.dark .mn-notice-text { color: rgba(var(--mg-text), 0.95) !important; }
.dark .mn-notice-text b { color: rgb(var(--mg-lilac-deep)) !important; }
.dark .mn-notice-snippet { color: rgba(var(--mg-text-dim), 0.85) !important; border-left-color: rgba(var(--mg-text-faint), 0.5) !important; }

.dark .mn-notice-link {
    background: rgba(var(--mg-white), 0.06) !important;
    border: 1px solid rgba(var(--mg-teal), 0.35) !important;
    color: rgb(var(--mg-teal-deep)) !important;
    border-radius: 8px !important;
    transition: background 0.2s ease, box-shadow 0.25s ease !important;
}

.dark .mn-notice-link:hover {
    background: rgba(var(--mg-teal), 0.14) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-teal), 0.35);
}

.dark .mn-notice-agg { color: rgb(var(--mg-lilac-deep)) !important; }

.dark .mn-notice-close { color: rgba(var(--mg-text-faint), 0.7) !important; }
.dark .mn-notice-close:hover { color: rgb(var(--mg-danger)) !important; }

.dark .mn-notice-closeall {
    background: rgba(var(--mg-white), 0.08) !important;
    color: rgba(var(--mg-text-dim), 0.9) !important;
}
.dark .mn-notice-closeall:hover { color: rgb(var(--mg-lilac-deep)) !important; }

.dark .mn-notice-avatar {
    box-shadow: 0 0 0 2px rgba(var(--mg-bg2), 0.9), 0 0 0 3.5px rgba(var(--mg-lilac), 0.4), 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* ---------- админ-панель ---------- */
.dark #mn-admin-panel { color: rgb(var(--mg-text)); }

.dark .nt-admin-section-title { color: rgb(var(--mg-lilac-deep)) !important; }

.dark #nt-broadcast-text {
    background: rgba(var(--mg-white), 0.05) !important;
    border: 1px solid rgba(var(--mg-white), 0.14) !important;
    color: rgb(var(--mg-text)) !important;
    border-radius: 10px !important;
}

.dark #nt-imp-add,
.dark #nt-broadcast-send {
    background: linear-gradient(135deg, rgb(var(--mg-lilac)), rgb(var(--mg-teal))) !important;
    color: rgb(var(--mg-bg)) !important;
    box-shadow: 0 2px 10px rgba(var(--mg-lilac), 0.35);
    border-radius: 10px !important;
}

.dark #nt-imp-add:hover,
.dark #nt-broadcast-send:hover {
    box-shadow: 0 3px 16px rgba(var(--mg-teal), 0.45);
}

.dark .nt-imp-row { border-bottom: 1px solid rgba(var(--mg-white), 0.08) !important; }

.dark .nt-imp-title { color: rgb(var(--mg-text)) !important; }

.dark .nt-imp-remove { color: rgb(var(--mg-danger)) !important; }

/* ---------- кнопка подписки на форум (акцент) ---------- */
.dark .nt-forumsub-btn {
    background: rgba(var(--mg-lilac), 0.10) !important;
    border: 1px solid rgba(var(--mg-lilac), 0.35) !important;
    color: rgb(var(--mg-lilac-deep)) !important;
    border-radius: 10px !important;
}

.dark .nt-forumsub-btn:hover { background: rgba(var(--mg-lilac), 0.18) !important; }

.dark .nt-forumsub-btn.subscribed {
    background: rgba(var(--mg-success), 0.14) !important;
    border-color: rgba(var(--mg-success), 0.45) !important;
    box-shadow: 0 1px 8px rgba(var(--mg-success), 0.3);
}


/* ============================================================
   ПАЛИТРА ПОД ФОРУМ HIGH VOLTAGE (правится вручную, генератором
   не затирается — лежит в /root/hv2026-tail.css)
   Светлая схема форума = beige, тёмная (класс .dark) = mono-glass.
   ============================================================ */

/* ---------- светлая схема: beige под бежевую базу форума ---------- */
html {
    --be-bg: 232, 228, 219;        /* --beg100 форума */
    --be-bg2: 222, 217, 205;       /* --beg300 */
    --be-ink: 37, 37, 37;          /* --text1 */
    --be-green: 168, 94, 57;       /* акцент №1 — ржавый --links/--accent форума */
    --be-green-deep: 138, 75, 46;
    --be-gold: 98, 110, 96;        /* акцент №2 — --accent1 форума (приглушённый зелёный) */
    --be-gold-deep: 78, 88, 76;
    --be-text: 37, 37, 37;
    --be-text-dim: 59, 59, 59;     /* --text2 */
    --be-text-faint: 109, 109, 109;/* --text3 */
    --be-danger: 178, 58, 58;
    --be-success: 98, 110, 96;
}

/* ---------- тёмная схема форума (класс .dark) ---------- */
.dark {
    --mg-bg: 35, 35, 35;           /* --beg100 в .dark */
    --mg-bg2: 48, 48, 48;          /* --beg500 */
    --mg-lilac: 200, 122, 84;      /* акцент №1 — тот же ржавый, осветлён под тёмный фон */
    --mg-lilac-deep: 216, 150, 115;
    --mg-teal: 150, 160, 145;      /* акцент №2 — нейтральная зелень */
    --mg-teal-deep: 175, 185, 170;
    --mg-text: 222, 217, 205;      /* --text1 в .dark */
    --mg-text-dim: 180, 175, 163;  /* --text2 */
    --mg-text-faint: 119, 119, 119;/* --text3 */
    --mg-danger: 205, 122, 112;
    --mg-success: 150, 170, 145;
}

/* ---------- шрифты форума «ковром» ----------
   в notify.css font-family прописан ~30 внутренним селекторам
   по отдельности — точечно все не перекрыть */
#mn-modal, #mn-modal *,
.mn-notice, .mn-notice *,
#mn-notice-stream, #mn-notice-stream *,
#mn-settings-panel, #mn-settings-panel *,
#mn-admin-panel, #mn-admin-panel *,
#mn-mention-suggest, #mn-mention-suggest * {
    font-family: var(--font, Inter), Verdana, Arial, Helvetica, sans-serif;
}
/* заголовки/лейблы — акцидентным шрифтом форума */
#mn-modal h3, #mn-modal .mn-tab, #mn-settings-panel .nt-settings-header-cell {
    font-family: var(--font-accent, Unbounded), sans-serif;
}

/* ---------- FontAwesome 7 (форум тянет FA 7.3.1 через @import в style.css) —
   отмена legacy-фикса themurmur из notify.css, который форсит семейство
   "FontAwesome" + вес normal: без отмены solid-иконки приезжают квадратами,
   а весом 400 случайно выживают только те, что есть в regular-файле ---------- */
#mn-modal .fa, #mn-modal .fas, #mn-modal .fa-solid,
.mn-notice .fa, .mn-notice .fas, .mn-notice .fa-solid,
#mn-notice-stream .fa-solid,
#mn-settings-panel .fa, #mn-settings-panel .fas, #mn-settings-panel .fa-solid,
#mn-admin-panel .fa, #mn-admin-panel .fas, #mn-admin-panel .fa-solid,
#mn-mention-suggest .fa-solid,
#mn-noti-trigger .fa, #mn-noti-trigger .fas, #mn-noti-trigger .fa-solid {
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

#mn-modal .far, #mn-modal .fa-regular,
.mn-notice .far, .mn-notice .fa-regular,
#mn-notice-stream .fa-regular,
#mn-settings-panel .far, #mn-settings-panel .fa-regular,
#mn-admin-panel .far, #mn-admin-panel .fa-regular,
#mn-mention-suggest .fa-regular,
#mn-noti-trigger .far, #mn-noti-trigger .fa-regular {
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

#mn-modal .fab, #mn-modal .fa-brands,
.mn-notice .fab, .mn-notice .fa-brands {
    font-family: "Font Awesome 7 Brands", "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

/* ---------- триггер в улинксах наследует стиль форума ----------
   темы пака красят его градиентом через background-clip: text —
   в панели ссылок High Voltage это выглядит блёкло */
#pun-ulinks #mn-noti-trigger,
#pun-ulinks #mn-noti-trigger.has-unread,
#pun-ulinks #mn-noti-trigger:hover {
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
    filter: none !important;
    animation: none !important;
    opacity: 1;
}
/* непрочитанные — акцентом форума, а не свечением */
#pun-ulinks #mn-noti-trigger.has-unread {
    color: var(--links, #A85E39) !important;
    font-weight: 600 !important;
}
#pun-ulinks #mn-noti-trigger .bubble {
    -webkit-text-fill-color: #fff !important;
    font-family: var(--font-accent, Unbounded), sans-serif !important;
    background: var(--links, #A85E39) !important;
}
