
        /* Auth Modal */
        .auth-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.7);
            z-index: 10000;
            justify-content: center;
            align-items: center;
            backdrop-filter: blur(4px);
        }
        .auth-modal-overlay.active {
            display: flex;
        }
        .auth-modal {
            background: #fff;
            border-radius: 16px;
            padding: 40px;
            max-width: 420px;
            width: 90%;
            position: relative;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            text-align: center;
        }
        .auth-modal-close {
            position: absolute;
            top: 12px;
            right: 16px;
            background: none;
            border: none;
            font-size: 28px;
            color: #000000;
            cursor: pointer;
            transition: color 0.2s;
        }
        .auth-modal-close:hover {
            color: #000000;
        }
        .auth-modal-title {
            font-family: 'Oranienbaum', serif;
            font-size: 1.8rem;
            color: #000000;
            margin-bottom: 24px;
        }
        .auth-modal-subtitle {
            font-size: 0.95rem;
            color: #000000;
            margin: 0 0 20px;
            line-height: 1.4;
            text-align: center;
        }
        .auth-modal-email-form {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .auth-modal-email-input {
            width: 100%;
            padding: 14px 16px;
            font-size: 1rem;
            border: 1px solid rgba(67, 29, 40, 0.2);
            border-radius: 10px;
            outline: none;
            background: #fff;
            color: #000000;
            transition: border-color 0.2s, box-shadow 0.2s;
            box-sizing: border-box;
        }
        .auth-modal-email-input:focus {
            border-color: #431d28;
            box-shadow: 0 0 0 3px rgba(67, 29, 40, 0.1);
        }
        .auth-modal-email-submit {
            width: 100%;
            padding: 14px 24px;
            background: linear-gradient(135deg, #431d28, #5a2e3d);
            color: white;
            border: none;
            border-radius: 12px;
            font-size: 1.1rem;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s;
            box-shadow: 0 4px 15px rgba(67, 29, 40, 0.25);
        }
        .auth-modal-email-submit:hover:not(:disabled) {
            transform: translateY(-1px);
            box-shadow: 0 6px 20px rgba(67, 29, 40, 0.35);
        }
        .auth-modal-email-submit:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        .auth-modal-email-error {
            margin-top: 12px;
            padding: 10px 14px;
            background: rgba(220, 53, 69, 0.1);
            border: 1px solid rgba(220, 53, 69, 0.3);
            color: #dc3545;
            border-radius: 8px;
            font-size: 0.9rem;
            text-align: center;
        }
        .auth-modal-email-success {
            margin-top: 16px;
            padding: 20px;
            background: rgba(67, 29, 40, 0.05);
            border-radius: 12px;
            text-align: center;
        }
        .auth-modal-email-success-title {
            font-size: 1.1rem;
            font-weight: 600;
            color: #000000;
            margin: 0 0 8px;
        }
        .auth-modal-email-success-text {
            font-family: 'Oranienbaum', serif;
            font-size: 1.25rem;
            color: #000000;
            margin: 0;
            line-height: 1.4;
        }
        .auth-modal-email-success-spam {
            font-family: 'Oranienbaum', serif;
            font-style: italic;
            font-size: 1.2rem;
            color: #d92020;
            font-weight: 600;
            margin: 0 0 6px;
            line-height: 1.3;
        }
        .auth-modal-email-success-email {
            margin: 0 0 8px;
        }
        .auth-modal-email-success-email strong {
            font-family: 'Oranienbaum', serif;
            font-size: 1.2rem;
            color: #000000;
            font-weight: 500;
            word-break: break-all;
        }
        .auth-modal-email-success-hint {
            font-family: 'Oranienbaum', serif;
            font-style: italic;
            font-size: 1.05rem;
            color: #431d28;
            margin: 0 0 14px;
        }
        .auth-modal-email-retry {
            padding: 8px 20px;
            background: transparent;
            color: #431d28;
            border: 1px solid #431d28;
            border-radius: 8px;
            font-size: 0.9rem;
            cursor: pointer;
            transition: background 0.2s;
        }
        .auth-modal-email-retry:hover {
            background: rgba(67, 29, 40, 0.08);
        }

        /* === Invite Button & Modal === */
        .btn-invite {
            display: inline-block;
            background: transparent;
            color: #ffd700;
            padding: 9px 22px;
            border-radius: 30px;
            text-decoration: none;
            font-family: 'Oranienbaum', serif;
            font-style: italic;
            font-size: 1.05rem;
            letter-spacing: 0.5px;
            border: 1.5px solid #ffd700;
            cursor: pointer;
            transition: all 0.25s ease;
            margin-top: 14px;
            line-height: 1.2;
            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
        }
        .btn-invite:hover {
            background: rgba(255, 215, 0, 0.14);
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(255, 215, 0, 0.5);
        }
        .btn-invite::before {
            content: "";
            display: inline-block;
            width: 20px;
            height: 16px;
            margin-right: 8px;
            vertical-align: -3px;
            /* СИ 27.08 T1375: белый цвет (было %23ffd700 жёлтый). */
            background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m2 7 10 7 10-7'/></svg>");
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
        }

        /* Золотая заливная версия — для блока после карусели */
        .btn-invite-solid {
            background: linear-gradient(135deg, #ffe066 0%, #ffd700 50%, #e6b800 100%);
            color: #000000;
            border: 1.5px solid #e6b800;
            font-weight: 700;
            font-style: normal;
            text-shadow: none;
            box-shadow: 0 4px 16px rgba(255, 215, 0, 0.5);
        }
        .btn-invite-solid:hover {
            background: linear-gradient(135deg, #fff080 0%, #ffe033 50%, #f0c200 100%);
            box-shadow: 0 6px 24px rgba(255, 215, 0, 0.7);
        }
        .btn-invite-solid::before {
            background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m2 7 10 7 10-7'/></svg>");
        }

        /* T1278 — Embed «Забрать к себе» (лаб-лендинг: клон стилей из landing.html) */
        .hero-cta-row {
            display: inline-flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
            row-gap: 10px;
        }
        /* Иконки Apple (bootstrap) + Android (Material Bugdroid — полный робот
           с антеннами, руками, ножками) для кнопки «Установить приложение».
           Через mask-image + background-color: в тон конвертика соседней
           кнопки — белые на бордовой, чёрные на solid. */
        .btn-embed::before {
            content: "";
            display: inline-block;
            width: 44px;
            height: 22px;
            margin-right: 8px;
            vertical-align: -5px;
            background-color: #ffffff;
            background-image: none;
            -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 22'><g transform='translate(0,3)'><path d='M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z'/></g><g transform='translate(20,0) scale(0.917)'><path d='M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.55 0 1-.45 1-1V8H6v10zM3.5 8C2.67 8 2 8.67 2 9.5v7c0 .83.67 1.5 1.5 1.5S5 17.33 5 16.5v-7C5 8.67 4.33 8 3.5 8zm17 0c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5zm-4.97-5.84l1.3-1.3c.2-.2.2-.51 0-.71-.2-.2-.51-.2-.71 0l-1.48 1.48C13.85 1.23 12.95 1 12 1c-.96 0-1.86.23-2.66.63L7.85.15c-.2-.2-.51-.2-.71 0-.2.2-.2.51 0 .71l1.31 1.31C6.97 3.26 6 5.01 6 7h12c0-1.99-.97-3.75-2.47-4.84zM10 5H9V4h1v1zm5 0h-1V4h1v1z'/></g></svg>");
                    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 22'><g transform='translate(0,3)'><path d='M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z'/></g><g transform='translate(20,0) scale(0.917)'><path d='M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.55 0 1-.45 1-1V8H6v10zM3.5 8C2.67 8 2 8.67 2 9.5v7c0 .83.67 1.5 1.5 1.5S5 17.33 5 16.5v-7C5 8.67 4.33 8 3.5 8zm17 0c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5zm-4.97-5.84l1.3-1.3c.2-.2.2-.51 0-.71-.2-.2-.51-.2-.71 0l-1.48 1.48C13.85 1.23 12.95 1 12 1c-.96 0-1.86.23-2.66.63L7.85.15c-.2-.2-.51-.2-.71 0-.2.2-.2.51 0 .71l1.31 1.31C6.97 3.26 6 5.01 6 7h12c0-1.99-.97-3.75-2.47-4.84zM10 5H9V4h1v1zm5 0h-1V4h1v1z'/></g></svg>");
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
        }
        /* На золотой solid-кнопке — чёрные, как чёрный конвертик рядом. */
        .btn-invite-solid.btn-embed::before {
            background-color: #000000;
        }
        .embed-widget-modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.78); z-index: 10001; justify-content: center; align-items: flex-start; padding: 40px 16px; overflow-y: auto; backdrop-filter: blur(4px); }
        .embed-widget-modal.open { display: flex; }
        .embed-widget-modal__card { background: #fdfaf3; color: #2a1418; border-radius: 14px; max-width: 520px; width: 100%; padding: 20px 20px 16px; position: relative; box-shadow: 0 24px 72px rgba(0,0,0,.5); }
        .embed-widget-modal__close { position: absolute; top: 4px; right: 10px; width: 32px; height: 32px; background: none; border: none; font-size: 26px; line-height: 1; color: #431d28; cursor: pointer; }
        .embed-widget-modal__title { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; margin: 0 0 4px; color: #431d28; }
        .embed-widget-modal__subtitle { font-size: .85rem; color: #5a3038; margin: 0 0 14px; line-height: 1.35; }
        .embed-snippet { border: 1px solid rgba(67,29,40,.12); border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; background: #fff; position: relative; }
        .embed-snippet__label { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-weight: 700; color: #431d28; margin-bottom: 6px; }
        .embed-snippet__preview { text-align: center; padding: 8px 6px; background: #f2ede1; border-radius: 6px; margin-bottom: 6px; }
        .embed-snippet__preview img { max-width: 100%; height: auto; vertical-align: middle; }
        .embed-snippet__preview iframe { border: 0; max-width: 100%; }
        .embed-snippet__preview a { color: #431d28; text-decoration: underline; font-size: .95rem; }
        .embed-snippet__code-wrap { position: relative; }
        .embed-snippet__code { display: block; background: #141414; color: #f2e6c8; font-family: 'SFMono-Regular', Menlo, Consolas, monospace; font-size: .72rem; line-height: 1.4; padding: 10px 40px 10px 12px; border-radius: 6px; white-space: pre-wrap; word-break: break-all; max-height: 110px; overflow-y: auto; margin: 0; }
        .embed-snippet__copy-icon { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border-radius: 6px; background: rgba(255,215,0,.15); border: 1px solid rgba(255,215,0,.4); color: #ffd700; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s ease, transform .15s ease; padding: 0; }
        .embed-snippet__copy-icon:hover { background: rgba(255,215,0,.3); transform: translateY(-1px); }
        .embed-snippet__copy-icon svg { width: 16px; height: 16px; }
        .embed-snippet__copy-icon.copied { background: rgba(76,175,80,.6); border-color: #4caf50; color: #fff; }
        .embed-widget-modal__hint { font-size: .75rem; color: #6a4048; text-align: center; margin: 6px 0 0; line-height: 1.35; }
        [dir="rtl"] .embed-snippet__code { direction: ltr; text-align: left; }

        /* СИ 27.08 T1375: табы «Как приложение» / «На свой сайт» */
        .install-tabs { display: flex; gap: 6px; margin: 8px 0 14px; border-bottom: 1px solid rgba(67,29,40,.15); }
        .install-tab { flex: 1; background: none; border: none; padding: 10px 8px; font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-weight: 600; color: #7a4a55; cursor: pointer; border-bottom: 2px solid transparent; transition: color .15s ease, border-color .15s ease; }
        .install-tab:hover { color: #431d28; }
        .install-tab--active { color: #431d28; border-bottom-color: #d4af37; }
        .install-panel { display: none; }
        .install-panel--active { display: block; }
        .install-panel__intro { font-size: .82rem; color: #5a3038; margin: 0 0 12px; line-height: 1.4; text-align: center; }
        .install-panel__hint { font-size: .72rem; color: #6a4048; text-align: center; margin: 12px 0 0; line-height: 1.4; font-style: italic; }
        .install-card { border: 1px solid rgba(67,29,40,.12); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; background: #fff; }
        .install-card__head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
        .install-card__ico { font-size: 1.1rem; }
        .install-card__title { font-family: 'Cormorant Garamond', serif; font-weight: 700; font-size: 1rem; color: #431d28; }
        .install-card__steps { margin: 0; padding-left: 22px; font-size: .8rem; color: #431d28; line-height: 1.45; }
        .install-card__steps li { margin-bottom: 2px; }
        /* Активная кнопка «Установить сейчас» — работает через beforeinstallprompt.
           Появляется только если браузер поддерживает (Chrome/Edge/Opera на Android
           и десктопе). В остальных случаях hidden. */
        .install-btn-primary {
            display: block; width: 100%;
            padding: 12px 16px; margin: 0 0 14px;
            background: linear-gradient(135deg, #ffe066 0%, #ffd700 50%, #e6b800 100%);
            color: #000; border: 1.5px solid #e6b800; border-radius: 10px;
            font-family: 'Cormorant Garamond', serif; font-weight: 700; font-size: 1.05rem;
            cursor: pointer; box-shadow: 0 4px 16px rgba(255,215,0,.45);
            transition: transform .15s ease, box-shadow .15s ease;
        }
        .install-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 6px 22px rgba(255,215,0,.65); }
        .install-btn-primary[hidden] { display: none; }
        /* Переключатель платформ — по умолчанию выбирается по User-Agent. */
        .platform-picker { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; justify-content: center; }
        .platform-btn { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid rgba(67,29,40,.15); border-radius: 999px; padding: 6px 12px; font-family: 'Inter', sans-serif; font-size: .82rem; color: #431d28; cursor: pointer; transition: all .15s ease; }
        .platform-btn:hover { border-color: #d4af37; }
        .platform-btn[aria-selected="true"] { background: #431d28; color: #fdfaf3; border-color: #431d28; }
        .platform-btn__ico { width: 16px; height: 16px; display: block; }
        .platform-card { display: none; }
        .platform-card--active { display: block; }

        @media (max-width: 768px) {
            .auth-modal { padding: 30px 24px; }
            .embed-widget-modal { padding: 20px 8px; }
            .embed-widget-modal__card { padding: 20px 16px 14px; }
        }
    