(function () {
  const script = document.currentScript;
  const containerId = script.dataset.container || 'avatiah-aal-explanation';
  const width = script.dataset.width || '100%';
  const height = script.dataset.height || 'auto';

  // Создаём контейнер
  let container = document.getElementById(containerId);
  if (!container) {
    container = document.createElement('div');
    container.id = containerId;
    if (script.parentNode) {
      script.parentNode.insertBefore(container, script.nextSibling);
    } else {
      document.body.appendChild(container);
    }
  }

  // Внедряем стили только для этого виджета (изолированно)
  const styleId = 'avatiah-aal-widget-styles';
  if (!document.getElementById(styleId)) {
    const style = document.createElement('style');
    style.id = styleId;
    style.textContent = `
      #${containerId} {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        width: ${width};
        height: ${height};
      }
      #${containerId} .aal-explanation {
        background: rgba(243, 156, 18, 0.1);
        border-left: 4px solid #f39c12;
        padding: 2rem;
        border-radius: 12px;
        backdrop-filter: blur(10px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        max-width: 1200px;
        margin: 0 auto;
      }
      #${containerId} .aal-explanation-title {
        font-weight: bold;
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
        color: #f39c12;
        display: flex;
        align-items: center;
        gap: 0.7rem;
        text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
      }
      #${containerId} .icon-large {
        width: 40px;
        height: 40px;
        background: linear-gradient(135deg, #f39c12, #e67e22);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-weight: bold;
        font-size: 1.5rem;
        filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
      }
      #${containerId} .aal-explanation p {
        color: #2c3e50;
        font-size: 1.1rem;
        line-height: 1.7;
        margin-bottom: 1.5rem;
        background: rgba(255,255,255,0.8);
        padding: 1rem;
        border-radius: 8px;
      }
      #${containerId} .aal-levels-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1.2rem;
        margin-top: 1.5rem;
      }
      #${containerId} .aal-level-card {
        background: white;
        padding: 1.5rem;
        border-radius: 12px;
        border: 3px solid;
        text-align: center;
        transition: all 0.3s ease;
        cursor: pointer;
        position: relative;
        overflow: hidden;
      }
      #${containerId} .aal-level-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
        transition: left 0.5s;
      }
      #${containerId} .aal-level-card:hover::before {
        left: 100%;
      }
      #${containerId} .aal-level-card:hover {
        transform: translateY(-5px) scale(1.03);
        box-shadow: 0 15px 40px rgba(0,0,0,0.2);
      }
      #${containerId} .aal-level-card.aal-5 { border-color: #27ae60; background: linear-gradient(135deg, rgba(39, 174, 96, 0.05), rgba(39, 174, 96, 0.15)); }
      #${containerId} .aal-level-card.aal-4 { border-color: #f39c12; background: linear-gradient(135deg, rgba(243, 156, 18, 0.05), rgba(243, 156, 18, 0.15)); }
      #${containerId} .aal-level-card.aal-3 { border-color: #e67e22; background: linear-gradient(135deg, rgba(230, 126, 34, 0.05), rgba(230, 126, 34, 0.15)); }
      #${containerId} .aal-level-card.aal-2 { border-color: #e74c3c; background: linear-gradient(135deg, rgba(231, 76, 60, 0.05), rgba(231, 76, 60, 0.15)); }
      #${containerId} .aal-level-card.aal-1 { border-color: #8e44ad; background: linear-gradient(135deg, rgba(142, 68, 173, 0.05), rgba(142, 68, 173, 0.15)); }
      #${containerId} .aal-level-number {
        font-size: 3rem;
        font-weight: bold;
        margin-bottom: 0.7rem;
        text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
      }
      #${containerId} .aal-level-card.aal-5 .aal-level-number { color: #27ae60; }
      #${containerId} .aal-level-card.aal-4 .aal-level-number { color: #f39c12; }
      #${containerId} .aal-level-card.aal-3 .aal-level-number { color: #e67e22; }
      #${containerId} .aal-level-card.aal-2 .aal-level-number { color: #e74c3c; }
      #${containerId} .aal-level-card.aal-1 .aal-level-number { color: #8e44ad; }
      #${containerId} .aal-level-name {
        font-weight: bold;
        margin-bottom: 0.7rem;
        font-size: 1.3rem;
        color: #2c3e50;
      }
      #${containerId} .aal-level-description {
        font-size: 0.95rem;
        color: #555;
        line-height: 1.6;
      }
      #${containerId} .pulse-animation {
        animation: avatiah-pulse 2s infinite;
      }
      @keyframes avatiah-pulse {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.8; transform: scale(1.05); }
      }
      @media (max-width: 768px) {
        #${containerId} .aal-explanation { padding: 1.5rem; }
        #${containerId} .aal-explanation-title {
          font-size: 1.4rem;
          flex-direction: column;
          text-align: center;
        }
        #${containerId} .aal-levels-grid { grid-template-columns: 1fr; }
        #${containerId} .aal-level-number { font-size: 2.5rem; }
      }
    `;
    document.head.appendChild(style);
  }

  // HTML содержимое
  container.innerHTML = `
    <div class="aal-explanation">
      <div class="aal-explanation-title">
        <div class="icon-large">AAL</div>
        Что такое AAL (Alert Awareness Level)?
      </div>
      
      <p>
        <strong>AAL</strong> — это система уровней готовности, которая показывает текущую геополитическую напряженность вокруг Израиля. 
        Каждый уровень соответствует определенной степени угрозы и требует соответствующих мер безопасности. 
        Система разработана на основе анализа исторических данных и позволяет заранее предупреждать о возможной эскалации конфликтов.
      </p>
      
      <div class="aal-levels-grid">
        <div class="aal-level-card aal-5" onclick="AvatiahAAL.highlightCard(this)">
          <div class="aal-level-number">AAL 5</div>
          <div class="aal-level-name">НОРМА</div>
          <div class="aal-level-description">
            Обычная ситуация. Стабильная обстановка, стандартный уровень безопасности. 
            Все показатели в пределах нормы. Индекс: 0-2.
          </div>
        </div>
        
        <div class="aal-level-card aal-4 pulse-animation" onclick="AvatiahAAL.highlightCard(this)">
          <div class="aal-level-number">AAL 4</div>
          <div class="aal-level-name">ПОВЫШЕННАЯ</div>
          <div class="aal-level-description">
            Усиленное наблюдение. Некоторые показатели превышают норму. 
            Увеличена активность дипломатов и военных. Индекс: 2-3.5.
          </div>
        </div>
        
        <div class="aal-level-card aal-3" onclick="AvatiahAAL.highlightCard(this)">
          <div class="aal-level-number">AAL 3</div>
          <div class="aal-level-name">ВЫСОКАЯ</div>
          <div class="aal-level-description">
            Высокая готовность. Вероятность конфликта возрастает. 
            Концентрация военных сил в регионе. Индекс: 3.5-5.
          </div>
        </div>
        
        <div class="aal-level-card aal-2" onclick="AvatiahAAL.highlightCard(this)">
          <div class="aal-level-number">AAL 2</div>
          <div class="aal-level-name">КРИТИЧЕСКАЯ</div>
          <div class="aal-level-description">
            Критический уровень. Неминуемая угроза конфликта. 
            Экстренные меры безопасности. Индекс: 5-7.
          </div>
        </div>
        
        <div class="aal-level-card aal-1" onclick="AvatiahAAL.highlightCard(this)">
          <div class="aal-level-number">AAL 1</div>
          <div class="aal-level-name">МАКСИМАЛЬНАЯ</div>
          <div class="aal-level-description">
            Максимальная угроза. Боевые действия неизбежны или уже ведутся. 
            Полная мобилизация. Индекс: 7-10.
          </div>
        </div>
      </div>
    </div>
  `;

  // JS-логика (изолированная)
  window.AvatiahAAL = window.AvatiahAAL || {
    highlightCard(card) {
      const container = document.getElementById(containerId);
      const cards = container.querySelectorAll('.aal-level-card');
      cards.forEach(c => {
        c.style.transform = '';
        c.classList.remove('pulse-animation');
      });
      card.style.transform = 'translateY(-5px) scale(1.05)';
      card.classList.add('pulse-animation');
      setTimeout(() => {
        card.style.transform = '';
        card.classList.remove('pulse-animation');
      }, 3000);
    }
  };

  // Случайное мерцание (опционально)
  setInterval(() => {
    const cards = container.querySelectorAll('.aal-level-card');
    const randomCard = cards[Math.floor(Math.random() * cards.length)];
    randomCard.classList.add('pulse-animation');
    setTimeout(() => randomCard.classList.remove('pulse-animation'), 2000);
  }, 5000);
})();