/* ==========================================================================
   Стили окон и блоков движка чата (frontend/scripts/chat-common.js).
   Раньше движок вставлял их на страницу из кода (16 блоков <style>); 06.10.2026 вынесены
   сюда — в коде только код. Порядок разделов = порядок зависимостей прежних вставок,
   файл подключается ПОСЛЕДНИМ в <head> (вставки тоже ложились в конец <head>).
   Цвета, шрифты, радиусы — переменные темы (theme.css).
   ========================================================================== */

/* --- Окно входа: кнопки VK и Яндекс одной ширины (был <style id="auth-buttons-width">) --- */
#registrationModal .vkid-login-block,#registrationModal .yandex-login-block{width:100%;max-width:304px;margin-left:auto;margin-right:auto;}
#registrationModal .vkid-login-block > button{min-height:50px;}

/* --- Встречи в чате (был <style id="meetingChatStyles">) --- */
.meeting-divider{display:flex;align-items:center;justify-content:center;margin:24px 0 8px;}
.meeting-divider::before,.meeting-divider::after{content:"";flex:1;height:1px;background:var(--gray-200,var(--c-blue-100-5, #e3e3ea));max-width:110px;}
.meeting-divider-badge{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:5px 16px;margin:0 10px;border-radius:999px;background:var(--gray-100,var(--c-blue-50-6, #f1f1f4));text-align:center;}
.meeting-divider-title{font-weight:700;font-size:0.8rem;color:var(--gray-700,var(--c-gray-650, #555));letter-spacing:.01em;}
.meeting-divider-dt{font-size:0.72rem;color:var(--gray-500,var(--c-gray-450-2, #8a8a99));}

/* --- Блок «всегда рядом» в Telegram/MAX (был <style id="tg-bot-hook-styles">) --- */
.tg-bot-hook{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,var(--c-blue-50-4, #eaf6fd),var(--c-blue-100-2, #d7edfb));border:1px solid var(--c-blue-150, #b6ddf5);}
.tg-bot-hook__title{font-weight:700;font-size:15px;line-height:1.3;color:var(--c-blue-800, #0b3a5b);}
.tg-bot-hook__text{font-size:14px;line-height:1.4;color:var(--c-blue-650, #3a5a70);}
.tg-bot-hook__btns{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;margin-top:2px;}
.tg-bot-hook__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(135deg,var(--c-ext-telegram-3, #37aee2),var(--c-ext-telegram-2, #229ED9));color:var(--c-white, #fff);font-size:14px;font-weight:600;transition:filter .15s ease;}
.tg-bot-hook__btn--max{background:linear-gradient(135deg,var(--c-ext-max-2, #7C5CFF),var(--c-ext-max, #5B3FFF));}
.tg-bot-hook__btn:hover{filter:brightness(1.06);}
.tg-bot-hook__btn svg{width:18px;height:18px;flex:none;}
@media (prefers-color-scheme:dark){.tg-bot-hook{background:linear-gradient(135deg,var(--c-teal-850, #12303f),var(--c-blue-850, #123143));border-color:var(--c-teal-750, #1d4e66);}
.tg-bot-hook__title{color:var(--c-blue-100, #cfe8f7);}
.tg-bot-hook__text{color:var(--c-blue-250, #a9c6d6);}
}
@media (max-width:360px){.tg-bot-hook__btns{grid-auto-flow:row;}
.tg-bot-hook__btn{width:100%;justify-content:center;}
}

/* --- Окно «всегда рядом» (боты) (был <style id="bot-near-styles">) --- */
#botNearModal .modal{width:100%;max-width:460px;padding:32px 28px 22px;text-align:center;outline:none;}
#botNearModal .bot-near-title{margin:0 24px 8px;font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-0.01em;color:var(--text-primary,var(--c-blue-850-4, #1a202c));}
#botNearModal .bot-near-text{margin:0 0 22px;font-size:15px;line-height:1.5;color:var(--text-secondary,var(--c-blue-650-2, #4a5568));}
#botNearModal .tg-bot-hook__btns{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;margin:0;}
#botNearModal .tg-bot-hook__btn{width:100%;min-height:48px;padding:12px 16px;border-radius:12px;font-size:15px;font-weight:600;letter-spacing:0.01em;box-shadow:0 2px 8px var(--c-ext-telegram-2-a25, rgba(34,158,217,.25));}
#botNearModal .tg-bot-hook__btn--max{box-shadow:0 2px 8px var(--c-ext-max-a25, rgba(91,63,255,.25));}
#botNearModal .tg-bot-hook__btn:focus{outline:none;}
#botNearModal .tg-bot-hook__btn:focus-visible{outline:2px solid var(--c-ext-telegram-2, #229ED9);outline-offset:2px;}
.bot-near-later{display:block;margin:14px auto 0;background:none;border:none;color:var(--text-secondary,var(--c-blue-500-4, #718096));font-size:14px;cursor:pointer;padding:8px 16px;}
.bot-near-later:hover{color:var(--text-primary,var(--c-blue-850-4, #1a202c));}
.bot-near-status{margin-top:14px;font-size:14px;line-height:1.45;color:var(--c-green-700, #1a7f48);}
@media (max-width:360px){#botNearModal .tg-bot-hook__btns{grid-auto-flow:row;}
}
#botNearModal .bot-near-qr{margin:0 0 14px;}
#botNearModal .bot-near-qr-grid{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;justify-items:center;}
#botNearModal .bot-near-qr-item{display:flex;flex-direction:column;align-items:center;gap:6px;}
@media (max-width:768px){#botNearModal .bot-near-qr{display:none !important;}
}
@media (max-width:768px){#botNearModal.modal-overlay{align-items:flex-end !important;padding:0 !important;}
#botNearModal .modal{position:relative !important;inset:auto !important;width:100% !important;max-width:none !important;height:75vh !important;max-height:75vh !important;height:75dvh !important;max-height:75dvh !important;margin:0 !important;border-radius:20px 20px 0 0 !important;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom));animation:botNearUp .32s ease-out;display:flex !important;flex-direction:column;justify-content:center;}
}
@keyframes botNearUp{from{transform:translateY(100%);}
to{transform:translateY(0);}
}
@media (prefers-reduced-motion:reduce){#botNearModal .modal{animation:none !important;}
}

/* --- QR-коды ботов (был <style id="bot-qr-styles">) --- */
.bot-qr-box{padding:6px;background:var(--c-white, #fff);border-radius:12px;border:1px solid var(--c-blue-100-7, #e5e7eb);line-height:0;}
.bot-qr-box:empty{visibility:hidden;}
.bot-qr-box svg{display:block;width:132px;height:132px;}

/* --- Полоса ботов (был <style id="bot-bar-styles">) --- */
.bot-bar{position:fixed;right:24px;bottom:0;z-index:150;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 18px;border-radius:16px 16px 0 0;background:linear-gradient(135deg,var(--c-violet-450-3, #8B4FD1) 0%,var(--c-violet-500, #6B3FB5) 50%,var(--c-violet-650, #4C2A85) 100%);box-shadow:0 -6px 24px var(--c-violet-800-a28, rgba(44,20,82,.28));}
.bot-bar[hidden]{display:none;}
.bot-bar__text{font-size:16px;font-weight:700;color:var(--c-white, #fff);white-space:nowrap;}
.bot-bar__btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border:none;border-radius:10px;background:var(--c-white, #fff);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px var(--c-gray-1000-a12, rgba(0,0,0,.12));}
.bot-bar__btn:hover{background:var(--c-gray-50-5, #F5F0FF);}
.bot-bar__btn svg{width:18px;height:18px;flex:none;}
.bot-bar__btn--telegram{color:var(--c-ext-telegram-2, #229ED9);}
.bot-bar__btn--max{color:var(--c-violet-650, #4C2A85);}
.bot-bar__btn:focus-visible,.bot-bar__close:focus-visible{outline:2px solid var(--c-white, #fff);outline-offset:2px;}
.bot-bar__close{width:30px;height:30px;flex:none;border:none;border-radius:50%;background:transparent;color:var(--c-gray-0-a75, rgba(255,255,255,.75));font-size:20px;line-height:1;cursor:pointer;}
.bot-bar__close:hover{background:var(--c-gray-0-a15, rgba(255,255,255,.15));color:var(--c-white, #fff);}

/* --- Вход через Telegram/MAX (был <style id="msgr-login-styles">) --- */
#msgrLoginBlock.msgr-login-btns{grid-auto-flow:row;gap:12px;width:100%;max-width:304px;margin:0 auto 12px;}
#msgrLoginBlock .tg-bot-hook__btn{width:100%;min-height:50px;border-radius:12px;font-size:16px;font-weight:600;}
#msgrLoginBlock .tg-bot-hook__btn svg{width:20px;height:20px;}
#msgrLoginBlock .msgr-login-qr{display:flex;flex-direction:column;align-items:center;gap:8px;}
#msgrLoginBlock .msgr-login-qr[hidden]{display:none;}
#msgrLoginBlock .msgr-login-qr-hint{font-size:13px;line-height:1.4;color:var(--c-blue-650-2, #4a5568);text-align:center;}

/* --- Плашка научной проверки (был <style id="academicBgStyles">) --- */
.academic-bg-banner{position:fixed;top:calc(env(safe-area-inset-top,0px) + 64px);left:50%;transform:translateX(-50%);z-index:600;display:flex;align-items:center;gap:8px;max-width:min(92vw,520px);padding:9px 16px;border-radius:14px;background:var(--bg-card,var(--c-white, #fff));border:1px solid var(--border,var(--c-blue-100-4, #e2e8f0));box-shadow:0 6px 24px var(--c-violet-600-a16, rgba(80,60,140,.16));font-size:.85rem;color:var(--text,var(--c-blue-750-3, #2d3748));opacity:0;pointer-events:none;transition:opacity .3s ease;}
.academic-bg-banner.show{opacity:1;}
.academic-bg-banner .academic-bg-icon{flex:none;font-size:1rem;}
.academic-bg-banner .academic-bg-text{transition:opacity .25s;}
.academic-bg-banner.ready{border-color:var(--c-violet-300-3, #9F7AEA);}
@media (max-width:768px){.academic-bg-banner{top:calc(env(safe-area-inset-top,0px) + 56px);font-size:.8125rem;padding:8px 12px;}
}
@media (prefers-reduced-motion:reduce){.academic-bg-banner,.academic-bg-banner .academic-bg-text{transition:none;}
}
.aib-academic-hook{margin:10px 0 2px;padding:10px 12px;border-radius:10px;background:var(--c-violet-300-a12, rgba(159,122,234,.12));border:1px solid var(--c-violet-300-a40, rgba(159,122,234,.4));font-size:.85rem;line-height:1.4;}

/* --- Шкала самочувствия (SUDS) (был <style id="sudsStyles">) --- */
.suds-sub{font-weight:400;font-size:0.78rem;color:var(--gray-500,var(--c-gray-450-2, #8a8a99));}
.suds-pair{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0;}
.suds-arrow{color:var(--gray-400,var(--c-gray-350, #9a9aa5));}
.suds-none{color:var(--gray-400,var(--c-gray-350, #9a9aa5));min-width:14px;text-align:center;}
.suds-bar{background:var(--gray-200,var(--c-blue-100-8, #e8e8ef));}
.suds-bar i{background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5));display:block;height:100%;border-radius:inherit;}
.suds-drop{color:var(--c-green-650-2, #2e7d54);font-weight:700;font-size:0.85rem;}
.suds-celebrate{text-align:center;padding:6px 4px 2px;}
.suds-celebrate-emoji{font-size:2.6rem;line-height:1.2;}
.suds-celebrate-text{font-size:1.02rem;line-height:1.5;color:var(--gray-800,var(--c-gray-800-3, #33333d));margin:10px 0 2px;}
.suds-celebrate-delta{font-size:1.5rem;font-weight:800;color:var(--c-green-650-2, #2e7d54);margin:6px 0 2px;}
.suds-confetti{position:absolute;top:-8px;width:9px;height:14px;border-radius:2px;opacity:.9;animation:sudsFall 1.7s ease-in forwards;}
@keyframes sudsFall{to{transform:translateY(300px) rotate(340deg);opacity:0;}
}
@media (prefers-reduced-motion: reduce){.suds-confetti{display:none;}
}

/* --- Озвучка ответов (плеер) (был <style id="ttsStyles">) --- */
/* Плашка-плеер над текстом ПОСЛЕДНЕГО ответа: узнаваемая форма голосового сообщения
       (кружок ▶ + дорожка волны + длительность). У прошлых ответов — компактная иконка
       в футере, иначе длинная переписка превращается в лес плееров. */
    .tts-plate { display:flex; align-items:center; gap:.6rem; margin:0 0 .6rem 0;
        padding:.45rem .7rem .45rem .45rem; background:var(--gray-50, var(--c-gray-0, #F7FAFC));
        border:1px solid var(--gray-200, var(--c-blue-100-4, #E2E8F0)); border-radius:16px;
        max-width:420px; width:100%; box-sizing:border-box; }

    .tts-plate-btn { width:38px; height:38px; flex-shrink:0; border:none; border-radius:50%;
        cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--c-white, #fff);
        background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5),var(--c-violet-500-2, #6B46C1)); padding:0; }

    .tts-plate-btn:disabled { cursor:default; opacity:.85; }

    .tts-plate-btn svg { width:16px; height:16px; }

    /* Ширина тела плашки не зависит от подписи: плашка сужена по содержимому, и без минимума она
       «дышала» бы при каждой смене подписи («Прослушать ответ» → «Говорит <имя>» → «Пауза», время
       «≈1:46» → «1:25 / ≈1:46») — полоски съезжали бы под пальцем посреди перемотки (E2E 15.09). */
    /* Минимум уступает узкому экрану: 200px, но не больше «ширина экрана − 9rem» (кнопка и
       отступы в rem растут со шрифтом). Жёсткий минимум при увеличенном шрифте браузера выталкивал
       время за край экрана на 320px (ревью 15.09); процент не годится — плашка сужена по
       содержимому, и процентный минимум обнуляется. */
    .tts-plate-body { flex:1; min-width:min(200px, calc(100vw - 9rem)); display:flex; flex-direction:column; gap:.15rem; }

    .tts-plate-wave { display:flex; align-items:center; gap:2px; height:22px; overflow:hidden; }

    /* Полоски тянутся по ширине плашки: дорожка должна выглядеть как звуковая волна
       голосового сообщения, а не как узкий огрызок слева. */
    .tts-plate-wave i { display:block; flex:1 1 2px; min-width:2px; max-width:4px;
        border-radius:1px; background:var(--gray-300, var(--c-blue-150-2, #CBD5E0));
        transition:background-color .15s linear; }

    .tts-plate-wave i.played { background:var(--c-violet-400, #805AD5); }

    /* Дорожка — ещё и перемотка: клик, касание или протягивание в любую точку. Видимая высота
       волны прежняя (22px), а зона касания 44px — иначе на телефоне палец промахивается.
       ⚠️ Зона растёт ВВЕРХ (над плашкой только заголовок сообщения, там ничего не нажимается),
       а вниз — лишь до зазора перед подписью: зона, накрывшая «Прослушать ответ» и время,
       запускала ответ с середины по касанию на подпись (ревью 15.09). Волна прижата к низу
       зоны и стоит там же, где стояла. pan-y pinch-zoom: палец, начавший вертикальное движение
       на дорожке, прокручивает переписку, двумя пальцами — масштаб (браузер шлёт pointercancel). */
    .tts-plate-seek { position:relative; display:flex; align-items:flex-end; min-height:44px;
        box-sizing:border-box; padding-bottom:2px; margin:-20px 0 -2px 0; cursor:pointer;
        touch-action:pan-y pinch-zoom; border-radius:6px; -webkit-tap-highlight-color:transparent; }

    .tts-plate-seek[aria-disabled="true"] { cursor:default; }

    /* Кольцо фокуса — вокруг видимой волны, а не вокруг невидимой зоны касания над плашкой. */
    .tts-plate-seek:focus-visible { outline:none; }

    .tts-plate-seek:focus-visible .tts-plate-wave { outline:2px solid var(--c-violet-400, #805AD5); outline-offset:2px; border-radius:4px; }

    .tts-plate-seek .tts-plate-wave { flex:1; min-width:0; pointer-events:none; }

    /* Подпись под волной — та же кнопка, что кружок ▶ («Прослушать ответ» / «Пауза»). Это не
       только крупнее цель: без собственного обработчика Chrome на телефоне притягивал касание
       подписи к соседней зоне перемотки (подстройка касания), и ответ запускался с середины. */
    .tts-plate-meta { position:relative; display:flex; align-items:center; gap:.4rem; font-size:.75rem;
        color:var(--gray-600, var(--c-blue-500-4, #718096)); cursor:pointer; -webkit-tap-highlight-color:transparent; }

    .tts-plate-hint { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

    .tts-plate-time { margin-left:auto; font-variant-numeric:tabular-nums; flex-shrink:0; }

    .tts-plate-spinner { width:16px; height:16px; border:2px solid var(--c-gray-0-a45, rgba(255,255,255,.45));
        border-top-color:var(--c-white, #fff); border-radius:50%; animation: ttsSpin .8s linear infinite; }

    @keyframes ttsSpin { to { transform: rotate(360deg); }
 }

    @media (max-width: 768px) { .tts-plate { max-width:100%; }
 }

    .btn-tts.tts-loading svg { animation: ttsBlink 1s ease-in-out infinite; }

    @keyframes ttsBlink { 0%,100% { opacity:1; }
 50% { opacity:.35; }
 }

    /* Говорящий аватар <имя>: «вылезает» над плашкой-плеером при воспроизведении,
       исчезает при остановке. Круглый видео-кружок; постер — статичный кадр покоя.
       По умолчанию свёрнут (высота 0), поэтому у неиграющих ответов места не занимает. */
    .tts-plate-wrap { display:flex; flex-direction:column; align-items:flex-start; }

    .tts-avatar { width:96px; height:96px; margin:0 0 0 2px; border-radius:50%; overflow:hidden;
        flex-shrink:0; opacity:0; transform:scale(.55) translateY(10px); max-height:0;
        pointer-events:none; box-shadow:0 8px 22px var(--c-violet-500-a22, rgba(107,70,193,.22));
        transition:opacity .28s ease, transform .28s cubic-bezier(.2,.9,.3,1.2),
                   max-height .28s ease, margin-bottom .28s ease; }

    .tts-avatar video { width:100%; height:100%; object-fit:cover; display:block; background:var(--c-orange-100, #efe7dd); }

    .tts-avatar.show { opacity:1; transform:scale(1) translateY(0); max-height:96px; margin-bottom:.55rem; }

    @media (max-width: 768px) { .tts-avatar { width:76px; height:76px; }

        .tts-avatar.show { max-height:76px; }
 }

    @media (prefers-reduced-motion: reduce) {
        .btn-tts.tts-loading svg { animation:none; }

        .tts-plate-spinner { animation-duration:1.6s; }

        .tts-plate-wave i { transition:none; }

        .tts-avatar { transition:opacity .2s linear; transform:none; }

        .tts-avatar.show { transform:none; }

    }

/* --- Вход по логину и паролю (был <style id="laStyles">) --- */
#registrationModal .telegram-login-block{max-width:304px;}
@media (min-width:769px){#registrationModal .telegram-login-block{max-width:456px;}
}
.la-block{margin-top:14px;text-align:center;width:100%;}
.la-toggle{background:none;border:none;color:var(--c-gray-900, #1a1a1a);cursor:pointer;font-size:1.0625rem;font-weight:500;padding:8px 6px;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:5px;text-decoration-thickness:1px;}
.la-form{display:none;text-align:left;margin-top:10px;background:var(--primary-bg,var(--c-violet-50-5, #F0EBF8));border-radius:12px;padding:16px;}
.la-form.show{display:block;}
.la-note{font-size:.8125rem;color:var(--c-orange-750-2, #7A5A00);background:var(--c-orange-50-4, #FFF7E6);border:1px solid var(--c-orange-200-2, #F5D9A6);border-radius:10px;padding:10px 12px;margin-bottom:10px;}
.la-tabs{display:flex;gap:6px;margin-bottom:10px;}
.la-tabs button{flex:1;padding:8px;border-radius:8px;border:1px solid var(--c-violet-150-2, #D9CEF0);background:var(--c-violet-50-2, #EAE2F7);color:var(--c-violet-550, #6B5A86);cursor:pointer;font-size:.875rem;}
.la-tabs button.active{border-color:var(--c-violet-400, #805AD5);color:var(--c-violet-500-2, #6B46C1);font-weight:600;background:var(--c-white, #fff);}
.la-error{display:none;color:var(--c-red-550, #c0392b);font-size:.8125rem;margin:-6px 2px 6px;line-height:1.3;}
.la-error.show{display:block;}
.la-form input{width:100%;box-sizing:border-box;display:block;padding:14px 14px;border:1px solid var(--gray-200,var(--c-gray-150-2, #ddd));border-radius:10px;margin:0 0 8px;font-size:16px;}
.la-pw-wrap{position:relative;}
.la-pw-wrap input{padding-right:40px;}
.la-pw-wrap .la-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;padding:2px;line-height:1;}
.la-gen-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.la-gen-row button{background:none;border:1px dashed var(--gray-300,var(--c-gray-200, #ccc));border-radius:8px;padding:6px 10px;cursor:pointer;font-size:.8125rem;color:var(--gray-600,var(--c-blue-650-3, #4b5563));}
#registrationModal .la-submit{width:100%;background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5),var(--c-violet-500-2, #6B46C1));color:var(--c-white, #fff);border:none;border-radius:10px;padding:13px 16px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:2px;}
#registrationModal .la-submit:hover{filter:brightness(1.05);}
.la-success-creds{background:var(--c-white, #fff);border:1px solid var(--gray-200,var(--c-gray-150-2, #ddd));border-radius:10px;padding:12px;margin:10px 0;font-family:monospace;font-size:.9375rem;word-break:break-all;}

/* --- Баланс, пакеты, оплата, спецпредложение (был <style id="aibStyles">) --- */
.aib-modal [hidden]{display:none!important;}
.aib-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:-webkit-fill-available;height:100dvh;max-width:none;max-height:none;border-radius:0;margin:0;padding:0;background:var(--c-gray-50-11, #FDF8F3);display:flex;flex-direction:column;overflow:hidden;}
.aib-modal .modal-close{position:absolute;top:14px;right:16px;z-index:3;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;}
.aib-modal .modal-title{text-align:center;max-width:880px;margin:0 auto;padding:22px 57px 8px;}
.aib-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 20px 80px;padding-bottom:calc(80px + env(safe-area-inset-bottom));}
.aib-scroll>#aibMain{max-width:880px;margin:0 auto;width:100%;}
.aib-balance{background:var(--c-gray-50-11, #FDF8F3);border:2px solid var(--c-violet-50-4, #F0EAF2);color:var(--c-pink-850, #2D1F2D);border-radius:18px;padding:22px;display:grid;grid-template-columns:1fr 1.2fr;gap:18px 24px;align-items:center;}
.aib-balance.aib-balance-solo{grid-template-columns:1fr;justify-items:center;text-align:center;}
.aib-bal-label{font-size:.9rem;color:var(--c-gray-700-2, #5A4A5A);}
.aib-bal-amount{font-family:var(--font-brand,Georgia,serif);font-size:2.6rem;font-weight:700;color:var(--c-pink-800, #3D2E3D);line-height:1.05;margin-top:4px;}
@media(max-width:480px){.aib-bal-amount{font-size:1.9rem;}
}
.aib-bal-split{font-size:.8125rem;color:var(--c-gray-600-4, #6B5A6B);margin-top:4px;}
.aib-topup-title{font-family:var(--font-brand,Georgia,serif);font-size:1.2rem;font-weight:700;margin-bottom:10px;color:var(--c-pink-800, #3D2E3D);}
.aib-topup-row{display:flex;gap:8px;flex-wrap:wrap;}
.aib-input-wrap{position:relative;flex:1;min-width:140px;}
.aib-input-wrap input{width:100%;height:48px;padding:0 34px 0 14px;border:2px solid var(--c-violet-50-4, #F0EAF2);border-radius:12px;font-size:1.05rem;font-weight:600;color:var(--c-pink-850, #2D1F2D);background:var(--c-white, #fff);font-family:inherit;}
.aib-input-wrap input:focus{outline:none;border-color:var(--c-violet-300-4, #B8A4C9);}
.aib-input-wrap span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--c-gray-700-2, #5A4A5A);font-weight:700;}
.aib-btn-topup{height:48px;padding:0 22px;border:none;border-radius:12px;background:var(--c-orange-350, #C9907A);color:var(--c-white, #fff);font-weight:700;font-size:1rem;cursor:pointer;font-family:inherit;}
.aib-btn-topup:hover{filter:brightness(1.05);}
.aib-feedback{margin-top:8px;font-size:.9rem;color:var(--c-gray-700-2, #5A4A5A);min-height:1.1em;}
.aib-feedback.error{color:var(--c-red-550, #c0392b);font-weight:600;}
.aib-topup-note{margin-top:6px;font-size:.78rem;color:var(--c-gray-400, #9b8fa3);line-height:1.4;}
.aib-compare{text-align:center;font-size:.95rem;color:var(--c-gray-700-2, #5A4A5A);line-height:1.45;margin:0 0 14px;}
.aib-compare strong{color:var(--c-orange-350, #C9907A);font-weight:800;}
.aib-modal .modal-title{font-family:var(--font-brand,Georgia,serif);}
.aib-pkgs-title{font-family:var(--font-brand,Georgia,serif);font-weight:700;color:var(--c-pink-800, #3D2E3D);font-size:clamp(1.8rem,3vw,2.2rem);text-align:center;margin:22px 0 0;padding-top:20px;}
.aib-pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:31px;}
.aib-modal .aib-wall-title{font-family:inherit;font-weight:400;color:var(--c-gray-700-2, #5A4A5A);font-size:.9rem;line-height:1.4;text-align:center;margin:28px 0 0;}
.aib-wall-title:not([hidden]) + .aib-pkgs-title{margin-top:4px;padding-top:0;}
.aib-pkg{cursor:pointer;position:relative;border:2px solid var(--c-violet-50-4, #F0EAF2);border-radius:16px;padding:16px 14px;text-align:center;background:var(--c-white, #fff);transition:all .3s ease;display:flex;flex-direction:column;}
.aib-pkg:hover{transform:translateY(-6px);box-shadow:0 22px 55px var(--c-pink-800-a14, rgba(61,46,61,.14));}
.aib-pkg.featured{border-color:var(--c-violet-300-4, #B8A4C9);}
.aib-ribbon{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--c-violet-300-4, #B8A4C9),var(--c-orange-350, #C9907A));color:var(--c-white, #fff);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:50px;white-space:nowrap;}
.aib-pkg-name{font-weight:700;color:var(--c-pink-800, #3D2E3D);margin-bottom:10px;line-height:1.2;}
.aib-pkg-for{font-size:.8rem;color:var(--c-gray-700-2, #5A4A5A);line-height:1.35;margin:0 0 10px;min-height:2.7em;}
.aib-pkg-disc{margin:6px 0 16px;}
.aib-pkg-disc-low{margin:4px 0 4px;}
.aib-pkg-disc-low .aib-disc{font-size:.68rem;font-weight:700;letter-spacing:.5px;padding:3px 10px;line-height:1.2;}
.aib-pkg-price{display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap;line-height:1.15;}
.aib-new{font-size:1.2rem;font-weight:800;color:var(--c-pink-800, #3D2E3D);}
.aib-old{font-size:.9rem;color:var(--c-gray-700-2, #5A4A5A);text-decoration:line-through;opacity:.7;}
.aib-disc{background:var(--c-green-500-3, #7BA05B);color:var(--c-white, #fff);font-size:1.5rem;font-weight:800;padding:4px 16px;border-radius:50px;line-height:1.2;display:inline-block;}
.aib-disc-blank{visibility:hidden;}
.aib-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);max-width:calc(100vw - 32px);box-sizing:border-box;text-align:center;background:var(--gray-800,var(--c-blue-750-3, #2D3748));color:var(--c-white, #fff);padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;line-height:1.35;z-index:100000;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;}
.aib-toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
@media (prefers-reduced-motion:reduce){.aib-toast{transition:none;}
}
.aib-pkgs-sub{text-align:center;font-size:.9rem;color:var(--c-gray-700-2, #5A4A5A);margin-top:6px;}
.aib-pkgs-anchor{text-align:center;font-size:.95rem;color:var(--c-pink-800, #3D2E3D);font-weight:600;margin-top:8px;}
.aib-pkgs-anchor strong{color:var(--c-orange-350, #C9907A);font-weight:800;}
.aib-so-modal{max-width:460px;text-align:center;padding:32px 28px 24px;}
.modal.aib-so-modal{border-radius:20px!important;}
.aib-so-gift{font-size:44px;line-height:1;margin-bottom:8px;}
.aib-so-title{font-family:var(--font-brand,Merriweather,serif);font-size:1.6rem;font-weight:800;color:var(--c-pink-800, #3D2E3D);margin:0 0 6px;}
.aib-so-title-sub{font-weight:400;}
.aib-so-badge{display:inline-block;background:var(--c-green-550-3, #6FA052);color:var(--c-white, #fff);font-weight:800;font-size:2.4rem;border-radius:18px;padding:6px 22px;margin:10px 0 12px;}
.aib-so-sub{color:var(--c-gray-650-2, #5C4A5C);font-size:1rem;line-height:1.45;margin:0 0 18px;}
.aib-so-timer-label{font-size:.9rem;color:var(--c-gray-550-3, #7A6A7A);margin-bottom:6px;}
.aib-so-timer{display:flex;justify-content:center;gap:8px;margin-bottom:20px;}
.aib-so-timer div{background:var(--c-violet-50-6, #F4EEF8);border-radius:12px;min-width:64px;padding:8px 6px;}
.aib-so-timer b{display:block;font-size:1.7rem;font-weight:800;color:var(--c-pink-800, #3D2E3D);font-variant-numeric:tabular-nums;}
.aib-so-timer span{font-size:.72rem;color:var(--c-gray-550-3, #7A6A7A);}
.aib-so-until{font-size:.85rem;color:var(--c-gray-550-3, #7A6A7A);margin:-10px 0 18px;}
.aib-so-go{width:100%;}
.aib-so-no{display:block;margin:12px auto 0;background:none;border:0;color:var(--c-gray-550-3, #7A6A7A);font-size:.9rem;cursor:pointer;text-decoration:underline;}
.aib-newcomer{margin:12px auto 0;max-width:560px;text-align:center;background:var(--c-orange-50-3, #FFF3E6);border:1px solid var(--c-orange-200, #F3CFA8);color:var(--c-orange-750, #7A4A12);border-radius:12px;padding:10px 14px;font-size:.95rem;line-height:1.4;}
.aib-newcomer b{font-weight:800;}
.aib-pkg-save{font-size:1.35rem;font-weight:800;color:var(--c-green-500-3, #7BA05B);margin-top:4px;line-height:1.2;}
.aib-pkg-vol{font-size:1.05rem;font-weight:800;color:var(--c-pink-800, #3D2E3D);margin-top:15px;line-height:1.15;}
.aib-pkg-vol-rec{display:block;font-weight:400;font-size:.8rem;margin-top:1px;line-height:1.2;}
.aib-pkg-vol-sub{font-size:.8rem;color:var(--c-gray-700-2, #5A4A5A);margin-top:1px;line-height:1.2;}
.aib-pkg-renew{font-size:.78rem;color:var(--c-gray-550-3, #7A6A7A);margin-top:2px;}
.aib-pkg-ansprice{font-size:.88rem;color:var(--c-gray-700-2, #5A4A5A);margin:1px 0 19px;}
.aib-pkg-bonus{font-size:.88rem;color:var(--c-gray-700-2, #5A4A5A);margin:1px 0 0;}
.aib-pkg-bonus b{color:var(--c-violet-500-2, #6B46C1);font-weight:700;}
.aib-pkg-bonus-blank{visibility:hidden;}
.aib-pkg-last{margin-bottom:19px;}
.aib-ans-new{font-weight:800;color:var(--c-pink-800, #3D2E3D);font-size:1rem;}
.aib-pkgs-common{text-align:center;max-width:640px;margin:16px auto 0;}
.aib-common-title{font-weight:700;color:var(--c-pink-800, #3D2E3D);font-size:.9rem;margin-bottom:8px;}
.aib-common-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;}
.aib-common-list li{position:relative;padding-left:22px;font-size:.85rem;color:var(--c-pink-850, #2D1F2D);line-height:1.4;text-align:left;}
.aib-common-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--c-green-500-3, #7BA05B);font-weight:800;}
.aib-cancel-sub{display:block;width:100%;margin-top:6px;padding:5px 8px;font-size:.72rem;background:var(--c-gray-50-2, #f0f0f2);color:var(--c-gray-450, #8a8a8a);border:none;border-radius:6px;cursor:pointer;line-height:1.3;}
.aib-cancel-sub:hover{background:var(--c-gray-100-2, #e6e6e9);color:var(--c-gray-600-3, #666);}
.aib-cancel-sub:disabled{opacity:.6;cursor:default;}
.aib-next-charge{margin-top:4px;font-size:.68rem;color:var(--c-gray-450, #8a8a8a);text-align:center;line-height:1.35;}
.aib-payinfo-card{max-width:400px;width:calc(100% - 40px);margin:auto;background:var(--c-white, #fff);border-radius:16px;padding:26px 24px;box-shadow:0 16px 48px var(--c-gray-1000-a24, rgba(0,0,0,.24));text-align:center;box-sizing:border-box;}
.aib-payinfo-title{font-size:1.375rem;font-weight:700;margin:0 0 12px;color:var(--c-gray-800, #2d2d34);font-family:var(--font-brand,Georgia,serif);}
.aib-payinfo-text{font-size:1.1rem;line-height:1.5;color:var(--c-gray-650, #555);margin:0 0 20px;}
.aib-payinfo-ok{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5),var(--c-violet-500-2, #6B46C1));color:var(--c-white, #fff);font-weight:600;font-size:1.15rem;cursor:pointer;}
.aib-payinfo-ok:hover{opacity:.94;}
.aib-payinfo-ok:disabled{opacity:.5;cursor:default;}
.aib-payinfo-check{width:100%;padding:15px;margin:0 0 10px;border:1.5px solid var(--c-violet-400, #805AD5);border-radius:12px;background:var(--c-white, #fff);color:var(--c-violet-400, #805AD5);font-weight:600;font-size:1.15rem;cursor:pointer;}
.aib-payinfo-check:hover:not(:disabled){background:var(--c-gray-50-8, #f6f2ff);}
.aib-payinfo-check:disabled{opacity:.65;cursor:default;}
.aib-payinfo-check.is-loading::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;vertical-align:-2px;border:2px solid var(--c-violet-400, #805AD5);border-top-color:transparent;border-radius:50%;animation:aibSpin .8s linear infinite;}
@keyframes aibSpin{to{transform:rotate(360deg);}
}
.aib-payinfo-note{margin:0 0 12px;color:var(--c-orange-650, #b45309);font-size:1.1rem;line-height:1.45;}
.aib-pending-plate{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:900;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--c-green-700, #1a7f48);border:none;box-shadow:0 6px 20px var(--c-green-700-a28, rgba(26,127,72,.28));font-size:1.05rem;color:var(--c-white, #fff);cursor:pointer;max-width:calc(100% - 32px);}
.aib-pending-plate:hover{background:var(--c-green-750-2, #157040);}
.aib-pending-dot{width:8px;height:8px;border-radius:50%;background:var(--c-white, #fff);flex:none;animation:aibPulse 1.4s ease-in-out infinite;}
.aib-pending-plate.is-checking .aib-pending-dot{width:13px;height:13px;background:transparent;border:2px solid var(--c-white, #fff);border-top-color:transparent;animation:aibSpin .8s linear infinite;}
@keyframes aibPulse{0%,100%{opacity:1;}
50%{opacity:.35;}
}
@media (max-width:768px){.aib-pending-plate{bottom:calc(96px + env(safe-area-inset-bottom,0px));font-size:1rem;}
}
.aib-unbind-row{text-align:center;margin-top:12px;}
.aib-unbind-link{background:var(--c-gray-50-11, #FDF8F3);border:2px solid var(--c-violet-50-4, #F0EAF2);border-radius:50px;padding:12px 26px;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--c-pink-800, #3D2E3D);font-family:inherit;min-height:44px;}
.aib-unbind-link:hover{filter:brightness(.97);}
.aib-btn-pay{width:100%;padding:10px;border:none;border-radius:50px;background:var(--c-pink-800, #3D2E3D);color:var(--c-white, #fff);font-weight:700;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:auto;}
.aib-pkg:hover .aib-btn-pay,.aib-btn-pay:focus-visible{background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5),var(--c-violet-500-2, #6B46C1));}
.aib-btn-pay:hover{filter:brightness(1.08);}
.aib-note{text-align:center;font-size:.82rem;color:var(--c-gray-700-2, #5A4A5A);margin:16px 0 4px;line-height:1.45;}
.aib-back{background:none;border:none;color:var(--c-gray-700-2, #5A4A5A);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:10px;font-family:inherit;}
.aib-pay-summary{background:var(--c-gray-50-11, #FDF8F3);border-radius:14px;padding:14px 16px;margin-bottom:14px;}
.aib-pay-summary .row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.95rem;}
.aib-pay-summary .row span:first-child{color:var(--c-gray-700-2, #5A4A5A);}
.aib-pay-summary .row span:last-child{font-weight:600;color:var(--c-pink-850, #2D1F2D);text-align:right;}
.aib-pay-summary .row.save span:last-child{color:var(--c-green-500-3, #7BA05B);}
.aib-pay-summary .row.total{border-top:1px solid var(--c-violet-50-4, #F0EAF2);margin-top:4px;padding-top:10px;}
.aib-pay-summary .row.total span:last-child{font-size:1.35rem;font-weight:800;color:var(--c-pink-800, #3D2E3D);}
.aib-btn-confirm{width:100%;padding:14px;border:none;border-radius:50px;background:var(--c-pink-800, #3D2E3D);color:var(--c-white, #fff);font-weight:700;font-size:1.05rem;cursor:pointer;font-family:inherit;}
.aib-btn-confirm:hover{filter:brightness(1.08);}
.aib-pay-demo{margin-top:14px;background:var(--c-violet-50-4, #F0EAF2);border-radius:12px;padding:14px;text-align:center;color:var(--c-pink-800, #3D2E3D);line-height:1.5;font-size:.95rem;}
.aib-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:.82rem;color:var(--c-gray-700-2, #5A4A5A);text-align:center;font-weight:700;}
.aib-widget-overlay{position:fixed;inset:0;top:0;right:0;bottom:0;left:0;background:var(--c-pink-850-a55, rgba(45,31,45,.55));display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;}
.aib-widget-modal{position:relative;background:var(--c-white, #fff);border-radius:18px;max-width:480px;width:100%;max-height:calc(100dvh - 48px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 16px 22px;}
.aib-widget-modal .modal-close{position:absolute;top:6px;right:8px;z-index:3;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;background:none;border:none;cursor:pointer;color:var(--c-gray-700-2, #5A4A5A);font-family:inherit;}
.aib-widget-head{font-weight:800;color:var(--c-pink-800, #3D2E3D);font-size:1.05rem;text-align:center;margin:2px 28px 12px;}
#aibPayWidgetBox{min-height:220px;}
.aib-spin{display:inline-block;width:14px;height:14px;border:2px solid var(--c-gray-0-a45, rgba(255,255,255,.45));border-top-color:var(--c-white, #fff);border-radius:50%;vertical-align:-2px;margin-left:8px;animation:aibSpin .7s linear infinite;}
@keyframes aibSpin{to{transform:rotate(360deg);}
}
.aib-success-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%) translateY(-14px);z-index:10001;background:var(--c-white, #fff);border:1px solid var(--c-green-150-2, #cfe9d6);border-left:4px solid var(--c-green-500-3, #7BA05B);border-radius:12px;box-shadow:0 10px 30px var(--c-pink-850-a18, rgba(45,31,45,.18));padding:12px 18px;display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--c-pink-850, #2D1F2D);line-height:1.3;opacity:0;transition:opacity .3s ease,transform .3s ease;max-width:calc(100% - 32px);}
.aib-success-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.aib-success-toast small{color:var(--c-gray-700-2, #5A4A5A);}
.aib-success-ic{width:24px;height:24px;border-radius:50%;background:var(--c-green-500-3, #7BA05B);color:var(--c-white, #fff);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;flex-shrink:0;}
@media (prefers-reduced-motion: reduce){.aib-spin{animation-duration:1.6s;}
.aib-success-toast{transition:none;}
}
@media(max-width:600px){.aib-pkgs{grid-template-columns:1fr;row-gap:28px;}
.aib-btn-topup{width:100%;}
.aib-balance{grid-template-columns:1fr;}
.aib-pkg-for{min-height:0;}
}
.aib-btn-pay{min-height:44px;}
.aib-back{padding:8px 4px;min-height:40px;}
.aib-new,.aib-old{white-space:nowrap;}
@supports not (inset: 0px){.aib-topup-row>*+*{margin-left:8px;}
.aib-bal-right{margin-top:14px;}
.aib-pkg-price>*+*{margin-left:6px;}
.aib-secure>*+*{margin-left:6px;}
}
@media (prefers-reduced-motion: reduce){.aib-modal,.modal{animation:none;}
}

/* --- Отвязка карты (был <style id="ufStyles">) --- */
#unbindFlowModal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--c-gray-1000-a60, rgba(0,0,0,.6));z-index:1001;align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
#unbindFlowModal.show{display:flex;}
#unbindFlowModal .uf-modal{background:var(--c-white, #fff);color:var(--gray-800,var(--c-pink-850, #2D1F2D));border-radius:24px;padding:2.25rem 2rem;max-width:520px;width:100%;position:relative;box-shadow:0 20px 60px var(--c-gray-1000-a30, rgba(0,0,0,.3));margin:auto;max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;font-family:inherit;}
#unbindFlowModal .modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;border-radius:50%;background:var(--primary-bg,var(--c-violet-50-5, #F0EBF8));color:var(--gray-600,var(--c-blue-650-3, #4b5563));font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;z-index:2;padding:0;}
#unbindFlowModal .modal-close[hidden]{display:none;}
#unbindFlowModal .modal-title{font-size:1.2rem;line-height:1.4;font-weight:700;text-align:center;margin:0 40px .3rem;color:var(--gray-800,var(--c-pink-850, #2D1F2D));font-family:inherit;}
#unbindFlowModal .uf-subtitle{font-size:.85rem;text-align:center;margin:0 40px 1rem;color:var(--gray-500,var(--c-gray-550, #6b7280));}
#unbindFlowModal .uf-body{flex:1;min-height:0;overflow:auto;line-height:1.5;}
.uf-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.uf-chip{position:relative;display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;border:2px solid var(--gray-200,var(--c-blue-100-7, #E5E7EB));background:var(--c-white, #fff);font-size:.95rem;font-weight:500;cursor:pointer;min-height:44px;color:var(--gray-800,var(--c-pink-850, #2D1F2D));box-sizing:border-box;}
.uf-chip input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;}
.uf-chip.on{border-color:var(--c-violet-400, #805AD5);background:var(--primary-bg,var(--c-violet-50-5, #F0EBF8));color:var(--c-violet-500-2, #6B46C1);}
.uf-chip:focus-within{box-shadow:0 0 0 4px var(--c-violet-450-a25, rgba(123,106,175,.25));}
.uf-other{display:block;width:100%;box-sizing:border-box;margin-top:12px;min-height:80px;padding:10px 12px;border:2px solid var(--gray-200,var(--c-blue-100-7, #E5E7EB));border-radius:12px;font-family:inherit;font-size:1rem;resize:vertical;}
.uf-other:focus{outline:none;border-color:var(--c-violet-400, #805AD5);}
#unbindFlowModal .modal-buttons{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:1.25rem;}
#unbindFlowModal .btn-modal{appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:12px;padding:.9rem 1.25rem;min-width:140px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.2;cursor:pointer;flex:1 1 auto;box-sizing:border-box;}
#unbindFlowModal .btn-modal:disabled{opacity:.6;cursor:default;}
#unbindFlowModal .btn-modal-primary{background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA) 0%,var(--c-violet-400, #805AD5) 50%,var(--c-violet-500-2, #6B46C1) 100%);color:var(--c-white, #fff);box-shadow:0 4px 15px var(--c-violet-400-a25, rgba(128,90,213,.25));}
#unbindFlowModal .btn-modal-cancel{background:var(--c-white, #fff);color:var(--gray-700,var(--c-blue-750-4, #374151));border-color:var(--gray-300,var(--c-blue-150-3, #D1D5DB));}
.uf-error{color:var(--danger,var(--c-red-550, #c0392b));font-size:.9rem;text-align:center;margin-top:10px;}
.uf-wait{text-align:center;padding:12px 0 4px;}
.uf-wait-title{font-size:1.05rem;font-weight:600;}
.uf-spinner{width:36px;height:36px;margin:18px auto;border:3px solid var(--gray-200,var(--c-blue-100-7, #E5E7EB));border-top-color:var(--c-violet-400, #805AD5);border-radius:50%;animation:ufSpin .9s linear infinite;}
.uf-wait-note{color:var(--gray-500,var(--c-gray-550, #6b7280));font-size:.95rem;}
.uf-ready,.uf-done{text-align:center;padding:4px 0;}
.uf-badge{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--c-green-50, #e7f7ee);color:var(--c-green-700, #1a7f48);margin-bottom:12px;}
.uf-text{font-size:1rem;line-height:1.55;margin:0;color:var(--gray-800,var(--c-pink-850, #2D1F2D));text-align:left;}
.uf-done .uf-text{text-align:center;}
.uf-link{display:block;margin:14px auto 0;background:none;border:none;padding:6px;cursor:pointer;font-family:inherit;font-size:.85rem;color:var(--gray-500,var(--c-gray-550, #6b7280));text-decoration:underline;}
.uf-link:disabled{opacity:.6;cursor:default;}
@keyframes ufSpin{to{transform:rotate(360deg);}
}
@media (prefers-reduced-motion: reduce){.uf-spinner{animation-duration:2s;}
}
@media (max-width:768px){#unbindFlowModal{padding:0;overflow:hidden;}
#unbindFlowModal .uf-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:auto;max-height:none;border-radius:0;margin:0;padding:calc(1.5rem + env(safe-area-inset-top,0px)) 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));}
#unbindFlowModal .modal-title{margin-top:.5rem;}
}
@media (max-width:480px){#unbindFlowModal .modal-buttons{flex-direction:column;align-items:stretch;}
#unbindFlowModal .btn-modal{width:100%;min-width:0;}
}

/* --- Анкета (анамнез) (был <style id="anketaStyles">) --- */
.anketa-modal{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:-webkit-fill-available;height:100dvh;max-height:none;border-radius:0;margin:0;padding:0;background:var(--c-white, #fff);display:flex;flex-direction:column;overflow:hidden;}
.anketa-modal .modal-close{position:absolute;top:14px;right:16px;z-index:3;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;}
.anketa-header{padding:22px 56px 12px;max-width:760px;margin:0 auto;width:100%;box-sizing:border-box;}
.anketa-modal .modal-title{text-align:center;margin:0 0 8px;}
.anketa-hint-lead{color:var(--gray-600,var(--c-gray-600, #5a5a66));font-size:0.95rem;text-align:center;margin:0;line-height:1.5;}
.anketa-hint{color:var(--gray-500,var(--c-gray-450-2, #8a8a99));font-size:0.85rem;margin:0 0 14px;line-height:1.45;}
#anamnesisModal.modal-overlay{overflow:hidden;padding:0;}
.anketa-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 20px 80px;padding-bottom:calc(80px + env(safe-area-inset-bottom));}
.anketa-inner{max-width:760px;margin:0 auto;width:100%;}
.anketa-section-title{font-weight:700;font-size:0.95rem;color:var(--gray-800,var(--c-gray-800-3, #33333d));margin:18px 0 8px;}
.anketa-section-title:first-child{margin-top:0;}
.anketa-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;}
.anketa-field{display:flex;flex-direction:column;gap:4px;}
.anketa-field.full{grid-column:1 / -1;}
.anketa-field label{font-size:0.82rem;font-weight:600;color:var(--gray-700,var(--c-gray-650, #555));}
.anketa-field input,.anketa-field select,.anketa-field textarea{padding:9px 11px;border:1.5px solid var(--gray-200,var(--c-blue-100-5, #e3e3ea));border-radius:9px;font-family:inherit;font-size:0.92rem;background:var(--gray-50,var(--c-gray-0-5, #fafafa));color:var(--gray-900,var(--c-gray-850-2, #222));width:100%;box-sizing:border-box;transition:border-color .2s;}
.anketa-field textarea{min-height:56px;resize:vertical;line-height:1.4;}
.anketa-field input:focus,.anketa-field select:focus,.anketa-field textarea:focus{outline:none;border-color:var(--primary,var(--c-blue-400-4, #5B52E8));}
.anketa-actions{display:flex;align-items:center;gap:12px;margin:18px 0 4px;flex-wrap:wrap;}
.anketa-save-btn{background:var(--primary,var(--c-blue-400-4, #5B52E8));color:var(--c-white, #fff);border:none;border-radius:10px;padding:10px 20px;font-size:0.92rem;font-weight:600;cursor:pointer;transition:opacity .2s;}
.anketa-save-btn:disabled{opacity:.6;cursor:default;}
.anketa-save-status{font-size:0.85rem;color:var(--gray-500,var(--c-gray-450-2, #8a8a99));}
.anketa-save-status.ok{color:var(--c-green-650-2, #2e7d54);}
.anketa-save-status.err{color:var(--c-red-550, #c0392b);}
.anketa-divider{height:1px;background:var(--gray-200,var(--c-blue-100-5, #e3e3ea));margin:22px 0 16px;}
.anketa-subtitle{font-weight:700;font-size:1.05rem;color:var(--gray-800,var(--c-gray-800-3, #33333d));margin:0 0 6px;}
.anamnesis-body{line-height:1.55;}
@media(max-width:600px){.anketa-grid{grid-template-columns:1fr;}
.anketa-header{padding:18px 52px 10px;}
.anketa-field input,.anketa-field select,.anketa-field textarea{font-size:16px;}
}

/* --- Встречи (был <style id="meetingsStyles">) --- */
.meetings-modal{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:-webkit-fill-available;height:100dvh;max-height:none;border-radius:0;margin:0;padding:0;background:var(--c-white, #fff);display:flex;flex-direction:column;overflow:hidden;}
.meetings-modal .modal-close{position:absolute;top:14px;right:16px;z-index:3;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;}
#meetingsModal.modal-overlay{overflow:hidden;padding:0;}
.meetings-header{padding:22px 56px 12px;max-width:760px;margin:0 auto;width:100%;box-sizing:border-box;}
.meetings-modal .modal-title{text-align:center;margin:0 0 8px;}
.meetings-hint-lead{color:var(--gray-600,var(--c-gray-600, #5a5a66));font-size:0.95rem;text-align:center;margin:0;line-height:1.5;}
.meetings-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 20px 80px;padding-bottom:calc(80px + env(safe-area-inset-bottom));}
.meetings-inner{max-width:760px;margin:0 auto;width:100%;}
.meeting-card{border:1.5px solid var(--gray-200,var(--c-blue-100-5, #e3e3ea));border-radius:12px;padding:14px 16px;margin:0 0 14px;background:var(--gray-50,var(--c-gray-0-5, #fafafa));}
.meeting-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px;}
.meeting-card-num{font-weight:700;font-size:0.98rem;color:var(--gray-800,var(--c-gray-800-3, #33333d));}
.meeting-card-dt{font-size:0.82rem;color:var(--gray-500,var(--c-gray-450-2, #8a8a99));}
.meeting-card-badge{font-size:0.72rem;font-weight:600;color:var(--primary,var(--c-blue-400-4, #5B52E8));background:var(--c-blue-400-a10, rgba(91,82,232,.1));border-radius:999px;padding:2px 9px;}
.meeting-card-body{font-size:0.9rem;line-height:1.55;color:var(--gray-700,var(--c-gray-750-2, #444));white-space:pre-wrap;overflow-wrap:anywhere;}
.meeting-card-body.empty{color:var(--gray-400,var(--c-gray-350, #9a9aa5));font-style:italic;}
.meetings-empty{color:var(--gray-500,var(--c-gray-450-2, #8a8a99));text-align:center;padding:34px 12px;line-height:1.5;}
@media(max-width:600px){.meetings-header{padding:18px 52px 10px;}
}

/* --- Удаление аккаунта (был <style id="deleteAccountStyles">) --- */
.da-note{color:var(--c-gray-700-2, #5A4A5A);font-size:1rem;line-height:1.5;margin:0 0 0.75rem;text-align:center;}
.da-warn{color:var(--c-gray-700-2, #5A4A5A);font-size:0.92rem;line-height:1.45;margin:0 0 1.25rem;text-align:center;}
.da-hint{color:var(--c-pink-850, #2D1F2D);font-size:0.98rem;margin:0 0 0.6rem;text-align:center;}
.da-hint b{color:var(--c-pink-850, #2D1F2D);}
.da-input{width:100%;height:48px;padding:0 14px;border:2px solid var(--c-violet-50-4, #F0EAF2);border-radius:12px;font-size:1.05rem;font-weight:600;color:var(--c-pink-850, #2D1F2D);background:var(--c-white, #fff);font-family:inherit;text-align:center;}
.da-input:focus{outline:none;border-color:var(--c-violet-300-4, #B8A4C9);}
.da-error{color:var(--c-red-450, #E53935);font-size:0.9rem;min-height:1.2em;margin:0.5rem 0 0;text-align:center;}
.modal .modal-buttons .btn-modal[disabled]{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;}

/* --- Разметка движка: бывшие встроенные стили (06.10.2026) --- */
/* Раньше эти объявления стояли в style="…" разметки, которую собирает движок, и в el.style.* кода.
   Значения перенесены как были. Встроенный стиль сильнее любого правила, поэтому у селекторов запас
   специфичности (id окна или класс + класс/тег): класс обязан побеждать те же соседние правила
   (chat.css, index.css, <style> лендингов), которые побеждал встроенный стиль.
   В коде остались только вычисляемые значения (ширина полосы, высота волны, цвет точки из данных,
   положение ползунка) и поведение: показ/скрытие, положение и слой всплывашек, их анимация. */

/* Аватар ассистента в сообщении */
.message-logo.eng-avatar{border-radius:50%;object-fit:cover;}

/* Код подключения бота MAX: контейнеры (крючок в чате, окно «всегда рядом», вход через мессенджер) */
.eng-code-box[data-bot-code-box]{font-size:0.8125rem;color:var(--c-blue-650, #3a5a70);}
.eng-code-box--hook[data-bot-code-box]{margin-top:6px;}
.eng-code-box--near[data-bot-code-box]{margin-top:12px;text-align:left;}
#msgrLoginBlock .eng-msgr-status{font-size:14px;color:var(--c-blue-650, #3a5a70);text-align:center;}
/* Сам код (botLinkCodeHtml): 6 цифр — крупно и с разрядкой, иначе — мелко с переносом */
code.eng-bot-code{user-select:all;word-break:break-all;background:var(--gray-100,var(--c-blue-50-7, #f3f4f6));padding:2px 6px;border-radius:6px;}
code.eng-bot-code--big{display:inline-block;user-select:all;font-size:1.75rem;font-weight:700;letter-spacing:0.25em;font-variant-numeric:tabular-nums;background:var(--gray-100,var(--c-blue-50-7, #f3f4f6));padding:6px 12px;border-radius:10px;margin-top:6px;}
.eng-code-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.btn-modal.eng-btn-sm{padding:5px 12px;border-radius:8px;font-size:0.8125rem;}
.btn-modal.eng-btn-sm.eng-btn-nodeco{text-decoration:none;}

/* Подтверждение слияния с ботом (?bot_merge=) */
#botMergeConfirmModal .eng-merge-lead{margin:0 0 10px;}
#botMergeConfirmModal .eng-merge-warn{margin:0 0 14px;}

/* Окно «Отличная работа» после шкалы SUDS */
.scale-result-actions.eng-suds-actions{justify-content:center;margin-top:14px;}

/* Отладочная панель микрофона (?micdebug); положение и слой — в коде */
#micDebugPanel.eng-mic-debug{padding:10px 12px;margin:0;border-radius:12px;background:var(--c-gray-1000-a80, rgba(0,0,0,0.80));color:var(--c-white, #fff);font-size:12px;line-height:1.35;white-space:pre-wrap;word-break:break-word;box-shadow:0 10px 40px var(--c-gray-1000-a35, rgba(0,0,0,0.35));}

/* Всплывашки сверху по центру. Положение, слой, display и анимация появления — в коде */
#loginSuccessToast.eng-toast-login{background:linear-gradient(135deg,var(--c-green-500, #48BB78),var(--c-green-550, #38A169));color:var(--c-white, #fff);padding:0.85rem 1.4rem;border-radius:10px;font-size:0.95rem;font-weight:600;box-shadow:0 8px 24px var(--c-green-550-a35, rgba(56,161,105,0.35));max-width:calc(100vw - 32px);align-items:center;gap:8px;text-align:center;}
#anketaUpdatedToast.eng-toast-anketa{background:linear-gradient(135deg,var(--c-green-500, #48BB78),var(--c-green-550, #38A169));color:var(--c-white, #fff);padding:0.7rem 0.8rem 0.7rem 1.1rem;border-radius:12px;font-size:0.95rem;font-weight:600;box-shadow:0 8px 24px var(--c-green-550-a35, rgba(56,161,105,0.35));max-width:calc(100vw - 32px);align-items:center;gap:10px;}
#loginSuccessToast .eng-toast-check,#anketaUpdatedToast .eng-toast-check{font-weight:700;}
#anketaUpdatedToast .eng-toast-btn{flex-shrink:0;background:var(--c-gray-0-a22, rgba(255,255,255,0.22));color:var(--c-white, #fff);border:1px solid var(--c-gray-0-a55, rgba(255,255,255,0.55));border-radius:8px;padding:0.35rem 0.75rem;font-size:0.9rem;font-weight:600;cursor:pointer;white-space:nowrap;line-height:1.2;}
body > .eng-toast-deleted{background:var(--c-pink-850, #2D1F2D);color:var(--c-white, #fff);padding:0.85rem 1.4rem;border-radius:10px;font-size:0.95rem;font-weight:600;box-shadow:0 8px 24px var(--c-pink-850-a35, rgba(45,31,45,0.35));max-width:calc(100vw - 32px);text-align:center;}

/* Окно входа: строки про бонус и про прошедшую оплату (внутри .bonus-banner) */
.bonus-banner p.eng-green-line{margin-top:10px;color:var(--c-green-700, #1a7f48);font-weight:700;}
/* Ошибка VK ID: «Войти другим способом» — ссылка-кнопка в тексте ошибки */
#vkIdError .eng-link-btn{background:none;border:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;}
/* Вход по логину: панель «Аккаунт создан» */
#laSuccessPanel .eng-la-title{font-weight:700;margin-bottom:8px;}
#laSuccessPanel .la-gen-row.eng-la-row{display:flex;}

/* Окно «Аккаунт» (#profileModal) */
#profileModal .eng-p-body{overflow:auto;line-height:1.5;}
#profileModal .eng-p-muted{color:var(--gray-500,var(--c-gray-550, #6b7280));}
#profileModal .eng-p-err{color:var(--c-red-550, #c0392b);}
#profileModal .eng-p-small{font-size:0.75rem;}
#profileModal .eng-p-section{font-size:0.8125rem;font-weight:700;color:var(--gray-600,var(--c-blue-650-3, #4b5563));}
#profileModal .eng-p-section--login{margin:6px 0 0;}
#profileModal .eng-p-section--bots{margin:10px 0 0;}
#profileModal .eng-p-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--gray-100,var(--c-gray-50, #eee));}
#profileModal .eng-p-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;}
#profileModal .eng-p-dot-blank{width:10px;height:10px;flex:0 0 auto;}
#profileModal .eng-p-label{font-weight:500;}
#profileModal .eng-p-label-sub{display:block;font-weight:400;font-size:0.75rem;color:var(--gray-500,var(--c-gray-550, #6b7280));}
#profileModal .eng-p-badge{margin-left:auto;font-size:0.75rem;color:var(--c-green-700, #1a7f48);background:var(--c-green-50, #e7f7ee);padding:2px 8px;border-radius:999px;}
/* Компактные кнопки блока мессенджеров: .btn-modal на телефоне растягивается на всю ширину
   (min-width 140px / width 100%) и сжимал бы подпись «подключён с …» в столбик. */
#profileModal .btn-modal.eng-p-bot-btn{width:auto;min-width:0;flex:0 0 auto;white-space:nowrap;border-radius:8px;font-size:0.8125rem;}
#profileModal .btn-modal.eng-p-bot-btn--row{margin-left:auto;padding:5px 12px;}
#profileModal .btn-modal.eng-p-bot-btn--confirm{padding:6px 14px;}
#profileModal .eng-p-codebox{font-size:0.8125rem;color:var(--gray-600,var(--c-blue-650-3, #4b5563));margin:0 0 8px;}
#profileModal .eng-p-unlinkbox{font-size:0.8125rem;color:var(--gray-600,var(--c-blue-650-3, #4b5563));margin:0 0 10px;}
#profileModal .eng-p-unlink-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
#profileModal .eng-p-unlink-err{color:var(--c-red-550, #c0392b);margin-top:6px;}
#profileModal .eng-p-pwd-note{font-size:0.8125rem;color:var(--c-orange-750-2, #7A5A00);background:var(--c-orange-50-4, #FFF7E6);border-radius:10px;padding:10px 12px;margin:8px 0;}
#profileModal .eng-p-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--gray-100,var(--c-gray-50, #eee));}
#profileModal .eng-p-kv-val{text-align:right;font-weight:500;}
#profileModal .eng-p-status{display:inline-flex;align-items:center;gap:6px;font-size:0.8125rem;font-weight:600;padding:4px 10px;border-radius:999px;margin-bottom:14px;}
#profileModal .eng-p-status--reg{background:var(--c-green-50, #e7f7ee);color:var(--c-green-700, #1a7f48);}
#profileModal .eng-p-status--guest{background:var(--gray-100,var(--c-gray-50-4, #f1f1f1));color:var(--gray-500,var(--c-gray-550, #6b7280));}
#profileModal .eng-p-pw-btn{margin-left:auto;background:none;border:1px solid var(--gray-200,var(--c-gray-150-2, #ddd));border-radius:8px;padding:4px 10px;cursor:pointer;font-size:0.75rem;color:var(--gray-600,var(--c-blue-650-3, #4b5563));}
#profileModal .eng-p-pw-note{font-size:0.6875rem;color:var(--gray-400,var(--c-gray-350-2, #9ca3af));padding:2px 0 0 20px;}
#profileModal .eng-p-warn{background:var(--c-orange-50-4, #FFF7E6);border:1px solid var(--c-orange-200-2, #F5D9A6);border-radius:10px;padding:10px 12px;margin-top:8px;font-size:0.8125rem;color:var(--c-orange-750-2, #7A5A00);}
#profileModal .eng-p-warn-actions{margin-top:8px;}
#profileModal .btn-modal.eng-p-warn-btn{padding:7px 14px;border-radius:8px;font-size:0.8125rem;}
#profileModal .eng-p-guest{background:var(--primary-bg,var(--c-violet-50-5, #F0EBF8));border-radius:12px;padding:14px;margin:6px 0;}
#profileModal .eng-p-guest-title{font-weight:600;margin-bottom:6px;}
#profileModal .eng-p-guest-text{color:var(--gray-500,var(--c-gray-550, #6b7280));font-size:0.875rem;margin-bottom:12px;}
#profileModal .btn-modal.eng-p-guest-btn{padding:9px 16px;border-radius:10px;font-size:0.9375rem;}
#profileModal .eng-p-bal{display:flex;align-items:center;gap:10px;}
#profileModal .btn-modal.eng-p-buy-btn{padding:6px 14px;border-radius:8px;font-size:0.8125rem;}
#profileModal .eng-p-block{padding:12px 0;border-top:1px solid var(--gray-100,var(--c-gray-50, #eee));}
#profileModal .eng-p-kv-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;}
#profileModal .eng-p-subline{font-size:0.75rem;color:var(--gray-500,var(--c-gray-550, #6b7280));margin-top:2px;}
#profileModal .eng-p-link-btn{background:none;border:none;padding:6px 0 0;cursor:pointer;font-size:0.8125rem;color:var(--gray-500,var(--c-gray-550, #6b7280));text-decoration:underline;}
/* Тумблер «Озвучивать автоматически»: чекбокс невидим, но занимает всю площадь тумблера.
   Цвет дорожки — класс --on (переключает profileToggleTtsAutoplay), сдвиг ползунка — в коде. */
#profileModal .eng-p-switch{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;cursor:pointer;}
#profileModal .eng-p-switch--off{opacity:.5;cursor:not-allowed;}
#profileModal .eng-p-switch-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;}
#profileModal .eng-p-switch-input--off{cursor:not-allowed;}
#profileModal .eng-p-track{pointer-events:none;width:42px;height:24px;border-radius:999px;transition:background .2s;display:inline-block;background:var(--gray-300,var(--c-blue-150-2, #CBD5E0));}
#profileModal .eng-p-track--on{background:var(--c-violet-400, #805AD5);}
#profileModal .eng-p-knob{pointer-events:none;position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--c-white, #fff);transition:transform .2s;}
#profileModal .eng-p-danger{padding:14px 0 2px;border-top:1px solid var(--gray-100,var(--c-gray-50, #eee));margin-top:4px;}
#profileModal .eng-p-danger-btn{background:none;border:none;padding:0;cursor:pointer;font-size:0.8125rem;color:var(--danger,var(--c-red-450, #E53935));text-decoration:underline;}
#profileModal .eng-p-danger-note{font-size:0.75rem;color:var(--gray-500,var(--c-gray-550, #6b7280));margin-top:4px;}

/* Витрина пакетов: напоминание «вход только по логину» (показ/скрытие — style.display в коде) */
.aib-login-only-note.eng-aib-login-note{background:var(--c-orange-50-4, #FFF7E6);border:1px solid var(--c-orange-200-2, #F5D9A6);color:var(--c-orange-750-2, #7A5A00);border-radius:12px;padding:12px 14px;margin:12px 0;font-size:.875rem;}

/* Анамнез в окне «Моя анкета» */
#anamnesisBody .eng-a-muted{color:var(--gray-500);}
#anamnesisBody .eng-a-upd{color:var(--gray-400);font-size:0.8125rem;margin-top:14px;}
#anamnesisBody .eng-a-err{color:var(--c-red-550, #c0392b);}

/* Главная: тень навигации при прокрутке (класс ставит initNavbarScrollEffect) */
nav.eng-nav-scrolled{box-shadow:0 2px 20px var(--c-gray-1000-a10, rgba(0,0,0,0.1));}
nav.eng-nav-top{box-shadow:none;}

/* Плашка «Вышло обновление сайта». Положение, слой и display — в коде */
#appVersionNotice.eng-vn{width:min(92vw,520px);box-sizing:border-box;align-items:center;gap:10px;flex-wrap:wrap;background:var(--c-white, #FFFFFF);color:var(--c-pink-800, #3D2E3D);padding:10px 14px;border-radius:12px;border:1px solid var(--c-violet-100-2, #E9E1EE);box-shadow:0 8px 24px var(--c-pink-800-a18, rgba(61,46,61,0.18));font-size:0.9rem;line-height:1.35;padding-top:calc(10px + env(safe-area-inset-top,0px));}
#appVersionNotice .eng-vn-text{flex:1 1 200px;}
#appVersionNotice .eng-vn-actions{display:flex;align-items:center;gap:4px;margin-left:auto;}
#appVersionNotice .eng-vn-later{border:0;background:transparent;cursor:pointer;color:var(--c-gray-500, #8A7B8A);font-size:0.85rem;padding:7px 8px;}
#appVersionNotice .eng-vn-reload{border:0;cursor:pointer;color:var(--c-white, #fff);font-weight:600;font-size:0.88rem;padding:7px 14px;border-radius:9px;background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5),var(--c-violet-500-2, #6B46C1));}

/* Окно «Страница устарела» перед оплатой. Положение, слой и display — в коде */
#appVersionBlock.eng-vb{background:var(--c-pink-800-a55, rgba(61,46,61,0.55));align-items:center;justify-content:center;padding:16px;}
#appVersionBlock .eng-vb-card{background:var(--c-white, #fff);border-radius:16px;max-width:380px;width:100%;padding:24px;box-shadow:0 20px 50px var(--c-pink-800-a35, rgba(61,46,61,0.35));text-align:center;font-size:0.95rem;color:var(--c-pink-800, #3D2E3D);}
#appVersionBlock .eng-vb-title{font-size:1.15rem;font-weight:700;margin-bottom:10px;}
#appVersionBlock .eng-vb-text{line-height:1.5;color:var(--c-gray-600-5, #6B5B6B);}
#appVersionBlock .eng-vb-reload{margin-top:18px;border:0;cursor:pointer;color:var(--c-white, #fff);font-weight:600;font-size:0.95rem;padding:12px 22px;border-radius:10px;width:100%;background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5),var(--c-violet-500-2, #6B46C1));}
#appVersionBlock .eng-vb-close{margin-top:8px;border:0;background:transparent;cursor:pointer;color:var(--c-gray-500, #8A7B8A);font-size:0.9rem;padding:8px;width:100%;}

/* --- Цвета, которые раньше были вписаны в код движка (06.10.2026) --- */
/* Конфетти после снижения тревоги (SUDS): цвет по номеру. */
.suds-confetti--1{background:var(--c-violet-300-3, #9F7AEA);}
.suds-confetti--2{background:var(--c-violet-400, #805AD5);}
.suds-confetti--3{background:var(--c-orange-350-2, #F6AD55);}
.suds-confetti--4{background:var(--c-green-400, #68D391);}
.suds-confetti--5{background:var(--c-blue-350-3, #63B3ED);}
.suds-confetti--6{background:var(--c-pink-250-2, #F687B3);}
/* Точки способов входа и ботов в окне «Аккаунт»: цвета сервисов. */
#profileModal .eng-p-dot.eng-p-dot--telegram{background:var(--c-ext-telegram, #2AABEE);}
#profileModal .eng-p-dot.eng-p-dot--vk{background:var(--c-ext-vk, #0077FF);}
#profileModal .eng-p-dot.eng-p-dot--yandex{background:var(--c-ext-yandex, #FC3F1D);}
#profileModal .eng-p-dot.eng-p-dot--google{background:var(--c-ext-google, #4285F4);}
#profileModal .eng-p-dot.eng-p-dot--email{background:var(--c-gray-550, #6b7280);}
#profileModal .eng-p-dot.eng-p-dot--login{background:var(--c-violet-400, #805AD5);}
#profileModal .eng-p-dot.eng-p-dot--max{background:var(--c-ext-max, #5B3FFF);}
/* Волна записи голоса: библиотека рисует сама, код читает цвет отсюда (cssVar). */
:root{--voice-wave:var(--c-blue-300, rgb(138, 119, 237));}

/* --- Блоки, которые рисует движок: хвост мобильного меню и заголовок окна входа (06.10.2026) ---
   Разметку хвоста (кабинет/вход/помощники) дорисовывает движок на любой странице с #mobileMenu, поэтому и
   правила показа «гостю — навигация, вошедшему — кабинет» живут здесь, а не в index-page.css (его
   подключали не все страницы — у /tarify гость видел пункты кабинета). */
.mobile-nav-account-links{display:none;}
.mobile-menu--authed .mobile-nav-guest-links{display:none;}
.mobile-menu--authed .mobile-nav-account-links{display:flex;}
h3.reg-title{text-align:center;}

/* --- Экран блокировки мобильного приложения (был <style> из native-app.js) --- */
.vera-lock-overlay{position:fixed;inset:0;z-index:99999;background:var(--c-gray-50-9, #F7F4FC);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;font-family:-apple-system,"Segoe UI",Roboto,sans-serif}
.vera-lock-brand{font-size:2rem;font-weight:700;color:var(--c-violet-500-2, #6B46C1)}
.vera-lock-text{color:var(--c-blue-650-2, #4A5568);font-size:1rem}
.vera-lock-btn{padding:.875rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;color:var(--c-white, #fff);cursor:pointer;background:linear-gradient(135deg,var(--c-violet-300-3, #9F7AEA),var(--c-violet-400, #805AD5),var(--c-violet-500-2, #6B46C1))}
