(function () {
    // Находим все контейнеры для embed
    const containers = document.querySelectorAll('.avatiah-components-embed');
    if (containers.length === 0) return;

    // Загружаем стили один раз
    if (!document.getElementById('avatiah-components-styles')) {
        const style = document.createElement('style');
        style.id = 'avatiah-components-styles';
        style.textContent = `
            .avatiah-components-wrapper {
                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
                max-width: 1200px;
                margin: 0 auto;
                color: #333;
            }
            .avatiah-section-title {
                font-size: 1.8rem;
                margin: 1.5rem 0;
                text-align: center;
                color: #2c3e50;
                font-weight: 600;
            }
            .avatiah-components-grid {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
                gap: 1.2rem;
                margin-top: 1rem;
            }
            .avatiah-component-card {
                background: #f8f9fa;
                border-radius: 12px;
                padding: 1.2rem;
                border-left: 4px solid #3498db;
                box-shadow: 0 2px 8px rgba(0,0,0,0.08);
                transition: all 0.2s ease;
            }
            .avatiah-component-card:hover {
                transform: translateY(-2px);
                box-shadow: 0 4px 12px rgba(0,0,0,0.12);
            }
            .avatiah-component-card.critical { border-left-color: #e74c3c; }
            .avatiah-component-card.high { border-left-color: #e67e22; }
            .avatiah-component-card.medium { border-left-color: #f39c12; }
            .avatiah-component-card.low { border-left-color: #3498db; }
            .avatiah-component-header {
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                margin-bottom: 0.8rem;
            }
            .avatiah-component-name {
                font-weight: 600;
                font-size: 1.1rem;
                color: #2c3e50;
                display: flex;
                align-items: center;
                gap: 0.4rem;
            }
            .avatiah-component-icon {
                font-size: 1.4rem;
            }
            .avatiah-component-weight {
                background: #3498db;
                color: white;
                padding: 0.25rem 0.8rem;
                border-radius: 12px;
                font-size: 0.85rem;
                font-weight: bold;
            }
            .avatiah-component-card.critical .avatiah-component-weight { background: #e74c3c; }
            .avatiah-component-card.high .avatiah-component-weight { background: #e67e22; }
            .avatiah-component-card.medium .avatiah-component-weight { background: #f39c12; }
            .avatiah-simple-explanation {
                background: rgba(52, 152, 219, 0.05);
                padding: 0.8rem;
                border-radius: 6px;
                margin: 0.8rem 0;
                font-size: 0.9rem;
                color: #34495e;
            }
            .avatiah-component-current {
                display: flex;
                justify-content: space-between;
                margin: 0.8rem 0;
                padding-top: 0.6rem;
                border-top: 1px solid #eee;
            }
            .avatiah-current-value {
                font-weight: bold;
                color: #e74c3c;
                font-size: 1.3rem;
            }
            .avatiah-current-trend {
                color: #e74c3c;
                font-size: 0.9rem;
                display: flex;
                align-items: center;
                gap: 0.3rem;
            }
            .avatiah-component-sources {
                font-size: 0.75rem;
                color: #7f8c8d;
                margin-top: 0.6rem;
                font-style: italic;
            }
            .avatiah-loading {
                text-align: center;
                padding: 1.5rem;
                color: #7f8c8d;
                font-style: italic;
            }
            .avatiah-footer-link {
                display: block;
                text-align: center;
                margin-top: 1.5rem;
                font-size: 0.85rem;
                color: #3498db;
                text-decoration: none;
            }
            .avatiah-footer-link:hover {
                text-decoration: underline;
            }
        `;
        document.head.appendChild(style);
    }

    // Функция рендеринга компонентов
    async function renderComponents(container) {
        try {
            const res = await fetch('https://avatiah.com/api/latest.php');
            if (!res.ok) throw new Error('API error');
            const data = await res.json();

            const components = data.components;
            const weightMap = {
                pizza: { weight: 22.1, class: 'critical' },
                oil: { weight: 17.7, class: 'high' },
                media: { weight: 13.3, class: 'high' },
                navy: { weight: 10.6, class: 'high' },
                vip: { weight: 8.8, class: 'medium' },
                gov: { weight: 7.1, class: 'medium' },
                gold: { weight: 6.2, class: 'medium' },
                energy: { weight: 5.3, class: 'medium' },
                cyber: { weight: 4.4, class: 'low' },
                social: { weight: 4.4, class: 'low' }
            };

            const order = ['pizza', 'oil', 'media', 'navy', 'vip', 'gov', 'gold', 'cyber', 'energy', 'social'];
            let html = `
                <div class="avatiah-components-wrapper">
                    <h2 class="avatiah-section-title">🔍 Из чего состоит индекс безопасности</h2>
                    <p style="text-align:center; color:#555; margin-bottom:1.2rem; font-size:1rem;">
                        Данные обновляются каждые 30 секунд из открытых источников (OSINT)
                    </p>
                    <div class="avatiah-components-grid">
            `;

            for (const key of order) {
                const comp = components[key] || {};
                const meta = weightMap[key] || { weight: 0, class: 'low' };
                const raw = comp.raw !== undefined ? comp.raw : '--';
                const score = comp.score !== undefined ? comp.score : 0;

                let valueDisplay, trendText;
                if (key === 'pizza') {
                    valueDisplay = `${raw.toFixed(1)}x`;
                    trendText = `📈 В ${raw.toFixed(1)} раза больше обычного`;
                } else if (['oil', 'gold', 'energy'].includes(key)) {
                    valueDisplay = `+${Math.round(raw)}%`;
                    trendText = raw > 100 ? '📈 Высокая волатильность' : '➡️ Умеренная';
                } else if (['cyber', 'social'].includes(key)) {
                    valueDisplay = `Уровень ${Math.round(raw)}/5`;
                    trendText = raw > 2 ? '📈 Повышенная активность' : '➡️ Стабильно';
                } else if (key === 'media') {
                    valueDisplay = `${Math.round(raw)}/час`;
                    trendText = `📈 +${Math.round((raw - 500) / 500 * 100)}% за 24ч`;
                } else if (key === 'navy') {
                    valueDisplay = `${Math.round(raw)} группы`;
                    trendText = raw > 2 ? '📈 Повышенное присутствие' : '➡️ Норма';
                } else if (key === 'vip') {
                    valueDisplay = `${Math.round(raw)} рейсов`;
                    trendText = raw > 8 ? '📈 Повышенная активность' : '➡️ Норма';
                } else if (key === 'gov') {
                    valueDisplay = `${Math.round(raw)} события`;
                    trendText = raw > 2 ? '📈 Повышенная активность' : '➡️ Норма';
                } else {
                    valueDisplay = raw;
                    trendText = '—';
                }

                const sources = {
                    pizza: 'whitehouse.gov, defense.gov',
                    oil: 'Bloomberg, Reuters, ICE Futures',
                    media: 'GDELT, News API, AI-анализ',
                    navy: 'AIS, navy.mil, спутники',
                    vip: 'FlightRadar24, ADS-B Exchange',
                    gov: 'WhiteHouse.gov, Congress.gov',
                    gold: 'Kitco, CME Group',
                    cyber: 'US-CERT, ENISA, honeypot сети',
                    energy: 'ICE, EEX, Bloomberg Energy',
                    social: 'Twitter/X API, Telegram, AI'
                }[key] || 'OSINT источники';

                html += `
                    <div class="avatiah-component-card ${meta.class}">
                        <div class="avatiah-component-header">
                            <div class="avatiah-component-name">
                                <span class="avatiah-component-icon">${getIcon(key)}</span>
                                ${getLabel(key)}
                            </div>
                            <div class="avatiah-component-weight">${meta.weight}%</div>
                        </div>
                        <div class="avatiah-simple-explanation">
                            ${getShortExplanation(key)}
                        </div>
                        <div class="avatiah-component-current">
                            <div><strong>Текущее значение:</strong> ${valueDisplay}</div>
                            <div class="avatiah-current-trend">${trendText}</div>
                        </div>
                        <div class="avatiah-component-sources">Источники: ${sources}</div>
                    </div>
                `;
            }

            html += `
                    </div>
                    <a href="https://avatiah.com" target="_blank" rel="noopener" class="avatiah-footer-link">
                        📊 Полный Avatiah Security Index: Израиль
                    </a>
                </div>
            `;

            container.innerHTML = html;
        } catch (e) {
            container.innerHTML = `<div class="avatiah-loading">⚠️ Не удалось загрузить компоненты индекса</div>`;
            console.warn('Avatiah Components Embed Error:', e);
        }
    }

    // Вспомогательные функции
    function getIcon(key) {
        const icons = {
            pizza: '🍕', oil: '🛢️', media: '📰', navy: '🚢', vip: '✈️',
            gov: '🏛️', gold: '💎', cyber: '🔒', energy: '⚡', social: '📱'
        };
        return icons[key] || '📊';
    }

    function getLabel(key) {
        const labels = {
            pizza: 'Индекс ночной активности (Пентагон/Белый дом)',
            oil: 'Волатильность нефти Brent',
            media: 'Медиа-активность об Израиле',
            navy: 'Активность ВМС США у берегов Израиля',
            vip: 'Дипломатические рейсы в Израиль',
            gov: 'Активность правительства США по Израилю',
            gold: 'Волатильность золота',
            cyber: 'Кибератаки на Израиль и союзников',
            energy: 'Энергетические рынки (газ)',
            social: 'Социальные медиа лидеров'
        };
        return labels[key] || key;
    }

    function getShortExplanation(key) {
        const explanations = {
            pizza: 'OSINT-индикатор ночной активности в Белом доме и Пентагоне. Чем больше экстренных публикаций в нерабочее время — тем выше напряжённость.',
            oil: 'Резкие скачки цен на нефть сигнализируют о рисках на Ближнем Востоке.',
            media: 'Количество упоминаний Израиля в мировых СМИ за последний час.',
            navy: 'Число авианосных групп США в Средиземном, Красном морях и Персидском заливе.',
            vip: 'Полёты правительственных самолётов между США/ЕС и Израилем.',
            gov: 'Экстренные заседания и брифинги в Белом доме и Конгрессе по теме Израиля.',
            gold: 'Рост цены на золото как "защитного актива" в условиях нестабильности.',
            cyber: 'Хакерские атаки на критическую инфраструктуру Израиля и союзников.',
            energy: 'Волатильность цен на газ и электроэнергию в Европе и США.',
            social: 'Анализ постов лидеров (Нетаньяху, Байден и др.) на агрессию и напряжённость.'
        };
        return explanations[key] || 'Данные из открытых источников (OSINT).';
    }

    // Инициализация
    containers.forEach(container => {
        renderComponents(container);
        setInterval(() => renderComponents(container), 30000); // автообновление
    });
})();